Web App

Contrat de maintenance PHP : clauses, prix et modèle à copier

Contrat de maintenance PHP : les 7 clauses à exiger, les fins de support des versions, le prix annuel et un modèle à copier.

Portrait de Lucien Arbieu, CEO et cofondateur de PeakLabLucien Arbieu21 min de lecture
Contrat de maintenance PHP : clauses, prix et modèle à copier

Résumer le contenu avec

En bref

  • Un bon contrat tient en sept engagements écrits, réversibilité comprise.
  • Il doit inclure les mises à jour de version : PHP 8.2 n’est plus corrigé après le 31 décembre 2026.
  • Prix courant : 15 à 25 % du coût de développement par an.
  • Code, hébergement et nom de domaine restent à votre nom, pas au nom de l’agence.
  • Un contrat flou protège le prestataire. Les contrats PeakLab écrivent les sept engagements.

Votre contrat d’entretien PHP se renouvelle chaque année, et personne ne le relit. Le jour d’une panne, d’une faille ou d’un changement de prestataire, vous découvrez ce qu’il ne couvre pas. Voici les clauses à exiger, un modèle à copier, les prix du marché et ce que nous incluons dans nos propres contrats.

Que doit couvrir un contrat de maintenance PHP ?

Quatre types de maintenance, que le contrat doit nommer un par un. Ils ne se facturent pas de la même façon, et les mélanger crée les conflits.

Type Ce que ça couvre Exemple Facturation courante
Corrective Correction d’un dysfonctionnement Un export comptable aux totaux faux Incluse au forfait, avec délais
Préventive Éviter pannes et failles Correctifs de sécurité des dépendances, test de restauration Incluse au forfait
Adaptative Suivre l’environnement Passage à une version moderne de PHP Forfait ou lot planifié
Évolutive Ajouter une fonctionnalité Nouveau rôle utilisateur, nouvelle page Devis ou crédit d’heures

Le contrat de TMA (tierce maintenance applicative) confie tout ou partie de ces tâches à une équipe externe. Il peut se limiter au correctif et au préventif, ou inclure l’évolutif : c’est la première question à trancher avant de signer.

La confusion entre corrective et évolutive est la première source de litige. Le prestataire facture en évolution ce que vous jugez être un bug. Le contrat doit définir un bug : un écart entre le comportement du logiciel et ce qui a été validé à la livraison.

Le périmètre doit aussi lister ce qui est entretenu, et le partage des rôles entre vous, l’agence et l’hébergeur :

  • la version de PHP et celle du framework (Laravel, Symfony ou code maison) ;
  • les bibliothèques Composer et les scripts JavaScript du front ;
  • le serveur : système, base de données, certificats, tâches planifiées ;
  • les intégrations : ERP, paiement, messagerie, API tierces ;
  • la compatibilité avec les navigateurs du marché ;
  • les sauvegardes et leur restauration.

Ce qui n’est pas listé n’est pas couvert, même si l’offre s’appelle « maintenance complète ».

Site internet ou application métier : deux contrats différents

Un site vitrine et un outil métier ne s’entretiennent pas de la même façon, même s’ils tournent tous deux en PHP. WordPress, qui propulse une grande part des sites web, est lui-même écrit en PHP.

Critère Site vitrine WordPress Site e-commerce Outil métier sur mesure
Ce qui vieillit Cœur, thème, extensions Modules de paiement et de livraison Framework, dépendances, intégrations
Risque principal Site piraté par une extension obsolète Ventes bloquées Équipe à l’arrêt, données exposées
Contrôles clés Formulaire de contact, SEO, mentions légales Tunnel d’achat, stocks Parcours métier, gestion des droits d’accès

Sur un site WordPress, la maintenance concerne surtout le cœur, le thème, les extensions et leurs modules. Chaque extension a son éditeur, et une extension abandonnée par son éditeur devient une porte d’entrée pour les pirates.

Le contrat d’un site internet doit aussi prévoir :

  • le test du formulaire de contact après chaque mise à jour ;
  • l’affichage correct de la page d’accueil sur les principaux navigateurs ;
  • la mise à jour des mentions légales et de la politique de confidentialité ;
  • la surveillance des alertes de la Search Console de Google ;
  • le maintien des réglages SEO : redirections, balises, plan du site.

