SaaS · marketing par e-mail
Éditeur d'e-mails intégrable : templates générés par IA, éditeur visuel et pipeline de rendu réunis dans un seul produit
Un éditeur d'e-mails par glisser-déposer que des plateformes SaaS intègrent à leur produit. L'IA planifie la mise en page, un compilateur fixe assemble l'e-mail avec des sections adaptées à la marque, puis le rendu livre un HTML fiable.
- Secteur
- SaaS · marketing par e-mail
- Technologies
- Laravel 11 · PostgreSQL 16 with row-level security · Redis
Le défi
Un éditeur de logiciels marketing voulait son propre éditeur d'e-mails plutôt qu'une licence : un outil que ses clients utilisent dans le produit, que d'autres plateformes SaaS peuvent intégrer sous leur propre marque, et qui s'appuie sur l'IA pour produire un premier jet exploitable. Deux contraintes excluaient les raccourcis évidents. Les e-mails doivent s'afficher de la même façon dans Outlook, Gmail et Apple Mail : du HTML libre écrit par un modèle n'était donc pas envisageable. Et les templates, les kits de marque et les clés d'API de chaque client devaient rester isolés de ceux de tous les autres.
La solution
Nous avons construit le produit comme un ensemble de services liés par un seul contrat. Un JSON Schema définit ce qu'est un template : l'API valide chaque enregistrement par rapport à ce schéma, et le service de rendu valide chaque rendu par rapport au même fichier. L'IA n'écrit jamais de HTML. Elle renvoie un plan succinct, c'est-à-dire les sections à utiliser et le texte à y placer, puis un compilateur déterministe assemble l'e-mail à partir de 16 gabarits de section, avec les couleurs et les polices de la marque, avant qu'un linter ne contrôle le résultat. L'éditeur visuel travaille sur le même modèle de blocs : un e-mail généré reste entièrement modifiable. Le rendu se déroule en cinq étapes : validation, résolution, transformation, compilation avec MJML, puis post-traitement et nettoyage du HTML.
Comment tout s'enchaîne
- 01 Brief
- 02 Plan IA
- 03 Compilateur de gabarits
- 04 Éditeur visuel
- 05 Rendu MJML
- 06 Intégration ou export
Ce que nous avons livré
- Éditeur par glisser-déposer avec 15 types de blocs, des mises en page jusqu'à six colonnes, du texte enrichi avec menu de commandes « / », annulation et rétablissement, un contrôle de contraste et un sélecteur de champs de fusion
- Chat IA, retouche par IA directement dans le texte, suggestions d'objet, de texte d'aperçu et d'appel à l'action, contrôle anti-spam et profil de ton de marque appris à partir d'anciens e-mails
- Génération de templates par IA via un plan et un compilateur de gabarits, suivie d'un linter de qualité
- Une bibliothèque de plus de 100 sections prêtes à l'emploi, plus des modules enregistrés qui restent synchronisés d'un template à l'autre, avec historique des versions et gestion des conflits
- Service de rendu qui transforme les templates en HTML d'e-mail, y compris des images animées de compte à rebours
- Import de fichiers HTML et d'exports d'autres éditeurs d'e-mails, y compris l'import en masse d'archives zip via une file d'attente
- Portail client, galerie de templates, webhooks sortants et widget intégrable livré sous forme d'iframe, de script de chargement et de composant React
- Plus de 1'200 tests automatisés répartis sur l'ensemble des services
Fonctionnalités
- Isolation des tenants par row-level security PostgreSQL et préfixes de cache propres à chaque tenant
- Un seul JSON Schema valide les templates, dans l'API comme dans le service de rendu
- API REST avec erreurs au format RFC 7807, mises à jour en JSON Merge Patch, pagination par curseur et clés d'idempotence
- Tout le HTML rendu est nettoyé avec DOMPurify, y compris le markdown du chat IA
- Webhooks signés avec protection contre le SSRF, épinglage d'IP, nouvelles tentatives avec temporisation et rotation du secret avec période de grâce
- Connexion au widget par des jetons de courte durée qui n'apparaissent jamais dans une URL ; messages envoyés uniquement à l'origine parente déclarée
- Trois niveaux de maîtrise des coûts d'IA par tenant, et un second fournisseur de modèles en secours
- Chaque push vers le staging passe d'abord la vérification des types, le linting et toutes les suites de tests
- Interface localisée, avec prise en charge des mises en page de droite à gauche
Intégrations
- API Anthropic, avec un second fournisseur de modèles en secours
- API de la plateforme hôte pour les champs de fusion, les contacts et les envois de test
- Stockage objet pour les images et les ressources rendues
- Webhooks sortants pour les événements liés aux templates
Technologies
Résultat
En service sur un environnement de staging, avec tous les services actifs : API, service de rendu, service IA, portail client et widget. L'hébergement de production, la facturation et le durcissement du widget constituent la phase suivante ; cette étude de cas sera mise à jour lors du passage en production.
Pourquoi l’IA n’écrit-elle pas le HTML ?
Les clients de messagerie ne s’accordent toujours pas sur le rendu du HTML, et un modèle qui écrit librement du balisage produit des e-mails qui cassent dans Outlook ou perdent leur mise en page sur mobile. Le modèle prend donc les décisions d’un rédacteur et d’un maquettiste : quelles sections, dans quel ordre, avec quels mots. Le code fait le reste. Le compilateur n’utilise que des gabarits de section testés et le kit de marque, et le résultat suit le même chemin de validation et de rendu qu’un e-mail construit à la main. Tout template généré peut aussi être ouvert et modifié bloc par bloc.
Parlons de votre projet
Présentez-nous votre projet