Artisans Occitans — la plateforme de mise en relation artisans que nous avons construite pour nous-mêmes
Produit du groupe, pas mission client. Mise en relation entre particuliers et artisans du bâtiment sur cinq départements d'Occitanie : Haute-Garonne, Tarn, Tarn-et-Garonne, Lot, Lot-et-Garonne. Dix-sept métiers, dix-neuf villes, cinq cents fichiers JSON de contenu, quatre collections éditoriales. Next.js 16 en rendu statique sur Netlify. Ce que ce produit nous a appris : l'annuaire ne déclenche pas la demande de devis, ce sont les pages de prix et de projets qui le font.
Durée
Cadrage éditorial clos le 18 mai 2026 ; plan de développement Next.js estimé à 12-13 jours de développement (intégration des gabarits, tech SEO, formulaire, tests unitaires et end-to-end, QA et déploiement). Site en ligne sur artisans-occitans.fr.
Équipe
2 experts
Technologies clés
500
Fichiers JSON de contenu dans le dépôt du produit — une page = un fichier, métadonnées, sections Markdown, FAQ et liens internes compris
17 × 19
Matrice métier × ville : dix-sept métiers du bâtiment croisés avec dix-neuf villes documentées, soit 323 combinaisons produites
270
Pages métier × ville publiées en noindex, follow avec canonical vers le pilier métier — accessibles et maillées, volontairement hors index
375
Fichiers de contenu portant un Speakable Schema — format conçu pour être repris par les moteurs de réponse génératifs
#Artisans Occitans — la plateforme de mise en relation que nous avons construite pour nous-mêmes
Artisans Occitans est une plateforme de mise en relation entre particuliers et artisans du bâtiment sur cinq départements d'Occitanie. C'est un produit de Nehos Groupe - KBC SOLUTIONS, construit et exploité par nous, pas une mission client. Cinq cents fichiers de contenu, dix-sept métiers, dix-neuf villes, un site Next.js en rendu statique. L'enseignement principal : ce n'est pas l'annuaire qui déclenche la demande de devis.
#Le problème concret : un annuaire local ne fait pas lever la main
Quand on construit un site de mise en relation local, le réflexe est connu : une page par métier et par ville, puis on attend. Nous avons produit cette matrice jusqu'au bout sur notre propre produit — dix-sept métiers croisés avec dix-neuf villes, soit trois cent vingt-trois combinaisons. Et nous nous sommes posé la question honnêtement, en regardant les pages : qu'est-ce qui, dans « Maçon à Muret », donne à quelqu'un une raison de laisser son numéro de téléphone ?
Rien. Une page annuaire répond à une requête de navigation, pas à une décision. Le particulier qui envisage des travaux n'est pas en train de chercher un annuaire : il est en train d'évaluer s'il peut se le permettre. Il veut un ordre de grandeur, la liste des aides auxquelles il a droit, le reste à charge réel après subventions, et la confirmation que son cas ressemble à quelque chose de déjà vu. Tant qu'il n'a pas ces réponses, il ne remplit aucun formulaire — il continue à lire.
C'est ce constat qui a structuré tout le reste. À côté de la matrice métier × ville, nous avons construit quatre collections éditoriales : guides, projets types, pages prix, pages devis localisées. Trente-cinq guides, vingt-cinq projets types, douze pages prix, douze pages devis. Ce sont elles qui portent la conversion. La matrice, elle, porte la couverture géographique et le maillage interne.
#Ce qu'on a construit
Le dépôt contient cinq cents fichiers JSON de contenu. Chaque page est un fichier : métadonnées, fil d'Ariane, réponse courte en tête, sections en Markdown, mention obligatoire sur les tarifs, FAQ, appel à l'action, liens internes suggérés. Le rendu est assuré par une douzaine de gabarits React qui consomment ces JSON — pas de CMS au runtime, pas de base de données pour servir une page.
La couverture géographique est délibérément resserrée : Haute-Garonne, Tarn, Tarn-et-Garonne, Lot, Lot-et-Garonne. Cinq départements limitrophes, un réseau d'artisans réellement mobilisable dessus. Le site tourne sur Next.js 16 et React 19 en génération statique, déployé sur Netlify. Trois cent soixante-quinze fichiers de contenu embarquent un Speakable Schema, parce qu'une réponse de prix bien délimitée est exactement le format qu'un moteur de réponse va reprendre — c'est la logique GEO / AEO appliquée à un site de travaux.
#Le choix qui compte le plus : une bibliothèque de données locales avant toute rédaction
Nous n'avons pas commencé par écrire des pages. Nous avons commencé par constituer deux bibliothèques de données, stockées à part du contenu rédigé : dix-neuf fiches ville et dix-sept fiches métier.
La fiche ville de Toulouse contient le code INSEE, la population, le type d'habitat dominant, le matériau emblématique, les zones ABF et le périmètre du plan de sauvegarde créé en 1986, l'aléa retrait-gonflement des argiles sur la plaine alluviale, les PPRI Garonne, Touch et Hers, la température moyenne annuelle, le nombre de jours au-dessus de trente degrés, le vent dominant — l'autan — et son incidence métier : il fragilise les couvertures. Elle contient aussi une liste de quartiers vérifiés, séparée entre centre et périphérie.
La fiche métier maçon, elle, porte les qualifications Qualibat attendues, les DTU applicables — 20.1, 21, 26.1 —, la norme géotechnique NF P 94-500, les fourchettes de prix par type d'ouvrage, la saisonnalité, les risques métier et les questions que les gens posent réellement.
Le croisement de ces deux jeux rend une page métier × ville défendable : la différenciation ne vient pas des synonymes, elle vient de contraintes réelles qui ne sont pas les mêmes d'un point à l'autre du territoire. Une page maçonnerie à Toulouse parle brique foraine, joints à la chaux NHL et mur mitoyen au sens des articles 653 à 673 du Code civil. Une page charpente dans le Lot parle arrêté termites et couverture en lauze. Deux métiers du bâtiment, deux départements voisins, et deux pages qui n'ont presque aucune phrase en commun.
C'est aussi le garde-fou anti-industrialisation : sans donnée locale vérifiée disponible, on ne produit pas la page.
#Pourquoi ce sont les pages prix et projets qui déclenchent la demande de devis
Regardez l'anatomie d'une page prix, celle consacrée à la pompe à chaleur par exemple. Elle s'ouvre sur un encadré « prix en une minute » qui donne les fourchettes posées TTC par configuration. Vient ensuite un tableau de référence par puissance et par surface chauffée, puis la liste chiffrée des travaux annexes que personne n'anticipe — dépose de chaudière fioul et dégazage de cuve, adaptation du tableau électrique, ballon tampon, socle béton. Puis les barèmes d'aides. Puis un tableau de reste à charge par profil de ménage, mis en regard du coût d'exploitation annuel. Puis les cinq facteurs qui font varier le devis. Et seulement à la fin, la méthode pour obtenir trois devis réellement comparables : imposer la puissance issue d'un bilan thermique commun, exiger la qualification RGE en cours de validité, demander le coefficient de performance saisonnier plutôt que le COP nominal.
L'appel à l'action arrive après tout cela. À ce stade, le lecteur sait ce qu'il cherche, il sait ce qu'il devrait payer, et il sait que comparer trois devis sans cahier des charges commun ne sert à rien. La demande de mise en relation devient le prolongement logique de sa lecture, pas une interruption.
Les pages devis localisées appliquent la même logique à une intention plus étroite. « Devis maçon Toulouse brique foraine » traite le secteur sauvegardé, le régime du mur mitoyen, les trois canaux de sourcing de briques de récupération avec leurs prix respectifs, et les qualifications à exiger d'un artisan sur ce type de chantier. Le volume de recherche est faible. L'intention est excellente.
Chaque page portant des montants embarque une mention datée qui rappelle la source des barèmes et invite à vérifier auprès de France Rénov'. Les fourchettes sont indicatives, jamais fermes ; les aides sous condition d'éligibilité, jamais acquises. Sur un sujet où le démarchage abusif est un fléau, c'est une condition de crédibilité — et la meilleure façon de ne pas se retrouver engagé sur un chiffre.
#Ce qu'on a choisi de ne pas indexer
Sur les trois cent vingt-trois combinaisons métier × ville produites, deux cent soixante-dix sont publiées en noindex, follow, avec un canonical qui pointe vers la page pilier du métier. Elles restent accessibles, maillées, navigables. Elles ne sont simplement pas soumises à l'index.
C'est une position, et nous l'assumons : mieux vaut une cinquantaine de pages qui ont reçu un traitement local réel qu'un bloc de trois cents pages qui se diluent et tirent vers le bas la qualité perçue du domaine entier. Le contenu existe, il est en réserve, et il est réactivable page par page — il suffit de changer un champ dans le fichier JSON. Le calendrier est explicite : premier audit Search Console à trente jours, identification des pages qui performent à soixante, arbitrage à quatre-vingt-dix sur les réserves à réécrire avant ouverture. On indexe quand la donnée d'usage le justifie, pas avant. C'est le même séquencement que celui de notre méthode ROI-First : on n'engage l'étape suivante qu'une fois la précédente mesurée.
#Le formulaire : un consentement versionné, pas une case à cocher
La partie la plus sensible d'une plateforme de mise en relation, c'est le moment où les coordonnées d'un particulier partent chez des entreprises tierces. Le formulaire demande donc deux consentements distincts, tous deux obligatoires : l'un pour le traitement des données, l'autre pour la transmission à des artisans partenaires en vue d'un devis. La newsletter reste optionnelle et séparée.
Les textes de consentement sont versionnés dans le code, avec une version courante et l'obligation de stocker en base le libellé exact affiché au moment de la soumission. Si la formulation change, on incrémente la version : un consentement recueilli sous l'ancienne reste prouvable tel qu'il a été présenté. C'est ce qui fait la différence entre un consentement opposable et un consentement déclaratif.
La validation, elle, filtre en amont : numéro de téléphone français vérifié au format, code postal qui doit correspondre au département sélectionné, liste de domaines d'e-mails jetables refusée, champ piège contre les robots. Un lead avec des coordonnées fausses coûte le déplacement d'un artisan.
#Les tests qui empêchent le contenu de se dégrader
Sur cinq cents fichiers, la qualité éditoriale ne tient pas par la discipline. Elle tient par des tests.
Une suite parcourt tous les JSON et vérifie, fichier par fichier, que la signature d'auteur est présente, que le title tient sous la limite, que la meta description est comprise entre cent et deux cents caractères, que le canonical est en HTTPS sur le bon domaine, que le H1 existe — et qu'aucun des marqueurs de rédaction automatique bannis ne s'est glissé dans le texte. Une seconde suite reconstruit l'ensemble des routes valides à partir de l'arborescence de contenu, puis vérifie que chaque lien de navigation, chaque appel à l'action, chaque fil d'Ariane et chaque lien interne suggéré pointe vers une page qui existe. Elle contrôle aussi qu'aucune page de collection n'est orpheline, que chaque page pilier métier porte au moins trois liens sortants, et qu'aucun canonical n'est dupliqué entre deux fichiers.
Les liens cassés connus sont listés nommément dans le test, avec le nombre de pages impactées. Ils échouent bruyamment tant qu'ils ne sont pas traités. Sur un site de contenu, c'est ce qui distingue une dette identifiée d'une dette invisible.
#Une erreur qu'on garde écrite dans le code
En passant le sitemap sous l'API de segmentation de Next.js, nous avons déplacé les routes vers /sitemap/[id].xml et supprimé /sitemap.xml — l'URL déclarée dans le robots.txt. Résultat : un 404 sur le sitemap en production. Le correctif est revenu à un sitemap unique, et le commentaire placé au-dessus de la fonction interdit explicitement de réintroduire l'appel fautif. Au moment où cette page est écrite, le correctif est commité et la remise en ligne du sitemap est la prochaine étape.
Nous documentons ce genre d'incident plutôt que de le lisser. Un site de contenu se casse rarement de façon spectaculaire : il se casse en silence, sur une URL technique que personne ne consulte.
#Ce que ça prouve si vous avez le même besoin
Si vous montez une plateforme de mise en relation, un annuaire professionnel ou une marketplace de services, quatre décisions se transposent directement.
Constituez la donnée avant le contenu : une bibliothèque de contraintes locales vérifiées est ce qui rend une page géolocalisée légitime, et ce qui vous empêche d'en produire une quand vous n'avez rien à dire. Placez la conversion sur les pages de décision — prix, cas concrets, méthode de comparaison — et pas sur les pages d'annuaire. Gardez en réserve, hors index, ce que vous n'avez pas encore mérité de soumettre à Google. Et traitez la conformité du formulaire comme de l'ingénierie : consentements distincts, libellés versionnés et horodatés, validation stricte des coordonnées.
Nos ordres de grandeur sont publics : un site vitrine B2B démarre à 5 k€ HT, un site à contenu structuré avec CMS headless à partir de 15 k€ HT — le détail figure sur la grille tarifaire. Un dispositif éditorial de l'ampleur d'Artisans Occitans se cadre projet par projet, selon le nombre de métiers, de villes et de collections que vous pouvez réellement défendre.
Ce que le produit démontre, et ce qu'il ne démontre pas encore
500 fichiers JSON de contenu intégrés — une page = un fichier, rendus par une douzaine de gabarits React sans CMS au runtime
323 combinaisons métier × ville produites (17 métiers × 19 villes) à partir de deux bibliothèques de données locales vérifiées
270 pages servies en noindex, follow avec canonical vers le pilier métier — réserve réactivable page par page
4 collections éditoriales portant la conversion : 35 guides, 25 projets types, 12 pages prix, 12 pages devis localisées
375 fichiers embarquant un Speakable Schema, pour la citabilité par les moteurs de réponse génératifs
Formulaire à double consentement obligatoire, libellés versionnés et stockés tels qu'affichés, validation stricte des coordonnées
Suite de tests portant sur le contenu lui-même : gabarits de métadonnées, marqueurs de rédaction automatique bannis, intégrité du maillage interne, unicité des canonicals
Aucune métrique de trafic ou de conversion publiée à ce stade — produit trop récent pour que les chiffres soient défendables
L'essentiel sur cette réalisation
Artisans Occitans est une plateforme de mise en relation entre particuliers et artisans du bâtiment sur cinq départements d'Occitanie. C'est un produit de Nehos Groupe - KBC SOLUTIONS, construit et exploité par nous, pas une mission client. Cinq cents fichiers de contenu, dix-sept métiers, dix-neuf villes, un site Next.js en rendu statique. L'enseignement principal : ce n'est pas l'annuaire qui déclenche la demande de devis.
L'architecture repose sur une matrice métier × ville — dix-sept métiers croisés avec dix-neuf villes, soit trois cent vingt-trois combinaisons — adossée à quatre collections éditoriales : trente-cinq guides, vingt-cinq projets types, douze pages prix et douze pages devis localisées. Ce sont ces dernières qui portent la conversion ; la matrice porte la couverture géographique et le maillage interne.
Le choix déterminant a été de constituer deux bibliothèques de données avant d'écrire la moindre page : dix-neuf fiches ville (aléa retrait-gonflement des argiles, PPRI, périmètres ABF, climat, quartiers vérifiés) et dix-sept fiches métier (qualifications Qualibat, DTU applicables, fourchettes de prix, risques). Sans donnée locale vérifiée disponible, la page n'est pas produite.
Deux cent soixante-dix des trois cent vingt-trois pages métier × ville sont publiées en noindex, follow avec canonical vers le pilier métier — accessibles et maillées, mais volontairement hors index tant que la donnée d'usage ne justifie pas leur ouverture. Le formulaire de mise en relation repose sur des textes de consentement versionnés, stockés tels qu'affichés au moment de la soumission.
Questions fréquentes sur cette réalisation
Parce que les deux besoins ne sont pas les mêmes. Ces pages ont une utilité immédiate pour l'utilisateur et pour le maillage interne : quelqu'un qui cherche un plaquiste à Moissac trouve une page qui lui parle de sa commune, et le réseau de liens internes du site s'en trouve renforcé. Elles n'ont pas, en revanche, mérité d'être soumises à l'index : seules celles qui ont reçu un traitement local réel — cas pratique localisé, quartiers vérifiés, contraintes géotechniques et patrimoniales spécifiques, FAQ propre à la ville — ont été ouvertes. Le reste est en réserve, avec un canonical vers la page pilier du métier, et se réactive en changeant un champ dans le fichier JSON. C'est un choix inconfortable : on renonce à une couverture affichable pour tenir une qualité moyenne. Nous le referions.
Pas l'annuaire. Ce sont les pages qui aident à décider : une fourchette de prix posée par configuration, la liste chiffrée des travaux annexes que personne n'anticipe, un tableau de reste à charge par profil de ménage après aides, et la méthode pour obtenir trois devis réellement comparables. Un lecteur qui vient de comprendre ce qu'il devrait payer et pourquoi trois devis sans cahier des charges commun sont incomparables est en position de demander une mise en relation — la demande devient le prolongement de sa lecture. C'est pourquoi les appels à l'action sont placés au bout des pages prix, des projets types et des pages devis localisées, et pas sur les fiches métier × ville.
En rendant la différenciation structurelle plutôt que lexicale. Nous avons constitué deux bibliothèques de données avant d'écrire : dix-neuf fiches ville et dix-sept fiches métier, contenant des faits vérifiables — aléa retrait-gonflement des argiles, plans de prévention du risque inondation, périmètres de sauvegarde et contraintes ABF, matériaux traditionnels, climat et vent dominant, quartiers vérifiés, qualifications professionnelles, DTU applicables, fourchettes de prix par ouvrage. Le croisement produit des pages qui n'ont presque aucune phrase en commun, parce que les contraintes ne sont pas les mêmes : la maçonnerie à Toulouse parle brique foraine, joints à la chaux et mur mitoyen ; la charpente dans le Lot parle termites et lauze. Corollaire assumé : quand la donnée locale vérifiée manque, la page n'est pas produite.
En traitant le consentement comme de l'ingénierie et non comme une case à cocher. Le formulaire demande deux consentements distincts et tous deux obligatoires : l'un pour le traitement des données, l'autre, explicite, pour la transmission à des artisans partenaires en vue d'un devis. La newsletter est optionnelle et séparée. Surtout, les libellés sont versionnés dans le code, avec obligation de stocker en base le texte exact affiché au moment de la soumission : si la formulation évolue, on incrémente la version, et un consentement ancien reste prouvable tel qu'il a été présenté. S'y ajoute une validation stricte des coordonnées — téléphone au format français, code postal cohérent avec le département déclaré, domaines d'e-mails jetables refusés, champ piège anti-robots — parce qu'un lead avec des coordonnées fausses coûte le déplacement d'un artisan.
Non, et c'est une règle éditoriale volontairement contraignante. Le modèle est celui d'un courtage téléphonique et numérique : le particulier décrit son projet en ligne, il est rappelé pour qualification, puis mis en relation avec un à trois artisans qui se déplacent pour la visite technique. Aucun collaborateur du site ne vient sur place. Cette contrainte a été inscrite dans les conventions éditoriales dès le cadrage et appliquée page par page — aucune des 500 fiches ne peut promettre un passage physique qui n'aura jamais lieu, même quand la formule aurait été plus vendeuse.