Module Angular d'édition d'emails, conçu pour Sendune
Sendune Email Designer est un éditeur d'emails HTML en glisser-déposer, sous licence MIT, publié sur npm sous le nom @send-with-ses/ng-email-designer. Il se monte dans une application Angular existante, dont les utilisateurs composent alors leurs emails sans écrire de HTML. L'éditeur a d'abord été écrit pour Sendune (anciennement Send With SES), un tableau de bord qui envoie les emails par le compte AWS SES de son client. L'application hôte récupère le résultat en HTML par exportHtml(), ou en structure JSON par exportJSON().
Blocs, éditeur Monaco et HTML en tableaux pour Outlook
- Designer par blocs : des rangées à une ou deux colonnes, garnies de titres, de textes, d'images, de vidéos, de boutons et de séparateurs, plus un emplacement de logo et un pied de page avec icônes de réseaux sociaux.
- Deux autres types de modèle : un éditeur de code HTML bâti sur Monaco, pour reprendre un modèle existant, et un mode texte brut. L'entrée
typedu composant choisit entreses_designer,html_editoretplain_text. - HTML écrit pour les clients mail : le générateur pose la mise en page en tableaux, sur 680 px de large au plus, avec des commentaires conditionnels pour Outlook. Le README cite Cerberus, de Ted Goas, parmi les travaux dont il s'inspire.
- Vidéo en vignette : un lien YouTube ou Vimeo devient l'image de la vidéo, accompagnée d'un triangle de lecture et liée à la vidéo.
- Thème par variables CSS : cinq variables
--sws-*règlent les couleurs des icônes, de l'en-tête et des bordures de l'éditeur pour l'accorder à l'application.
Lié à Angular 15, stockage laissé à l'application hôte
Angular 15 est la seule version déclarée. La 0.5.22 exige @angular/core ^15.2.0 dans ses dépendances pairs, avec ng-bootstrap 14 et ngx-monaco-editor-v2 15. Le README estime que la méthode de sa démo StackBlitz, faite en Angular 15, devrait marcher avec d'autres versions. Le ticket n° 12, ouvert en mars 2025, rapporte au contraire une installation impossible en Angular 16 et 17, et des commentaires signalent le même blocage en 18 puis en 20. La page des versions d'Angular classe toutes les versions de la 2 à la 19 comme non supportées.
Hors d'Angular, aucun paquet à installer. Le dépôt ne publie que ce module. Interrogé sur un projet Vue (ticket n° 8), son principal contributeur a renvoyé vers la démo StackBlitz, écrite en Angular.
Images et modèles restent à stocker par l'application. Le composant n'héberge aucune image : il émet imageUploadTriggered et imageSelectionTriggered, et le README demande d'y brancher son propre envoi vers un stockage comme S3, R2 ou Cloud Storage. Même chose pour les modèles : ils entrent par template, chaque modification sort par emailContentChanged, et l'enregistrement revient à l'hôte. Les seuls appels réseau du code servent à récupérer les vignettes YouTube et Vimeo.
Le lien de désinscription est une variable. Dans le HTML exporté, le lien « Unsubscribe » du pied de page pointe vers {{Unsubscribe}}, que l'outil d'envoi doit remplacer par une vraie adresse.
Le projet écarte les réglages fins. La section « Minimal Rationalism » du README rappelle qu'on dessine un email, pas un site, et prévient que l'outil ne convient pas à qui veut régler l'interlignage. Elle conseille aussi le texte brut pour les emails transactionnels. Le même README rejette les couches intermédiaires comme MJML et présente le HTML exporté comme utilisable chez n'importe quel fournisseur d'envoi.
Ni release GitHub ni tag, des versions 0.x sur npm. Les versions sortent sur npm depuis février 2024 ; la dernière, 0.5.22, date du 1er septembre 2025, comme le dernier commit de code. Le commit du 8 juin 2026 ne modifie que le README, et deux tickets restent ouverts, dont celui sur les versions d'Angular.
