Moteur de contenu affilié multi-sites
Un CMS headless pour piloter 5 sites de niche depuis une seule base de code, avec validation humaine obligatoire avant publication.
- 17
- Articles réels en ligne
- 4
- Pipelines CI/CD indépendants
- 3
- Failles bloquantes corrigées
Le défi
Construire un système capable de piloter plusieurs sites de niche affiliés à Amazon depuis une seule base de code, sans jamais publier de contenu généré par IA sans contrôle humain, ni enfreindre les règles strictes du programme Amazon Associates (pas de réécriture des descriptions produit, pas de modification des images, aucun lien affilié dans les emails). Le défi technique s'ajoutait à un défi de gouvernance : garantir qu'aucun contenu de mauvaise qualité, halluciné ou non conforme ne puisse franchir la chaîne de publication sans un contrôle humain réel — et non un simple garde-fou de façade.
La solution
Saad a conçu un CMS headless multi-tenant en Angular 19 SSR, où le même code de site public est déployé sur 5 domaines distincts via des configurations d'environnement différentes, chacun isolé par une colonne site_id partagée entre une API publique en lecture seule et une API d'administration authentifiée (JWT, cookies HttpOnly, CSRF). Le contenu suit un pipeline strict :
- génération d'une idée de sujet à partir de données de mots-clés réelles
- rédaction d'un brouillon par IA (Gemini, Groq, Mistral)
- passe d'humanisation automatique
- contrôle qualité automatisé
- validation manuelle obligatoire dans le back-office avant publication
Les résultats
Le site pilote est en production sur un VPS avec 4 pipelines GitHub Actions indépendants (API admin, API publique, back-office, site public), chacun déclenché par un push scopé à son propre dossier. 17 articles et pages de catégorie réels sont en ligne, chacun ciblant des volumes de recherche réels issus de Semrush sur des requêtes concurrentielles comme « meilleurs aspirateurs robots » ou « meilleures serrures connectées ». Le projet reste en phase de croissance SEO : le compte Amazon Associates n'est pas encore validé pour les commissions, aucune régie publicitaire n'est active, et la newsletter n'est pas encore exploitée.
Méthodologie et gestion de projet
Un audit de sécurité et de qualité interne, daté, a permis d'identifier puis de corriger 3 failles bloquantes avant toute mise en production plus large : un garde-fou de qualité de contenu entièrement contournable, un bug qui replaçait silencieusement du contenu IA rejeté dans la file de publication, et un risque de XSS stocké via du HTML généré par IA non assaini — ainsi que 11 problèmes de sévérité élevée. Cet audit a transformé une intuition (« le contenu IA a besoin de sa propre frontière de confiance ») en règles d'ingénierie explicites, documentées et appliquées dans le code.
Architecture technique et performance
La pile technique assume un minimalisme délibéré : pas de Redis, pas de Docker, pas de TypeScript côté serveur, pas d'ORM — du JavaScript simple et le pilote mysql2 brut sur MySQL 8. Deux back-ends Express distincts séparent les surfaces publique et admin ; un sous-système SEO complet gère le SSR, le JSON-LD, le hreflang, les sitemaps et s'intègre directement à l'API Google Search Console et à IndexNow pour accélérer l'indexation. Les fiches produit proviennent exclusivement de l'API officielle Product Advertising d'Amazon (OAuth2), jamais du scraping.
Questions fréquentes sur ce type de mission
Autres réalisations
Digi4
Digi4 Prospector — Moteur de prospection B2B
Digi4
MeetScribe — Résumés de réunion par IA
Projet personnel