Carrousel / diaporama et le client mail Orange

J’ai tout dernièrement voulu innover et proposer à un client un Carrousel (avec deux “r” et un seul “s”, mot qui vient de l’italien carosela qui est un jeu de cavaliers, c’est fou ce qu’on peut apprendre chaque jour) au sein d’une campagne. Ça m’apprendra! Méchant Dobby, méchant! Un carrousel, nommé aussi Slider, Slideshow ou Bannière animée, est un élément visuel et graphique qui consiste en un ensemble d’images ou de photos qui défilent.

Diaporama email

Il s’agit de présenter du contenu de façon ergonomique.  En général, il s’agit d’un diaporama employant une navigation facile et efficace. A ne pas confondre avec une galerie, qui est constituée de visuels fixes.

Un Slideshow dans un email, c’est possible ça?

Cette technique dans l’email marketing n’est pas interprétée par l’ensemble des clients mails, d’où son utilisation restreinte (et son apparition plutôt faible). Pour autant elle permet, pour un site de vente en ligne par exemple, de promouvoir plusieurs produits, ou plusieurs visuels d’un même produit (vue de face, de profil, porté, etc.) Freshinbox a mis en ligne un générateur très pratique de carrousel, où il suffit de renseigner quelques paramètres et les urls des images appelées pour obtenir un code plutôt simple à mettre en place.

Et si son support n’est pas totalement convaincant (fonctionne principalement sur iOS Mail, Samsung Mail, Apple Mail, Yahoo! Mail, AOL, SFR, La Poste et Outlook 2003), la technique a le mérite si elle est bien pensée (et c’est presque le cas de la part de Freshinbox), de proposer une solution de secours en affichant au moins un des visuels présents dans le carrousel. Souvent, il s’agira du visuel contenu dans la première vignette. Du moins, c’est qu’il est censé se passer. Car, lors des tests d’email preview, je me suis vite aperçu qu’Orange n’affichait rien du tout. Bug. Aucun post ou commentaire non plus sur le blog de Freshinbox qui traite pourtant plus en profondeur les possibilités de cette solution et de ces extensions.

Orange et carrousel

Orange poserait des soucis sur un mail?

En inspectant un peu le code HTML généré (j’insiste encore une fois sur le fait de chercher à comprendre les codes HTMLs des générateurs), en débogant et en procédant par déduction, je me suis aperçu que deux éléments <input> situés en haut du code HTML généré semblaient poser souci sur Orange. Lorsque je supprimais ces éléments, l’image principale apparaissait bien, mais le carrousel était alors off. Et comme “Google est mon ami” comme le disent si bien mes collègues, j’ai recherché des résultats sur le combo input + webmail + orange.

Bon, pas de suspense, je crois que vous savez par avance que je suis arrivé sur le site de Rémi Parmentier hein, comme d’hab’ j’ai envie de dire. Rémi précisait justement que le générateur de carrousel pour emails de Freshinbox ne fonctionnait pas dans le webmail d’Orange, qui remplace les <input type=”checkbox” /> par des balises <noinput>. Cependant, Rémi ne détaillait (pour une fois) pas de solution à cette problématique (c’est gentil de laisser un peu de taf pour les autres, on appelle ça l’altruisme 😉 ).

J’ai couplé cela à une autre info dénichée sur un autre article de Rémi : Comme la balise <noinput> n’existe pas, lorsqu’un navigateur moderne rencontre une balise auto-fermante qu’il ne connaît pas, il va faire comme si c’était une balise de type bloc et englober tout le contenu suivant. Autrement dit, le code suivant :

Sera converti en:

Autrement dit, mes éléments <input> en display:none !important venaient appliquer ce style sur les éléments suivants… Problématique (et vous l’aurez compris): mes visuels produits sont compris dans ce cas de figure. Comment alors changer le cours des choses sans modifier la structure du code?

Comment faire apparaître la solution de secours du carrousel sur Orange?

Il fallait pour ce faire procéder par étapes:

  • Tout d’abord, supprimer le “!important” attribué au display:none de mes deux éléments <input>. Sans cela, il est impossible d’écraser le style (et il semblerait que cela ne change en rien le comportement du carrousel).
  • Ensuite, il faut attribuer un id propre à chaque élément <input>, pour pouvoir mieux les cibler dans les styles en tête de l’email.
  • Enfin, il faut ajouter le code suivant en tête de mail:

Ainsi, je cible les éléments <input> seulement sur le client mail Orange, puisqu’il est le seul à transformer les <input> en <noinput>. J’oblige donc Orange à passer en display:block les éléments compris dans ces <noinput>, autrement dit le visuel principal (donc, la solution de secours). Et la boucle est bouclée. Ce qui nous donne, en définitive, le code suivant:

 

A propos de Thomas Defossez

Thomas a démarré sa carrière en tant qu'intégrateur emailing chez Experian avant de créer sa propre agence web. Aujourd’hui, Thomas a décidé de se focaliser sur l’email afin d’être un spécialiste de l’intégration HTML de ce médium. Depuis fin 2014, Thomas collabore à divers projets de l'Agence Badsender.com.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *