Transcript
Page 1: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

Centre de Calcul de l’Institut National de Physique Nucléaire et de Physique des Particules

Projets Web CC-IN2P3Jean-René Rouet - JI IN2P3/IRFU 2016

Page 2: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 2

Préambule

Page 3: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Ceci ne concerne que les développements web réalisés dans l’équipe "Applications"

2

Préambule

Page 4: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Ceci ne concerne que les développements web réalisés dans l’équipe "Applications"

} «Il n’y a qu’une seule façon d’échouer; c’est d’abandonner avant même d’avoir réussi !» – Olivier Lockert

2

Préambule

Page 5: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Ceci ne concerne que les développements web réalisés dans l’équipe "Applications"

} «Il n’y a qu’une seule façon d’échouer; c’est d’abandonner avant même d’avoir réussi !» – Olivier Lockert

} En suivant le chemin qui s’appelle «plus tard», nous arrivons souvent à l’endroit qui s’appelle «jamais»

2

Préambule

Page 6: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 3🚶

Page 7: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Globalement cela fonctionne (pour l’utilisateur) } librairies utilitaires (quoique) } La conception Objet ? } Les tests ? } La sécurité ? } La gestion de version ? } ?? } Les développeurs web-php-mysql en majorité n’ont pas

cette culture

4

Le web php-mysql

Page 8: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 5

💔🌪💩🚶

Symfony

Page 9: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Je ne présente pas symfony } symfony 1.0->1.4 } symfony 2.0->2.8 } symfony 3.0

6

Symfony

Page 10: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 7

IDE, git, gitflow

Page 11: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} PhpStorm from Jetbrains (Develop by pleasure) } Editeur ☛IDE } Symfony } Annotations } Git, Gitflow } PhpUnit } Debug

8

IDE, GIT, Gitflow, Gitlab

Page 12: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 9

Redmine + SCRUM

Page 13: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} redmine } vue ticket

} le tableau de post-it } interaction } visibilité

} SCRUM à ~~% } le gain est quand même là

10

Méthodologie

Page 14: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 11

Tests

Page 15: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Difficile } unitaires } fonctionnels } intégration } …

} Arrivée d’une apprentie } projet pédagogique

12

Tests

Page 16: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 13

intégration continue - qualité

Page 17: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Gitlab CI } Sonarqube

14

Intégration continue, Qualité

php -dzend_extension=xdebug.so phpunit.phar --configuration app/phpunit.xml.dist --coverage-clover phpunit.coverage.xml --log-junit phpunit.xml

/sonar-scanner-2.5/bin/sonar-runner -Dsonar.host.url=${SONAR_HOST_URL} -Dsonar.jdbc.url=${SONAR_JDBC_URL} -Dsonar.jdbc.username=${SONAR_JDBC_USERNAME} -Dsonar.jdbc.password=${SONAR_JDBC_PASSWORD} -Dsonar.projectVersion=${CI_BUILD_REF}

Page 18: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 19: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 20: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 21: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 22: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 23: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 24: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 25: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 26: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

Sonarqube

15

Page 27: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 16

🎆déploiement automatisé

Page 28: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016 17

Déploiement automatisé

Page 29: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} On devient confiant sur notre code

17

Déploiement automatisé

Page 30: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} On devient confiant sur notre code

} On peut déployer, plus de frein psychologique

17

Déploiement automatisé

Page 31: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} On devient confiant sur notre code

} On peut déployer, plus de frein psychologique

} Tout le monde peut déployer

17

Déploiement automatisé

Page 32: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} OperationsPortal } Hito } Webcast } Kickslot } Goa

18

Projets

Page 33: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Le chemin est long mais la vue est magnifique

19

Conclusion

Page 34: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Derrière le Puy Griou, il y a le Puy Mary

20

Conclusion

Page 35: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

} Nous sommes plus proches du but aujourd’hui qu’hier } C’est un projet d’amélioration continue, donc nous

continuons } Partageons nos expériences

21

Conclusion

Page 36: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

👏'()*+

22

Page 37: Projets Web CC-IN2P3 · PDF fileIDE, GIT, Gitflow, Gitlab. JI IN2P3/IRFU 2016 29/9/2016 9 Redmine + SCRUM. JI IN2P3/IRFU 2016 29/9/2016} redmine } vue ticket } le tableau de post-it

JI IN2P3/IRFU 2016 29/9/2016

👏'()*+

22

Osman Aïdel Amélie Bourges

Foudil Brétel Philippe Corréia

Damien Cros Cyril Flieller

Pierre Frébault Cyril L’Orphelin

Sinikka Loikkanen

Olivier Lequeux Gilles Mathieu

Dominique Mège Thibaut Salanon

Laure Souai Pierre Veyre


Recommended