Ce que cette décision change pour vous
Si vous développez des logiciels sur mesure, trois points vous concernent directement.
Premier point : la clause d’obligation de résultat se retourne contre vous. Beaucoup de contrats de prestation informatique contiennent, souvent sans négociation, une clause affirmant que le prestataire s’engage à un résultat, matérialisé par la réception d’un système conforme aux spécifications. Tant que cette clause figure au contrat, le client n’a rien à prouver d’autre que l’absence de livraison conforme. C’est à vous d’établir une cause étrangère ou un manquement du client.
Deuxième point : l’argument du « projet expérimental » ne suffit pas. Soutenir que la livraison n’était qu’une première version destinée à être complétée, que les défauts relevaient de la maintenance ultérieure, ou que l’architecture imposée par le client est responsable des échecs de déploiement : tous ces moyens ont été écartés ici, non parce qu’ils sont faux par principe, mais parce qu’aucune pièce technique indépendante ne venait les soutenir.
Troisième point, le plus important : la consignation des frais d’expertise n’est pas une formalité comptable. La cour avait ordonné une expertise judiciaire dont la première mission était précisément de comparer l’état réel de l’application livrée aux spécifications contractuelles. Le prestataire n’a pas consigné les honoraires. L’expert n’a pas pu exécuter cette mission. Résultat : le seul document technique exploitable devant la cour est resté l’audit privé commandé par le client. Vérifiez, dans toute procédure en cours, que les sommes appelées par l’expert sont provisionnées dans le délai fixé.
Les faits
Une association d’enseignement supérieur veut faire développer une solution informatique destinée à des investisseurs professionnels : traitement de ressources pédagogiques et outils d’analyse de stratégies d’investissement, adossés à un modèle de gestion de portefeuille conçu par ses chercheurs.
Elle signe en juillet 2018 un contrat d’assistance technique et de prestations informatiques avec une société éditrice de progiciels financiers. Prix forfaitaire : 810 000 € hors taxes. Le projet bénéficie d’un crédit d’impôt recherche. Un comité de direction mensuel réunit les deux parties et plusieurs intervenants extérieurs.
La livraison est fixée au 15 septembre 2019, puis reportée d’un commun accord au 17 décembre 2019. Le 19 décembre 2019, le client adresse une liste de griefs : code fonctionnel sans procédure d’installation, échec des tentatives de déploiement sur l’environnement de production cloud, absence de tests, documentation incomplète, interface non intuitive, temps de réponse insuffisants laissant soupçonner un défaut d’architecture.
Le même jour, le prestataire annonce geler toute activité. Une tentative de conciliation échoue en janvier 2020. Le 27 mars 2020, le client notifie la résolution du contrat. Le prestataire réclame le même jour 957 000 € TTC de factures impayées.
Un audit privé réalisé en janvier 2020 par un cabinet de conseil relève dix séries de défaillances : instabilité, résultats de calculs financiers erronés, absence de tests unitaires et de non-régression, architecture monolithique empêchant le déploiement indépendant des modules, incompatibilités avec le cloud, nécessité de désactiver le chiffrement de certaines données, documentation déficiente, impossibilité d’industrialiser, absence de versionnement, ergonomie insuffisante.
Devant la cour, une expertise judiciaire est ordonnée. Faute de consignation par le prestataire, elle n’aboutit pas sur son volet déterminant.
La question posée à la Cour
Les manquements du prestataire étaient-ils assez graves pour justifier la résolution du contrat et la restitution de la totalité du prix déjà versé ? Et le client avait-il lui-même manqué à son obligation de collaboration au point de neutraliser cette responsabilité ?
Ce qu’a jugé la Cour
La cour part du texte :
La résolution résulte soit de l’application d’une clause résolutoire soit, en cas d’inexécution suffisamment grave, d’une notification du créancier au débiteur ou d’une décision de justice. (article 1224 du code civil)
Elle constate que le contrat stipulait expressément une obligation de résultat, matérialisée par la réception d’un système conforme aux spécifications de l’annexe 1, et que le prestataire déclarait disposer des compétences et moyens nécessaires.
Elle relève ensuite que la Solution n’a été livrée ni au 15 septembre 2019, ni à la date reportée du 17 décembre 2019. Le client était donc fondé à suspendre le troisième versement de 200 000 €.
Sur les reproches adressés au client — absence de recrutement des profils prévus, transmission tardive des spécifications et des données, changements répétés d’objectifs, demandes de modification de fonctionnalités déjà validées — la cour retient que les nombreux courriels produits ne caractérisent pas de manquement de pilotage en lien avec les carences techniques constatées. Elle souligne aussi que le prestataire n’a jamais demandé de modification du prix selon la procédure prévue au contrat pour les fonctionnalités nouvelles, alors que le contrat l’y autorisait expressément.
La gravité des inexécutions étant établie par les constats de l’audit, la mise en œuvre de la clause résolutoire est validée. Conséquence : aucune des factures ne peut être réclamée, aucune indemnité non plus, et le client obtient la restitution de 480 000 € TTC, soit l’intégralité de ce qu’il avait payé.
La demande du client au titre de ses autres dépenses engagées en pure perte est en revanche rejetée : il a pu développer ensuite son application, et la collaboration passée est présumée lui avoir apporté une valeur.
- L'expertise judiciaire ordonnée mais non consignée laisse le champ libre à l'audit privé de l'adversaire : la non-consignation équivaut en pratique à une renonciation à la preuve technique.
- Une clause d'obligation de résultat dans un contrat informatique dispense le client de démontrer une faute : l'absence de livraison conforme suffit.
- Le prestataire qui exécute des fonctionnalités hors contrat sans activer la procédure contractuelle de révision du prix ne peut plus les facturer ni s'en servir pour justifier son retard.
Ce qu’il faut faire concrètement
Consignez. Dès que la juridiction fixe une provision à verser à l’expert, inscrivez l’échéance et provisionnez-la. Si la trésorerie ne le permet pas, demandez un échelonnement au juge chargé du contrôle des expertises ou sollicitez l’aide juridictionnelle selon votre situation. Ne laissez jamais le délai s’écouler en silence.
Relisez la clause de nature du contrat avant de signer. Si elle évoque une obligation de résultat, négociez sa limitation aux seules spécifications figées à l’annexe et exigez une clause miroir sur les obligations du client : fourniture des données, des modèles, des spécifications, dans des délais datés.
Formalisez chaque demande hors périmètre. Lorsque le client demande une fonctionnalité nouvelle, écrivez immédiatement, en recommandé ou par courriel explicite, que la demande excède le contrat et chiffrez le supplément de prix et de délai. Le comité de projet ne remplace pas cet écrit : le contrat prévoyait ici qu’aucune décision de comité ne vaut modification du contrat.
Documentez votre recette interne. Procès-verbal de recette, résultats de tests unitaires et de non-régression, dossier d’architecture, procédure d’installation et de déploiement. Ce sont ces pièces, et non les courriels, qui répondent à un audit adverse.
Opposez votre propre audit, à temps. Face à un audit privé commandé par le client, un audit contradictoire ou un constat technique réalisé rapidement après la rupture pèse davantage qu’une contestation argumentée deux ans plus tard sans support.
Le levier existait et il est identifié dans l'arrêt : la cour avait ordonné une expertise judiciaire dont la première mission consistait à comparer l'état réel de l'application livrée en décembre 2019 aux spécifications contractuelles et à la proposition commerciale. Cette mission, qualifiée de déterminante par la cour elle-même, n'a jamais été exécutée faute de consignation des honoraires par le prestataire. Le pré-rapport déposé n'a donc pas couvert le point décisif. Privée de ce contre-point technique, la cour a statué sur le seul audit privé du client. Une provision versée dans le délai, ou à défaut une demande d'échelonnement présentée au juge du contrôle, aurait permis de faire trancher par un tiers indépendant la part respective de l'architecture imposée et des défauts intrinsèques du code — exactement le débat que le prestataire soutenait.