Jenkins Workflow plugin lets you write Jenkins jobs as pipelines using the Groovy programming language
Talk given in french at the Lyon JUG - 15/12/2015
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.
Symphonie pour PHP industrialisé en agilité majeureJonathan Bonzy
Présentation pour l'Agile Grenoble 2011
Avoir des millions d'amis, comparer des millions d'offres ou publier des millions de news sont autant d’exemples d’applications écrites en PHP. Ce langage de la “programmation pour les nuls”, qui permet tous les écarts, reste pourtant un choix privilégié pour les solutions web. Avec les bons outils et les bonnes pratiques, ce langage est modulable, testable et facilement livrable. Au travers d’une approche technique montrant par l’exemple quels instruments choisir, découvrez comment jouer la partition d’une symphonie pour PHP industrialisé en agilité majeure.
Au programme:
- Dégager un boilerplate d’un projet PHP ou comment ne pas tout jeter à l’arrivée
- Reprendre la main sur leur projet frontend et avoir une stratégie de refactoring par les tests
“Not only working software, but also well-crafted software” - Manifesto for Software Craftsmanship
...par Dimitri Durieux (CETIC) le 23 septembre 2015.
Jenkins est un outil open source d'automatisation de tâches et d'intégration continue, relativement facile à mettre en oeuvre, et qui permet de gagner du temps sur toutes les étapes automatiques de la production de logiciel : build, lancement de tests unitaire, qualité de code...
Un bon outil à connaître et à installer tôt, pour gagner du temps ensuite !
Jenkins Workflow plugin lets you write Jenkins jobs as pipelines using the Groovy programming language
Talk given in french at the Lyon JUG - 15/12/2015
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.
Symphonie pour PHP industrialisé en agilité majeureJonathan Bonzy
Présentation pour l'Agile Grenoble 2011
Avoir des millions d'amis, comparer des millions d'offres ou publier des millions de news sont autant d’exemples d’applications écrites en PHP. Ce langage de la “programmation pour les nuls”, qui permet tous les écarts, reste pourtant un choix privilégié pour les solutions web. Avec les bons outils et les bonnes pratiques, ce langage est modulable, testable et facilement livrable. Au travers d’une approche technique montrant par l’exemple quels instruments choisir, découvrez comment jouer la partition d’une symphonie pour PHP industrialisé en agilité majeure.
Au programme:
- Dégager un boilerplate d’un projet PHP ou comment ne pas tout jeter à l’arrivée
- Reprendre la main sur leur projet frontend et avoir une stratégie de refactoring par les tests
“Not only working software, but also well-crafted software” - Manifesto for Software Craftsmanship
...par Dimitri Durieux (CETIC) le 23 septembre 2015.
Jenkins est un outil open source d'automatisation de tâches et d'intégration continue, relativement facile à mettre en oeuvre, et qui permet de gagner du temps sur toutes les étapes automatiques de la production de logiciel : build, lancement de tests unitaire, qualité de code...
Un bon outil à connaître et à installer tôt, pour gagner du temps ensuite !
Android, Spring, Gradle et de nombreux autres projets apportent leur soutien au langage Kotlin. Fin 2017, Kotlin tient-il ses promesses ?
Retour d’expérience sur le langage, ses avantages et inconvénients sur un projet Mobile, un projet Back et bien plus.
Dans le cadre du projet Stream for Good
MIAGE Sorbonne -- Atelier de Veille technologique
Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
Intégration Continue PHP avec Jenkins CIHugo Hamon
Comment assurer le suivi qualite du code source d'une application web? Ce n'est pas une tache aisée ! C’est d’autant plus vrai que PHP est encore considéré aujourd'hui comme un langage peu professionnel. PHP est pourtant un langage dont l'outillage n'a rien a envier a l'ensemble de ses concurrents. L'objectif de cette conférence est de présenter les bonnes pratiques à adopter ainsi que les différents outils a mettre en oeuvre afin de contrôler la qualité d'un projet PHP au quotidien. Un focus particulier sera porté sur la plateforme d'intégration continue Jenkins, les tests unitaires ou bien encore la récupération et l'interprétation des métriques collectées.
Plutôt que de parler CI d'entreprise et de rentrer dans les détails de Jenkins et du workflow typique d'un équipe de dév, pourquoi ne pas déjà aborder toutes les bonnes pratiques et méthodologies à employer pour soi-même créer un produit testé et fiable ? Bienvenue dans l'intégration continue pour tous !
Le Test Driven Infrastructure, c'est un peu le TDD pour les projets DevOps. Il va vous permettre de tester votre infrastructure unitairement, de bout en bout et à chaque changement.
Quelques rappels de cours sur les bonnes pratiques liées à la modularisation des applications C/C++. Je présente en plus quelques astuces pour structurer une application C/C++ et son packaging.
Android, Spring, Gradle et de nombreux autres projets apportent leur soutien au langage Kotlin. Fin 2017, Kotlin tient-il ses promesses ?
Retour d’expérience sur le langage, ses avantages et inconvénients sur un projet Mobile, un projet Back et bien plus.
Dans le cadre du projet Stream for Good
MIAGE Sorbonne -- Atelier de Veille technologique
Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
Intégration Continue PHP avec Jenkins CIHugo Hamon
Comment assurer le suivi qualite du code source d'une application web? Ce n'est pas une tache aisée ! C’est d’autant plus vrai que PHP est encore considéré aujourd'hui comme un langage peu professionnel. PHP est pourtant un langage dont l'outillage n'a rien a envier a l'ensemble de ses concurrents. L'objectif de cette conférence est de présenter les bonnes pratiques à adopter ainsi que les différents outils a mettre en oeuvre afin de contrôler la qualité d'un projet PHP au quotidien. Un focus particulier sera porté sur la plateforme d'intégration continue Jenkins, les tests unitaires ou bien encore la récupération et l'interprétation des métriques collectées.
Plutôt que de parler CI d'entreprise et de rentrer dans les détails de Jenkins et du workflow typique d'un équipe de dév, pourquoi ne pas déjà aborder toutes les bonnes pratiques et méthodologies à employer pour soi-même créer un produit testé et fiable ? Bienvenue dans l'intégration continue pour tous !
Le Test Driven Infrastructure, c'est un peu le TDD pour les projets DevOps. Il va vous permettre de tester votre infrastructure unitairement, de bout en bout et à chaque changement.
Quelques rappels de cours sur les bonnes pratiques liées à la modularisation des applications C/C++. Je présente en plus quelques astuces pour structurer une application C/C++ et son packaging.
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.
Présentation de Maven et de son utilisation en entreprise dans le cadre du Ch'ti JUG, le 15 juin 2009.
Pourquoi Maven ? Pourquoi l'adopter ? Les bonnes et mauvaise pratiques. Son avenir ...
Laissez-vous conter l'histoire de la princesse CI.
L'histoire se passe dans un monde peuplé de standards de code, de tests unitaires, fonctionnels et end-to-end.
Entourée de ses amis PHPCodeSniffer, PHPUnit, Behat, Eslint, Jest et Selenium, elle va se heurter à différents ennemis qui l'attendent au tournant :
- L'isolation des tests end-to-end
- Le split des tests sur CircleCI
- Les lenteurs de chargement des fixtures
- L'authentification dans les tests end-to-end
- La gestion des latences API dans les tests end-to-end
- La gestion de l'asynchrone avec l'arrivée dans le royaume de RabbitMQ et ElasticSearch
- L'optimisation de la stack Docker
Vous découvrirez comment elle va surmonter ces épreuves pour que cette histoire se termine en "happy end".
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
Cette formation développe les méthodes de l'Extreme Programming, introduit les tests unitaires et le Test Driven Developpement sous différents frameworks (dont CakePHP), et présente différents outils de travail collaboratif : SVN, Make, Trac, etc.
Performance au quotidien dans un environnement symfonyXavier Leune
C'est bien connu, les frameworks full stack, c'est lourd et c'est lent, Symfony le premier. Et chez CCM Benchmark (2ème groupe internet français - 50M de VU), on fait tout pour éviter la lenteur ! Alors pourquoi ai-je décider de migrer nos dizaines d'applications vers Symfony ? Et surtout comment respecter les critères de performances que nous avions défini avec notre bon vieux framework maison ?
Voyons ensemble les raisons qui m'ont poussé à faire ce choix et surtout quels process et solutions nous avons pu mettre en oeuvre pour éviter des régressions de performance.
Ce slideshow est issu de la contribution de CIO Informatique Industrielle à la conférence / débat Comment travailler avec les logiciels Open Source, qui s'est tenue en Avril 2008 sur le salon RTS Embedded Systems
Comment, dans le cadre de la migration vers Google Cloud Platform, MeilleursAgents a revu ses techniques de déploiements d'applications Python pour garantir des releases fiables, testables et reproductibles.
wallabag est une application opensource de lecture différée : elle vous permet de mettre de côté la version épurée d'un article pour la consulter plus tard où que vous soyez. Créée il y a 3 ans à base de fichiers PHP comme on faisait en 2005, nous avons décidé il y a maintenant un peu plus d'un an de migrer le projet à Symfony. Au cours de ce talk, nous présenterons donc le projet wallabag et tout son écosystème : son concept, son socle technique (API REST, tests unitaires, Rulerz, RabbitMQ, Capistrano), les difficultés rencontrées, la communauté et les projets qui tournent autour, la roadmap pour les semaines à venir.
Vous êtes étudiant en dernière année d'étude, orienté(e) Informatique ou Finance ? NeoXam Tunisia vous accorde l'opportunité d'effectuer votre stage de Projet de Fin d'Etudes au sein de ses équipes.
Ci dessous le détail des offres !
Symphonie pour PHP industrialisé en agilité majeure
1. Symphonie pour PHP industrialisé en agilité majeure Agile Grenoble 2011 - #agilegrenoble
2. PHP n’est pas que le “langage pour les nuls” PHP peut être aussi agile que d’autres A retenir en partant … Un projet PHP from scratch peut être clean En 4 étapes, on “refactore” un projet PHP legacy
4. Best of Media 40 millions de visiteurs uniques par mois Tom’s Hardware | Tom’s Guide | Tom’s Games News, Forum et Tech support 3 ème éditeur mondial de news High Tech 200 millions de pages vues par mois
5. Tom’s Labs Articles sur la R&D chez Best of Media http://www.tomslabs.com Machine learning, agilité, … ;)
6. Tests, BDD, TDD ? Public Projet Web ? Développeur, Product Owner, Scrummaster ? PHP ou Java ?
7. Au programme Boilerplate PHP Un projet from scratch Un projet legacy Comment planter le décor de mon projet ? A quoi ressemble un projet neuf ? Comment reprendre la main sur le legacy ?
8. Acte 1 : un boilerplate Le product owner Le développeur quick win Le développeur clean code
9. Le langage Quick and dirty avec PHP Projet Web Front Industriel 80% PHP / 10% Asp.net / 5% Java / … PHP : Facebook, Yahoo, Kelkoo, Best of Media … Choix pour le boilerplate : PHP
10. L’IDE Netbeans ou Eclipse ? Bloc note ou Vi ? Choix pour le boilerplate : Netbeans Netbeans intègre le mieux la syntaxe PHP
11. Le framework index.php … faut coder, faut coder ! Choix pour le boilerplate : Symfony 1.4 Ne pas réinventer la roue … framework Créer notre propre framework ? Choisir un framework populaire
12. Le gestionnaire de sources Choix pour le boilerplate : Git Avancer en parallèle Messagerie et Zip des fichiers le soir Git ou SVN ? Git : branch, local, bisect, …
13. Les tests Choix boilerplate : PHPUnit, Behat & Selenium Développeur sénior => pas de bug ! PHPUnit : standard pour les tests unitaires PHP Behat : test fonctionnel PHP Selenium : test d’intégration / sanity Test Driven Development
14. Intégration & déploiement continus Choix pour le boilerplate : Jenkins Jouer les tests au cas par cas à la main Automatiser la construction du projet Automatiser le déploiement de l’application Automatiser l’exécution de la suite de tests
15. Bilan du boilerplate PHP PHP : langage Web Symfony 1.4 : framework populaire Git : gestionnaire de sources fléxible Netbeans : IDE intégrant la syntaxe PHP PHPUnit & Behat : TDD & BDD PHP Jenkins : intégration & déploiement
16. Acte 2 : un nouveau projet Le product owner Le développeur clean code Le développeur clean code aussi ;)
17. Bootstrap du projet Déploiement automatique d’une coquille vide Je veux un forum Construire le forum de manière itérative Objectif : on livre en prod un squelette Je n’aurai pas de valeur produit ?
19. Menu démo du sprint 1 Passer l’application sous Git Dummy test unitaire en PHPUnit Créer un squelette d’application Premier test fonctionnel en Behat Packager en Maven Job dans Jenkins
20. Initier le framework + Git Télécharger Symfony 1.4 Configurer ses hosts Apache Raccourci : passage par Github Checklist des tâches :
21. Exécuter des tests unitaires Installer PHPUnit (via PEAR) Ecrire un test simple Vérifier que ça marche Checklist des tâches :
22. Exécuter des tests fonctionnels Installer Behat (via PEAR) Contrôler sa pyramide des tests Checklist des tâches : Scenario simple Ecrire les steps suggérés Implémenter le code et scenario à vert
23. La pyramide des tests http://www.tomslabs.com/index.php/2011/04/test-automation-strategy/ Maintenance des tests et temps d’exécution
24. Packager l’application Installer Maven2 Ecrire un pom.xml Lancer un mvn clean test VERT Checklist des tâches : Packager ça veut dire quoi ?
25. Créer un job Jenkins Créer un job dans jenkins Déployer le build lors d’un succès Checklist des tâches : Lancer périodiquement le build
27. Bilan du squelette PHP en prod “ Défoncer” les portes pour aller en prod 48 déploiements par jour ou plus ;) Surveillance de la pyramide des tests Itération sur une coquille vide
29. Acte 3 : reprendre un projet Le product owner Le développeur clean code - maverick Le développeur clean code - iceman
30. Contexte du projet Quelle stratégie adopter ? Forum avec des millions de topics Zéro bug autorisé Changer l’ancienne gestion des catégories 20 commiters
31. Test harness strategy 01 – Ecrire des scenarii 03 – Encapsuler dans une API 04 – Migrer l’API 02 – Implémenter les scenarii
37. Bilan du code PHP legacy Pas d’obligation de tout jeter Surveillance des bugs avec les scenarii du harnais 4 étapes pour aborder sereinement le refactoring
39. Ce qu’on a vu : Boilerplate PHP Un projet from scratch Un projet legacy Démarrez demain avec une stack PHP industrielle Mettre en place le déploiement d’un squelette Stratégie en 4 étapes avec un harnais de sécurité
40. Fin & Questions Jonathan Bonzy @jonathanbonzy Bernard Huguet @bernardhuguet Marc Nazarian @marcnazarian