Développement
Conventions techniques pour maintenir des projets lisibles, testables, versionnés et sûrs : architecture, Git, revue, environnements, tests et releases.
Principes d’engineering
- Une source de vérité par fonctionnalité.
- Des responsabilités clairement séparées.
- Pas de secrets dans le code ou le dépôt.
- Des changements petits, lisibles et réversibles.
- Une vérification avant chaque release.
Git & commits
Un commit doit représenter un changement cohérent. Utiliser un message court qui décrit l’intention.
feat: ajoute la recherche globale fix: corrige la navigation mobile docs: met à jour la procédure de publication
Code review
Vérifier comportement, lisibilité, sécurité, tests, compatibilité, dette introduite et plan de retour. Une review ne consiste pas seulement à chercher des erreurs de syntaxe.
Environnements
Ne jamais utiliser la production comme environnement d’essai. Préférer preview, branche, build de test ou environnement dédié lorsque le produit le permet.
Toute modification directement visible par des utilisateurs doit avoir un scénario de validation et un retour arrière identifiable.
Qualité
- Compiler / builder sans erreur.
- Tester le scénario modifié.
- Vérifier les régressions proches.
- Contrôler les états erreur / vide / chargement.
- Mettre à jour la documentation si le comportement change.
Stack du Squared Help Center
Le Help Center suit une architecture static-first pour la lisibilité, le SEO et la résilience. Les pages HTML restent utilisables sans React.
- GitHub Pages : publication statique et domaine docs.squaredgroup.studio.
- JavaScript modulaire : navigation, documentation, forum, support, status et admin.
- React 19 islands : améliorations interactives locales sans réécrire toute l’application.
- Tailwind CSS v4 : compilé en CSS statique, sans Play CDN ni Preflight global.
- Supabase : Auth, PostgreSQL, Storage, Realtime, Edge Functions, cron et RLS.
Une dépendance JavaScript moderne ne doit pas rendre la documentation illisible si elle échoue à charger.
Release
Associer une release à une version, un ensemble de changements compréhensible et un contrôle post-déploiement. Le changelog doit décrire l’effet utilisateur, pas uniquement les fichiers modifiés.