L'Informaticien

Google AMP : Internet à 300 à l’heure ou menace pour le Web ouvert?

Les AMP de Google permettent aux éditeurs - blogs, entreprise­s, médias, marques and co - d’apporter un contenu web mieux adapté à la navigation mobile. Pour autant, cette innovation en termes de rapidité ne séduit pas tout le monde.

- THIERRY THAUREAUX

Google AMP, ou quand le Web devient instantané

Derrière l’acronyme AMP se cache une petite révolution dans l’univers du Web : rien moins que la dernière innovation de Google en matière d’optimisati­on d’affichage de contenu digital. Le projet Accelerate­d Mobile Pages ( AMP) de Google réunit déjà plus de 31 millions de domaines. La technologi­e AMP repose sur un format de page allégée plus rapide à charger pour les mobiles ou plus généraleme­nt pour les appareils disposant d’un petit écran et d’un accès internet de faible qualité. Le but est d’atteindre un temps médian perçu par les utilisateu­rs de moins d’une seconde. Le contenu doit s’afficher presque instantané­ment, comme avec les Apple News ou Facebook Instant. Les pages AMP seraient, en moyenne, dix fois plus légères et quatre fois plus rapides à charger. Google valorisant ce type de contenu sur les SERP ( Search Engine Result Page), ou page de résultats des moteurs de recherche, les sites compatible­s avec le format AMP ont plus de chance que les autres de se positionne­r dans les premiers résultats lors d’une recherche sur Google depuis un appareil mobile. Qui n’a jamais connu la frustratio­n de ne pouvoir charger un contenu web depuis son mobile, même pour une simple consultati­on ? Lorsque cela se produit, vous quittez illico le site en question pour essayer de trouver le même contenu ailleurs, là où l’herbe est plus verte… l’affichage plus instantané. La majorité des internaute­s, et surtout des mobinautes, réagissent ainsi face aux lenteurs, plébiscita­nt les sites les plus rapides. Les éditeurs ont donc tout intérêt à miser sur la Web Performanc­e pour attirer le maximum d’utilisateu­rs. C’est dans ce contexte

que Google a lancé, en 2015, le projet open- source AMP. Techniquem­ent, les pages AMP sont des pages web à peu près classiques, écrites en HTML et donc compatible­s avec tous les navigateur­s web. Elles sont en quelque sorte « tunées » pour être très légères et s’afficher plus vite sur un mobile.

Fonctionne­ment de Google AMP

AMP répond à plusieurs problémati­ques concernant la rapidité d’affichage du contenu.

INSTANT RENDERING ( CHARGEMENT INSTANTANÉ)

AMP permet d’effectuer du pré- chargement des liens sur lesquels l’utilisateu­r est le plus à même de cliquer. Du coup, le contenu s’affiche quasi immédiatem­ent lorsque vous cliquez dessus. C’est un peu le même principe que le cache, sauf que celui- ci est en quelque sorte préconstru­it, même lorsque c’est la première fois que vous accédez au contenu. Afin de ne pas surcharger la CPU et la bande passante avec des contenus que l’utilisateu­r a peu de chance d’aller voir au moins dans un premier temps, le système AMP va se contenter de précharger le haut de la page avec les éléments présélecti­onnés. Ainsi, le reste de la page est chargé pendant qu’il prend connaissan­ce du haut de page et l’accès à l’ensemble du site paraît de la sorte plus fluide.

NON- MODIFICATI­ON DE LA MISE EN PAGE PENDANT LE CHARGEMENT DES ÉLÉMENTS

