Gabarit : structure et logique de présentation
Un gabarit est un fichier de template (dans notre cas, des composants TypeScript) qui définit l’ordre des sections, les balises HTML utilisées, les classes CSS appliquées, et les conditions d’affichage (si la commune a une population supérieure à 10 000, afficher un bloc supplémentaire). Le gabarit ne contient pas de texte en dur : chaque chaîne visible provient d’un fichier de contenu ou d’une table de traduction.
Un gabarit peut être réutilisé par des centaines de pages. Modifier la structure d’un gabarit (ajouter une section, changer l’ordre des blocs) affecte immédiatement toutes les pages générées depuis ce gabarit. C’est pourquoi toute modification de gabarit passe par la suite de tests de régression SEO complète avant d’être déployée.
Contenu : données et textes variables
Le contenu est stocké dans des fichiers JSON ou des tables de base de données. Il inclut : les textes des sections (introductions, corps d’article, FAQ), les données locales (population, distances, statistiques sectorielles), les métadonnées SEO (title, meta description, slug), et les données de schema (type JSON-LD, champs spécifiques).
Un fichier de contenu ne connaît pas le gabarit qui l’utilisera. Il expose uniquement des données nommées. Le gabarit consomme ces données via des clés nommées. Cette séparation permet de changer le gabarit sans toucher aux contenus et d’enrichir les contenus sans toucher aux gabarits.
Implications sur le workflow de modification
Quand un rédacteur veut corriger une phrase dans un article, il modifie le fichier de contenu correspondant. Quand un développeur veut ajouter une nouvelle section à toutes les pages locales, il modifie le gabarit. Ces deux opérations ont des chemins de validation différents : la modification de contenu passe par une relecture éditoriale, la modification de gabarit passe par une revue technique et les tests de régression.
Cette séparation permet également de paralléliser le travail : l’équipe éditoriale peut enrichir des contenus pendant que l’équipe technique fait évoluer les gabarits, sans conflits de merge. Les fichiers de contenu et les fichiers de gabarit sont dans des répertoires distincts du dépôt, ce qui rend cette séparation visible dans l’organisation du code.
Questions fréquentes
Un gabarit peut-il contenir du contenu éditorial statique ?
Techniquement oui, mais c’est une mauvaise pratique. Tout texte éditorial dans un gabarit ne peut pas être modifié sans passer par une revue technique et sans déclencher les tests de régression. Les textes statiques qui ne changent pas souvent (mentions légales, disclaimers) peuvent être dans des fichiers de contenu spéciaux chargés par le gabarit.
Comment gérez-vous les gabarits qui varient selon la langue ?
Les gabarits ne contiennent pas de texte localisé. Les chaînes de l’interface (libellés, connecteurs grammaticaux) sont dans les fichiers de traduction. La logique de mise en forme qui dépend de la langue (direction RTL, format de nombre) est dans des utilitaires appelés par le gabarit avec le code langue comme paramètre.