PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...Arthur Lutz
Comment utiliser Salt (outil en python pour la gestion d'infrastructure, gestion de conf centralisé mais aussi exécution à distance et orchestrateur) pour tester des bouts de son infrastructure (ses applications n-tiers) dans un environnement "bac-à-sable", en machines virtuelles sur un cloud privé (OpenStack, en python!), soit en conteneurs (LXC ou docker). Le tout versionné avec du mercurial.
Cas d'école et démarche suivie pour résoudre un problème de performance dans une base de données PostgreSQL. Présentation donnée au Meetup PostgreSQL Paris User Group le 16 avril 2014.
Studies show that for every 7 to 10 lines of code we write, we introduce one defect. Now often times we can spot these errors before they ever see the light of day, however that is not true in all cases. So what can we use to assist us in leveling the playing field? Well, we can take advantage of Static Code Analysis tools! In this talk, learn how you can incorporate the following tools into your development process: Checkstyle, PMD, FindBugs, and Lint.
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...Arthur Lutz
Comment utiliser Salt (outil en python pour la gestion d'infrastructure, gestion de conf centralisé mais aussi exécution à distance et orchestrateur) pour tester des bouts de son infrastructure (ses applications n-tiers) dans un environnement "bac-à-sable", en machines virtuelles sur un cloud privé (OpenStack, en python!), soit en conteneurs (LXC ou docker). Le tout versionné avec du mercurial.
Cas d'école et démarche suivie pour résoudre un problème de performance dans une base de données PostgreSQL. Présentation donnée au Meetup PostgreSQL Paris User Group le 16 avril 2014.
Studies show that for every 7 to 10 lines of code we write, we introduce one defect. Now often times we can spot these errors before they ever see the light of day, however that is not true in all cases. So what can we use to assist us in leveling the playing field? Well, we can take advantage of Static Code Analysis tools! In this talk, learn how you can incorporate the following tools into your development process: Checkstyle, PMD, FindBugs, and Lint.
De nos jours, la plupart des projets web intègrent des bibliothèques sous licence libre, cependant peu de professionnels y contribuent en retour. Nous allons donc voir comment contribuer à des projets libres sans forcément y passer trop de temps.
Kevin Avignon: Roslyn - La plateforme de compilation .NETMSDEVMTL
4 mai 2015
Groupe .NET/ASP.NET
Sujets: Roslyn - La plateforme de compilation .NET
Conférencier: Kevin Avignon
Roslyn est la nouvelle plateforme .NET de compilation créé par Microsoft. En exploitant Roslyn, il devient nettement plus facile de traverser un fichier source (.cs ou .vb) et instaurer de nouvelles règles d'affaires ou de validation comme il était fait avec FxCop. Un des nombreux bienfaits de Roslyn, c'est que les règles d'affaires développer en C# ou VB.NET fonctionnent autant dans un langage que dans l'autre.
Plan de la présentation:
- Qu'est-ce que Roslyn
- Quelles sont les librairies effectuant du code analysis ?
- Introduction sur le Syntax Tree et Syntax Nodes
- Comment utiliser le Syntax Visualizer
- Bâtir son premier analyzer en C#
- Qu'est-ce qu'un code fix
- Les pièges à éviter en faisant de l'analyse
Après avoir conquis le marché des smartphones et tablettes, Android devient incontournable dans le domaine industriel. Son utilisation pour la conception de solutions embarquées industrielles soulève toutefois des problématiques techniques spécifiques : customisation de l'OS, développement de pilotes de périphériques, capacité à répondre à des contraintes temps réel.
S'appuyant sur son expertise des technologies Linux embarqué, Open Wide Ingénierie a accompagné avec succès la réalisation de nombreux systèmes sur mesure. Les experts du pôle Mobilité et Multimédia partage leur expérience à travers cette présentation en abordant les sujets techniques indispensables avant de migrer vers Android.
Paris Web 2015 - Atelier désendettement Javascript legacyFrançois Petitit
par Michael Akbaraly et François Petitit - OCTO Technology
Vous avez récupéré un projet JavaScript de plusieurs milliers de lignes, on vous demande des évolutions et des corrections de bugs, et rien ne va.
Code illisible, régressions en pagaille, structure des répertoires incompréhensibles : vous ne savez pas par où commencer !
Au long des 90 minutes de cet atelier, nous vous proposons de découvrir les techniques et les outils qui vont vous sauver la vie via des travaux pratiques de code JavaScript côté back-end avec NodeJS, et côté front-end avec AngularJS.
Débutants ou ayant déjà une connaissance de ces technologies sont les bienvenus. Les travaux pratiques seront disponibles si vous souhaitez coder vous-mêmes pendant l'atelier.
Open Source & Open Data : les bienfaits des communsLogilab
Le monde du logiciel a été précurseur en réintroduisant un mode de production "coopératif" dès le début des années 80.
Avec le mouvement de l'Open Data, cette coopération s'est étendue à la production des données.
On parle ici de biens communs dans le sens d'un "bien partagé par les membres d'une même communauté".
De nos jours, la plupart des projets web intègrent des bibliothèques sous licence libre, cependant peu de professionnels y contribuent en retour. Nous allons donc voir comment contribuer à des projets libres sans forcément y passer trop de temps.
Kevin Avignon: Roslyn - La plateforme de compilation .NETMSDEVMTL
4 mai 2015
Groupe .NET/ASP.NET
Sujets: Roslyn - La plateforme de compilation .NET
Conférencier: Kevin Avignon
Roslyn est la nouvelle plateforme .NET de compilation créé par Microsoft. En exploitant Roslyn, il devient nettement plus facile de traverser un fichier source (.cs ou .vb) et instaurer de nouvelles règles d'affaires ou de validation comme il était fait avec FxCop. Un des nombreux bienfaits de Roslyn, c'est que les règles d'affaires développer en C# ou VB.NET fonctionnent autant dans un langage que dans l'autre.
Plan de la présentation:
- Qu'est-ce que Roslyn
- Quelles sont les librairies effectuant du code analysis ?
- Introduction sur le Syntax Tree et Syntax Nodes
- Comment utiliser le Syntax Visualizer
- Bâtir son premier analyzer en C#
- Qu'est-ce qu'un code fix
- Les pièges à éviter en faisant de l'analyse
Après avoir conquis le marché des smartphones et tablettes, Android devient incontournable dans le domaine industriel. Son utilisation pour la conception de solutions embarquées industrielles soulève toutefois des problématiques techniques spécifiques : customisation de l'OS, développement de pilotes de périphériques, capacité à répondre à des contraintes temps réel.
S'appuyant sur son expertise des technologies Linux embarqué, Open Wide Ingénierie a accompagné avec succès la réalisation de nombreux systèmes sur mesure. Les experts du pôle Mobilité et Multimédia partage leur expérience à travers cette présentation en abordant les sujets techniques indispensables avant de migrer vers Android.
Paris Web 2015 - Atelier désendettement Javascript legacyFrançois Petitit
par Michael Akbaraly et François Petitit - OCTO Technology
Vous avez récupéré un projet JavaScript de plusieurs milliers de lignes, on vous demande des évolutions et des corrections de bugs, et rien ne va.
Code illisible, régressions en pagaille, structure des répertoires incompréhensibles : vous ne savez pas par où commencer !
Au long des 90 minutes de cet atelier, nous vous proposons de découvrir les techniques et les outils qui vont vous sauver la vie via des travaux pratiques de code JavaScript côté back-end avec NodeJS, et côté front-end avec AngularJS.
Débutants ou ayant déjà une connaissance de ces technologies sont les bienvenus. Les travaux pratiques seront disponibles si vous souhaitez coder vous-mêmes pendant l'atelier.
Open Source & Open Data : les bienfaits des communsLogilab
Le monde du logiciel a été précurseur en réintroduisant un mode de production "coopératif" dès le début des années 80.
Avec le mouvement de l'Open Data, cette coopération s'est étendue à la production des données.
On parle ici de biens communs dans le sens d'un "bien partagé par les membres d'une même communauté".
Le 1er salon professionnel de l'open data qui vise à consolider la filière française des données ouvertes. Ce salon valorise les acteurs positionnés sur l'open data et assure l'information des participants à travers des retours d'expériences, conférences stratégiques, ateliers pratiques et mises en relations directe avec les prestataires et ceux qui font l'open data aujourd'hui en France.
Pydata Paris Python for manufacturing musical instrumentsLogilab
Pydata Paris Python for manufacturing musical instruments.
Context: making and repair of musical instruments.
Assets: traditional craftsmanship ; world-famous quality
Challenge: aggressive competition from foreign countries
Olivier Cayrol a présenté la société Logilab et ses services à l'occasion de la Semaine de l'Industrie.
Logilab : un industriel du logiciel
- développement
- conseil
- formation
- expertise
Les archives du département de la Gironde, de la Ville de Bordeaux et de la Métropole de Bordeaux ont mis en place un système d'archivage mutualisé leur permettant de gérer leurs documents tout au long de leur cycle de vie, depuis leur conception initiale jusqu'à leur archivage. Ce système repose sur diverses applications logiciel libre prenant chacune en charge une partie du cycle de vie des documents (Alfresco pour la GED courante, Asalae pour l'archivage, etc.)
Dans le cadre de ce système, lors du passage d'un outil à l'autre, un grand nombre de métadonnées sont perdues et doivent donc être ressaisies. D'où l'idée de mettre en place un référentiel commun qui va constituer un pivot sur lequel s'appuient les autres outils, et qui va conserver et enrichir les métadonnées d'un document tout au long de son cycle de vie, au fil de ses passages d'une application à l'autre. Ces métadonnées sont, par exemple, le rangement dans des
plans de classement, les agents étant intervenus sur le document, les étapes du processus de validation, etc.)
Dans le cadre d'un marché public, Logilab développe le référentiel commun du système d'archivage pour le compte du Conseil Départemental de la Gironde, de la Métropole de Bordeaux et de la Ville de Bordeaux.
La présentation présente l'outil logiciel libre qui a vocation à être partagé avec d'autres institutions rencontrant une problématique similaire, mais également de revenir sur le projet lui-meme qui implique de nombreux acteurs et a été géré avec une méthode agile et divers outils innovants (MVP, UX Design, etc.)
Voir http://saem.e-bordeaux.org/projet-module-r%C3%A9f%C3%A9rentiel pour plus de détails.
Utiliser salt pour tester son infrastructure sur open stack ou dockerLogilab
Vous pouvez accéder à cette présentation sur ce lien : http://slides.logilab.fr/2015/poss2015_salt-docker/#/
Configurer et orchestrer son infrastructure avec un outil de gestion de configuration centralisée tel que Salt comporte de nombreux avantages.
La conservation et l'historisation des fichers de configuration dans un entrepôt de source geré par un DVCS (mercurial ou git) en fait partie.
Salt permet ensuite de faire évoluer son infrastructure en la testant dans des environements isolés. Une fois la description complète, reproduire une partie de son infrastructure de production sur un environnement virtualisé tel qu'un cloud
privé (OpenStack) devient possible et automatisable avec
*salt-cloud*. L'étape suivante est de pouvoir reproduire des portions de son infrastructure dans des conteneurs légers tels que docker ou lxc directement sur son portable. Pour cela, le pilotage de docker par salt et les fonctionnalités d'orchestration de salt permettent une agilité sans précédent.
Il s'agit d'un bon complément pour le TDI : Test Driven Infrastructure. L'infrastructure est testée en mode "intégration continue" et on peut tester et débugger une partie de l'infrastructure en mode "bac à sable".
Ce modèle peut ensuite être décliné avec l'utilisation des branches dans git ou mercurial où certaines branches vont être appliquées à la partie production de l'infrastructure alors que d'autres sont appliqués a la préproduction ou aux environnements docker ou lxc en local.
Salt est un outil de gestion de configuration centralisé généralement utilisé pour configurer et orchestrer son infrastructure système en bénéficiant de la conservation et de l'historisation des fichiers de configuration dans un entrepôt source géré par mercurial ou git. Toutefois, les possibilités offertes par Salt vont beaucoup plus loin. Une fois la description Salt de l'infrastructure de production terminée, il est possible d'en reproduire automatiquement tout ou partie
avec salt-cloud dans un environnement virtualisé (cloud privé OpenStack) et ainsi de pouvoir mener des tests. En allant plus loin, il est possible de reproduire des portions d'infrastructure dans des conteneurs légers (docker, lxc) et de travailler directement sur son ordinateur portable.
Les fonctionnalités d'orchestration de Salt et son pilotage de docker amènent une agilité sans précédent dans ce processus de travail.
Dans le modèle décrit ci-dessus, excellent complément du TDI (Test-Driven Infrastructure), l'infrastructure est testée et déboguée en mode "bac à sable" puis déployée selon un mécanisme automatisé d'intégration continue. Le modèle peut être décliné en utilisant des branches dans l’entrepôt source de Salt et en choisissant quelles branches sont appliquées
à l'infrastructure en production, en pré-production ou en test dans les environnements locaux (docker, lxc). Des mécanismes de relecture et de validation peuvent alors être mis en œuvre.
Importer des données en Python avec CubicWeb 3.21Logilab
Slides en version HTML : http://slides.logilab.fr/2015/pyconfr2015_import_donnees_cubicweb/
Nous introduirons une nouvelle méthode pour importer des données externes (service REST, fichier, etc.) dans une application. Simple et flexible, elle favorise la réutilisation des composants afin de se concentrer sur ce qui est spécifique à chaque cas. Un exemple d'implémentation sera donné avec le framework CubicWeb 3.21 qui introduit une API d'import de données fondée sur cette méthode.
Abstract
Il est courant pour un développeur de devoir implémenter des fonctionnalités d'import de données. Les utilisateurs peuvent en effet avoir besoin de données disponibles par ailleurs, dans un tableur par exemple, dans une autre base, ou accessibles par des services web. Nous introduisons ici une méthode simple pour réaliser cela en favorisant la généricité et la ré-utilisabilité des composants développés.
Un flux personnalisable d'entités
L'idée est de transformer petit à petit les données externes afin de les rendre compatibles avec le schéma de l'application et donc insérables en base.
Le principe est de commencer par stocker les données de la source sur une «[HTML_REMOVED]entité externe[HTML_REMOVED]». Puis on utilise des générateurs Python pour créer un «[HTML_REMOVED]flux[HTML_REMOVED]» d'entités[HTML_REMOVED]: chaque entité passe de fonction en fonction, ce qui va la transformer peu à peu pour la rapprocher du modèle attendu et qu'elle soit finalement prête à être insérée, ou au contraire rejetée si ce n'est pas possible.
L'étape d'insertion est alors identique, quelle que soit la source d'où proviennent les données.
Exemple avec CubicWeb 3.21
Avec sa version 3.21 sortie en 2015, le framework CubicWeb dispose d'une toute nouvelle API fondée sur cette méthode. Elle permet au développeur de se concentrer sur le flux de données provenant des sources qui l'intéressent.
De plus, l'étape d'insertion offre plusieurs composants interchangeables. En fonction du compromis qu'il souhaite faire entre sécurité et rapidité, le développeur peut choisir entre une insertion sûre mais lente, où chaque entité à insérer est préalablement vérifiée quant au type de ses données et la validité de ses relations, et une insertion plus rapide mais pouvant échouer, où les entités sont insérées en masse.
Tout cela sera illustré par le moissonnage des données de portails Open Data. La diversité des formats (RDF (open-data.europa.eu), REST (data.gouv.fr, OpenDataSoft), CSW (geocatalogue.fr), etc.) ainsi que des modèles de données impose de créer des flux différents afin que toutes ces données puissent être importées dans un schéma unique de CubicWeb.
De la même façon, un autre exemple sera l'import de données SKOS où des thesaurus entiers sont importés dans CubicWeb grâce à cette API.
Simulagora, met la simulation numérique à la portée de tous !
Simulagora est un service Web de simulation numérique dans le cloud permettant la réalisation de calculs d'envergure sans investissement :
- pas de matériel dédié : une connexion à Internet suffit,
- pas de connaissances poussées en informatique : les principaux codes de calcul libres sont pré-installés,
- pas d'investissement financier : le paiement se fait à l'usage.
Simulagora donne accès à la puissance quasi-illimitée des nuages publics :
- lancez vos calculs exigeants sur des machines ayant jusqu'à 32 CPU et 120 Go RAM,
- obtenez le résultat de vos études paramétriques en un temps record en utilisant plusieurs centaines de machines simultanément.
Simulagora n'est pas un service d'exécution de calcul comme les autres :
- il s'insère dans vos processus actuels (script, terminal, interface Web),
- il enregistre l'historique de vos calculs pour assurer leur capitalisation et leur traçabilité,
- il garantit la reproductibilité de vos calculs, en conservant une copie de la machine virtuelle sur laquelle ils ont été exécutés,
- son interface Web permet une collaboration entre les différents experts pour mener à bien vos études numériques les plus pointues.
Simulagora est un produit de Logilab qui, depuis 15 ans, met les technologies du Web au service de l'informatique scientifique.
Simulagora, sets numerical simulation available to all!
Simulagora is a cloud-based numerical simulation service which allows computations without any up-front investment:
- No dedicated hardware: only an Internet connection is needed
- No advanced IT knowledge: major free software packages are pre-installed and ready-to-use
- No financial investment: pay only for used resources.
Simulagora provides access to the virtually unlimited power of public clouds:
- Start your complex computations on machines with up to 32 CPUs and 120GB of RAM
- Get the results of your parametric studies in record time using hundreds of machines simultaneously.
Simulagora is a one-of-a-kind computation execution service:
- Easy to fit into your existing processes (scripts, terminal applications, Web interface)
- Saves your computations history to ensure their traceability and maximize their capitalization
- Guarantees the reproducibility of your computations by keeping a copy of the virtual machines on which they ran
- Enables collaboration among experts using the Web interface to carry out your most precise digital studies.
Simulagora is a service built by Logilab, a 15-year veteran of Web technologies for scientific computing.
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015Logilab
Innover par et pour la donnée, illustrée par l'exemple de data.bnf.fr et les principes du web sémantique.
Présentation de Logilab au #bibcamp15 organisé en juin 2015 par l'ADBU, association des directeurs de bibliothèques universitaires.
Study of the dynamic behavior of a pump with Code_ASTER on SimulagoraLogilab
Simulagora is a platform using Web technology to ease grid
computation by leveraging cloud resources.
Public cloud based
– Computation and storage resources
– Enormous power
– Super-fast computation resources ramp-up
Support de présentation lors de notre participation au "Battle" organisé par LibertTIC et DataLab à la ruche numérique du Mans.
Version PDF : http://www.logilab.fr/file/2221/raw/Battle%20Opendata.pdf
Debconf14 : Putting some salt in your Debian systems -- Julien CristauLogilab
Salt allows scalable infrastructure management, including provisioning new systems and managing them over their lifetime. In this talk I'll show how it makes managing Debian systems easier.
L'autre poster présenté par Logilab concerne Simulagora, un service en ligne de simulation numérique collaborative, qui permet de lancer des calculs dans les nuages (donc sans investissement dans du matériel ou d'administration système), qui met l'accent sur la traçabilité et la reproductibilité des calculs, ainsi que sur le travail collaboratif (partage de logiciel, de données et d'études numériques complètes).
Logilab was part of the research project PAFI (Plateforme d'Aide à la Facture Instrumentale) and developed an innovative web app, using CubicWeb, to facilitate the virtual prototyping of musical instruments and collaborative work between makers, users and museum curators.
Presentation by Nicolas Chauvat at "Fabrique de la Loi" 2014 (Open Legislative Data Conference)
Mirror of http://www.logilab.org/file/253393/raw/OLDC2014-chauvat.pdf
Blog entry : http://www.logilab.org/blogentry/253397
BRAINOMICS A management system for exploring and merging heterogeneous brain ...Logilab
"BRAINOMICS A management system for exploring and merging heterogeneous brain mapping data based on CubicWeb" by Vincent Michel - CrEDIBLE 2013 - 3/10/2013
12. Retour d'expérience - 1
Libre != retours et contributions sans effort
●
●
La base = répondre à un besoin
Durer dans le temps = fédérer et animer une
communauté
●
via tous les canaux possibles
●
bon accueil, respect, réactivité