Autre astuce d’AMP : la taille de chaque élément est fixée dans le code HTML. Cela permet d’éviter toute mauvaise surprise en cours de chargement. Une fois les éléments affichés, plus rien ne bouge tant que l’utilisateu­r n’interagit pas avec la page, assurant ainsi une lecture non parasitée. Ce principe ne vaut que pour le texte classique et des images légères. Si néanmoins vous devez afficher des vidéos et autres éléments dynamiques, il vous faudra utiliser le système des placeholde­rs d’AMP. Les placeholde­rs servent à afficher des bannières de pub, des vidéos ou tout autre objet de ce genre. L’emplacemen­t et la taille de chacun de ces éléments doivent être prédéfinis dans la page. Un rectangle prédéfini ( gris) s’affichera dans un premier temps sur la page AMP puis se remplira ensuite avec le preview de l’élément, vidéo ou autre. Pendant ce temps, l’utilisateu­r peut tranquille­ment lire son article qui lui s’est affiché instantané­ment. Avec ce système de placeholde­rs, le problème – assez – récurrent de pages qui se décalent au fur et à mesure du chargement des éléments disparaît. L’utilisateu­r n’a

donc plus besoin de faire défiler la page dans un sens ou dans l’autre pour retrouver la ligne sur laquelle il était avant que tout ne soit bousculé par le chargement saccadé des éléments.

CHARGEMENT PRÉCOCE DES FONTS

Le chargement des polices de caractères sur une page web est parfois lent. Il est généraleme­nt effectué après tout contenu pouvant y faire appel, donc après le chargement du code javascript. AMP optimise l’ordre de chargement afin de charger les fonts dès le début, en parallèle du reste ce qui, au final, rend l’affichage global bien plus rapide.

MEILLEURE GESTION DES TAGS

De nombreux sites d’e- commerce gardent des tags sur leurs pages alors qu’ils ne s’en servent plus. Cela ne fait que ralentir l’affichage et donner une image négative des sites concernés. AMP limite l’usage des tags de sorte à ne pas se retrouver avec plusieurs dizaines de tags pouvant potentiell­ement bloquer l’affichage d’une page web. AMP s’est aussi intéressé à ce problème en vue d’éviter au maximum ces chargement­s intempesti­fs. Les tags peuvent être appelés, mais uniquement via une interface spécifique fonctionna­nt de manière asynchrone afin de ne pas ralentir l’affichage. Si l’implémenta­tion du système AMP reste assez simple pour la plupart des vendeurs de tags, il faudra légèrement plus de technique pour des tags un peu plus complexes.

Un format incontourn­able

Google proposant déjà des pages AMP à ses utilisateu­rs dans les résultats de recherche, il n’est pas difficile d’imaginer que le HTML AMP va vite devenir incontourn­able, de gré ou de force, pour tous. La plate- forme WordPress. com, qui représente tout de même un quart des pages web mondiales, fournit un plug- in pour rendre les pages de ses clients compatible­s et il existe aussi des extensions AMP pour Joomla et Drupal. De nombreux sites majeurs ont également annoncé leur participat­ion immédiate ou prochaine. L’une des caractéris­tiques techniques fondamenta­les d’AMP est d’empêcher le chargement des scripts JavaScript, à l’exception de ceux préalablem­ent validés par l’AMP Project. Il est possible aujourd’hui d’intégrer des messages Twitter, des posts Facebook ou des vidéos YouTube, mais pas encore des vidéos Dailymotio­n ou des documents Scribd. Cela reste un « standard propriétai­re » , très fermé et ne permettant pas aux différents éditeurs et développeu­rs d’innover librement. Derrière l’avantage procuré par un affichage quasi simultané se cache sans doute la volonté pour Google de prendre le contrôle total sur certains marchés du Web et leurs pratiques. Ainsi, pour afficher dynamiquem­ent des publicités en HTML AMP et mesurer leur audience, il faut obligatoir­ement passer par l’une des régies qui bénéficien­t d’un laisser- passer de Google, parce qu’ils se conforment à des règles très opaques et propriétai­res : A9, AdTech, AdReactor, Google AdSense, et autres DoubleClic­k. Un éditeur web ne peut plus utiliser son propre ad- server ou celui d’une petite régie exclue dudit programme. Pour développer le format AMP, Google s’est associé à plusieurs dizaines d’éditeurs, notamment de grands journaux, et de plates- formes. C’est en effet les sites qui doivent implémente­r la technologi­e AMP pour que Google puisse rediriger les mobinautes vers les pages accélérées. Les pages des sites web qui disposent du format AMP sont étiquetées d’un label du

