Contrat freelance web : les clauses indispensables pour se protéger

En bref

  • Un contrat freelance web bien rédigé protège des impayés, des litiges sur la propriété intellectuelle et des modifications sans fin.
  • Les 8 clauses indispensables couvrent l’objet, le prix, les délais, la PI, la responsabilité, la résiliation, la confidentialité et la maintenance.
  • Les CGV ne remplacent pas un contrat signé : elles complètent le devis, mais n’offrent pas la même force juridique.
  • Depuis 2024, le Code du commerce impose aux indépendants de formaliser les conditions de paiement par écrit (article L441-3).
  • Un contrat type adaptable couvre 95 % des missions web courantes : site vitrine, e-commerce, refonte, maintenance.

En douze ans de développement web en freelance à Saint-Étienne, j’ai signé plus de 300 contrats. Trois d’entre eux se sont terminés devant un médiateur. À chaque fois, le problème venait de la même chose : une clause absente ou mal rédigée. Un périmètre flou, un transfert de propriété intellectuelle non précisé, un calendrier sans jalons. Ce sont ces situations concrètes qui m’ont poussé à rédiger ce guide. Pas de jargon juridique inutile, pas de copier-coller de modèles génériques : je vous livre les clauses que j’utilise réellement, celles qui m’ont évité des milliers d’euros de pertes.

Que vous soyez développeur, webdesigner ou intégrateur, ce guide couvre l’ensemble des clauses essentielles d’un contrat freelance web. Chaque section s’appuie sur le droit français en vigueur et sur des retours d’expérience concrets.

Pourquoi un contrat est vital pour un freelance web

Travailler sans contrat, c’est construire un site sans cahier des charges. On pense que tout est clair, jusqu’au moment où le client demande « juste une petite modification » pour la dixième fois. Le contrat n’est pas un document hostile : c’est un cadre de confiance mutuelle qui protège les deux parties.

En France, le Code du commerce (article L441-3) impose aux professionnels de formaliser par écrit les conditions de vente. Pour un freelance web, cela signifie que chaque mission doit faire l’objet d’un document contractuel précisant au minimum l’objet, le prix et les conditions de paiement.

Au-delà de l’obligation légale, le contrat joue trois rôles concrets :

  • Prévenir les litiges : 78 % des conflits freelance/client naissent d’un malentendu sur le périmètre (source : Malt, baromètre 2025).
  • Sécuriser la trésorerie : les clauses de paiement échelonné et de pénalités de retard réduisent les impayés de 60 %.
  • Professionnaliser la relation : un contrat structuré inspire confiance et filtre les clients à risque.
Freelance web signant un contrat de prestation avec un client
La signature du contrat marque le vrai départ d’un projet web. Pas l’envoi du devis, pas le premier brief : la signature.

CGV vs contrat : comprendre la différence

Beaucoup de freelances pensent que leurs conditions générales de vente suffisent. C’est une erreur courante. CGV et contrat remplissent des fonctions distinctes :

CritèreCGVContrat de prestation
NatureDocument unilatéralAccord bilatéral signé
PersonnalisationGénérique, applicable à tous les clientsSpécifique à chaque mission
Force juridiqueOpposable si le client les a acceptéesPleine force contractuelle
ContenuModalités générales (paiement, retard, litiges)Périmètre précis, livrables, planning, PI
Obligation légaleObligatoire envers les professionnels (B2B)Non obligatoire mais fortement recommandé
ModificationMise à jour unilatérale possibleAvenant nécessaire

En pratique, la meilleure approche consiste à utiliser les deux : les CGV comme socle permanent (pénalités de retard, loi applicable, médiation) et un contrat spécifique pour chaque mission (périmètre, prix, délais, PI). Le devis signé peut tenir lieu de contrat s’il contient toutes les clauses essentielles, mais un document séparé reste plus lisible et plus complet.

Clause 1 : objet et périmètre de la mission

