Présentation effectuée à la Cookie Party 2017 par Christophe Villeneuve sur "Les écrans animés dans les navigateurs".
La présentation a pour but de montrer comment utiliser les webExtensions dans l'animation avec des fonctionnalités expérimentales.
6. .Cookie Party 2017 -
Les WebExtensions
●
Créer une API robuste
●
Parité avec extensions chrome api
●
Documentation
●
Prise en charge de Firefox pour Android
●
Technologie standard
7. .Cookie Party 2017 -
Compatibilité
●
Edge / Opera / Chrome / Firefox
●
Compatible Qtwebkit
11. .Cookie Party 2017 -
Interface utilisateur (2/
Sidebar (barre latérale)
Context menu items (Elément du
menu contextuel)
12. .Cookie Party 2017 -
Interface utilisateur (3/
Address bar suggestions (Suggestions
de la barre d'adresse)
Notifications (Notifications)
Bundled web pages (Page web
incluses)
13. .Cookie Party 2017 -
Interface utilisateur (4/
Developer tools panels (Panneaux
d'outils de développement)
Options page (Page d'options)
14. .Cookie Party 2017 -
Anatomie
Intéragir avec les pages Web
Contexte page
Bouton dans la barre d'outils
Bouton à la barre d'adresse
Définir une interface utilisateur
Contenu packagé accessible
15. .Cookie Party 2017 -
Manifest.json (1/2)
●
Carte identité d'une extension
●
Script au format jSON
●
https://developer.mozilla.org/fr/Add-ons/WebExtensions
{
"manifest_version": 2,
"name": "WebExtensions",
"version": "2.0",
"description": "The WebExtensions",
"icons": {
"19": "icons/icon-19.png",
"48": "icons/icon-48.png"
},
}
17. .Cookie Party 2017 -
Manifest : Anatomie (1/6)
●
Script d'arrière plan
●
Indépendant
– Des pages web
– Fenêtres du navigateur
●
Exécuter dès que l'extension
est chargée
●
Permissions nécessaires
Background page
18. .Cookie Party 2017 -
Background : Exemple
// manifest.json
"background": {
"scripts": [
"loader.js",
"loader_anim.js",
]
}
Possible
"scripts": ["loader.html"]
19. .Cookie Party 2017 -
Manifest : Anatomie (2/6)
●
Scripts de contenu
●
Accéder et manipuler les
pages Web
●
Fonctionnement :
– Charger dans les pages Web
– Exécuter dans le contexte de
page particulière
●
Possible
– Manipuler le DOM de la
page
Background page
Content scripts
24. .Cookie Party 2017 -
Manifest : Anatomie (4/6)
●
Action dans la barre de
navigation
●
Affiche sur un onglet activé
●
Action pas toujours
nécessaire
Background page
Content scripts
Browser action
Page action
26. .Cookie Party 2017 -
Manifest : Anatomie (5/6)
●
Définir des préférences en
plus
●
Accès par les add-ons du
navigateur
●
Paramètres mémorisés
Background page
Content scripts
Browser action
Page action
Option page
27. .Cookie Party 2017 -
Option page : Exemple
// manifest.json
"options_ui": {
"page": "options.html"
},
28. .Cookie Party 2017 -
Manifest : Anatomie (6/6)
●
Ressources incluses dans
l'extension (ex : images)
●
Accessible par
– Scripts de contenu
– Scripts de pages
●
Web-accessible
●
Utilisation d'un schéma URI
spécial
Background page
Content scripts
Browser action
Page action
Option page
Ressource
29. .Cookie Party 2017 -
Incompatibilités API Javascript
Source : https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs
37. .Cookie Party 2017 -
Ressource : Exemple 2 : Animation
●
Animation d’un thème
●
SVG animé
●
Firefox 59 et +
●
Animation disponible
https://github.com/hellosct1/theme-animation
38. .Cookie Party 2017 -
Ressources
●
Plus de 40 API en exemple
https://github.com/mdn/webextensions-examples
●
Documentation (MDN) en Anglais
– https://developer.mozilla.org/en-US/Add-ons/WebExtensions
●
Documentation (MDN) en Français
– https://developer.mozilla.org/fr/Add-ons/WebExtensions
●
Actualité Add-ons
– https://blog.mozilla.org/addons/
●
Actualité communauté
– https://blog.mozfr.org
39. .Cookie Party 2017 -
Et pour terminer
●
Un écran animé de greetings dans le navigateur