SlideShare une entreprise Scribd logo
1  sur  43
https://www.actito.com
Sébastien Lejeune
• Product designer
• Team Leader Design and User experience
• Senior – Expert E-mail / Web integrator
Contact
• Twitter: @seblejeune
• LinkedIn : https://www.linkedin.com/in/seblejeune/
• Github : https://github.com/seblejeune
https://www.actito.com
L’e-mail, un art avec des règles à respecter
• De la rigueur
• De la précision
• … Beaucoup de copier / coller
Mais….
• Pas de javascript
• Pas de feuilles de styles
• Pas de son
• Bref aucun ‘artifice’ web
Du code en détails…
Un doctype valide
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Un <head> bien définis
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
Un <head> bien définis
<style type="text/css">
#outlook a{padding:0;} /* Force Outlook to provide a "view in browser" message */
.ReadMsgBody{width:100%;} .ExternalClass{width:100%;} /* Force Hotmail to display emails at full width */
.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-
height: 100%;} /* Force Hotmail to display normal line spacing */
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;} /* Prevent WebKit and
Windows mobile changing default text sizes */
table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;} /* Remove spacing between tables in Outlook 2007 and up */
img{-ms-interpolation-mode:bicubic;} /* Allow smoother rendering of resized image in Internet Explorer */
.gapfixer div, .gapfixer button { margin:0 !important; padding:0 !important; display:block !important; } /* remove the gap
below image added in outlook.com (2017) */
*[x-apple-data-detectors] {
color: #333333;
text-decoration: none;
}
</style>
Une structure bien définie
<table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#000000" style="width: 100%;">
<tr>
<td valign="top" align="center">
<table cellpadding="0" cellspacing="0" border="0" width="600" bgcolor="#ffffff" style="width:600px;">
<tr>
<td align="left" valign="top">
...
</td>
</tr>
</table>
</td>
</tr>
</table>
• Utilisation des styles en ligne sur chaque <td> contenant du
texte
• Définir le width en attribut et en style sur les <table> de
structure
• Convertir les caractères spéciaux en entité HTML
En plus…
Une gestion du mobile avec un framework…
• Des media queries génériques
• Plusieurs ‘break-point’
• De la gestion multi-colonnes
Attention….
• Toujours !important
• Adapter :
• Font-size
• Line-height
• …
A vous de jouer
Création d’un e-mail : exercice
• Base : structure_1.html
• Ajout d’un titre
• Ajout d’un texte
• Utiliser les media-queries présentes dans le fichier pour la
gestion du mobile
https://gitlab.com/seblejeune/email-paris-web-2017/repository/master/archive.zip
Création d’un e-mail : Résultat
Des boutons oui, mais en <html>
• Utilisation de bouton <html>
• Augmenter la zone de clic en mobile
• La zone complète est cliquable
<table cellpadding="0" cellspacing="0" align="center" class="act-gen-button-table">
<tr>
<td class="act-gen-button-td" valign="top" bgcolor="#348eda" align="center">
<a href=“#” class="act-gen-button-link">
{{copy}}
</a>
</td>
</tr>
</table>
Visuels
Support des browsers
• Les boutons HTML sont supportés par la plus part des
clients et browsers mails de marché…
• Cependant, si vous faites un bouton sur deux lignes, vous
pouvez avoir certains problèmes d’affichage sous Outlook.
Création d’un e-mail : Exercice 2
ajout d’un bouton <html>
• Base : structure_2.html
• Ajout d’un bouton <html>
• Penser aux best practices mobiles
• Utiliser les media-queries présentes dans le fichier pour la
gestion du mobile
Création d’un e-mail : Bouton - résultat
Création d’un e-mail : exercice 3
• Base : structure_3.html
• Ajout d’un header en full largeur
• Ajout d’un lien sur le header
Création d’un e-mail : Header- résultat
Création d’un e-mail : exercice 4
• Base : structure_4.html
• Ajout d’un article contenant :
• Titre
• Image
• Texte
• Bouton
Création d’un e-mail : Article résultat
Une colonne c’est bien… Deux c’est mieux…
• Principe :
• 2 <table> ‘flottante’
• 20px d’écart entre les deux
2 colonnes dans un e-mail
2 colonnes… Code
<table cellpadding="0" cellspacing="0" width="600" style="width: 600px; margin:0 auto; border:0;"
class="mobileWidthContent">
<tr>
<td valign="top" align="center" width="600" style="width: 600px;" class="mobileWidthFull">
<table cellpadding="0" cellspacing="0" align="left" width="290" style="width: 290px; margin:0 auto; border:0;"
class="mobileWidthHalf">
<tr>
<td valign="top" align="left" width="290" style="width: 290px;" class="mobileWidthFull">
Content
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" align="right" width="290" style="width: 290px; margin:0 auto; border:0;"
class="mobileWidthHalf">
<tr>
<td valign="top" align="left" width="290" style="width: 290px;" class="mobileWidthFull">
Content
</td>
</tr>
</table>
</td>
</tr>
</table>
Création d’un e-mail : exercice 5
• Base : structure_5.html
• Création d’un article deux colonnes :
• Image à gauche
• Titre, texte et bouton à droite.
Création d’un e-mail : Article deux colonnes résultat
Les web font c’est bien… Google font c’est mieux…
• Import de la font google ‘free’ dans le <head>
Intégration des google font
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
• Déclaration de la font dans les styles
Intégration des google font
[style*="Lato"] {
font-family: ’Roboto', Verdana, sans-serif !important
}
• Utilisation de la font dans l’e-mail
Intégration des google font
<td valign="top" align="center" width="…" style="font-family: Arial, sans-serif, 'Roboto'; …">
Content
</td>
• Attention, cette manipulation n’est pas supportée dans
tous les clients e-mails
• Liste des clients e-mails qui supporte cette feature
• Listes des browsers supportant les google fonts :
• AOL MailNative
• Android mail app (not Gmail app)
• Apple Mail
• iOS Mail
• Outlook 2000
• Outlook.com app
Intégration des google font
• DEMO
Intégration des google font
Se simpifier la vie…
• Utiliser des ‘snippet’ de code que vous adaptez à chaque
fois…
• Un bouton
• Un titre
• Un texte
• Créer votre framework css de mediaqueries
Comment simplifier le développement d’e-mail
• Créer votre e-mail avec une feuille de style…
• Utiliser juice…
• Le tour est joué…
Utiliser du javascript
• DEMO
Utiliser du javascript
Le secret d’un bon e-mail…
• Utilisation de plateforme professionnelle d’envoi… ACTITO
• Litmus et emailOnAcid pour les tests sur les clients e-mails
du marché…
• Mailtester, vous mesurer le risque de ‘spam’
Le test…
Thank you !
https://www.actito.com