C’est la clause la plus importante. Un périmètre mal défini, c’est la porte ouverte au scope creep, ces demandes supplémentaires qui s’accumulent sans facturation. J’ai appris cette leçon lors de ma deuxième année d’activité : un client m’avait commandé un « site vitrine » et s’attendait à un catalogue de 200 produits avec paiement en ligne.

La clause objet doit préciser :

  • Le type de prestation : création de site, refonte, développement sur mesure, intégration.
  • Les fonctionnalités incluses : formulaire de contact, blog, e-commerce, espace membre.
  • Les technologies utilisées : WordPress, Shopify, React, sur mesure.
  • Le nombre de pages ou templates prévus.
  • Les exclusions explicites : rédaction de contenu, création de logo, hébergement, référencement.

Mon conseil : rédigez cette clause comme un cahier des charges simplifié. Plus elle est précise, moins il y a de place pour l’interprétation. Toute demande hors périmètre fait alors l’objet d’un avenant chiffré.

Clause 2 : prix, facturation et pénalités de retard

Le prix doit être exprimé hors taxes (HT) avec mention du taux de TVA applicable ou de la franchise en base. Pour les micro-entrepreneurs, la mention « TVA non applicable, article 293 B du CGI » est obligatoire.

Besoin d’un site rapide et professionnel pour vos clients ?

Diagnostic gratuitVoir les forfaits

J’utilise systématiquement un échéancier de paiement en trois temps :

ÉtapePourcentageDéclencheurDélai de paiement
Acompte à la signature30 %Signature du contratImmédiat
Jalon intermédiaire40 %Validation de la maquette ou du prototype15 jours
Solde à la livraison30 %Mise en ligne ou livraison des fichiers30 jours

Les pénalités de retard sont encadrées par la loi : le taux minimum légal est de trois fois le taux d’intérêt légal (article L441-10 du Code de commerce). S’y ajoute une indemnité forfaitaire de recouvrement de 40 euros. Ces mentions sont obligatoires sur vos factures et dans vos CGV.

Pour un calcul précis de votre tarif journalier, consultez notre guide complet pour calculer son TJM freelance.

Clause 3 : délais, livrables et jalons

Fixer une date de livraison unique est risqué. Je préfère un calendrier par jalons avec des livrables identifiés à chaque étape. Cela permet de détecter un retard tôt et de réagir avant que le projet ne déraille.

La clause doit préciser :

  • Les dates de début et de fin prévisionnelles.
  • Les jalons intermédiaires : maquettes, prototype fonctionnel, recette, mise en ligne.
  • Les délais de validation client : combien de jours le client a pour valider chaque livrable. Sans réponse dans ce délai, le livrable est réputé accepté.
  • Les conséquences du retard client : décalage automatique du planning, facturation de l’attente au-delà d’un certain seuil.
  • Le nombre d’allers-retours inclus : deux ou trois tours de corrections maximum, au-delà facturation supplémentaire.

J’inscris toujours cette formulation : « Tout retard de validation supérieur à 10 jours ouvrés entraîne un report du calendrier d’une durée équivalente, sans responsabilité du prestataire. » Cette phrase m’a évité trois litiges en dix ans.

Planning de projet web freelance avec jalons et livrables
Un planning par jalons transforme un projet flou en une série d’étapes mesurables. Chaque validation client déclenche la phase suivante.

Clause 4 : propriété intellectuelle et cession de droits

La propriété intellectuelle est le terrain miné du freelance web. Par défaut, en droit français, l’auteur d’une œuvre en conserve les droits, même s’il a été payé pour la créer. Cela signifie que sans clause de cession explicite, le code que vous livrez reste techniquement votre propriété.

En pratique, les clients attendent naturellement une cession complète. La clause doit donc préciser :

  • L’étendue de la cession : droits de reproduction, de représentation, de modification, d’adaptation.
  • Le territoire : France, Europe, monde entier.
  • La durée : pour toute la durée des droits patrimoniaux (70 ans après la mort de l’auteur) ou pour une durée limitée.
  • Le support : web, print, applications mobiles.
  • Le moment du transfert : à la livraison finale ou au paiement intégral du solde.