Un site lent ou piraté perd aussi son SEO. Google peut afficher un avertissement à côté d’un site compromis dans ses résultats, et le trafic chute. Le SEO ne fait pas partie de la maintenance, mais le contrat doit protéger le travail SEO déjà fait.

Les modifications de contenu, comme un texte changé par votre équipe marketing, un nouvel article ou le texte de la page d’accueil, relèvent de l’évolutif : elles touchent au contenu, pas au code. Tout ce qui fait évoluer le site se chiffre à part ou se prend sur un crédit d’heures.

Sur un site e-commerce, le contrat teste aussi le tunnel d’achat et la capacité à afficher les bons prix après chaque mise à jour. Un site qui ne sait plus afficher son catalogue ne vend plus.

Les sept engagements à exiger avant de signer

Vous n’avez pas besoin de lire une ligne de programme pour les contrôler : il suffit qu’ils soient écrits.

  1. Un périmètre précis. Site ou outil concerné, environnements, services tiers inclus. Ce qui n’est pas listé n’est pas inclus.
  2. Des délais par niveau de gravité. Prise en charge et rétablissement chiffrés, jamais « au plus vite ».
  3. Les mises à jour de version incluses. Qui surveille les fins de support, et quand elles sont planifiées.
  4. Des sauvegardes testées. Fréquence, durée de conservation, test de restauration avec rapport.
  5. La propriété et les accès. Dépôt de code, hébergeur et nom de domaine sur des comptes à votre nom.
  6. La réversibilité. Remise du code, des données, du dossier technique et des identifiants dans un délai fixé.
  7. Un suivi écrit et régulier. Tickets traités, réalisation des mises à jour, heures consommées, versions bientôt abandonnées.
Checklist des 7 engagements d'un contrat de maintenance PHP et signal d'alerte pour chacun

Pour les délais, voici une grille à adapter. Ce ne sont pas des normes, mais des ordres de grandeur. La bonne grille est adaptée au poids business du site ou de l’outil dans votre chiffre d’affaires.

Gravité Exemple Prise en charge Objectif de rétablissement
Bloquante Site hors ligne, facturation impossible Quelques heures ouvrées Contournement le jour même
Majeure Fonctionnalité clé dégradée, sans contournement Un jour ouvré Quelques jours
Mineure Défaut gênant mais contournable Quelques jours Prochaine livraison planifiée

Distinguez la prise en charge, quand quelqu’un regarde le problème, du rétablissement, quand le service repart. On peut promettre la première sans garantir le second. Précisez aussi les heures ouvrées : du lundi au vendredi, de 9 h à 18 h, heure de Paris, par exemple.

Prévoyez enfin le mode maintenance : il permet d’afficher une page d’attente pendant une intervention lourde.

Relecture de contrat

Votre contrat actuel couvre-t-il ces sept points ?

Envoyez-le-nous : nous repérons ce qu’il ne couvre pas, et nous vous disons ce que notre contrat changerait.

Faire relire mon contrat →

Modèle de contrat à copier pour votre maintenance PHP

Ce cadre sert de base de discussion avant de signer ou de renouveler. Remplacez chaque point entre crochets par votre situation. Il ne remplace pas l’aide d’un juriste pour la version finale.

CADRE DE MAINTENANCE PHP

1. Parties et périmètre technique
Client : [votre société, ville]. Prestataire : [nom].
Site ou outil concerné : [nom et usage].
Technologies : PHP [version], [Laravel / Symfony / WordPress] [version], base de données [type et version].
Navigateurs pris en charge : [liste].
Environnements : [production, préproduction, test].

2. Maintenance incluse

  • Corrective : [anomalies prises en charge].
  • Préventive : veille active sur les failles, correctifs du langage, du framework et des extensions, fréquence [mensuelle / trimestrielle].
  • Adaptative : [mises à jour de version, changements d’API tierces].
  • Évolutive : [crédit d’heures / hors forfait, sur demande et sur devis].
  • Exclusions : [ce qui n’est pas couvert].

