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.
Sommaire
- Pourquoi un contrat est vital pour un freelance web
- CGV vs contrat : comprendre la différence
- Clause 1 : objet et périmètre de la mission
- Clause 2 : prix, facturation et pénalités de retard
- Clause 3 : délais, livrables et jalons
- Clause 4 : propriété intellectuelle et cession de droits
- Clause 5 : responsabilité et limitation de garantie
- Clause 6 : résiliation et sortie de contrat
- Clause 7 : confidentialité et RGPD
- Clause 8 : maintenance et évolutions post-livraison
- Les 7 erreurs de débutants qui coûtent cher
- Modèle type : structure d’un contrat freelance web complet
- Questions fréquentes
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.
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ère | CGV | Contrat de prestation |
|---|---|---|
| Nature | Document unilatéral | Accord bilatéral signé |
| Personnalisation | Générique, applicable à tous les clients | Spécifique à chaque mission |
| Force juridique | Opposable si le client les a acceptées | Pleine force contractuelle |
| Contenu | Modalités générales (paiement, retard, litiges) | Périmètre précis, livrables, planning, PI |
| Obligation légale | Obligatoire envers les professionnels (B2B) | Non obligatoire mais fortement recommandé |
| Modification | Mise à jour unilatérale possible | Avenant 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.
J’utilise systématiquement un échéancier de paiement en trois temps :
| Étape | Pourcentage | Déclencheur | Délai de paiement |
|---|---|---|---|
| Acompte à la signature | 30 % | Signature du contrat | Immédiat |
| Jalon intermédiaire | 40 % | Validation de la maquette ou du prototype | 15 jours |
| Solde à la livraison | 30 % | Mise en ligne ou livraison des fichiers | 30 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.
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é.
Outil gratuit : Créez votre facture conforme en 2 minutes
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.
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 :
- 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.
- 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.
- Absence d’acompte. Commencer un projet sans acompte, c’est travailler à crédit. L’acompte de 30 % minimum filtre les clients non sérieux.
- 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.
- Pas de clause de résiliation. Quand le projet tourne mal, aucune des deux parties ne sait comment en sortir proprement.
- Nombre de corrections illimité. Sans limite d’allers-retours, certains clients révisent indéfiniment. Trois tours de corrections maximum est un standard raisonnable.
- 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 :
| Section | Contenu clé | Obligatoire |
|---|---|---|
| Préambule | Identification des parties (SIRET, adresse, statut juridique) | Oui |
| Article 1 : Objet | Description détaillée de la mission et exclusions | Oui |
| Article 2 : Durée et planning | Dates, jalons, délais de validation, validation tacite | Oui |
| Article 3 : Prix et paiement | Montant HT/TTC, échéancier, pénalités de retard | Oui |
| Article 4 : Obligations du prestataire | Moyens mis en œuvre, reporting, confidentialité | Oui |
| Article 5 : Obligations du client | Fourniture des contenus, accès, validation dans les délais | Oui |
| Article 6 : Propriété intellectuelle | Cession de droits, conditions, moment du transfert | Oui |
| Article 7 : Responsabilité | Plafond, exclusions, obligation de moyens | Oui |
| Article 8 : Confidentialité | Durée, exceptions, données personnelles, RGPD | Recommandé |
| Article 9 : Résiliation | Conditions, préavis, conséquences financières | Recommandé |
| Article 10 : Garantie et maintenance | Durée de garantie, conditions de la maintenance | Recommandé |
| Article 11 : Loi applicable et litiges | Droit français, tribunal compétent, médiation préalable | Recommandé |
| Annexes | Cahier des charges, maquettes, planning détaillé, composants tiers | Facultatif |
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.
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 forfaitsNos outils gratuits pour freelances
Générateur de facture, calculateur TJM, simulateur ROI, diagnostic performance.
Découvrir les outils