Mon choix personnel : je cède les droits au paiement intégral. Tant que le client n’a pas payé, le code m’appartient. C’est un levier de pression légitime et parfaitement légal. Attention cependant : cette clause doit être rédigée conformément aux articles L131-1 à L131-9 du Code de la propriété intellectuelle, qui exigent une description précise des droits cédés.

Point important : les bibliothèques open source et composants tiers conservent leurs licences d’origine. Listez-les en annexe pour éviter toute confusion.

Clause 5 : responsabilité et limitation de garantie

Sans clause de limitation, votre responsabilité peut être engagée pour des montants disproportionnés par rapport à vos honoraires. Un bug qui provoque une perte de chiffre d’affaires, un problème de sécurité qui expose des données personnelles : les risques sont réels.

Les éléments à inclure :

  • Plafond de responsabilité : je le fixe au montant total de la prestation. Si le contrat vaut 5 000 euros, ma responsabilité maximale est de 5 000 euros.
  • Exclusion des dommages indirects : perte de clientèle, manque à gagner, atteinte à l’image.
  • Obligation de moyens (pas de résultat) : le freelance s’engage à mettre en œuvre ses compétences, pas à garantir un résultat commercial (trafic, conversions).
  • Garantie de conformité : correction gratuite des bugs pendant 30 à 90 jours après la livraison, dans la limite du périmètre contractuel.
  • Exclusion de responsabilité pour les contenus fournis par le client, les hébergeurs tiers, les plugins ou modules non développés par le prestataire.

Pour estimer correctement le budget de votre projet web et adapter vos clauses de responsabilité, notre article sur les tarifs d’un site internet en France vous sera utile.

Clause 6 : résiliation et sortie de contrat

La résiliation est le scénario que personne ne veut envisager, mais qu’il faut absolument prévoir. J’ai été confronté à un client qui a voulu annuler un projet à 80 % d’avancement. Sans clause de résiliation, la situation aurait été ingérable.

Prévoyez trois cas de figure :

  • Résiliation par le client : les sommes versées restent acquises au prestataire. Si le travail réalisé excède les sommes versées, le client paie le différentiel calculé au prorata.
  • Résiliation par le prestataire : remboursement des sommes correspondant au travail non encore réalisé, avec un préavis de 15 jours.
  • Résiliation pour faute : en cas de manquement grave d’une partie (non-paiement, non-respect des obligations), résiliation de plein droit après mise en demeure restée sans effet pendant 15 jours.

Ajoutez une clause de restitution : en cas de résiliation, les livrables validés et payés sont transmis au client, le code source non payé reste la propriété du prestataire. Cette clarté évite les guerres de tranchées post-rupture.

Clause 7 : confidentialité et RGPD

La clause de confidentialité protège les informations sensibles échangées pendant la mission : accès aux serveurs, données clients, stratégie commerciale, chiffre d’affaires. Elle engage les deux parties.

Depuis le RGPD, si vous manipulez des données personnelles pour le compte de votre client (formulaires de contact, base de données utilisateurs, analytics), vous devez inclure une clause de sous-traitance de données conforme à l’article 28 du règlement européen. Le site service-public.fr détaille les obligations du sous-traitant.

En pratique, cette clause précise :

  • La durée de la confidentialité : généralement 2 à 5 ans après la fin du contrat.
  • Les exceptions : informations déjà publiques, obligations légales, accord écrit du client.
  • L’obligation de suppression des données et accès à la fin de la mission.
  • Le droit de mentionner la référence : sauf mention contraire, le prestataire peut citer le projet dans son portfolio.
Document de contrat freelance avec clauses de confidentialité et RGPD
La confidentialité ne protège pas que le client. Elle empêche aussi la diffusion de vos méthodes de travail et de votre tarification.

Clause 8 : maintenance et évolutions post-livraison

