37
Centre de Calcul de l’Institut National de Physique Nucléaire et de Physique des Particules Projets Web CC-IN2P3 Jean-René Rouet - JI IN2P3/IRFU 2016

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

  • Upload
    lyphuc

  • View
    223

  • Download
    2

Embed Size (px)

Citation preview

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