From Michel Dubois

Teaching: Projet de synthèse de l'UE6

L'application de synthèse a pour but de mettre en application les connaissances acquises dans l'UE4, mais aussi de mettre en œuvre les bonnes pratiques de projet de programmation vues en UE1.

Public :

Pré-requis :

Résultats attendus :

Découverte du sujet

Langages : PHP, Javascript, MongoDB

Concernant la qualité du code PHP, outre les approches SonarQube/Jenkins, l’auteur de l’application web signale le PHP-FIG (PHP Framework Interoperability Groupement) qui édite les PSR (PHP Standard Recommendation). PSR, pour PHP Standard Recommendation, est un ensemble de normes pour PHP qui permet de faciliter l’interopérabilité des composants entre eux. Elles sont éditées par le php-fig : PHP Framework Interoperability Groupement. C’est un groupement de personnes qui travaillent autour de ces recommandations. Tout le monde peut faire partie de ce groupement. Mais seuls certains membres avec le droit de vote peuvent voter sur les nouvelles recommandations. Les membres votants sont généralement des représentants de projets tels que Doctrine, Composer ou Symfony. Il y a actuellement 7 normes validées qui sont prises en compte par les développeurs PHP :

Toutes ces normes vont permettre de bien structurer le code, d’avoir les mêmes interfaces, et de permettre aux autres développeurs de contribuer plus facilement.

Contrainte globale sur tout le projet : Respect du Top 10 OWASP.

Release 1 (S40-S45)

Le plan de ce document est défini avec le client.

Sprint 1

Sprint 2

Release 2 (S46-S51)

Sprint 3

Sprint 4

Release 3 (S02-S04 : beaucoup de créneaux pour le projet)

Sprint 5

Sprint 6

Release 4 (S05-S07 : Que les formation initiale à temps plein)

Sprint 5

Sprint 6

Ce projet écrit en PHP/Javascript utilise une chaine d'intégration continue avec Jenkins éventuellement doté de ses plugins relatifs à la qualimétrie PHP (Phing, PHP Depend, PHP Mess Detector, phpcpd, phploc, PHP_CodeSniffer, phpDocumentor, PHP_CodeBrowser / Ant, Template for Jenkins Jobs for PHP Projects) et Maven (Jenkins) et utilise SonarQube muni des modules pour les langages Web/JavaScript/PHP pour la qualimétrie. Pour la couverture de tests en Javascript, le plugin SonarJS nécessite la pile Node.js/Gulp/Karma. Gulp pilote le processus de construction tandis que Karma le lanceur de tests génère des rapports JUnit et LCOV au final compris par SonarJS. Maven lance gulp via le plug-in frontend-maven-plug-in de Jenkins qui lui délègue le processus de construction.

Ils développent via le Git.

Le projet est géré entièrement en mode agile avec SCRUM et XP

Ce cours a été mis en ligne en 2018-2019.

Accéder au cours en ligne : NetUBS

Se connecter "en tant qu'invité" : Aide à la connexion

Retrieved from http://michel.dubois.ubs.chez.com/index.php?n=Teaching.ProjetUE65
Page last modified on 21/06/2021 11:14