{"id":10315,"date":"2014-06-01T15:56:48","date_gmt":"2014-06-01T13:56:48","guid":{"rendered":"http:\/\/flaven.fr\/?p=10315"},"modified":"2014-06-03T21:18:59","modified_gmt":"2014-06-03T19:18:59","slug":"responsive-newsletter-design-les-bonnes-pratiques-pour-creer-une-newsletter-responsive","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2014\/06\/responsive-newsletter-design-les-bonnes-pratiques-pour-creer-une-newsletter-responsive\/","title":{"rendered":"Responsive, Newsletter, Design &#8211; Les bonnes pratiques pour cr\u00e9er une newsletter responsive"},"content":{"rendered":"<p>La question qui agite ce billet est : Comment faire en sorte qu&#8217;une newsletter patiemment con\u00e7ue puisse s&#8217;afficher correctement tout aussi bien dans un client de webmail et de &#8220;desktop&#8221; genre Outlook que sur les \u00e9crans plus petits des terminaux mobile (smartphone, desktop) ? Comme pour un site web, la r\u00e9ponse qui vient naturellement est de concevoir votre newsletter selon des principes de responsive design. Oui, il est possible de faire un design responsive qui s&#8217;affiche \u00e0 peu pr\u00e8s correctement en ayant en t\u00eate les sp\u00e9cificit\u00e9s propres \u00e0 chaque plate-forme.<\/p>\n<p>    <b>On va donc tacher de concevoir en parall\u00e8le une int\u00e9gration desktop et mobile pour une newsletter \u00e0 l&#8217;aide des bonnes pratiques responsive design en mati\u00e8re notamment de CSS.<\/b><\/p>\n<h4>El\u00e9ments de design et Layout mobile<\/h4>\n<p>    Outre le fait d\u00e9crire une CSS sp\u00e9cifique pour mobile, plusieurs contraintes sont \u00e0 prendre en compte pour la cr\u00e9ation d&#8217;une newsletter :<\/p>\n<ol>\n<li>Un design en une seule colonne pas compris en 500 et 600 pixels. Plus facile \u00e0 lire sur mobile et lorsque votre design part en sucette, ce qui arrive parfois de fait votre design se casse la gueule mais avec un certain style.<\/li>\n<li>Les liens et les boutons doivent avoir un espace au minimum \u00e9gale \u00e0 44&#215;44 pixels, comme ce qui est indiqu\u00e9 dans les guidelines Apple notamment. En effet, si on ne pr\u00e9voit, ce type de parade, les liens sont minuscules sur un smartphone donc on ne peut pas cliquer dessus que l&#8217;on ait des gros doigts ou des petits doigts.<\/li>\n<li>La taille de la police pour iPhone est de 13px. Avoir cela en t\u00eate car sinon la police risque d&#8217;upscaler et donc casser le layout. Dans le m\u00eame temps il est possible d&#8217;overwriter cette contrainte mais attention prudence.<\/li>\n<li>Placer l&#8217;information pertinente et les \u00e9l\u00e9ments de design importants dans la partie haute de la newsletter dans la meusre du possible afin d&#8217;\u00e9viter le scroll autant que possible, plus facile de scroller avec une souris qu&#8217;avec le doigt.<\/li>\n<li>Utiliser l&#8217;attribut <code>display: none;<\/code> pour dissimuler les d\u00e9tails superflus dans le &#8220;layout&#8221; mobile genre boutons de partage, qui passent corrects sur desktop mais sont de toutes les mani\u00e8re difficiles \u00e0 utiliser sur un support mobile. Voir la version mobile de RFI avec les btns share.<\/li>\n<\/ol>\n<p>    Lorsque vous faites la maquette de votre newsletter, le mieux est de cr\u00e9er deux mod\u00e8les l&#8217;un pour le &#8220;desktop&#8221; et l&#8217;autre pour le &#8220;mobile&#8221; en effet l&#8217;exp\u00e9rience utilisateur (UX) est radicalement diff\u00e9rente. Garder bien \u00e0 l&#8217;esprit que sur mobile, il faut que l&#8217;utilisateur est acc\u00e8s le plus rapidement possible aux \u00e9l\u00e9ments importants un lien vers votre offre promotionnel par exemple (les fameux Call To Action) et \u00e9viter de la faire &#8220;scroller&#8221; sinon vous avez toutes les chances de le perdre.<\/p>\n<p>    Il n&#8217;est pas n\u00e9cessaire de s\u00e9parer les feuilles de style (CSS) pour le mobile. Le mieux est d&#8217;indiquer dans la feuille de style directement \u00e0 l&#8217;aide d&#8217;un commentaire <code>\/* ceci est un commentaire dans une css *\/<\/code> la partie qui concerne sp\u00e9cifiquement les terminaux mobile (smartphone, tablettes&#8230;.etc.)<\/p>\n<pre lang=\"css\">\r\n        @media only screen and (max-device-width: 480px) {\r\n            \/* mobile-specific CSS styles go here *\/\r\n        }\r\n\r\n        \/* regular CSS styles go here *\/\r\n    <\/pre>\n<p>    Quelques explications sur notre CSS pour mieux comprendre de quoi il retourne.<\/p>\n<ul>\n<li>La balise <code>@media<\/code> indique \u00e0 quel terminal on s&#8217;adresse pour le bon affichage de la newsletter cela \u00e9vite du m\u00eame coup la confusion pour un affichage au format d&#8217;impression ou pour un quelconque dispositif d&#8217;accessibilit\u00e9.<\/li>\n<li>La balise <code>max-device-width: 480px<\/code> indique l&#8217;espace de visualisation de l&#8217;appareil mobile ne peut exc\u00e9der une largeur maximum de 480px. <\/li>\n<li>480px, c&#8217;est g\u00e9n\u00e9ralement la mesure admise pour la largeur d&#8217;un \u00e9cran iPhone en mode paysage. On peut bien \u00e9videmment \u00e0 une largeur plus grande si on veut cibler sp\u00e9cifiquement les tablettes.<\/li>\n<\/ul>\n<p>    Si on veut se la jouer un peu et se montrer exhaustif voir \u00e0 la limite un peu pr\u00e9tentieux, on peut augmenter les param\u00e8tres de taille pour chaque appareil et indiquer la hauteur et la largeur.<\/p>\n<pre lang=\"css\">\r\n      @media screen and (device-width: 480px) and (device-height: 360px), screen and (device-width: 360px) and (device-height: 480px), screen and (device-width: 320px) and (device-height: 240px) {\r\n\r\n         \/* mobile-specific CSS styles go here *\/  \r\n\r\n        }\r\n    <\/pre>\n<h4>Table de &#8220;class&#8221;<\/h4>\n<p>    Eh, oui, une bonne vielle table HTML vous sera utile alors autant lui affecter une classe CSS pour mettre en forme le texte et les images que cette table va contenir.<\/p>\n<pre lang=\"css\">\r\n        @media only screen and (max-device-width: 480px) { \r\n        \/* CSS sp\u00e9cifique pour mobile *\/\r\n            table[class=contenutable] { \r\n                width: 320px !important;\r\n            }\r\n        }\r\n\r\n        \/* CSS par d\u00e9faut *\/\r\n        table.contenttable {\r\n            width: 640px;\r\n        }\r\n    <\/pre>\n<p>    La class CSS nomm\u00e9 <code>contenutable<\/code> pr\u00e9sente plusieurs b\u00e9n\u00e9fices en terme UX :<\/p>\n<ol>\n<li>Il y a un r\u00e9tr\u00e9cissement de la newsletter si le contenu est vu sur un \u00e9cran de terminal l&#8217;\u00e9cran est de 480px ou moins<\/li>\n<li>Il n&#8217;y a aucun changement si bien \u00e9videmment la taille de l&#8217;\u00e9cran est de 480px ou plus.<\/li>\n<li>L&#8217;ajout de l&#8217;attribut <code>!important;<\/code> est afin de garantir que ce style sp\u00e9cifiquement mobile soit appliqu\u00e9 en priorit\u00e9 lorsque un terminal mobile se pr\u00e9sente.<\/li>\n<\/ol>\n<p>    On pourrait faire de m\u00eame avec d&#8217;autres balises <code>class<\/code> comme dans l&#8217;exemple ci-dessous.<\/p>\n<pre lang=\"css\">\r\n        @media only screen and (max-device-width: 480px) {\r\n            \/* mobile-specific CSS styles go here *\/\r\n            table[class=contenutable] { width: 325px !important; }\r\n            img[class=\"enteteimage\"] { width: 325px !important;  }\r\n            p[class=\"date\"] { display: none !important; }\r\n        }\r\n    <\/pre>\n<p>    Passons maintenant \u00e0 des exemples plus avanc\u00e9s d&#8217;int\u00e9gration pour terminaux mobiles.<\/p>\n<h4>Construire un &#8220;template&#8221; de newsletter responsive plus avanc\u00e9<\/h4>\n<p>    Il est souvent plus judicieux de construire un template qui qui passe de 2 \u00e0 1 colonnes. Certes, ce type de template en 2 colonnes permettra bien souvent d&#8217;afficher plus de contenu en tout d\u00e9but de newsletter dans des clients email type Outlook sur Desktop,  mais ces templates deviennent vite incommodes \u00e0 lire et \u00e0 naviguer sur un terminal mobile. On va donc r\u00e9sorber cette difficult\u00e9 \u00e0 l&#8217;aide de quelques bonnes pratiques CSS pour rendre la chose lisible aussi bien sur un ordinateur que sur un terminal mobile.<\/p>\n<p>    Une des r\u00e8gles essentielles dont il vaut se souvenir lors d&#8217;une int\u00e9gration pour une newsletter, <b>c&#8217;est qu&#8217;il est pr\u00e9f\u00e9rable d&#8217;utiliser des attributs propres \u00e0 l&#8217;HTML plut\u00f4t que des \u00e9l\u00e9ments CSS en effet, l&#8217;interpr\u00e9tation de la CSS varie grandement d&#8217;un client mail \u00e0 un autre.<\/b><\/p>\n<p>    Ainsi, il faut privil\u00e9gier dans l&#8217;int\u00e9gration des attributs HTML classiques comme <code>cellpadding=\"10\"<\/code>  <code>align=\"left\"<\/code> au lieu de leurs equivalents CSS <code>float: left;<\/code> ou <code>padding: 10px;<\/code><\/p>\n<p>    Dans l&#8217;exemple ci-dessous, la table fait 640px de large et se divise en deux colonnes de 320px chacune avec un cellpadding=&#8221;20&#8243; afin d&#8217;a\u00e9rer la mise en page du contenu.<\/p>\n<pre lang=\"html\" escaped=\"true\">\r\n\r\n    &lt;table width=\"640\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"&gt;\r\n    &lt;tr&gt;\r\n        &lt;td&gt;\r\n        &lt;table width=\"320\" border=\"0\" cellspacing=\"0\" cellpadding=\"20\" align=\"left\"&gt;\r\n          &lt;tr&gt;\r\n            &lt;td&gt;&lt;p&gt;Colonne de gauche&lt;\/p&gt;&lt;\/td&gt;\r\n          &lt;\/tr&gt;\r\n        &lt;\/table&gt;\r\n        &lt;table width=\"320\" border=\"0\" cellspacing=\"0\" cellpadding=\"20\" align=\"right\"&gt;\r\n          &lt;tr&gt;\r\n            &lt;td&gt;&lt;p&gt;Colonne de droite&lt;\/p&gt;&lt;\/td&gt;\r\n          &lt;\/tr&gt;\r\n        &lt;\/table&gt;\r\n        &lt;\/td&gt;\r\n      &lt;\/tr&gt;\r\n    &lt;\/table&gt;\r\n\r\n    <\/pre>\n<p>    Faire un mod\u00e8le en HTML sur une seule colonne est g\u00e9n\u00e9ralement l&#8217;assurance que le tout passe correctement sur les terminaux mobiles. N\u00e9anmoins, qui optant pour une int\u00e9gration responsive, il est possible de ne pas renoncer \u00e0 une mise en forme sur 2 colonnes sans pour autant accroitre consid\u00e9rablement la taille de votre CSS.<\/p>\n<p>    A ajoutant la ligne de &#8220;media query&#8221; ci-dessous, on s&#8217;assure que la table s&#8217;affiche en 640px si l&#8217;\u00e9cran le permet mais que si la taille de l&#8217;\u00e9cran ne le permet pas comme sous l&#8217;iPhone, alors la colonne de droite vient se placer en-dessous de la colonne de gauche avec pour les deux colonnes respectivement une taille de 320px.<\/p>\n<p>    <b>La CSS pour une table <code>contenutable<\/code> repsonsive<\/b><\/p>\n<pre lang=\"css\">\r\n        @media only screen and (max-device-width: 480px) {\r\n            table[class=contenutable] { \r\n                width:320px !important;\r\n            }\r\n        }\r\n    <\/pre>\n<p>    <b>Le code HTML de la table <code>contenutable<\/code> repsonsive<\/b><\/p>\n<pre lang=\"html\" escaped=\"true\">\r\n      &lt;table width=\"640\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"contenutable\"&gt;\r\n      &lt;tr&gt;\r\n          &lt;td&gt;\r\n          &lt;table width=\"320\" border=\"0\" cellspacing=\"0\" cellpadding=\"20\" align=\"left\"&gt;\r\n            &lt;tr&gt;\r\n              &lt;td&gt;&lt;p&gt;Colonne de gauche&lt;\/p&gt;&lt;\/td&gt;\r\n            &lt;\/tr&gt;\r\n          &lt;\/table&gt;\r\n          &lt;table width=\"320\" border=\"0\" cellspacing=\"0\" cellpadding=\"20\" align=\"right\"&gt;\r\n            &lt;tr&gt;\r\n              &lt;td&gt;&lt;p&gt;Colonne de droite&lt;\/p&gt;&lt;\/td&gt;\r\n            &lt;\/tr&gt;\r\n          &lt;\/table&gt;\r\n          &lt;\/td&gt;\r\n        &lt;\/tr&gt;\r\n      &lt;\/table&gt;\r\n    <\/pre>\n<p>    Le r\u00e9sultat est une integration responsive qui affiche deux colonnes sur les clients Desktop et Web, mais qui passe \u00e0 une colonne unique de 320px dans le client de messagerie par d\u00e9faut d&#8217;un smartphone sous iOS ou sous Android.<\/p>\n<h4>Penser un mode d&#8217;affichage propre aux smarphones, orient\u00e9 UX<\/h4>\n<p>De la m\u00eame mani\u00e8re que pour un site l&#8217;exp\u00e9rience utilisateur (UX) diff\u00e8re selon que le contenu s&#8217;affiche sur un \u00e9cran desktop ou sur un \u00e9cran de smartphone. Il en va de m\u00eame pour la newsletter, il y a certaines specificit\u00e9s<\/p>\n<h4>Ajout d&#8217;un effet de &#8220;progressive disclosure&#8221; pour la lecture sur smartphone<\/h4>\n<p>    Sur le web, pas mal de site offre une visualisation progressive approchant de l&#8217;effet &#8220;infinite scroll&#8221; bien connu dans les th\u00e8mes WordPress responsive. Pour les terminaux mobiles, on parle de &#8220;progressive disclosure&#8221;. <\/p>\n<p>    Cela consiste \u00e0 r\u00e9v\u00e9ler le contenu \u00e0 l&#8217;aide d&#8217;un &#8220;on-click&#8221; ou d&#8217;un &#8220;tap&#8221; sur un lien ou un bouton dans une interface mobile. C&#8217;est ce que l&#8217;on va s&#8217;employer \u00e0 mettre en place pour cette newsletter.<\/p>\n<h4>Jeu de cache cache CSS dans une newsletter<\/h4>\n<p>    Montrer la totalit\u00e9 de l&#8217;article sur desktop et autoriser sur mobile la poursuite de la lecture au gr\u00e9 des envies de l&#8217;utilisateur.<\/p>\n<p>       Sur le client mobile, le souhait de ne faire appara\u00eetre pour chaque article : le titre, un texte d&#8217;introduction et un bouton permet de faire apparaitre ou disparaitre le reste du texte. De fait, sur un mobile, on limite drastiquement le &#8220;scroll&#8221; n\u00e9cessaire aux utilisateurs pour prendre connaissance du contenu de la newsletter. <\/p>\n<p>       Ci-dessous, l&#8217;extrait de code qui va permettre d&#8217;afficher chaque article avec un en-t\u00eate, une mini introduction et un bouton &#8220;show\/hide&#8221;.<\/p>\n<pre lang=\"html\" escaped=\"true\">\r\n       \r\n       &lt;td&gt;\r\n          &lt;h4&gt;&lt;a href=\"http:\/\/le_lien\" class=\"link\"&gt;En-t\u00eate&lt;\/a&gt;&lt;\/h4&gt;\r\n          &lt;a href=\"#\" class=\"mobilehide\"&gt;Hide&lt;\/a&gt; &lt;a href=\"#\" class=\"mobileshow\"&gt;Voir&lt;\/a&gt;\r\n          &lt;div class=\"article\"&gt;\r\n             &lt;p class=\"bodytext\"&gt;\r\n                &lt;img src=\"une_image.jpg\" style=\"float: left;\" &gt;Pellentesque habitant morbi...\r\n             &lt;\/p&gt;\r\n             &lt;a href=\"http:\/\/le_lien\"&gt;En savoir +...&lt;\/a&gt; \r\n          &lt;\/div&gt;\r\n       &lt;\/td&gt;\r\n       \r\n       <\/pre>\n<p>       Les &#8220;class&#8221; CSS <code>mobilehide<\/code>, <code>mobileshow<\/code> et <code>article<\/code> permettent de couvrir toutes les actions souhait\u00e9es pour ce comportement.<\/p>\n<p>       L&#8217;attribut ci-dessous <code>display: none !important;<\/code> permettra de faire dispara\u00eetre ces boutons lorsque le mail sera lu sur des clients desktop et webmail.<\/p>\n<pre lang=\"css\">\r\n       a[class=\"mobileshow\"], a[class=\"mobilehide\"] {\r\n           display: none !important;\r\n       } \r\n       <\/pre>\n<p>Afin d&#8217;assurer l&#8217;affichage sur tes terminaux mobiles, on passe par une ligne sp\u00e9cifique <code>media query<\/code>.<\/p>\n<pre lang=\"css\">       \r\n       @media only screen and (max-device-width: 480px) { \r\n           a[class=\"mobileshow\"], a[class=\"mobilehide\"] { \r\n               display: block !important; \r\n               color: #fff !important; \r\n               background-color: #aaa; \r\n               border-radius: 20px; \r\n               padding: 0 8px; \r\n               text-decoration: none; \r\n               font-weight: bold; \r\n               font-family: \"Helvetica Neue\", Helvetica, sans-serif; \r\n               font-size: 11px; \r\n               position: absolute; \r\n               top: 25px; \r\n               right: 10px; \r\n               text-align: center; \r\n               width: 40px;\r\n           }\r\n           div[class=\"article\"] {\r\n               display: none;\r\n           }\r\n           a.mobileshow:hover { \r\n               visibility: hidden;\r\n           } \r\n           .mobileshow:hover + .article, .article:hover {\r\n               display: inline !important;\r\n           }\r\n       }\r\n       <\/pre>\n<p>       Le r\u00e9sultat est donc un e-mail avec des boutons <code>show\/hide<\/code>, ce qui va permettre de d\u00e9ployer en fonction des besoins utilisateurs le contenu sur l&#8217;iPhone.<\/p>\n<p>       <b>Il existe un template sur GitHub qui pr\u00e9sente ce principe de &#8220;progressive disclosure&#8221;<\/b><\/p>\n<p>       <i>Source : <a href=\"https:\/\/gist.github.com\/egid\/5208136\" target=\"_blank\">https:\/\/gist.github.com\/egid\/5208136<\/a><\/i><\/p>\n<h4>Cibler des terminaux sp\u00e9cifiques \u00e0 l&#8217;aide des &#8220;media queries&#8221;<\/h4>\n<p>       On peut s&#8217;amuser \u00e0 cibler plus sp\u00e9cifiquement un certain nombre de terminaux mobiles \u00e0 l&#8217;aide des &#8220;media queries&#8221; autrement dit la balise CSS <code>@media<\/code>.<\/p>\n<p>       Ci-dessous, vous trouverez une CSS qui cible le d\u00e9finition d&#8217;\u00e9cran des principaux terminaux que l&#8217;on trouve sur le march\u00e9. Bien \u00e9videmment, si vous souhaitez \u00eatre exhaustif (ce qui parait illusoire au demeurant) vous serez dans l&#8217;obligation de &#8220;pondre&#8221; une CSS sur-mesure pour cibler cet \u00e9cosyst\u00e8me sp\u00e9cifique.<\/p>\n<p>       Il est clair que les &#8220;media queries&#8221; ne sont pas support\u00e9es par toutes les plate-formes, voici une rapide des clients mobiles et tierces qui donne un bref apercu de l&#8217;atomicit\u00e9 des navigateurs du march\u00e9.<\/p>\n<table cellspacing=\"10\" cellpadding=\"20\" border=\"1\" align=\"left\">\n<tr>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\">\n<h3>Les clients mobiles<\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td><strong>Client<\/strong><\/td>\n<td>&nbsp;<\/td>\n<td><strong>Media Query Support<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Amazon Kindle Fire<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Amazon Kindle Fire HD<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Android 2.1 Eclair<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td>Android 2.2+<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Apple iPhone<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Apple iPad<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Apple iPod Touch<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>BlackBerry OS 5<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td>BlackBerry OS 6+<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>BlackBerry Playbook<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Microsoft Windows Mobile 6.1<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td>Microsoft Windows Phone 7<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td>Microsoft Windows Phone 7.5<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Microsoft Windows Phone 8<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td>Microsoft Surface<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td>Palm Web OS 4.5<\/td>\n<td>&nbsp;<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Samsung Galaxy S3+<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<\/table>\n<table cellspacing=\"10\" cellpadding=\"20\" border=\"1\" align=\"left\">\n<tr>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\">\n<h3>Les clients mail 1\/3<\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td><strong>Client<\/strong><\/td>\n<td>&nbsp;<\/td>\n<td><strong>Media Query Support<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Microsoft Outlook Exchange 3rd party app (Android)<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td>Gmail mobile app (all platforms)<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td>Yahoo! Mail mobile app (all platforms)<\/td>\n<td>&nbsp;<\/td>\n<td>Non<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"> <i>Plus d&#8217;information sur : <a href=\"http:\/\/stylecampaign.com\/\" target=\"_blank\">http:\/\/stylecampaign.com\/<\/a><\/i>\n        <\/td>\n<\/tr>\n<\/table>\n<pre lang=\"css\">\r\n          \/* Smartphones (portrait and landscape) ----------- *\/\r\n          @media only screen \r\n          and (min-device-width : 320px) \r\n          and (max-device-width : 480px) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n          \/* Smartphones (landscape) ----------- *\/\r\n          @media only screen \r\n          and (min-width : 321px) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n          \/* Smartphones (portrait) ----------- *\/\r\n          @media only screen \r\n          and (max-width : 320px) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n          \/* iPads (portrait and landscape) ----------- *\/\r\n          @media only screen \r\n          and (min-device-width : 768px) \r\n          and (max-device-width : 1024px) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n          \/* iPads (landscape) ----------- *\/\r\n          @media only screen \r\n          and (min-device-width : 768px) \r\n          and (max-device-width : 1024px) \r\n          and (orientation : landscape) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n          \/* iPads (portrait) ----------- *\/\r\n          @media only screen \r\n          and (min-device-width : 768px) \r\n          and (max-device-width : 1024px) \r\n          and (orientation : portrait) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n          \/* Desktops and laptops ----------- *\/\r\n          @media only screen \r\n          and (min-width : 1224px) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n          \/* Large screens ----------- *\/\r\n          @media only screen \r\n          and (min-width : 1824px) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n          \/* iPhone 4 ----------- *\/\r\n          @media\r\n          only screen and (-webkit-min-device-pixel-ratio : 1.5),\r\n          only screen and (min-device-pixel-ratio : 1.5) {\r\n          \/* Styles *\/\r\n          }\r\n\r\n        <\/pre>\n<p>        <i>Source : <a href=\"http:\/\/css-tricks.com\/snippets\/css\/media-queries-for-standard-devices\/\" target=\"_blank\">http:\/\/css-tricks.com\/snippets\/css\/media-queries-for-standard-devices\/<\/a><\/i><\/p>\n<h4>Un framework ?<\/h4>\n<p>Une derni\u00e8re chose, plut\u00f4t que de se fatiguer \u00e0 r\u00e9pertorier. Vous pouvez utiliser une sorte de &#8220;framework&#8221; issu de boilerplate pour cibler les terminaux plus populaires. C&#8217;est un bon d\u00e9but pour concevoir un template de newsletter responsive.<\/p>\n<p><i>Plus d&#8217;information sur : <a href=\"http:\/\/stuffandnonsense.co.uk\/projects\/320andup\/\" target=\"_blank\">http:\/\/stuffandnonsense.co.uk\/projects\/320andup\/<\/a><\/i><\/p>\n<h4>La balise <code>balise meta viewport<\/code><\/h4>\n<p>       Juste une parenthese sur cette balise qui &#8220;d\u00e9signe sch\u00e9matiquement la surface de la fen\u00eatre du navigateur&#8221;. A manier avec pr\u00e9caution. <\/p>\n<pre lang=\"html\" escaped=\"true\">\r\n       &lt;meta name=\"viewport\" content=\"width=device-width;initial-scale=1.0; user-scalable=1;\" \/&gt;\r\n      <\/pre>\n<p>      <i>Source : <a href=\"http:\/\/www.alsacreations.com\/article\/lire\/1490-comprendre-le-viewport-dans-le-web-mobile.html\" target=\"_blank\">http:\/\/www.alsacreations.com\/article\/lire\/1490-comprendre-le-viewport-dans-le-web-mobile.html<\/a><\/i> <\/p>\n<p><b>Conclusion : Le sujet de l&#8217;int\u00e9gration d&#8217;une newsletter multi-support est vaste et assez casse-gueule. Le mieux est de tenter d&#8217;isoler des bonnes pratiques notamment \u00e0 l&#8217;aide de test, d&#8217;it\u00e9ration et de retour d&#8217;usage, un peu sur un mode &#8220;lean&#8221;. Soyez modeste dans votre int\u00e9gration, voir conservateur, il y a tellement de support, de clients diff\u00e9rents qui m\u00e9riteraient une int\u00e9gration mobile sp\u00e9cifique par exemple nous n&#8217;avons pas aborder la gestion des images pour Retina, un vrai sujet en soi.<\/b><\/p>\n<h2>En savoir plus<\/h2>\n<ul>\n<li>Responsive Email Design<br \/><a href=\"http:\/\/www.campaignmonitor.com\/guides\/mobile\/coding\/\" target=\"_blank\">http:\/\/www.campaignmonitor.com\/guides\/mobile\/coding\/<\/a><\/li>\n<li>Media Queries for Standard Devices<br \/><a href=\"http:\/\/css-tricks.com\/snippets\/css\/media-queries-for-standard-devices\/\" target=\"_blank\">http:\/\/css-tricks.com\/snippets\/css\/media-queries-for-standard-devices\/<\/a><\/li>\n<li>Les bonnes pratiques par balises CSS par client mail<br \/><a href=\"ttp:\/\/www.campaignmonitor.com\/css\/\" target=\"_blank\">http:\/\/www.campaignmonitor.com\/css\/(campaign-monitor-guide-to-css-in-email-may-2014.pdf)<\/a><\/li>\n<li>Le support de media queries par client email mobile<br \/><a href=\"http:\/\/stylecampaign.com\/blog\/2012\/10\/responsive-email-support\/\" target=\"_blank\">http:\/\/stylecampaign.com\/blog\/2012\/10\/responsive-email-support\/<\/a><\/li>\n<li>Excellente vid\u00e9o sur l&#8217;int\u00e9gration d&#8217;une newsletter responsive<br \/><a href=\"http:\/\/stylecampaign.com\/\" target=\"_blank\">  http:\/\/stylecampaign.com\/<br \/>\n<\/a><\/li>\n<li>Une introduction au &#8220;Responsive Web Design&#8221; par ETHAN MARCOTTE<br \/><a href=\"http:\/\/alistapart.com\/article\/responsive-web-design\" target=\"_blank\">http:\/\/alistapart.com\/article\/responsive-web-design<\/a><\/li>\n<li>Responsive Email Design par campaignmonitor<br \/><a href=\"http:\/\/www.campaignmonitor.com\/guides\/mobile\/responsive\/\" target=\"_blank\">http:\/\/www.campaignmonitor.com\/guides\/mobile\/responsive\/<\/a><\/li>\n<li>Media features par w3.org<br \/><a href=\"http:\/\/www.w3.org\/TR\/css3-mediaqueries\/#media1\" target=\"_blank\">http:\/\/www.w3.org\/TR\/css3-mediaqueries\/#media1<\/a><\/li>\n<li>320 and Up, lightweight, easy to use and content first responsive web design boilerplate.<br \/><a href=\"http:\/\/stuffandnonsense.co.uk\/projects\/320andup\/\" target=\"_blank\">http:\/\/stuffandnonsense.co.uk\/projects\/320andup\/<\/a><\/li>\n<li>Applying fluid layouts to HTML email design<br \/><a href=\"http:\/\/www.campaignmonitor.com\/blog\/post\/3564\/applying-fluid-layouts-to-html-email-design\/\" target=\"_blank\">http:\/\/www.campaignmonitor.com\/blog\/post\/3564\/applying-fluid-layouts-to-html-email-design\/<\/a><\/li>\n<li>Optimizing HTML email for mobile using progressive disclosure<br \/><a href=\"http:\/\/www.campaignmonitor.com\/blog\/post\/3541\/designing-ultra-short-emails-for-mobile-using-progressive-disclosure\/\" target=\"_blank\">http:\/\/www.campaignmonitor.com\/blog\/post\/3541\/designing-ultra-short-emails-for-mobile-using-progressive-disclosure\/<\/a><\/li>\n<li>How to serve high-resolution website images for retina displays (new iPad\/iPhone4+)<br \/><a href=\"http:\/\/benfrain.com\/how-to-serve-high-resolution-website-images-for-retina-displays-new-ipadiphone4\/\" target=\"_blank\">http:\/\/benfrain.com\/how-to-serve-high-resolution-website-images-for-retina-displays-new-ipadiphone4\/<\/a><\/li>\n<li>AJAX Subscription Form<br \/><a href=\"http:\/\/www.campaignmonitor.com\/integrations\/ajax-subscription-form\" target=\"_blank\">http:\/\/www.campaignmonitor.com\/integrations\/ajax-subscription-form<\/a><\/li>\n<li>3 Steps to Make Your E-mail Design Responsive<br \/><a href=\"http:\/\/blog.sumall.com\/journal\/3-steps-to-make-your-e-mail-design-responsive-2.html\" target=\"_blank\">http:\/\/blog.sumall.com\/journal\/3-steps-to-make-your-e-mail-design-responsive-2.html<\/a><\/li>\n<li>Cr\u00e9er simplement un email newsletter responsive en HTML<br \/><a href=\"http:\/\/webdesign.tutsplus.com\/fr\/articles\/creating-a-simple-responsive-html-email--webdesign-12978\" target=\"_blank\">http:\/\/webdesign.tutsplus.com\/fr\/articles\/creating-a-simple-responsive-html-email&#8211;webdesign-12978<\/a><\/li>\n<li>Handy field guides par campaignmonitor<br \/><a href=\"http:\/\/www.campaignmonitor.com\/guides\/\" target=\"_blank\">http:\/\/www.campaignmonitor.com\/guides\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>La question qui agite ce billet est : Comment faire en sorte qu&#8217;une newsletter patiemment con\u00e7ue puisse s&#8217;afficher correctement tout aussi bien dans un client&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2014\/06\/responsive-newsletter-design-les-bonnes-pratiques-pour-creer-une-newsletter-responsive\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">Responsive, Newsletter, Design &#8211; Les bonnes pratiques pour cr\u00e9er une newsletter responsive<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":10317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Cr\u00e9er une newsletter responsive garantit une bonne affichage sur tous les \u00e9crans. Ma\u00eetrisez les outils et techniques de design responsive pour des r\u00e9sultats optimaux.","bf_ai_og_title":"Newsletter responsive : bonnes pratiques","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3442,3444,3445,3448,3449,3450,3451],"tags":[2238,209,515,2092,518,31,211,2094,539,1871,305,2093,2192,2198,2095],"class_list":["post-10315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-devices","category-programming-databases","category-seo-web-marketing","category-tools-productivity","category-tutorials-how-to","category-ux-product-design","category-web-design-front-end","tag-android","tag-css","tag-design","tag-desktop","tag-ios","tag-mobile","tag-newsletter","tag-outlook","tag-responsive-design","tag-smartphone","tag-template","tag-utilisateur","tag-ux-experience-utilisateur","tag-webdesign-responsive-agile","tag-webmail"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-2Gn","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2014\/06\/newsletter_responsive_design_bf_2.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=10315"}],"version-history":[{"count":18,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10315\/revisions"}],"predecessor-version":[{"id":10334,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10315\/revisions\/10334"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/10317"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=10315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=10315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=10315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}