Les dernières ressources publiées sur Alsacreations.com
Maizzle est un outil dédié à la construction de gabarits HTML pour e-mails, alimenté par un (classique) moteur NodeJS et le framework CSS Tailwind.
Comme chacun le sait, le monde merveilleux de l'e-mailing se trouve à des années lumières de ce que l'on considère comme des Standards, voire des Bonnes Pratiques de conception web.
Les clients mails sont capricieux, ils interprètent à leur manière, ils redimensionnent s'ils le souhaitent, ils reconnaissent uniquement les styles qui leur conviennent, etc.
Maizzle est là pour nous faciliter grandement la tâche.
Maizzle se définit comme un outil agnostique en terme de balisage, il s'auto-proclame BYOHTML ("Apportez votre propre HTML", en anglais).
Cela signifie que contrairement à d'autres frameworks spécialisés, vous n'utilisez pas d'abstractions telles que <container>
, <grid>
, <column>
ou <row>
pour contruire vos gabarits, mais de véritables tableaux HTML <table>
.
Je vous vois venir. Si on est obligé d'écrire notre HTML "à l'ancienne", avec des tableaux imbriqués, à quoi peut bien servir un framework ?
L'installation de Maizzle, très bien décrite sur son site web, ne nécessite qu'un environnement NodeJS - méthode courante actuellement - et se fait à l'aide de l'instruction suivante :
npm i -g @maizzle/cli
Si vous ne souhaitez pas débuter de zéro, le framework vous propose des Templates ou des Starters préfabriqués.
Les deux tâches qui deviendront vos meilleures amies sont à présent :
maizzle serve
: compilation de votre projet en local (dossier build_local/
), surveillance des fichiers modifiés et synchronisation sur une URL de type localhost
maizzle build production
: compilation pour mise en production (dossier build_production/
) avec fichiers allégés (purgeCSS), minifiés et styles en ligne (style=""
).Côté styles et mise en forme, TailwindCSS est le framework utilisé pour les styles CSS de ce projet.
Les styles sont rédigés directement sous forme de classes dans les éléments HTML, tel que recommandé par Tailwind, par exemple <table class="w-448 bg-white border-2 border-solid border-moonrock">
.
Tous les styles CSS nécessaires sont déjà existants et apportés par le Tailwind, il n'est donc pas nécessaire de créer de nouveaux styles.
Véritable moteur de template, Maizzle gère les entités suivantes :
<component src="src/components/header.html"></component>
.Une variable globale est déclarée en début de Template dans une Zone de Variables délimitée par trois traits d'union :
---
title: "Merci de confirmer votre adresse email"
---
Les variables sont transmises aux Layout, Template et Composant et peuvent être récupérées ainsi :
<p>{{ page.title }}</p>
Une variable globale est liée à l'environnement page
et est précédée de son environnement.
Une variable locale permet de proposer des valeurs différentes par composant par exemple, grâce à une chaîne Json transmise via l'attribut locals
(voir exemple ci-après).
Le composant Button, pour notre exemple, pourrait désigner un lien d'action classique (<a>
) menant vers une page web.
Voici comment nous pourrions mettre ceci en oeuvre dans Maizzle :
<component>
et </component>
au sein d'un TemplatebuttonLink
renseignée via l'attribut locals
buttonBg
buttonColor
<component src="src/components/button.html"
locals='{
"buttonLink": "https://www.alsacreations.com/",
"buttonBg": "bg-azure",
"buttonColor": "text-white"
}'>
Allez sur un super site
</component>
Les variables locales sont récupérées par le Composant button (fichier button.html
):
<a href="{{ buttonLink }}" class="{{ buttonBg }} {{ buttonColor }}">
<content></content>
</a>
And… voilà!
Pour rappel, Maizzle propose également des fonctionnalités de templating plus élaborées, telles que des boucles ou des conditions diverses.
Un type de test utile pourrait être celui de vérifier si une variable existe afin de générer du HTML conditionnellement :
<if condition="page.buttonDetails">
<span>{{{ page.buttonDetails}}}</span>
</if>
Alors oui, j'ai une mauvaise nouvelle : la magie n'existe pas dans le monde de l'e-mailing !
Il reste des bugs. Pas mal de bugs.
Étant moi même grand débutant dans ce domaine très particulier de l'e-mailing, j'ai pu découvrir de mes yeux émerveillés tout plein de coquilles un peu partout : des images de fond disparues sous Outlook, de simples listes à puces non reconnues, des dates et numéros de téléphones soulignés, de multiples problèmes de largeurs ou d'espacements non respectés, etc.
Bref, les Internets (et je dois l'avouer Stackoverflow) furent mes amis jusque très tard dans la nuit jusqu'à ce que je ma fasse ma compilation de liens et ressources incontournables.
Tester (protéger, isoler) sur de véritables clients e-mail est une absolue nécessité. Pour ce faire, nous avons fait appel au service Email Previews de Email On Acid qui a parfaitement rempli sa tâche.
Il existe un très grand nombre de ressources et d'outils sur la production d'e-mails HTML. Voici une sélection personnelle :
Les outils ne manquent pas pour nous faciliter le quotidien lors de nos missions d'intégrations. Mais le domaine de l'e-mailing demeure très particulier avec ses lois et adaptations spécifiques et trouver l'assistant parfait relève du miracle.
Maizzle fait le taf, en tout cas c'est ce que j'en ai ressenti. Mais peut-être connaissez-vous d'autres outils plus performants, plus ergonomiques ou tout simplement qui vous paraissent meilleurs à l'usage ? N'hésitez pas à m'en faire part !
Dans ce dossier nous vous présentons les outils qui vont vous permettre de tester et vérifier l'accessibilité de vos pages web.
Petit point sur l’accessibilité en France :
La loi handicap de 2005 et son décret d’application exigent pour les organismes publics, les délégataires d’une mission de service public, et les entreprises de plus de 250 millions d'euros, de rendre les moyens de communications accessibles pour tous.
De ce fait, depuis 2009, le Référentiel Général d’Amélioration de l’Accessibilité (RGAA) a été mis en place pour rassembler un certain nombre d’obligations à respecter, ainsi qu’un ensemble de critères pour évaluer la conformité d’une page web. Ces critères sont basés sur la norme internationale WCAG 2.1, éditée par le W3C.
Les outils présentés ici vérifient les critères du WCAG 2.1, selon les 3 niveaux d’exigence : simple A (A), double A (AA), et triple A (AAA).
Ils sont ceux que nous conseillons et utilisons. Bien sûr, des équivalents peuvent exister mais ils sont majoritairement rédigés en anglais et des notions sont donc recommandées.
C'est parti pour en savoir plus sur le premier outil : Axe.
Crédit photo : https://fr.freepik.com/pikisuperstar
Retrouvez l'intégralité de ce tutoriel en ligne sur Alsacreations.com