3. Niveaux de service

  • Bloquante : prise en charge sous [délai], rétablissement visé sous [délai].
  • Majeure : prise en charge sous [délai].
  • Mineure : prochain lot planifié.
  • Heures ouvrées : [jours et plages, heure de Paris], canal : [outil de tickets].

4. Sauvegardes et incidents

  • Sauvegardes : fréquence [X], conservation [X], lieu [X], serveurs concernés [X].
  • Test de restauration : [fréquence], avec rapport.
  • Supervision : [indicateurs, alertes, destinataires].
  • Faille ou incident : information du client sous [délai].

5. Données personnelles
Clauses RGPD de sous-traitance : [annexe], conformes à l’article 28 du RGPD.

6. Propriété et réversibilité

  • Propriété du code source : [client / licence].
  • Dépôt de code, hébergeur, nom de domaine : comptes au nom du client.
  • Documentation : installation, architecture, déploiement.
  • Transition vers un autre prestataire : [durée et modalités].

7. Durée et conditions financières
Durée : [durée], reconduction [tacite / expresse], préavis [durée].
Rémunération : [forfait / crédit d’heures / régie], [montant].
Interlocuteurs : [client] et [prestataire], avec un remplaçant nommé.

Le test d’un bon contrat : chaque ligne se vérifie. Si une promesse ne peut pas être contrôlée par un ticket, un rapport ou un test, elle reste fragile.

La clause des mises à jour : le calendrier à inscrire au contrat

C’est la clause que les contrats laissent le plus souvent en option. Or chaque version a une date de fin. Chaque branche de PHP reçoit deux ans de support actif, puis deux ans de correctifs de faille seuls. Après, plus rien. Dates officielles publiées sur php.net :

PHP 8.2 n’est plus corrigé après le 31 décembre 2026, PHP 8.3 après le 31 décembre 2027, PHP 8.4 après le 31 décembre 2028 et PHP 8.5 après le 31 décembre 2029. Les versions 8.1 et antérieures ne reçoivent déjà plus rien.

Frise des dates de fin de support de PHP 8.2 à 8.5, Laravel 12, Symfony 6.4 et 7.4

Les frameworks suivent leur propre rythme, que votre agence Laravel de développement web sur mesure ou votre prestataire Symfony doit suivre :

  • Laravel 11 n’est plus corrigé depuis le 12 mars 2026.
  • Laravel 12 reçoit des correctifs jusqu’au 24 février 2027 (laravel.com).
  • Symfony 6.4, version LTS, reste corrigé jusqu’en novembre 2027, Symfony 7.4 jusqu’en novembre 2029.

Si votre contrat se renouvelle en octobre, c’est la dernière occasion d’inscrire le passage de PHP 8.2 à une version supportée.

Un contrat sans ces dates signifie que vous découvrirez le problème le jour où l’hébergeur retire votre version de PHP. Le site peut alors cesser de fonctionner du jour au lendemain. Nous détaillons ces scénarios dans notre article sur les risques d’une version PHP obsolète.

Outil gratuit

Assistant de cadrage de projet

Clarifiez votre besoin et conservez une première note structurée.

Tester gratuitement →

Ce que le contrat doit prévoir pour chaque mise à jour

Une mise à jour annuelle, préparée, reste maîtrisable. Un saut de plusieurs versions majeures oblige à réécrire des pans entiers, souvent dans l’urgence et la panique.

Faites écrire ces cinq étapes dans la partie préventive :

  1. une vérification automatique des dépendances à chaque cycle, pour repérer chaque vulnérabilité connue ;
  2. la réalisation de tests automatisés sur les parcours critiques et les principaux navigateurs ;
  3. un déploiement en préproduction avant la production, avec retour arrière possible ;
  4. des journaux d’erreurs relus, car un message d’erreur répété annonce souvent une panne ;
  5. une supervision : disponibilité, espace disque, expiration des certificats, tâches en échec.

Un certificat expiré suffit à faire afficher par chaque navigateur une alerte « site non sécurisé » à tous les visiteurs concernés. La supervision le voit avant eux, ce qui laisse le temps de corriger.

