Table des matières
ToggleQu’est-ce que la maintenance applicative (TMA) et quel processus suivons nous chez Uptime
La maintenance applicative désigne l’ensemble des actions que nous menons pour :
- Surveiller les serveurs et applicatifs de nos clients grâce à des dashboards dédiés
- Faire les mises à jour de sécurité des librairies de code pour assurer la conformité et la sécurité des applicatifs
- Détecter et corriger les bugs
- Faire évoluer l’outil en fonction de vos besoins
Plus simplement, il s’agit de :
- Vérifier que vos applicatifs fonctionnent
- Détecter les bugs avant qu’ils ne vous impactent
- Assurer la sécurité de vos données
- Assurer l’évolution de l’outil en accord avec l’évolution de votre métier
Pourquoi la maintenance applicative est importante
Nous pourrions être tentés de dire qu’une fois qu’un outil est développé, il est terminé. S’il fonctionne le lundi, il n’y a aucune raison pour laquelle il ne fonctionnerait pas le mardi. Que les besoins que vous aviez à la construction du logiciel sont les mêmes un an plus tard.
Mais ces affirmations ne sont pas vraies ! Un logiciel, que ce soit un ERP, un CRM ou tout autre type d’outil, doit être entretenu de la même manière que vous entretenez une voiture ou une maison.
Mise à jour des librairies de code
En effet, tout logiciel métier sur mesure est construit grâce à des librairies de code. Ces librairies permettent aux développeurs de ne pas réinventer la roue à chaque développement. Elles forment des standards de développement, des règles d’utilisation et de bonnes pratiques. Elles sont maintenues par des communautés fortes et fiables et évoluent donc dans le temps : des correctifs sont apportés, des évolutions proposées.
Ces correctifs sont bien souvent liés à des failles de sécurité. Ces failles peuvent rendre vos applicatifs vulnérables, et permettre à des personnes mal intentionnées de détourner l’usage de votre site ou bien de vous voler des données.
La dépendance aux services tiers
Par ailleurs, certaines fonctionnalités reposent sur des services externes. Par exemple, le SSO de Microsoft ou de Google. Si ces services évoluent et que ces évolutions ne sont pas implémentées dans votre solution, cela pourrait casser les fonctionnalités liées, rendant l’application difficile d’utilisation, voire même inopérationnelle.
L’allocation des ressources
Il faut également penser à l’évolution de votre outil, que ce soit un ERP interne ou le développement d’un SaaS sur mesure, il faut surveiller l’état des serveurs, et les ressources allouées. Si votre outil était dimensionné pour accueillir 100 utilisateurs et qu’il en accueille 1000, cela pourrait occasionner des problèmes de performance. Il faut donc effectuer un monitoring de ces ressources pour les adapter à vos besoins.
Les bugs
Enfin, qui n’a jamais connu de bug sur une fonctionnalité qui fonctionnait pourtant la veille. En effet, même si des tests sont implémentés dans le code et que tout semble fonctionner normalement, il se peut qu’un comportement utilisateur ou un type de donnée enregistrée fasse dérailler la machine.
Par exemple, vous êtes sur votre application mobile, vous importez une vidéo depuis votre tout nouveau smartphone. Le format de cette vidéo n’est pas le même que ceux que vous importiez avant, et c’est d’ailleurs un tout nouveau format, avec une compression vidéo différente. Vous importez la vidéo, et d’un coup, écran noir tout s’éteint ! Dans les faits, il n’y a rien de nouveau, vous avez importé une vidéo comme vous l’avez déjà fait 100 fois avant. Face à ce type de bug, vous avez besoin d’un service réactif pour relancer votre application et ne pas impacter votre travail.
Les nouvelles fonctionnalités
Chez Uptime nous avons la ferme conviction qu’un outil n’est jamais figé. Votre entreprise évolue, et les problématiques que vous cherchez à résoudre grâce à votre logiciel évoluent également. C’est pourquoi nous ne nous cantonnons pas à maintenir votre outil tel qu’il est, nous le faisons également évoluer avec vous, en co-construction.
Le processus de maintenance applicative chez Uptime
Chez Uptime, comme toute entreprise de maintenance informatique, nous avons mis en place un ensemble de processus et d’outils afin de garantir que vos applicatifs fonctionnent et vous permettent de vous concentrer sur votre cœur de métier.
Des outils de détection puissants
Nous avons mis en place un ensemble d’outils permettant la détection d’anomalies et de bugs sur les applicatifs de nos clients.
Le monitoring
Nous avons mis en place un dispositif de supervision permettant de surveiller en continu l’état des serveurs et des services applicatifs.
La supervision technique repose sur un système de monitoring basé sur Prometheus, qui collecte automatiquement les métriques techniques des différents environnements (serveurs, services applicatifs, base de données, etc.).
Ces données sont centralisées et analysées afin de détecter rapidement toute anomalie ou dégradation des performances.
Les alertes et indicateurs sont visualisés via des tableaux de bord dédiés (Grafana), permettant à nos équipes de suivre en temps réel l’état de la solution et d’anticiper d’éventuels problèmes.
Nous avons également un canal dédié dans notre outil de messagerie instantané afin d’être alerté en temps réel des éventuels soucis.
Le dispositif de supervision fonctionne 24h/24 et 7j/7 afin de garantir la détection rapide de tout incident pouvant impacter la disponibilité du service.
La détection des vulnérabilités
Nous avons mis en place Trivy et DependencyTrack afin de contrôler régulièrement l’état des vulnérabilités des applicatifs de nos clients.
Trivy est un outil open source qui génère des listes exhaustives des dépendances d’un projet, dans notre jargon nous appelons ça des SBOM pour Software Bill of Materials. Concrètement, cela nous permet de lister les librairies utilisées dans un projet et leurs versions.
DependencyTrack est une plateforme open-source également, qui permet la gestion des composants et des dépendances. Elle :
- Centralise les données de vulnérabilités de tous vos projets
- Suit les composants utilisés et leurs versions
- Génère des rapports de conformité
- Alerte sur les vulnérabilités critiques
- Intègre les résultats Trivy pour analyse continue
L’analyse des dépendances se fait de deux manières différentes.
Dans le premier cas, c’est intégré dans notre routine CI/CD. A chaque commit, Trivy est déclenché. Si une vulnérabilité est détectée par DependencyTrack, alors le commit est bloqué. Le développeur doit résoudre la vulnérabilité avant de pouvoir pousser son code. Cela est également déclenché à chaque nouveau déploiement.
Dans le deuxième cas, nous avons automatisé les vérifications sur nos projets. Tous les jours, une automatisation est déclenchée pour lancer Trivy et DependencyTrack sur tous nos projets. De cette manière, nous sommes alertés d’éventuelles vulnérabilités même sur un projet sur lequel nous n’effectuons plus de livraisons.
Ce système assure une surveillance peu importe le stade du projet : de la création au maintien en conditions opérationnelles.
Une communication rapide et efficace
Une communication rapide et efficace
Grâce à nos outils de surveillance, nous détectons la majorité des anomalies avant même que vous ne vous en rendiez compte. Cependant, nous ne sommes pas à l’abri qu’un service externe ou un changement d’usage perturbe le fonctionnement de votre outil.
Dans le cas où vous rencontrez un bug, nous sommes joignables facilement par téléphone pour les urgences et nous avons instauré un service support par mail, commun à tous nos clients, pour les autres types de demandes.
Nous fournissons également un guide à nos clients qui décrit comment expliquer une anomalie pour garantir une prise en charge rapide et faciliter son traitement. En effet un simple « cela ne fonctionne pas » ne suffit bien souvent pas. Il est important pour nous de pouvoir reproduire le problème rencontré et c’est pourquoi nous vous guidons pas à pas dans la description de celui-ci.
Un suivi rigoureux
La gestion des incidents repose sur un processus structuré inspiré des bonnes pratiques ITIL. Les demandes sont centralisées dans notre outil de suivi, Jira, nous évaluons la criticité de l’incident et nous vous fournissons un délai de résolution cible. Vous êtes informés de l’état d’avancement de votre demande. A la clôture de chaque demande, nous vous fournissons un rapport d’incident qui précise la cause du bug ainsi que la ou les solutions mises en place pour le corriger.
Nous travaillons en toute transparence avec vous et nous vous fournissons des rapports réguliers des différentes interventions que nous effectuons.
Dans le cas où votre demande constitue une évolution nous :
- Creusons le besoin à vos côtés pour comprendre votre problématique,
- Fournissons des pistes de solution,
- Préparons des maquettes
- Nous estimons le temps de développement nécessaire.
Ainsi, vous validez chaque nouveau développement en toute connaissance de cause et vous gardez une maîtrise totale de votre budget.
Enfin, nous ne sous-traitons pas la maintenance des applicatifs de nos clients, et chaque membre de l’équipe peut intervenir sur n’importe quel projet, grâce à une documentation rigoureuse et exhaustive.
Délai de traitement des anomalies
Dans le cadre de la tierce maintenance applicative (TMA), nous avons défini des délais de prise en charge qui dépendant de la criticité de l’anomalie. En voici le détail :
| Niveau de criticité | Délai de prise en charge | Délai de réponse maximum ciblé |
| Bloquant | 30min | 1 heure |
| Importante | 1 heure | 2 heures |
| Moyenne | 2 heures | 4 heures |
| Basse | 4 heures | 1 jour |
Les différents types de maintenance
Comme nous l’avons vu dans la plus haut dans cet article, la maintenance applicative ne sert pas uniquement à corriger des bugs, c’est pourquoi nous proposons plusieurs types de maintenances à nos clients.
La maintenance évolutive
Qu’est-ce que la maintenance évolutive chez Uptime?
Lors de la première année d’utilisation d’un logiciel, nous savons que de nouveaux besoins émergent. En effet, lorsque vous digitalisez vos processus internes grâce à un nouvel outil, même si la phase de recueil du besoin a été correctement menée, l’utilisation de l’outil en conditions réelles par vos équipes fait émerger de nouvelles pratiques et de nouveaux besoins. C’est pourquoi nous conseillons à nos clients un forfait de maintenance évolutive la première année.
La maintenance évolutive comprend tout le périmètre de la maintenance corrective, et à cela viennent s’ajouter des jours de développement. Ces jours de développement vous permettent d’enrichir l’outil de nouvelles fonctionnalités.
Comment décider du nombre de jours à allouer ?
Le nombre de jours à consacrer au développement de nouvelles fonctionnalités dépend de plusieurs critères.
Premièrement, ce nombre de jours est proportionnel à la complexité de votre outil. Plus un outil est complexe, plus les usages en conditions réelles font paraitre de nouveaux besoins.
Deuxièmement, ce nombre de jours dépend de la finalité de votre outil. Un outil interne avec peu d’utilisateurs évoluera moins vite qu’un outil commercialisé avec un grand nombre d’utilisateurs.
Enfin, ce nombre de jours dépend du mode de construction de votre outil. Chez Uptime, nous préférons accompagner nos clients dans la durée. Préparer un projet en 2024 pour une livraison en 2026 n’a aucun sens ! Si besoin, nous construisons l’outil avec vous brique par brique. Ainsi nous pouvons nous adapter à vos changements structurels et organisationnels, et à l’évolution de vos besoins. Dans ces cas-là, nous fixons ensemble des objectifs à atteindre année après année pour digitaliser l’ensemble de votre processus étape par étape, sans décourager les utilisateurs.
Quels sont nos services inclus dans la maintenance évolutive ?
La maintenance évolutive n’est pas uniquement dédiée à l’évolution de votre outil, voici notre périmètre d’action :
- Surveillance proactive
- Correctif de bugs
- Priorisation des correctifs avec vos équipes
- Le redémarrage des services
- Un délai de prise en charge rapide par nos équipes
- Intégration de nouvelles technologies
- Adaptation de l’application à de nouveaux environnements (navigateurs, matériels, technologies…)
- Intégration des dernières normes de sécurité et conformité
- Mise à jour des versions
- Points réguliers
- Intégration de nouvelles fonctionnalités
La maintenance corrective
Qu’est-ce que la maintenance corrective ?
La maintenance corrective correspond au service minimum de maintiens en conditions opérationnelles. Dans le cadre de cette maintenance, nous surveillons vos applicatifs et nous corrigeons les éventuelles anomalies, qu’elles soient détectées automatiquement ou que vous nous les remontiez. Concrètement, nous corrigeons des bugs et nous vous alertons en cas d’évolutions à prévoir.
Nous conseillons la maintenance corrective à nos clients lorsque l’outil est stable et largement adopté. Certains outils n’ont pas vocation à évoluer constamment car ils répondent à un besoin simple, mais ce n’est pas pour autant qu’il faut négliger leur entretien.
Comment décider du nombre de jours à allouer ?
En moyenne, nous consacrons 2h par mois pour la maintenance corrective de l’applicatif de nos clients. Ces deux heures correspondent à la surveillance que nous effectuons, et à des bugs peu fréquents.
Cependant, certains outils à fort trafic sont plus susceptibles de susciter notre attention. Par exemple, un logiciel qui est commercialisé et utilisé par des milliers d’utilisateurs nécessitera plus de surveillance, et certainement plus de correctifs.
La diversité des publics qui utilisent l’outil peut également être un facteur de variation. Si l’outil est utilisé par des personnes avec peu d’appétence technologique, notre rôle sera d’accompagner et de former à l’usage tout autant que de surveiller et de corriger.
Enfin, un outil très complexe avec beaucoup de dépendances extérieures comme de multiples API ou disponibles sur différents environnements (mobile, web, client lourd etc) nécessitera également plus de surveillance.
Quels sont les services inclus dans la maintenance corrective ?
Vous l’aurez compris, la maintenance corrective est avant tout une maintenance de supervision, elle inclut donc les services suivants :
- Surveillance proactive
- Correctif de bugs
- Priorisation des correctifs avec vos équipes
- Le redémarrage des services
- Un délai de prise en charge rapide par nos équipes
Comment décider quel type de maintenance choisir ?
Comme expliqué précédemment, le choix du type de maintenance va dépendre de plusieurs facteurs :
- Stabilité de l’outil
- Nombre d’utilisateurs
- Contexte d’utilisation
- Maturité de l’outil
Aussi, le type de maintenance dépend de vos besoins et il n’y a pas de réponse universelle. Chez Uptime, nous ne forçons pas nos clients à prendre le forfait le plus cher et avec le plus d’options, ça serait comme vous vendre une navette spatiale alors que vous avez besoin d’un vélo pour aller chercher le pain !
Nous nous adaptons à vos besoins en cours de route, vous pouvez très bien commencer avec un forfait de maintenance évolutive puis passer sur de la maintenance corrective et inversement. Nous cherchons avant tout votre satisfaction et à vous accompagner dans la durée.
Les clients qui nous font confiance pour leur maintenance applicative et ce que nous faisons pour eux
Servicea
Servicea est une entreprise adaptée du bassin rennais. Les entreprises adaptées sont des entreprises peu digitalisées, et ne disposant pas d’outils leur permettant de suivre les actions d’accompagnement qu’elles effectuent. Ce manque d’outil conduit à une mauvaise reconnaissance de leurs actions.
Servicea a donc développé Pep’s pour résoudre cette problématique. Pep’s est un outil web et mobile qui permet la déclaration d’action d’accompagnement effectuées au sein des entreprises adaptées. Cet outil qui était d’abord un outil interne, a par la suite été déployé en mode pilote auprès d’autres entreprises adaptées, et a vocation à être commercialisé.
Périmètre du projet
- Développement de nouvelles fonctionnalités pour aider à la commercialisation du logiciel
- Détection et correction de bugs
Notre méthodologie sur le projet
- Co-construction durant deux ans en binôme avec le chef de projet Servicea
- Accompagnement des nouveaux utilisateurs
- Rédaction de nouvelles spécifications fonctionnelles
- Priorisation des demandes utilisateurs pour le MVP
Résultats
- Nouvelle application mobile
- Nouvelles fonctionnalités pour les déclarations d’action d’accompagnement socio-professionnel
- Lancement d’un pilote de l’outil auprès de dix entreprises adaptées
- Amélioration du reporting des actions d’accompagnement
Cognlab
Cognlab est une entreprise dédiée à la recherche neurologique en orthophonie.
D’un côté c’est un logiciel (LAZ50) permettant aux orthophonistes de réaliser des évaluations cliniques afin de diagnostiquer certains troubles neurologiques.
De l’autre c’est une plateforme dédiée à la recherche neurologique en orthophonie. On peut accéder à des formations en ligne, des webinaires, s’informer sur des évènements à venir et trouver des ressources sur la neurologie en orthophonie pour les patients, les aidants ou les professionnels de santé.
Périmètre du projet
- Reprise du développement du logiciel sur mesure Laz50
- Amélioration du site dédié aux formations
- Maintenance évolutive et corrective
Méthodologie
- Recueil du besoin
- Priorisation des fonctionnalités à développer
- Evolutions régulières au gré de l’évolution de la recherche scientifique
Résultats
- Intégration d’un système de calcul de normes scientifiques pour l’aide au diagnostic
- Implémentation d’une brique de paiement en ligne pour l’achat du logiciel
- Implémentation de la double authentification pour une meilleure sécurité des données
- Commercialisation de l’outil auprès d’orthophonistes en France, Suisse, Belgique et Canada