SALUT !
• Romain Guerrero
• Symfony depuis 6 ans
• Directeur de projet chez ACSEO
• Gère la TMA de 9 projets
Slide 3
Slide 3 text
SALUT !
• Romain Guerrero
• Symfony depuis 6 ans
• Directeur de projet chez ACSEO
• Gère la TMA de 9 projets
(bon, ok 5 vraiment)
Slide 4
Slide 4 text
LA TIERCE MAINTENANCE
APPLICATIVE C’EST QUOI ?
Slide 5
Slide 5 text
CONCRÈTEMENT IL FAUT
1. Reprendre l’existant (monter en compétence)
2. Corriger les bugs
3. Ajouter des fonctionnalités
4. (Maintenir l’application à jour)
Demandes exprimées par le client
Slide 6
Slide 6 text
CONCRÈTEMENT IL FAUT
1. Ajouter des fonctionnalités
2. Ajouter des fonctionnalités
3. Ajouter des fonctionnalités
4. Si vraiment il faut :
• Corriger les bugs
• Maintenir l’application à jour
Demandes souhaitées par le client
Slide 7
Slide 7 text
DÉTECTER LES ERREURS
Slide 8
Slide 8 text
POUR Y VOIR PLUS CLAIR
Slide 9
Slide 9 text
POUR Y VOIR PLUS CLAIR
Slide 10
Slide 10 text
Monitoring d’erreur en temps réel
Slide 11
Slide 11 text
Monitoring d’erreur en temps réel
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
Erreur et action concernée
Slide 14
Slide 14 text
Informations sur le contexte
Slide 15
Slide 15 text
Stack trace
Slide 16
Slide 16 text
Informations d’occurence
Slide 17
Slide 17 text
• Serveur + SDK
• 2 options de serveur :
‣ SAAS : https://sentry.io/
‣ Self-hosted (via Docker)
• Installation SDK sur Symfony :
‣ composer req sentry/sentry-symfony
‣ Identifiant (DSN) dans le .env (flex ❤)
Slide 18
Slide 18 text
• Notifications : mail, Slack…
• Infos sur l’erreur et l’utilisateur
• Erreurs agrégées : possibilité d’analyse !
• Déclenchement de simples messages
• Plusieurs languages
Slide 19
Slide 19 text
POUR Y VOIR PLUS CLAIR
Slide 20
Slide 20 text
POUR Y VOIR PLUS CLAIR
Slide 21
Slide 21 text
• Remontée de problème technique ou
fonctionnel par les utilisateurs
• Outil SAAS
• Intégration via un simple script JS
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
• Utilisation pour du support
• Possibilité de récupérer des données métiers
(rôles du user…) ou de contexte (session)
• Notifications : mail, Slack, webhook…
Slide 24
Slide 24 text
POUR Y VOIR PLUS CLAIR
• Objectifs de ces outils :
‣ Visibilité +++
‣ Satisfaction utilisateurs +++
• À mettre aussi en place : service de mail (Mandrill)
Slide 25
Slide 25 text
POUR SUIVRE TOUT ÇA
Slide 26
Slide 26 text
POUR GÉRER LES DEMANDES
• Outil de ticketing accessible à tous
• Gestion des priorités : LE CLIENT
• Interlocuteur unique
• Points réguliers et fixes (autant que possible) avec
le client
Slide 27
Slide 27 text
ORGANISER LES LIVRAISONS
• Découper en sprints :
‣ Très courts
‣ De durées fixe (= identifier le jour de MEP)
‣ De contenus flexibles
• Après une MEP : rapport de déploiement (liste
des tickets traités concernés)
Slide 28
Slide 28 text
ORGANISER SES DEVS
• Adopter un git flow adapté au besoin
• Branches utilisées pour la TMA chez ACSEO :
• Branches du GitFlow classique :
Master (prod) Release (prod W+1) Demo (recette)
Master Release Develop
BONNE OU MAUVAISE TMA ?
« Bonne TMA » pour le client :
• Bugs
• Fonctionnalités
« Bonne TMA » pour le prestataire :
• Client satisfait
• Code de qualité
Slide 46
Slide 46 text
BONNE OU MAUVAISE TMA ?
Grande partie repose sur le client qui doit :
• Maitriser le Métier
• Être impliqué
• Bonnes décisions
• Confiance dans le prestataire
Slide 47
Slide 47 text
ACCOMPAGNER SON CLIENT
• Donner un sens aux priorités
• Expliquer l’impact des décisions
• Transmettre des notions techniques
• Avoir un vocabulaire commun
• Objectif :
Slide 48
Slide 48 text
POUR RÉSUMER
Pour pouvoir gérer sa TMA comme un boss, il faut :
• Bonne visibilité sur les erreur en prod
• Bien gérer les demandes avec le client
• Faire des MEP fréquentes et régulières
• Avoir un client « actif » et l’aider si besoin