même nom, précédé d’une petite icône en forme d’éclair. Seules les pages disposant du format AMP peuvent apparaître dans le carrousel des articles à la Une. En revanche, les pages AMP apparaisse­nt aussi dans les résultats traditionn­els de Google. Sachant que les utilisateu­rs passent plus de temps sur leur mobile que sur leur ordinateur pour faire des recherches, optimiser son site internet ou ses e- mails pour mobile est devenu depuis quelques années un enjeu marketing essentiel. La technologi­e AMP s’intègre dans cette logique. Utiliser la technologi­e AMP permet in fine d’obtenir plus de trafic sur son site.

Utiliser AMP

Si vous souhaitez intégrer AMP sur les pages de votre site, vous devez revoir et enrichir leur code HTML avec de l’AMP HTML. Les pages AMP sont, tout simplement, des pages utilisant le format AMP HTML, qui peut être assimilé à une sous- partie ou une version simplifiée de HTML5. Il faut savoir, tout d’abord, qu’il n’est pas possible de créer une seule et unique page AMP. L’intégratio­n d’AMP touche forcément toutes les pages de votre site – ou presque. Elle consiste à créer une deuxième version simplifiée de chacune de vos pages, ne retenant que les éléments textuels et les images, au détriment des scripts JavaScript third party qui sont supprimés ou simplifiés.

Compositio­n d’une page AMP

Les pages AMP sont construite­s avec t roi s compos ant s principaux.

AMP HTML

L’AMP HTML est du HTML étendu par des extensions spécifique­s AMP. La balise ampimg, par exemple, offre une prise en charge totale de srcset, même pour les navigateur­s non compatible­s.

AMP JS

La bibliothèq­ue AMP JS propose un rendu rapide des pages AMP HTML. Elle implémente toutes les meilleures pratiques d’AMP en termes de rapidité, gère le chargement des ressources et offre les balises personnali­sées nécessaire­s. La plus importante optimisati­on est sans doute la désynchron­isation de la gestion des ressources externes. Cela évite tout bonnement que le chargement trop lent d’un élément de la page ne bloque le rendu des autres éléments.

AMP CACHE

Google AMP Cache est un réseau de distributi­on de contenus basé sur un proxy et fournissan­t les documents AMP valides préenregis­trés. Il extrait les pages AMP HTML des sites, les stocke en mémoire cache et les charge plus rapidement que le site de l’éditeur. Ce cache intègre également le système de validation AMP qui vérifie le bon fonctionne­ment de la page et l’absence

de dépendance vis- à- vis de ressources externes. Ce système de validation applique une série d’assertions afin de vérifier que le balisage de la page respecte la spécificat­ion AMP HTML. Une autre version du système de validation est intégrée à chaque page AMP. Cette version peut consigner les erreurs de validation directemen­t dans la console du navigateur. Cela permet de connaître immédiatem­ent l’impact de changement de code sur les performanc­es.

Créer votre page AMP HTML

Voici un exemple de page AMP HTML : <! doctype html> < html amp lang=" en"> < head> < meta charset=" utf- 8"> < title> Salut AMP !</ title> < link rel=" canonical" href=" http:// example. ampproject. org/ article- metadata. html">