Les navigateurs eux-mêmes changent plusieurs fois par an. Un script qui fonctionnait peut cesser de bien afficher un formulaire après une mise à jour du navigateur.

Avec zéro test automatisé, chaque mise à jour devient un pari. Prestataire et client préfèrent alors ne rien toucher, et le logiciel se fige. Dans ce cas, la première mission utile est d’écrire des tests sur les parcours essentiels.

Le volet RGPD du contrat

Votre prestataire de maintenance accède à vos données personnelles : il est donc sous-traitant au sens du RGPD. L’article 28 du RGPD impose alors un contrat écrit qui fixe ses obligations.

Sur ce sujet, la CNIL publie un guide du sous-traitant avec des exemples de clauses. Ce qu’elle demande d’y trouver :

  • l’objet, la durée et la finalité du traitement, les données et les personnes concernées ;
  • l’obligation d’agir uniquement sur vos instructions documentées ;
  • une obligation de confidentialité pour chaque personne qui accède aux données ;
  • les mesures de sécurité des données, et l’alerte en cas de violation ;
  • la suppression ou la restitution des données en fin de contrat ;
  • votre droit d’audit, et votre droit d’être informé de tout sous-traitant ultérieur.

Pensez aussi à vérifier où sont stockées les sauvegardes, et sur quels serveurs. Des copies de votre base partagées sur un serveur hors de l’Union européenne relèvent d’autres règles du RGPD. Un hébergement web managé et sécurisé en France, par exemple dans un centre de données près de Paris, simplifie ce point.

Quel prix pour la maintenance PHP ?

Comptez 15 à 25 % du coût de développement initial par an. Notre guide sur le budget à prévoir pour maintenir un SaaS détaille cette règle. Une application métier sur mesure à 40 000 € représente donc entre 6 000 et 10 000 € de maintenance annuelle.

Les fourchettes publiées par des agences françaises vont de 2 500 à 25 000 € par an selon la taille du site ou de l’outil.

Trois modes de facturation coexistent :

Mode Principe Point de vigilance
Forfait Montant fixe chaque mois pour un périmètre défini Lire les exclusions ligne par ligne
Crédit d’heures Volume acheté d’avance, consommé selon le besoin Report des heures non utilisées
Régie Temps passé, au taux journalier Aucune garantie de disponibilité en urgence

Le taux journalier d’un développeur senior en France se situe entre 500 et 800 €. La formule la plus équilibrée pour un logiciel vivant : un forfait pour le socle (correctifs, sauvegardes, supervision) et un crédit d’heures pour les évolutions.

Les offres portent souvent des noms rassurants : « Essentiel », « Sérénité », « Premium ». La sérénité ne tient pas au nom de la formule, mais aux engagements écrits dessous.

Une formule « Sérénité » sans délai chiffré n’offre aucune sérénité le jour de la panne. Une sauvegarde testée apporte plus de sérénité qu’un slogan.

Ce qui fait varier le prix

  • La taille du site ou de l’outil, et le nombre d’intégrations externes.
  • L’âge du logiciel et la dette technique accumulée depuis sa création.
  • La présence de tests automatisés et de documentation.
  • La criticité métier, qui fixe les délais d’intervention.
  • Les heures de support attendues, astreinte comprise, et les services concernés.
  • L’hébergement, partagé ou dédié, géré par l’agence ou par vous.

Le vrai calcul : contrat ou dépannage à la demande

Sans contrat, la maintenance ne coûte rien, jusqu’au jour où l’hébergeur retire votre version de PHP. La mise à niveau se fait alors en urgence, sur plusieurs versions d’un coup. Elle revient plus cher : le travail nécessaire est plus long, et l’urgence se facture plus cher.

Comparatif entre dépannage à la demande et contrat de maintenance PHP sur 5 critères

Le mode de facturation compte moins que l’incitation qu’il crée. Un prestataire payé au temps passé n’a aucun intérêt à rendre votre outil simple à maintenir. Le contrat compense par des engagements de résultat : délais, rapports, documentation.

Pour comparer ce que propose chaque agence, demandez le périmètre, les délais, les exclusions et la fréquence des points d’étape. Un prix bas sur un périmètre flou coûte plus cher à l’usage. Le moins cher à la signature est rarement le moins cher sur trois ans.