La livraison d’un site web n’est pas la fin de la relation. Les mises à jour de sécurité, les corrections de bugs, les évolutions fonctionnelles : tout cela doit être anticipé. Sans clause de maintenance, le client s’attend souvent à un support gratuit illimité.

Je distingue deux niveaux :

  • Garantie incluse (30 à 90 jours) : correction des bugs et anomalies par rapport au périmètre contractuel, sans surcoût.
  • Contrat de maintenance (optionnel, facturé séparément) : mises à jour CMS et plugins, sauvegardes, monitoring, corrections de sécurité, interventions correctives sous 24 à 48 heures.

Pour la maintenance, je propose un forfait mensuel ou un carnet d’heures prépayé. Le contrat de maintenance fait l’objet d’un document séparé avec ses propres conditions : durée d’engagement, périmètre d’intervention, temps de réponse, exclusions.

Pensez aussi à préciser ce qui se passe en l’absence de contrat de maintenance : le prestataire n’est pas responsable des failles de sécurité, des incompatibilités liées aux mises à jour, ni des pertes de données. Pour rédiger un devis freelance complet, pensez à inclure l’option maintenance dès la proposition commerciale.

Les 7 erreurs de débutants qui coûtent cher

En formant des freelances web juniors, je retrouve systématiquement les mêmes lacunes dans leurs contrats. Voici les erreurs que j’observe le plus souvent :

  1. Pas de contrat du tout. Le devis oral ou le simple échange d’e-mails ne constitue pas une preuve suffisante en cas de litige commercial.
  2. Périmètre vague. « Création d’un site web » sans préciser le nombre de pages, les fonctionnalités et les exclusions. Le scope creep est garanti.
  3. Absence d’acompte. Commencer un projet sans acompte, c’est travailler à crédit. L’acompte de 30 % minimum filtre les clients non sérieux.
  4. Propriété intellectuelle non traitée. Le client pense être propriétaire, le freelance aussi. Le conflit éclate à la livraison ou lors d’un changement de prestataire.
  5. Pas de clause de résiliation. Quand le projet tourne mal, aucune des deux parties ne sait comment en sortir proprement.
  6. Nombre de corrections illimité. Sans limite d’allers-retours, certains clients révisent indéfiniment. Trois tours de corrections maximum est un standard raisonnable.
  7. Oublier la validation tacite. Sans délai de validation avec acceptation tacite, un client peut bloquer un projet pendant des mois sans que le freelance puisse facturer le solde.

Modèle type : structure d’un contrat freelance web complet

Voici la structure que j’utilise pour tous mes contrats. Elle couvre l’ensemble des situations courantes et peut être adaptée selon la nature de la mission :

SectionContenu cléObligatoire
PréambuleIdentification des parties (SIRET, adresse, statut juridique)Oui
Article 1 : ObjetDescription détaillée de la mission et exclusionsOui
Article 2 : Durée et planningDates, jalons, délais de validation, validation taciteOui
Article 3 : Prix et paiementMontant HT/TTC, échéancier, pénalités de retardOui
Article 4 : Obligations du prestataireMoyens mis en œuvre, reporting, confidentialitéOui
Article 5 : Obligations du clientFourniture des contenus, accès, validation dans les délaisOui
Article 6 : Propriété intellectuelleCession de droits, conditions, moment du transfertOui
Article 7 : ResponsabilitéPlafond, exclusions, obligation de moyensOui
Article 8 : ConfidentialitéDurée, exceptions, données personnelles, RGPDRecommandé
Article 9 : RésiliationConditions, préavis, conséquences financièresRecommandé
Article 10 : Garantie et maintenanceDurée de garantie, conditions de la maintenanceRecommandé
Article 11 : Loi applicable et litigesDroit français, tribunal compétent, médiation préalableRecommandé
AnnexesCahier des charges, maquettes, planning détaillé, composants tiersFacultatif

Ce modèle n’a pas vocation à remplacer un conseil juridique personnalisé. Pour des projets complexes (marketplace, application SaaS, traitement de données sensibles), faites relire le contrat par un avocat spécialisé en droit du numérique.

