Maintenance d'un logiciel : ce qui est compris, ce qui ne l'est pas
Un logiciel livré n'est pas un logiciel terminé. Ce que couvre une maintenance, ce qui relève d'une évolution, et les questions à poser pour ne pas avoir de surprise.
Un logiciel livré n'est pas un logiciel terminé. Les systèmes qui l'entourent changent, des failles sont découvertes dans les briques qu'il utilise, les navigateurs et les téléphones évoluent, et vos équipes découvrent des cas que personne n'avait prévus. Ce mois-ci encore, une faille critique dans React a obligé à mettre à jour en urgence des milliers de sites. La maintenance est ce qui fait qu'un outil continue de fonctionner, en sécurité. Mais le mot recouvre des choses très différentes selon les prestataires. Voici ce qu'il recouvre chez nous, et ce qu'il ne recouvre pas.
Pourquoi un logiciel a besoin de maintenance
On compare souvent un logiciel à un bâtiment : une fois construit, il tient. C'est trompeur. Un logiciel ressemble plutôt à un véhicule : il roule, mais il a besoin d'entretien régulier, et il vit dans un environnement qui change.
- Les dépendances vieillissent. Un logiciel moderne s'appuie sur des centaines de briques open source. Des failles y sont découvertes chaque semaine, comme nous l'expliquions à propos de la faille React2Shell ou de l'attaque Shai-Hulud.
- L'environnement change. Une nouvelle version d'iOS ou d'Android, un navigateur qui modifie son comportement, un service tiers (paiement, envoi d'e-mails, cartographie) qui change son interface.
- L'usage révèle des défauts. Malgré les tests, l'usage réel fait apparaître des cas particuliers. C'est normal, et il faut quelqu'un pour les traiter vite.
Ce que comprend notre maintenance
Nous distinguons clairement quatre choses.
1. Les corrections
Un comportement qui ne correspond pas à ce qui a été validé ensemble est un défaut. Nous le corrigeons. Vous nous le signalez, nous vous répondons sous 24 heures ouvrées avec un diagnostic et un délai de correction. Ce délai de réponse est un engagement, pas une intention.
2. Les mises à jour de sécurité
Nous surveillons les alertes qui concernent les briques utilisées par votre logiciel, et nous appliquons les correctifs. Quand une faille sérieuse sort, nous vérifions si vous êtes concerné, nous corrigeons, et nous vous prévenons de ce que nous avons fait. Vous n'avez pas à suivre l'actualité de la sécurité à notre place.
3. La compatibilité
Quand un système d'exploitation, un navigateur ou un service tiers évolue d'une façon qui affecte votre logiciel, nous l'adaptons pour qu'il continue de fonctionner comme avant. Pour une application mobile, cela inclut les mises à jour exigées par Apple et Google pour rester sur les magasins d'applications.
4. L'hébergement et la surveillance
Quand nous hébergeons votre logiciel, en France, nous surveillons qu'il répond, nous gérons les sauvegardes et nous vérifions qu'elles se restaurent. Une sauvegarde jamais testée n'est pas une sauvegarde.
Ce qui n'en fait pas partie
C'est souvent là que naissent les malentendus. Nous préférons être clairs dès le départ.
- Les nouvelles fonctionnalités. Ajouter un module de planning, un nouveau type de document, un export vers un autre logiciel : ce sont des évolutions. Elles se traitent comme un petit projet, avec une maquette si besoin et un prix annoncé avant de commencer. Vous décidez en connaissance de cause.
- Les changements de règles métier. Si votre façon de calculer un prix ou de valider une commande change, le logiciel doit suivre. C'est une évolution, pas une correction : le logiciel faisait ce qui avait été décidé.
- Les problèmes extérieurs au logiciel. Une imprimante, un poste de travail, la connexion Internet de vos locaux. Nous aidons volontiers à diagnostiquer, mais ce n'est pas l'objet du contrat.
La frontière entre correction et évolution n'est pas toujours évidente. Quand un cas est discutable, nous en parlons avec vous avant de facturer quoi que ce soit. La maquette validée et la recette servent de référence : c'est une des raisons pour lesquelles nous les faisons sérieusement.
Un dernier point de vocabulaire, pour lire les contrats : on parle de maintenance « corrective » pour les corrections, « préventive » pour les mises à jour et la surveillance, et « évolutive » pour les nouvelles fonctionnalités. Beaucoup de malentendus viennent d'un contrat qui dit « maintenance » sans préciser lesquelles. Le nôtre les distingue noir sur blanc.
Les questions à poser à n'importe quel prestataire
- Quel est le délai de réponse en cas de problème, et est-il écrit dans le contrat ?
- Qui surveille les failles de sécurité, et comment suis-je informé ?
- Les sauvegardes sont-elles testées, et à quelle fréquence ?
- Comment sont chiffrées les évolutions : au temps passé, ou avec un prix annoncé avant ?
- Si j'arrête la maintenance, est-ce que je garde le code et les accès ?
La dernière question compte. Chez nous, le code source et la documentation vous appartiennent, maintenance ou pas. Vous restez parce que le service est bon, pas parce que vous êtes captif.
Combien ça coûte ?
Nos prix de maintenance et d'hébergement sont publiés sur la page Tarifs, comme nos prix de départ pour chaque type de projet. Ils dépendent de la taille du logiciel et de ce qu'il faut héberger. Si vous avez un logiciel existant, développé par nous ou par un autre, et que vous ne savez plus vraiment qui s'en occupe, c'est un bon sujet pour un rendez-vous de 30 minutes.