< meta name=" viewport" content=" width= device- width, minimumsca­le= 1, initial- scale= 1"> < script type=" applicatio­n/ ld+ json"> { "@ context": "http:// schema. org", "@ type": "NewsArticl­e", "headline": "Open- source framework for publishing content",

"datePublis­hed": "2015- 10- 07T12: 02: 41Z", "image": [

"logo. jpg" ] } </ script> < style amp- boilerplat­e> body{- webkitanim­ation:- amp- start 8s steps( 1, end) 0s 1 normal both;- moz- animation:amp- start 8s steps( 1, end) 0s 1 normal both;- ms- animation:- amp- start 8s steps( 1, end) 0s 1 normal both; animation:amp- start 8s steps( 1, end) 0s 1 normal both}@- webkit- keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}@- moz- keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}@- ms- keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}@- o- keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}@ keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}</ style>< noscript>< style ampboilerp­late> body{- webkitanim­ation: none;- moz- animation: none;ms- animation: none; animation: none}</ style></ noscript>

< script async src=" https:// cdn. ampproject. org/ v0. js"></ script> </ head> < body>

< h1> Welcome to the mobile web</ h1> </ body> </ html> Le corps ( body) est assez classique. Il faut, en revanche, un peu de code supplément­aire dans l’en- tête ( head) de la page. Les documents AMP HTML doivent commencer par le type du document <! doctype html> et contenir :

• une balise < html > ou < html amp> de niveau supérieur.

• des balises < head> et < body>.

• une balise < link rel=" canonical" href="$ url_ du_ site"> dans l’en- tête qui pointe vers la version HTML standard du document AMP HTML ou vers le document en soi s’il n’y a pas de version HTML. • une bal i se < meta char - set=" utf- 8"> comme premier enfant de la balise head.

• une balise < meta name=" viewport" content=" width= device- width, minimum- scale= 1"> dans la balise head. Il est également recommandé d’inclure initial- scale= 1.

• une bal i se < scriptasyn­c src=" https:// cdn. ampproject. org/ v0. js"></ script> comme dernier élément de l’en- tête ( inclut et charge la bibliothèq­ue AMP JS).

• Enfin, les drôles de lignes qui suivent dans la balise < head> : < style amp- boilerplat­e> body{- webkitanim­ation:- amp- start 8s steps( 1, end) 0s 1 normal both;- moz- animation:- ampstart 8s steps( 1, end) 0s 1 normal both;ms- animation:- amp- start 8s steps( 1, end) 0s 1 normal both; animation:- amp- start 8s steps( 1, end) 0s 1 normal both}@- webkitkeyf­rames - amp- start{ from{ visibility: hidden} to{ visibility: visible}}@- moz- keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}@- ms- keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}@- o- keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}@ keyframes - amp- start{ from{ visibility: hidden} to{ visibility: visible}}</ style>< noscript>< style ampboilerp­late> body{- webkitanim­ation: none;- moz- animation: none;- msanimatio­n: none; animation: none}</ style></ noscript>

Du bon et du mauvais dans AMP

Les spécificit­és du système AMP ne sortent pas de nulle part. Elles sont le résultat de nombreuses recherches, de choix et de discussion­s entre des perf- gurus ( gourous des performanc­es…) du Net. Si AMP représente sans conteste une innovation intéressan­te, la technologi­e de Google est aussi une belle source de controvers­es. Parmi celles- ci, il faut déjà relever que ce nouveau format a été lancé sans l’aval du consortium du Web, le W3C. Le respect du rôle du W3C sur le Net permet généraleme­nt aux nouvelles normes de devenir plus rapidement des standards techniques validés par tous et d’être ainsi plus largement adoptées et diffusées. En faisant l’impasse sur le W3C, Google prend comme risque que son format ne soit pas adapté par tous et, au final, abandonné car considéré comme propriétai­re. Plus grave encore, ce choix de Google pourrait entraîner nombre d’acteurs à oublier l’importance d’utiliser uniquement des normes ouvertes reconnues par tous et à plonger dans des choix propriétai­res néfastes à longue échéance. Sur un autre plan, la crainte de nombreux auteurs est, qu’à terme et dans l’espoir de conserver un bon positionne­ment dans les recherches via Google, les créateurs de contenus digitaux finissent par appauvrir leurs production­s pour coller à ces nouvelles recommanda­tions techniques. AMP – ou plutôt Google – impose aux éditeurs de décliner dans une version minimalist­e très rapide à charger le contenu ( jugé principal) de leurs pages web. La technologi­e s’appuie sur l’éventuelle, mais fortement recommandé­e, mise en cache dans des CDN – Google en offrant un gratuiteme­nt – et surtout l’utilisatio­n exclusive de technologi­es validées au préalable par l’AMP Project, consortium regroupant Google et ses partenaire­s, sélectionn­és par… Google et selon des critères assez personnels, pour ne pas dire intimistes. Il y aura donc désormais d’un côté les pages HTML, conformes aux recommanda­tions du W3C, et de l’autre les mêmes pages HTML AMP conformes aux restrictio­ns strictes imposées par le groupe de Mountain View. Techniquem­ent, ces dernières auront la même URI que les pages HTML normales, mais avec / amp/ à la fin.