Chiffrage

Combien coûterait la maintenance de votre logiciel chez nous ?

En 30 minutes, nous estimons le socle mensuel et le budget des mises à jour de version.

Estimer mon budget →

Choisir un prestataire : à Paris ou à distance ?

La proximité compte moins que les clauses. Une mise à jour, un correctif ou une restauration se font à distance, que l’équipe soit à Paris, à Lyon ou à Nantes.

Chercher une agence à Paris rassure, mais un prestataire de Paris n’intervient pas plus vite qu’un autre. Ce qui fait la différence :

  • des délais écrits, avec des heures ouvrées calées sur l’heure de Paris ;
  • un interlocuteur nommé, ou un CTO externalisé pour PME qui pilote l’agence à votre place ;
  • une expertise prouvée sur votre framework, avec des cas clients concernés à vérifier ;
  • des rapports réguliers, lisibles côté business, sans bagage technique.

Un prestataire installé hors de France peut convenir, à condition que l’astreinte suive l’heure de Paris et que le volet données personnelles soit traité. Un expert joignable seulement la nuit, heure de Paris, ne peut pas vous aider quand le site tombe à 10 h.

Les signaux d’alerte dans un contrat

  • « Maintenance illimitée » : cache presque toujours un périmètre étroit, défini ailleurs.
  • Zéro délai chiffré : « dans les meilleurs délais » n’engage personne.
  • Mises à jour de version en option : elles arriveront quand même, au prix de l’urgence.
  • Code ou hébergement au nom du prestataire : impossible de partir sans son accord.
  • Engagement long sans clause de sortie, ou résiliation pénalisante.
  • Zéro rapport : vous payez sans savoir ce qui a été fait.
  • Zéro sauvegarde testée : la restauration reste une hypothèse.

Un contrat qui coche plusieurs cases n’est pas à dénoncer demain. Notre conseil : renégociez-le pendant que la relation fonctionne encore.

Les questions à poser avant de signer

Les points à vérifier avec chaque candidat, et les réponses à obtenir par écrit :

  1. Qui détient le code, les accès et la documentation ?
  2. Qu’est-ce qui est inclus au forfait, et facturé à part ?
  3. Quels délais de prise en charge et de rétablissement, mesurés comment ?
  4. À quelle fréquence les correctifs sont-ils appliqués, et quels environnements sont concernés ?
  5. Comment les sauvegardes sont-elles testées ?
  6. Qui remplace mon interlocuteur en cas d’absence ?
  7. Que se passe-t-il si je change de prestataire dans un an ?

Résilier ou changer de prestataire en cours de contrat

C’est là que la clause de réversibilité prouve sa valeur. Avec elle, un outil PHP se reprend presque toujours sans repartir de zéro. Sans elle, tout se négocie, y compris l’accès à votre propre code.

Commencez par vérifier le préavis de résiliation, puis récupérez le code, les accès, les données et le dossier technique avant d’annoncer votre départ. Le diagnostic de réversibilité d’application montre en quelques minutes ce qui vous manque.

Le nouvel intervenant commence par un état des lieux : versions, dépendances, tests, failles. L’audit de code source avant mise en production sert à ça, et vaut aussi pour reprendre un projet.

Confier votre maintenance PHP à PeakLab

Nous reprenons la maintenance d’applications Laravel, Symfony ou PHP maison, y compris quand une autre agence les a construites. Agence PHP de développement web sur mesure basée à Paris, nous intervenons avec des contrats qui écrivent noir sur blanc les sept engagements ci-dessus.

Ce que vous obtenez :

  • le code, l’hébergeur et le nom de domaine à votre nom dès le premier jour ;
  • une prise en charge chiffrée selon la gravité ;
  • les mises à jour de PHP et du framework planifiées avant chaque fin de support ;
  • chaque correctif testé en préproduction, appliqué en production, puis garanti 30 jours ;
  • un compte rendu régulier : interventions, mises à jour, heures consommées ;
  • en option, l’hébergement managé PeakLab Cloud dès 99 € par mois, supervision et support inclus.