Contenu connexe

Similaire à Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30

Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à Sinatra
Rémi Prévost
 

Similaire à Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30 (20)

technologie web - part2
technologie web - part2technologie web - part2
technologie web - part2
 
Atelier template
Atelier templateAtelier template
Atelier template
 
HTML5
HTML5HTML5
HTML5
 
HTML5, le nouveau buzzword
HTML5, le nouveau buzzwordHTML5, le nouveau buzzword
HTML5, le nouveau buzzword
 
Développement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs WebDéveloppement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs Web
 
Présentation complète de l'HTML5
Présentation complète de l'HTML5Présentation complète de l'HTML5
Présentation complète de l'HTML5
 
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
 
Découverte HTML5/CSS3
Découverte HTML5/CSS3Découverte HTML5/CSS3
Découverte HTML5/CSS3
 
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptx
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptxFormation developpement web KADODJOMON EMMANUEL COULIBALY.pptx
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptx
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à Sinatra
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5
 
Cours Code Part 2
Cours Code Part 2Cours Code Part 2
Cours Code Part 2
 
HTML
HTMLHTML
HTML
 
Crs javascript
Crs javascriptCrs javascript
Crs javascript
 
Html 5(1)
Html 5(1)Html 5(1)
Html 5(1)
 
Html css-xhtml
Html css-xhtmlHtml css-xhtml
Html css-xhtml
 