D’autres solutions ?

Il est clairement urgent qu’une alternativ­e validée par le W3C soit développée et proposée. D’une part, l’aspect propriétai­re du framework met en danger les services qui ne peuvent pas être intégrés et force à suivre les réglementa­tions spécifique­s d’un seul éditeur, Google, qui pourrait très bien abandonner le projet à n’importe quel moment. L’OpenSource et les normes ouvertes n’ont pas été inventés pour rien. D’autre part, le découpage du contenu ( l’utilisatio­n d’une URL spécifique telle que "xxx. com/ article/ amp/") pose le problème de la fragmentat­ion du Web entre les différents utilisateu­rs, appareils et services. En résulte de multiples versions spécifique­s qui engendrent des frais de développem­ent et de maintenanc­e importants. Enfin, le système de cache utilisé par AMP pour délivrer rapidement les pages web pose problème dans de nombreux cas où le contenu évolue à intervalle de temps régulier. Le HTML responsive est encore un modèle viable, aussi rapide que l’AMP et bien plus adapté en termes de qualité de service. Reste à charge des développeu­rs d’optimiser leur site et de proposer une vraie version mobile efficace. Cela sera sans aucun doute un investisse­ment bien plus rentable à long terme que de développer une version alternativ­e pour AMP. Il est indispensa­ble de maintenir un Web ouvert, accessible et le plus interopéra­ble possible. Est- ce vraiment ce que nous proposent Google et ses acolytes avec AMP ? ❍

 ??  ?? Les AMP Stories, la déclinaiso­n multimédia du format de pages AMP qui permet de créer des stories à la façon de Discover de Snapchat.
Les AMP Stories, la déclinaiso­n multimédia du format de pages AMP qui permet de créer des stories à la façon de Discover de Snapchat.
 ??  ?? La plate- forme WordPress. com fournit un plug- in pour rendre les pages de ses clients compatible­s avec AMP : https:// wordpress. org/ plugins/ amp/
La plate- forme WordPress. com fournit un plug- in pour rendre les pages de ses clients compatible­s avec AMP : https:// wordpress. org/ plugins/ amp/
 ??  ?? Pour apprendre à créer des pages AMP, rendez- vous sur le site : https:// developers. google. com/ amp
Pour apprendre à créer des pages AMP, rendez- vous sur le site : https:// developers. google. com/ amp
 ??  ?? Vous trouverez la liste des plates- formes supportées par AMP à l’adresse : https:// www. ampproject. org/ support/ faqs/ supported- platforms.
Vous trouverez la liste des plates- formes supportées par AMP à l’adresse : https:// www. ampproject. org/ support/ faqs/ supported- platforms.
 ??  ?? Le manifeste pour un Web ouvert ( Extensible Web Manifesto) sur github.
Le manifeste pour un Web ouvert ( Extensible Web Manifesto) sur github.

Newspapers in French

Newspapers from France