ToDo & Co
Diagramme d'utilisation
Diagramme de classe
Diagramme de séquence
Créer un utilisateur
Versionning, organisation, priorisation, estimations ...
Utilisation de mon GitHub
Issues sur GitHub
exemple de tâche
Estimation de la tâche puis une fois effectuée,
Référence à la pull request et au commit qui la clôture
Workflow de la pull request
improvement-app avec commits et clôture des tâches
tâche cloturée dans le workflow de la pull request imprvement-app
Chaque étape clé a une branche
Présentation de la qualité de code
Utilisation de :
Qualité : Structure de code
Qualité : Rapport SensioLabsInsight
19 erreurs, réparties en 4 catégories :
Critical : Point très urgent, qui peut mettre en danger le bon fonctionnement de l’application et sa sécurité
Major : Point urgent, qui peut mettre en danger le bon fonctionnement de l’application et sa sécurité à moindre mesure que les violations « Critical »
Minor : Point mineur, portant sur le style du code, le code mort, le code inutilisé et la sécurité
Info : Points d’informations à vérifier car peut se transformer en "Critical" au fil du temps.
Qualité : Les tests
Qualité : Les autres outils
Résultat rapport Scrutinizer
Qualité : Les autres outils
Résultat rapport Codacy
Performance
Performance : métriques BlackFire
| URL | Temps | Mémoire |
|---|---|---|
| /tasks/edit |
309 ms | 13.8 MB |
| /tasks/create | 300 ms | 13.8 MB |
| /tasks | 248 ms | 11.1 MB |
| /users/edit | 318 ms | 14.1 MB |
| /users/create | 317 ms | 14 MB |
| / | 222 ms | 10.8 MB |
| /login | 159 ms | 7.17 MB |
Ces résultats sont corrects
Performance : Front-end
Solutions
Les principales améliorations à apporter sont qualitatives.
Pour les performances, on peut mettre en place des choses assez simplement.
Les points d'améliorations :
Authentification
Schéma de la sécurité sur Symfony
Authentification
fichier de configuration security.yml
encoders : choisir l'encodeur que vous voulez pour les mots de passe des utilisateurs.
providers : d'où vos utilisateurs sont chargés.
firewalls : configuration des pare-feux, technique d'authentification formulaire ...), paramètres des routes login, logout, utilisateur anonyme autorisé etc ...
access_control : droit d'accès aux URLs
Authentification
attribut "roles" dans Entité User
l'attribut "roles" est définit dans l'entité User et attribué à un User dans le "UserFormType"
Authentification
Dans un controleur, on peut appliquer des droits sur des méthodes à un rôle particulier grâce à cette annotation :
Les tests
Le code coverage de l'application est désormais de 100%.
À chaque ajout de feature, il faut prévoir le test qui va avec pour essayer de maintenir ce score.
Contribution
Disponible sur le repo, dans le README.
Les points important pour contribuer :
Les modifications
Résultats
Qualité : Résultats final SensioLabsInsight, Platinum
Résultats
Performance : Mise en cache et CDN.
Application 12 fois plus rapide et requiert presque 10 fois moins de mémoire.
(voir slide 19)
| URL | Temps | Mémoire |
|---|---|---|
| /tasks/edit | 24 ms | 1.5 MB |
| /tasks/create | 24 ms | 1.5 MB |
| /tasks | 24.2 ms | 1.51 MB |
| /users/edit | 24.6 ms | 1.5 MB |
| /users/create | 24.3 ms | 1.5 MB |
| / | 24.1 ms | 1.5 MB |
| /login | 24.2 ms | 1.5 MB |
ToDo & Co