Comment démarrer

  1. Un échange gratuit de 30 minutes pour comprendre votre outil et votre contrat actuel.
  2. Un état des lieux technique : versions, dépendances, tests, failles.
  3. Une proposition chiffrée, avec périmètre, niveaux de service et calendrier des mises à jour.
  4. La reprise, transition organisée avec votre prestataire actuel.

Chez Rocketform, client PeakLab, l’audit de performance et de sécurité a classé les risques par priorité avant la mise en ligne. Nos clients nous notent 4,4 sur 5 sur Trustpilot.

Devis maintenance

Recevez une proposition de contrat pour votre outil PHP

Trente minutes pour cadrer le périmètre. Ensuite, un devis écrit avec délais et calendrier.

Demander un devis →

Questions fréquentes

PeakLab reprend-elle la maintenance d'une application PHP existante ?

Oui, même quand un autre prestataire l'a construite. Nous commençons par un état des lieux du code, puis nous proposons un contrat chiffré avec périmètre, délais et calendrier des mises à jour. Le code et les accès restent à votre nom.

Que doit contenir un contrat d'entretien d'un site web ou d'une application ?

Un périmètre précis, des délais par niveau de gravité, les mises à jour de version, des sauvegardes testées, la propriété du code et des accès, une clause de réversibilité et un rapport régulier. Les évolutions sont chiffrées à part.

Combien coûte la maintenance PHP par an ?

En général 15 à 25 % du coût de développement initial, soit 6 000 à 10 000 € par an pour un outil à 40 000 €. Le montant dépend de la criticité, des délais exigés et de l'état du code au démarrage.

Les mises à jour de PHP sont-elles incluses dans le forfait ?

Elles devraient l'être, mais beaucoup de contrats les laissent en option. Vérifiez qui surveille les fins de support et comment les mises à jour sont planifiées. PHP 8.2 n'est plus corrigé après le 31 décembre 2026.

La maintenance d'un site WordPress est-elle de la maintenance PHP ?

Oui, car WordPress est écrit en PHP. Le contrat couvre alors le cœur, le thème et les extensions, et vérifie que la version de PHP de l'hébergeur reste compatible.

Le contrat inclut-il l'hébergement ?

Pas forcément. Code, serveur et support utilisateur peuvent relever de prestations distinctes. Faites écrire le partage des rôles : qui gère le serveur, la base de données et les sauvegardes, pour qu'aucun incident ne soit renvoyé d'un intervenant à l'autre.

Que faire si une mise à jour provoque une régression ?

Pas de correction improvisée en production. Appliquez le retour arrière prévu, si les données le permettent, puis identifiez la cause : PHP, une dépendance ou le code. Testez le correctif en préproduction avant de redéployer.

Comment choisir un prestataire de maintenance PHP ?

Sur ses engagements écrits plutôt que sur sa ville : délais chiffrés, rapports réguliers, interlocuteur nommé et clause de réversibilité. Demandez des cas clients sur votre framework, et faites relire le contrat avant de signer.

Par où commencer

Première étape : ressortez votre contrat et relisez-le avec la liste des sept engagements.

Deuxième étape : relevez la version de PHP et du framework en production, et comparez-la au calendrier ci-dessus. Une date approche, ou un point manque sur votre site ou votre outil ? Parlons-en : notre contrat couvre les sept engagements, et vous signez en toute sérénité.

Demander un devis de maintenance →

Portrait de Lucien Arbieu, CEO et cofondateur de PeakLab
Lucien Arbieu
Expert en intelligence artificielle et consultant en transformation digitale chez PeakLab.

À lire ensuite

Votre projet mérite des fondations à la hauteur.

En un appel, on vous dit ce qui est faisable, à quel prix, et dans quel délai. En toute transparence.

  • Un appel découverte gratuit de 30 minutes
  • Faisabilité, budget et délai annoncés sans détour
  • Un code et des données qui vous appartiennent
Nous contacter
4,9/5 sur les avis Google · +20 projets livrés
Lucien Arbieu, CEO de PeakLab

Lucien ArbieuCEO et co-fondateur de PeakLab