À retenir

Les points clés à retenir

  • Un contrat signé avant le début du projet évite 90 % des litiges freelance.
  • Définissez précisément le périmètre, les livrables et le calendrier.
  • La clause de propriété intellectuelle doit être explicite : sans elle, vous restez propriétaire du code.
  • Prévoyez un nombre de révisions limité et des conditions claires pour les dépassements.
  • L’échéancier de paiement (30/40/30) protège votre trésorerie.
  • Incluez toujours une clause de résiliation avec préavis et règles de paiement du travail effectué.

Questions fréquentes

Un devis signé suffit-il comme contrat freelance web ?

Un devis signé a valeur contractuelle, mais il manque souvent les clauses essentielles : propriété intellectuelle, responsabilité, résiliation, confidentialité. Pour une mission simple (moins de 2 000 euros), un devis détaillé avec CGV annexées peut suffire. Au-delà, un contrat séparé est fortement recommandé pour sécuriser les deux parties.

Comment gérer les demandes hors périmètre en cours de projet ?

Toute demande qui sort du périmètre défini dans le contrat fait l’objet d’un avenant. Cet avenant précise la nouvelle fonctionnalité, son coût supplémentaire et l’impact éventuel sur le planning. Ne commencez jamais un travail hors périmètre avant la signature de l’avenant et le paiement de l’acompte correspondant.

Quel montant d’acompte demander avant de commencer ?

Le standard du marché se situe entre 30 % et 50 % du montant total. Pour les nouveaux clients ou les projets importants, je recommande 40 % à la signature. L’acompte n’est pas négociable : c’est un filtre qui sépare les clients sérieux des autres. Un client qui refuse de verser un acompte est un signal d’alerte majeur.

La clause de propriété intellectuelle est-elle obligatoire ?

Juridiquement, non. Mais en pratique, l’absence de clause de cession de droits signifie que le freelance reste propriétaire de son code, même après paiement intégral. Cette situation crée des conflits quasi systématiques lorsque le client souhaite changer de prestataire ou revendre son site. La clause est donc indispensable dans les faits.

Faut-il un contrat différent pour chaque type de mission web ?

Un contrat cadre avec des annexes spécifiques par mission est la solution la plus efficace. Le corps du contrat reste identique (clauses générales), et chaque annexe détaille le périmètre, le prix et le planning de la mission concernée. Cela évite de rédiger un contrat complet à chaque nouveau projet pour un client récurrent.

Que faire si le client ne paie pas malgré les clauses du contrat ?

Procédez par étapes : relance amiable par e-mail, puis lettre de mise en demeure en recommandé avec accusé de réception. Si le montant est inférieur à 5 000 euros, la procédure simplifiée de recouvrement via un commissaire de justice est rapide et peu coûteuse. Au-delà, saisissez le tribunal de commerce. Conservez toute la correspondance écrite comme preuve.

Votre site est lent ? On s’en occupe.

Diagnostic gratuit, optimisation complète, résultats garantis.

Diagnostic gratuitVoir les forfaits

Nos outils gratuits pour freelances

Générateur de facture, calculateur TJM, simulateur ROI, diagnostic performance.

Découvrir les outils

Nathan Morel

Développeur web freelance depuis 12 ans, installé à Saint-Étienne. Plus de 200 projets livrés pour des PME, artisans et startups. Nathan partage ici son expérience terrain et ses outils pour aider les indépendants à réussir sur le web.

Nos outils gratuits pour freelances

Générateur de facture, calculateur TJM, simulateur ROI : tout pour piloter votre activité.

Découvrir les outils

Nathan Morel

Développeur web freelance depuis 12 ans, installé à Saint-Étienne. Plus de 200 projets livrés pour des PME, artisans et startups. Nathan partage ici son expérience terrain et ses outils pour aider les indépendants à réussir sur le web.

Votre site est lent ?

Optimiser mon site