Les pôles d’expertises de D2SI organisent régulièrement des clubs clients sur des problématiques IT clés pour nos clients et nos partenaires. Nos membres sont les décideurs IT de nos principaux clients, ils partagent avec nos experts leur vision et bénéficient du travail de veille et de retours d’expérience concrets de nos communautés.
Ou comment augmenter la productivité de vos équipes de dev .NET en diminuant leur charge de debugging en prod. Avant de corriger un problème, il est généralement nécessaire de le reproduire. Les études souhaitent des informations contextualisées, la prod ne peut fournir des exports de bases journaliers, et des tensions se créent. Imaginez que vous puissiez obtenir la pile d'appel de l'utilisateur se plaignant... la résolution ne serait-elle pas plus aisée ? C'est ce que vous pouvez faire avec Compuware APM. Grâce aux technologies dynaTrace PurePath™ et PureStack™, il vous est possible de corriger des incidents survenus en prod sans passer par la case reproduction. Pourquoi s’en préoccuper maintenant ? Parce que la complexité des architectures .NET et des environnements Web, mobile, Azure, … est sans cesse croissante. Conséquences, vous subissez : - une perte de visibilité et de contrôle sur les services rendus à l'utilisateur (performance, disponibilité, …) - une multiplication des cellules de crises - une augmentation du temps consacré à rechercher l'origine des incidents en prod. Consacrez enfin votre énergie à développer de nouvelles applis et fonctionnalités ! Session présentée par le partenaire : Compuware.
Speakers : Jérôme Guillaume (Compuware), Antoine Ferte (Compuware)
http://joind.in/talk/view/11245
Dans notre économie numérique, ce n’est pas les gros qui mangent les petits, c’est les rapides qui mangent les lents. Les méthodes de gestion de projets informatiques traditionnelles ont mené à des échecs spectaculaires en termes de délais et de gestion de risque. En parallèle, des leaders du web tels qu’Amazon, Netflix ou Google ont atteint une vélocité incroyable grâce à une implémentation audacieuse des principes d’agilité. Parmi ces différents mouvements agiles, DevOps rassemble des experts du développement et de l’opérationnel sur la manière dont doit être implémentée l’agilité, de la conception technique jusqu’à la mise en production, pour atteindre une vélocité maximale. Dans cette conférence, je partagerai l’expérience de Theodo sur plusieurs projets de grande envergure (jusqu’à 15 développeurs). Je présenterai ce que DevOps signifie pour nous et comment il nous aide à livrer nos projets de manière plus rapide et plus fiable. Nous passerons en revue les challenges auxquels nous avons été confrontée, tant d’un point de vue management, technique ou culturel et présenterons les solutions que nous avons trouvées, basées sur des technologies puissantes : Symfony2, OpenStack, Puppet, Vagrant, Capifony, Jenkins, Behat et d’autres…
Accélérer les tests d’acceptation avec un DSL et du refactoringLaurent PY
Le pilotage des développements par les tests d’acceptation reste un problème difficile à maîtriser dans les projets agiles. D’une part, il est compliqué d’impliquer les analystes métier dans la réalisation de scripts de tests automatisés, et d’autre part les tests de hauts niveaux qu’ils peuvent produire sont souvent difficiles à maintenir et automatiser.
L’approche proposée, supportée par une plate-forme appelée Zest, associe la définition des scénarios de tests d’acceptation sur la base d’un DSL (Domain-Specific Language) construit incrémentalement avec des mots d’action, et des fonctions de refactoring qui permettent en permanence d’optimiser les scénarios pour en faciliter l’automatisation et leur maintenance.
Les pôles d’expertises de D2SI organisent régulièrement des clubs clients sur des problématiques IT clés pour nos clients et nos partenaires. Nos membres sont les décideurs IT de nos principaux clients, ils partagent avec nos experts leur vision et bénéficient du travail de veille et de retours d’expérience concrets de nos communautés.
Ou comment augmenter la productivité de vos équipes de dev .NET en diminuant leur charge de debugging en prod. Avant de corriger un problème, il est généralement nécessaire de le reproduire. Les études souhaitent des informations contextualisées, la prod ne peut fournir des exports de bases journaliers, et des tensions se créent. Imaginez que vous puissiez obtenir la pile d'appel de l'utilisateur se plaignant... la résolution ne serait-elle pas plus aisée ? C'est ce que vous pouvez faire avec Compuware APM. Grâce aux technologies dynaTrace PurePath™ et PureStack™, il vous est possible de corriger des incidents survenus en prod sans passer par la case reproduction. Pourquoi s’en préoccuper maintenant ? Parce que la complexité des architectures .NET et des environnements Web, mobile, Azure, … est sans cesse croissante. Conséquences, vous subissez : - une perte de visibilité et de contrôle sur les services rendus à l'utilisateur (performance, disponibilité, …) - une multiplication des cellules de crises - une augmentation du temps consacré à rechercher l'origine des incidents en prod. Consacrez enfin votre énergie à développer de nouvelles applis et fonctionnalités ! Session présentée par le partenaire : Compuware.
Speakers : Jérôme Guillaume (Compuware), Antoine Ferte (Compuware)
http://joind.in/talk/view/11245
Dans notre économie numérique, ce n’est pas les gros qui mangent les petits, c’est les rapides qui mangent les lents. Les méthodes de gestion de projets informatiques traditionnelles ont mené à des échecs spectaculaires en termes de délais et de gestion de risque. En parallèle, des leaders du web tels qu’Amazon, Netflix ou Google ont atteint une vélocité incroyable grâce à une implémentation audacieuse des principes d’agilité. Parmi ces différents mouvements agiles, DevOps rassemble des experts du développement et de l’opérationnel sur la manière dont doit être implémentée l’agilité, de la conception technique jusqu’à la mise en production, pour atteindre une vélocité maximale. Dans cette conférence, je partagerai l’expérience de Theodo sur plusieurs projets de grande envergure (jusqu’à 15 développeurs). Je présenterai ce que DevOps signifie pour nous et comment il nous aide à livrer nos projets de manière plus rapide et plus fiable. Nous passerons en revue les challenges auxquels nous avons été confrontée, tant d’un point de vue management, technique ou culturel et présenterons les solutions que nous avons trouvées, basées sur des technologies puissantes : Symfony2, OpenStack, Puppet, Vagrant, Capifony, Jenkins, Behat et d’autres…
Accélérer les tests d’acceptation avec un DSL et du refactoringLaurent PY
Le pilotage des développements par les tests d’acceptation reste un problème difficile à maîtriser dans les projets agiles. D’une part, il est compliqué d’impliquer les analystes métier dans la réalisation de scripts de tests automatisés, et d’autre part les tests de hauts niveaux qu’ils peuvent produire sont souvent difficiles à maintenir et automatiser.
L’approche proposée, supportée par une plate-forme appelée Zest, associe la définition des scénarios de tests d’acceptation sur la base d’un DSL (Domain-Specific Language) construit incrémentalement avec des mots d’action, et des fonctions de refactoring qui permettent en permanence d’optimiser les scénarios pour en faciliter l’automatisation et leur maintenance.
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.
Adoption incrémentale des tests dans VS ALMGrégory Ott
Cette présentation a été organisée par le @MUGLyon => http://muglyon.github.io/
Adoption incrémentale des tests dans Visual Studio ALM. Du test exploratoire au pilotage par l'analyse d'impact :
Découvrez comment MTM peut soutenir de façon progressive votre effort de test.
Que vous soyez Développeur et que vous ayez envie de participer à l'effort de test ;
Que vous soyez Analyste métier et que vous souhaitiez capitaliser sur vos critères d'acceptances ;
Que vous soyez Testeur et que vous souhaitez mettre de l'ordre dans votre patrimoine de test ;
Que vous soyez responsable de l'usine logicielle et que vous souhaitiez capitaliser sur votre plateforme préférée ;
Que vous soyez manager et que vous souhaitez améliorer votre visibilité sur les tests ;
Ou que vous ayez simplement envie d'en apprendre plus sur les tests avec la plateforme Visual Studio ALM : cette présentation est faites pour vous !
Adoption incrémentale des tests dans Visual Studio ALM. Du test exploratoire au pilotage par l'analyse d'impact :
Découvrez comment MTM peut soutenir de façon progressive votre effort de test.
Que vous soyez Développeur et que vous ayez envie de participer à l'effort de test ;
Que vous soyez Analyste métier et que vous souhaitiez capitaliser sur vos critères d'acceptances ;
Que vous soyez Testeur et que vous souhaitez mettre de l'ordre dans votre patrimoine de test ;
Que vous soyez responsable de l'usine logicielle et que vous souhaitiez capitaliser sur votre plateforme préférée ;
Que vous soyez manager et que vous souhaitez améliorer votre visibilité sur les tests ;
Ou que vous ayez simplement envie d'en apprendre plus sur les tests avec la plateforme Visual Studio ALM : cette présentation est faites pour vous !
Animé par @gregory_ott
Le monde de l'informatique est divisé depuis toujours en deux univers : les personnes qui créent (Dev) et celles qui exploitent en production (Ops). Cette séparation peut générer stress et frustration. Les équipes n'ont pas l'impression d'aller dans le même sens et cela nuit à la productivité. Pour les réconcilier, un ensemble de pratiques et d'outils ont été imaginées: elles se cachent derrière le terme DevOps. Qu'est-ce que c'est exactement ? Quels problèmes est-ce que cela résout ? Quelle est la bonne approche pour le mettre en place? Nous vous proposons de découvrir notre vision sur ce sujet lors de cette session d'introduction.
À l'issue de cette formation, vous détiendrez les clés pour la mise en œuvre pratique d’une démarche DevOps au sein de votre organisation.
• Appréhender l'intérêt de la culture DevOps
• Découvrir les patterns de conception DevOps
• Identifier les enjeux de l’industrialisation des déploiements applicatifs
• Savoir fluidifier les interactions entre les différentes équipes projet
• Mettre en place une chaine de production CI/CD fiable grâce à des outils open source
Mockito - Design + tests par Brice DuteilNormandy JUG
rice Dutheil est indépendant, membre du groupe des Zindeps. Comiteur sur Mockito.Son blog est le “TheCoffeeWorkshop“. Son Twitter est @BriceDutheil.
Le design par le test
Le TDD est aujourd’hui une pratique reconnue pour permettre la production de code avec peu d’anomalies. Mais ce n’est pas le seul interet du TDD ; le design du code peut en etre le grand gagnant. Ces quelques slides vont essayer de donner un apercu des opportunites à saisir et des pieges à eviter ; Mockito inside.
Comment améliorer la site performance ? CDNetworks
Établir une stratégie de performance web en 5 étapes
La vitesse d’un site (page speed) est un paramètre décisionnel pour les e-acheteurs français. C'est pourquoi le succès d'un site de e-commerce dépend en grande partie du temps de réponse.
Visionnez cette présentation pour :
- Apprendre comment accélérer l'affichage des pages web
- Augmenter la Web Performance.
- Comprendre comment fournir une meilleure expérience utilisateur et protéger les données du consommateur tout en maitrisant les couts.
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 ...
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
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.
Adoption incrémentale des tests dans VS ALMGrégory Ott
Cette présentation a été organisée par le @MUGLyon => http://muglyon.github.io/
Adoption incrémentale des tests dans Visual Studio ALM. Du test exploratoire au pilotage par l'analyse d'impact :
Découvrez comment MTM peut soutenir de façon progressive votre effort de test.
Que vous soyez Développeur et que vous ayez envie de participer à l'effort de test ;
Que vous soyez Analyste métier et que vous souhaitiez capitaliser sur vos critères d'acceptances ;
Que vous soyez Testeur et que vous souhaitez mettre de l'ordre dans votre patrimoine de test ;
Que vous soyez responsable de l'usine logicielle et que vous souhaitiez capitaliser sur votre plateforme préférée ;
Que vous soyez manager et que vous souhaitez améliorer votre visibilité sur les tests ;
Ou que vous ayez simplement envie d'en apprendre plus sur les tests avec la plateforme Visual Studio ALM : cette présentation est faites pour vous !
Adoption incrémentale des tests dans Visual Studio ALM. Du test exploratoire au pilotage par l'analyse d'impact :
Découvrez comment MTM peut soutenir de façon progressive votre effort de test.
Que vous soyez Développeur et que vous ayez envie de participer à l'effort de test ;
Que vous soyez Analyste métier et que vous souhaitiez capitaliser sur vos critères d'acceptances ;
Que vous soyez Testeur et que vous souhaitez mettre de l'ordre dans votre patrimoine de test ;
Que vous soyez responsable de l'usine logicielle et que vous souhaitiez capitaliser sur votre plateforme préférée ;
Que vous soyez manager et que vous souhaitez améliorer votre visibilité sur les tests ;
Ou que vous ayez simplement envie d'en apprendre plus sur les tests avec la plateforme Visual Studio ALM : cette présentation est faites pour vous !
Animé par @gregory_ott
Le monde de l'informatique est divisé depuis toujours en deux univers : les personnes qui créent (Dev) et celles qui exploitent en production (Ops). Cette séparation peut générer stress et frustration. Les équipes n'ont pas l'impression d'aller dans le même sens et cela nuit à la productivité. Pour les réconcilier, un ensemble de pratiques et d'outils ont été imaginées: elles se cachent derrière le terme DevOps. Qu'est-ce que c'est exactement ? Quels problèmes est-ce que cela résout ? Quelle est la bonne approche pour le mettre en place? Nous vous proposons de découvrir notre vision sur ce sujet lors de cette session d'introduction.
À l'issue de cette formation, vous détiendrez les clés pour la mise en œuvre pratique d’une démarche DevOps au sein de votre organisation.
• Appréhender l'intérêt de la culture DevOps
• Découvrir les patterns de conception DevOps
• Identifier les enjeux de l’industrialisation des déploiements applicatifs
• Savoir fluidifier les interactions entre les différentes équipes projet
• Mettre en place une chaine de production CI/CD fiable grâce à des outils open source
Mockito - Design + tests par Brice DuteilNormandy JUG
rice Dutheil est indépendant, membre du groupe des Zindeps. Comiteur sur Mockito.Son blog est le “TheCoffeeWorkshop“. Son Twitter est @BriceDutheil.
Le design par le test
Le TDD est aujourd’hui une pratique reconnue pour permettre la production de code avec peu d’anomalies. Mais ce n’est pas le seul interet du TDD ; le design du code peut en etre le grand gagnant. Ces quelques slides vont essayer de donner un apercu des opportunites à saisir et des pieges à eviter ; Mockito inside.
Comment améliorer la site performance ? CDNetworks
Établir une stratégie de performance web en 5 étapes
La vitesse d’un site (page speed) est un paramètre décisionnel pour les e-acheteurs français. C'est pourquoi le succès d'un site de e-commerce dépend en grande partie du temps de réponse.
Visionnez cette présentation pour :
- Apprendre comment accélérer l'affichage des pages web
- Augmenter la Web Performance.
- Comprendre comment fournir une meilleure expérience utilisateur et protéger les données du consommateur tout en maitrisant les couts.
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 ...
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Test driven development
1. TEST DRIVEN DEVELOPMENT
DÉVELOPPEZ VOS APPLICATIONS QUI
RÉSISTERONT A L’ÉPREUVE DU TEMPS
Cyril GRANDJEAN
Mardi 6 Novembre 2018
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
SUIVEZ-NOUS SUR
2. Agenda
Introduction
Qu’est ce que le Test Driven Development ?
Développement de notre premier service
Correction de notre premier bug
Ajout de fonctionnalités à notre service
Amélioration de la couverture de code
Automatisation des tests
Conclusion
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
3. Introduction
• Cyril GRANDJEAN
• Lead developer chez Planisware
• Langages principaux
– Java
– Javascript
• Site web: www.cyril-grandjean.fr
• LinkedIn: grandjeancyril
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
4. Agenda
Introduction
Qu’est ce que le Test Driven Development ?
Développement de notre premier service
Correction de notre premier bug
Ajout de fonctionnalités à notre service
Amélioration de la couverture de code
Automatisation des tests
Conclusion
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
5. Qu’est ce que le Test Driven
Development ?
• Philosophie
Source: http://fruzenshtein.com/java-tdd-with-junit-example-1/
6. Agenda
Introduction
Qu’est ce que le Test Driven Development ?
Développement de notre premier service
Correction de notre premier bug
Ajout de fonctionnalités à notre service
Amélioration de la couverture de code
Automatisation des tests
Conclusion
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
7. Développement de notre premier
service
• Service login
• Bob est un développeur Junior pour la nouvelle startup
MyBestSoft
• Bob doit réaliser un service d’authentification avec login /
mot de passe
• Bob a décidé de développer
en utilisant la philosophie TDD
8. Développement de notre premier
service
• Démonstration
– La démonstration est disponible sur GitHub:
https://github.com/kyrillos52/tdd-demo
– Le code a été développé en Java mais la
philosophie s’applique quelque soit le langage.
– Le code de la démonstration a été
volontairement simplifié afin de démontrer le
raisonnement et le concept de développement
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
9. Développement de notre premier
service
• Mise en place de l’application
– Tag Git: 1_INITIALISATION
• Développement du test unitaire
– Tag Git: 2_UNIT_TEST_LOGIN
• Développement de la fonctionnalité
– Tag Git: 3_DEV_LOGIN_FEATURE
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
10. Agenda
Introduction
Qu’est ce que le Test Driven Development ?
Développement de notre premier service
Correction de notre premier bug
Ajout de fonctionnalités à notre service
Amélioration de la couverture de code
Automatisation des tests
Conclusion
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
11. Correction de nos premiers bugs
• Premiers bugs
• Cat, la testeuse de
notre jeune startup
remonte à Bob des
bugs:
– quand le login et
mot de passe est
initialisé à null ou
vide
– on rentre un
identifiant
inconnu
12. Correction de notre premier bug
• Création du test de détection des bugs
– Tag Git: 4_DETECT_QA_LOGIN_BUG
• Fix des bugs
– Tag Git: 5_FIX_QA_LOGIN_BUGS
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
13. Agenda
Introduction
Qu’est ce que le Test Driven Development ?
Développement de notre premier service
Correction de notre premier bug
Ajout de fonctionnalités à notre service
Amélioration de la couverture de code
Automatisation des tests
Conclusion
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
14. Ajout de fonctionnalités à notre
service
• Service Json Web Token
• 3 ans après notre premier
service, notre startup
devient une PME et
embauche plus de 40
personnes.
• Bob, devenu développeur
sénior doit rajouter
l’authentification Json
Web Token pour intégrer
l’application à la future
application mobile.
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
15. Ajout de fonctionnalités à notre
service
• Ajout de nouveaux tests pour la
fonctionnalités
– Tag Git: 6_JWT_UNIT_TESTS
• Création de la fonctionnalité
– Tag Git: 7_JWT_DEV
• Correction de la régression
– Tag Git: 8_JWT_FIX
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
16. Agenda
Introduction
Qu’est ce que le Test Driven Development ?
Développement de notre premier service
Correction de notre premier bug
Ajout de fonctionnalités à notre service
Amélioration de la couverture de code
Automatisation des tests
Conclusion
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
17. Automatisation des tests
• Investir sur les tests
• Bob, développeur
consciencieux, veut
toujours améliorer
la fiabilité de son
service en
optimisant la
couverture de son
service.
18. Amélioration de la couverture de
code
• Optimisation de la couverture de code
– Tag Git: 9_JWT_COVERAGE
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
19. Agenda
Introduction
Qu’est ce que le Test Driven Development ?
Développement de notre premier service
Correction de notre premier bug
Ajout de fonctionnalités à notre service
Amélioration de la couverture de code
Automatisation des tests
Conclusion
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
20. Automatisation des tests
• Objectif: Intégration
continue
• Bob, devenu responsable
technique, doit mettre en
place les outils qui
permettront l’intégration
continue
21. Automatisation des tests
• Exécuter les tests avec Maven
– mvn clean install
• Installer des outils d’intégration continue
– Travis, Jenkins, Bamboo,…
– Exemple: https://travis-
ci.org/kyrillos52/ddbstoolkit
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
22. Automatisation des tests
• Exécuter des outils d’analyse de code et de
couverture de code
– Sonar, Codecov,…
– Exemple Sonar:
https://sonarcloud.io/dashboard?id=org.ddbstoolk
it.toolkit%3Addbstoolkit-root
– Exemple Codecov:
https://codecov.io/gh/kyrillos52/ddbstoolkit
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
23. Agenda
Introduction
Qu’est ce que le Test Driven Development ?
Développement de notre premier service
Correction de notre premier bug
Ajout de fonctionnalités à notre service
Amélioration de la couverture de code
Automatisation des tests
Conclusion
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :
24. Conclusion
• La mise en place du Test Driven
Development a permis:
• Tester automatiquement un nouveau développement
• Détecter et corriger un bug de développement
• Développer une nouvelle fonctionnalité sans
régression
• Améliorer la qualité du livrable
• Avoir des métriques sur l’état du code
• Gagner du temps sur les nouveaux développements
• Moins de stress, gain de confiance, plus de créativité
et donc plus de productivité
#BattleDevPLW
Partagez votre soirée sur les
réseaux sociaux avec :