CSS 3
CSS 3CSS 3
CSS 3
 
Créer un site web moderne en 30 minutes
Créer un site web moderne en 30 minutesCréer un site web moderne en 30 minutes
Créer un site web moderne en 30 minutes
 
Internationalisation du Front
Internationalisation du FrontInternationalisation du Front
Internationalisation du Front
 
Html5 & ie
Html5 & ieHtml5 & ie
Html5 & ie
 

Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30

  • 2. Sébastien Lejeune • Product designer • Team Leader Design and User experience • Senior – Expert E-mail / Web integrator Contact • Twitter: @seblejeune • LinkedIn : https://www.linkedin.com/in/seblejeune/ • Github : https://github.com/seblejeune https://www.actito.com
  • 3. L’e-mail, un art avec des règles à respecter
  • 4. • De la rigueur • De la précision • … Beaucoup de copier / coller Mais…. • Pas de javascript • Pas de feuilles de styles • Pas de son • Bref aucun ‘artifice’ web
  • 5. Du code en détails…
  • 6. Un doctype valide <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • 7. Un <head> bien définis <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  • 8. Un <head> bien définis <style type="text/css"> #outlook a{padding:0;} /* Force Outlook to provide a "view in browser" message */ .ReadMsgBody{width:100%;} .ExternalClass{width:100%;} /* Force Hotmail to display emails at full width */ .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line- height: 100%;} /* Force Hotmail to display normal line spacing */ body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;} /* Prevent WebKit and Windows mobile changing default text sizes */ table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;} /* Remove spacing between tables in Outlook 2007 and up */ img{-ms-interpolation-mode:bicubic;} /* Allow smoother rendering of resized image in Internet Explorer */ .gapfixer div, .gapfixer button { margin:0 !important; padding:0 !important; display:block !important; } /* remove the gap below image added in outlook.com (2017) */ *[x-apple-data-detectors] { color: #333333; text-decoration: none; } </style>
  • 9. Une structure bien définie <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#000000" style="width: 100%;"> <tr> <td valign="top" align="center"> <table cellpadding="0" cellspacing="0" border="0" width="600" bgcolor="#ffffff" style="width:600px;"> <tr> <td align="left" valign="top"> ... </td> </tr> </table> </td> </tr> </table>
  • 10. • Utilisation des styles en ligne sur chaque <td> contenant du texte • Définir le width en attribut et en style sur les <table> de structure • Convertir les caractères spéciaux en entité HTML En plus…
  • 11. Une gestion du mobile avec un framework…
  • 12. • Des media queries génériques • Plusieurs ‘break-point’ • De la gestion multi-colonnes Attention…. • Toujours !important • Adapter : • Font-size • Line-height • …
  • 13. A vous de jouer
  • 14. Création d’un e-mail : exercice • Base : structure_1.html • Ajout d’un titre • Ajout d’un texte • Utiliser les media-queries présentes dans le fichier pour la gestion du mobile https://gitlab.com/seblejeune/email-paris-web-2017/repository/master/archive.zip
  • 15. Création d’un e-mail : Résultat
  • 16. Des boutons oui, mais en <html>
  • 17. • Utilisation de bouton <html> • Augmenter la zone de clic en mobile • La zone complète est cliquable <table cellpadding="0" cellspacing="0" align="center" class="act-gen-button-table"> <tr> <td class="act-gen-button-td" valign="top" bgcolor="#348eda" align="center"> <a href=“#” class="act-gen-button-link"> {{copy}} </a> </td> </tr> </table>
  • 19. Support des browsers • Les boutons HTML sont supportés par la plus part des clients et browsers mails de marché… • Cependant, si vous faites un bouton sur deux lignes, vous pouvez avoir certains problèmes d’affichage sous Outlook.
  • 20. Création d’un e-mail : Exercice 2 ajout d’un bouton <html> • Base : structure_2.html • Ajout d’un bouton <html> • Penser aux best practices mobiles • Utiliser les media-queries présentes dans le fichier pour la gestion du mobile
  • 21. Création d’un e-mail : Bouton - résultat
  • 22. Création d’un e-mail : exercice 3 • Base : structure_3.html • Ajout d’un header en full largeur • Ajout d’un lien sur le header
  • 23. Création d’un e-mail : Header- résultat
  • 24. Création d’un e-mail : exercice 4 • Base : structure_4.html • Ajout d’un article contenant : • Titre • Image • Texte • Bouton
  • 25. Création d’un e-mail : Article résultat
  • 26. Une colonne c’est bien… Deux c’est mieux…
  • 27. • Principe : • 2 <table> ‘flottante’ • 20px d’écart entre les deux 2 colonnes dans un e-mail
  • 28. 2 colonnes… Code <table cellpadding="0" cellspacing="0" width="600" style="width: 600px; margin:0 auto; border:0;" class="mobileWidthContent"> <tr> <td valign="top" align="center" width="600" style="width: 600px;" class="mobileWidthFull"> <table cellpadding="0" cellspacing="0" align="left" width="290" style="width: 290px; margin:0 auto; border:0;" class="mobileWidthHalf"> <tr> <td valign="top" align="left" width="290" style="width: 290px;" class="mobileWidthFull"> Content </td> </tr> </table> <table cellpadding="0" cellspacing="0" align="right" width="290" style="width: 290px; margin:0 auto; border:0;" class="mobileWidthHalf"> <tr> <td valign="top" align="left" width="290" style="width: 290px;" class="mobileWidthFull"> Content </td> </tr> </table> </td> </tr> </table>
  • 29. Création d’un e-mail : exercice 5 • Base : structure_5.html • Création d’un article deux colonnes : • Image à gauche • Titre, texte et bouton à droite.
  • 30. Création d’un e-mail : Article deux colonnes résultat
  • 31. Les web font c’est bien… Google font c’est mieux…
  • 32. • Import de la font google ‘free’ dans le <head> Intégration des google font <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  • 33. • Déclaration de la font dans les styles Intégration des google font [style*="Lato"] { font-family: ’Roboto', Verdana, sans-serif !important }
  • 34. • Utilisation de la font dans l’e-mail Intégration des google font <td valign="top" align="center" width="…" style="font-family: Arial, sans-serif, 'Roboto'; …"> Content </td>
  • 35. • Attention, cette manipulation n’est pas supportée dans tous les clients e-mails • Liste des clients e-mails qui supporte cette feature • Listes des browsers supportant les google fonts : • AOL MailNative • Android mail app (not Gmail app) • Apple Mail • iOS Mail • Outlook 2000 • Outlook.com app Intégration des google font
  • 37. Se simpifier la vie…
  • 38. • Utiliser des ‘snippet’ de code que vous adaptez à chaque fois… • Un bouton • Un titre • Un texte • Créer votre framework css de mediaqueries Comment simplifier le développement d’e-mail
  • 39. • Créer votre e-mail avec une feuille de style… • Utiliser juice… • Le tour est joué… Utiliser du javascript
  • 40. • DEMO Utiliser du javascript
  • 41. Le secret d’un bon e-mail…
  • 42. • Utilisation de plateforme professionnelle d’envoi… ACTITO • Litmus et emailOnAcid pour les tests sur les clients e-mails du marché… • Mailtester, vous mesurer le risque de ‘spam’ Le test…

Notes de l'éditeur

  1. Bonjour, Je vais essayer de de vous démontrer qu’intégrer un e-mail, c’est simple et possible… Et le tout en 1h30….
  2. Je me présente : Sébastien Lejeune Mon quotidien : Product Designer, Team leader d’une équipe de Design and User Experience… Mais également, Senior Integrateur, Expert de l’e-mail. Plus de 10 expériences dans le domaine de l’e-mail Vous pouvez également me suivre sur twitter, linkedin et github Qui suis-je pour faire un atelier sur l’e-mail Pas connu Choix… Question de temps
  3. Questions à poser lors de ce slide : Y a t’il des personnes qui n’ont jamais codé d’e-mail ? Avec quel outil travailler vous pour envoyer vos campagnes ? A quel fréquence coder-vous des e-mails ? Connaissez-vous des contraintes pour le dévelopment d’e-mail ?
  4. -
  5. Avant de commencer, quelques bases essentielles pour l’intégration e-mail.
  6. Définir un bon doctype est important. Malgré tout, certains clients e-mails utilisent leur propre doctype comme…
  7. Toujours définir les e-mails en utf8 Pour le viewport, bien le définir… Mettre 1.0 à la place de 1 peut tout dérègler…
  8. Notre reset de base pour e-mail que nous intégrons
  9. Structure d’e-mail définie par ‘row’ business visuelle Avec tous les styles en inline sur les balises html.
  10. Pour réussir votre e-mail, vous avez pas mal de contraintes à respecter… Connaissez-vous quelques contraintes ? Pensez à définir vos styles en inline sur les td pour habiller vos textes. Définissez un attribut ‘width’ et une propriété width sur les table de type structure Pour être certain d’avoir un affichage correct de vos textes, pensez à convertir les caractères spéciaux en entités html
  11. Pour la gestion du mobile, essayez de définir votre propre framework avec vos conventions, cela vous permet de gagner du temps, et de garantir le même comportement pour vos e-mails.
  12. Utilisez des media queries génériques et business… Par exemple, mq-text-center mq : MediQueries text : élément de type tekst Center : élément doit être centré Utilisez plusieurs break point. A l’heure actuelle, les devices ont des dimensions et des comportements différents et ce également en fonction des browsers sut lequel vous lisez vos e-mails. Chez ACTITO, nous partons sur une base de 640 en règle général, passons par une mq à 640, une à 520, et une dernière à 480. D’autres règles sont importantes comme augmenter le font-siez, le line-height, les espaces blancs…
  13. Je vous propose un premier exercice sur base des éléments que nous venons de voir
  14. Le but de cet exercice, c’est de prendre en main une base html existante et sur base de ce que j’ai expliqué précédemment, de rajouter un titre et un texte. Je vous propose de partir du fichier structure_1.html et d’utiliser les mediaqueries existantes pour faire cette partie.
  15. Pour gagner en efficacité, des boutons en html, simple, efficace, ils permettent une optimisation de clic lorsque les images ne sont pas chargées…
  16. Le code est simple… Une table sans taille fixe, un tr et un td qui lui contient les informations visuelles, et ensuite votre lien avec les mêmes proprités visuelles que votre td.
  17. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…
  18. Structure d’e-mail définie par ‘row’ business visuelle
  19. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…
  20. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…
  21. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…
  22. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…
  23. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…
  24. On retrouve souvent les mêmes patterns de développement e-mail… Penser à sauver vos codes…
  25. Un moyen simple de coder l’e-mail plus rapidement, c’est l’utilisation de framework javascript. Un mélange de javascript, de composants, de sass… On met le tout dans gulp… et le tour est joué
  26. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…
  27. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…
  28. Si la structure de l’e-mail fait 640px de large, chacune des colonnes va faire 310px de large. L’une va être en align left et l’autre en right. Ce qui permet en mobile d’avoir les 2 tables l’une au-dessus de l’autre…