SlideShare a Scribd company logo
1 of 41
Download to read offline
WebExtensions
Où en est-on ? Where we are ?
@hellosct1
@hellosct1@mamot.fr
10 septembre
UbuCon Europe Paris 2017
Christophe Villeneuve
UbuCon Europe Paris 2017 -
Tag : mozilla reps - firefox - B2GOS - ausy - afup – lemug.fr – mysql –
mariadb – drupal – demoscene – addons - WebExtensions – drupagora –
phptour – forumphp – linux magazine - Libre@toi – eyrolles – editions eni
– programmez – linux pratique – webriver – phptv – elephpant - owasp -
security
Qui ???
Christophe
Villeneuve
Contributeur / Réalisation
Contributor / Realization
UbuCon Europe Paris 2017 -
Aujourd'hui...
● Sujet du jour !!!... Pourquoi ?
● Maintenant
● Demain
Sujet du jour : Le chamboulement
UbuCon Europe Paris 2017 -
Rappel : Une extension ? (1/2)
● Modules complémentaires au navigateur
● Amélioration du navigateur
● Fait partie de Firefox depuis l'origine
UbuCon Europe Paris 2017 -
Rappel : Une extension ? (2/2)
● Les projets Web
→ montrent l’importance des extensions dans Firefox
● Important de montrer les API sont puissants
– 40 % des utilisateurs ont des extensions
– 32 000 modules complémentaires
– 19 000 développeurs d'extensions
– 15 millions d'utilisateurs mensuels sur Mozilla Add-ons
(AMO)
UbuCon Europe Paris 2017 -
Attention aux titres trompeurs
Mozilla va
abandonner le support
des extensions
La fin des extensions
Mozilla Will Kill
Legacy Firefox Add-Ons
in Exactly Three Months
UbuCon Europe Paris 2017 -
Roadmap
● Firefox 48 : Release stable
– SDK avec extension WebExtensions déjà disponible
● Firefox 53 : Conteneurs sécurisés
– Seulement WebExtensions accepté sur addons.mozilla.org
● Firefox 57 – 14 novembre
– Uniquement WebExtension pour Firefox
– API du système de fichier
– Barre latérale et autres API d'élément d'interface
utilisateur
– Expériences WebExtension pour créer de nouvelles API
UbuCon Europe Paris 2017 -
Firefox 55 : les extensions
UbuCon Europe Paris 2017 -
Les extensions sont mortes
Vive Les Extensions
UbuCon Europe Paris 2017 -
Firefox 57 : Les extensions
Construction de la technologie
UbuCon Europe Paris 2017 -
Avant : XUL / XPCOM
● XUL est une technologie XML
– Utilisée pour l'interface Firefox
● XPPCOM est une structure JavaScript
– Interagir avec XUL
– Avec une API différente de la classique HTML5
● Le développeur web doit respecter ces technologies
→ HTML classique, CSS, Javascript
● Aujourd'hui
– Ne répond plus au attente
– Mises à jour / révisions… trop long
UbuCon Europe Paris 2017 -
Bienvenue aux WebExtensions
● Créer une API robuste
● Parité avec extensions chrome api
● Documentation
● Prise en charge de Firefox pour Android
● Technologie standard
UbuCon Europe Paris 2017 -
Compatibilité
● Edge / Opera / Chrome / Firefox
● Compatible Qtwebkit
Les migrations (en cours) importantes
UbuCon Europe Paris 2017 -
Actuellement, c'est...
● 4072 WebExtensions
● https://addons.mozilla.org/en-US/firefox/tag/firefox57
● Catégories
- Alertes et mises à jour
- Apparence
- Signets
- Gestion du téléchargement
- Flux, Actualités & Blog
- Jeux et divertissement
- Support linguistique
- Autre
- Photos, musique et vidéos
- Confidentialité et sécurité
- Outils de recherche
- Achats
- Communication sociale
- Onglets
- Développement web
UbuCon Europe Paris 2017 -
Interface utilisateur (1/
L'utilisation d'une extension s'effectue par...
Page action (bouton barre d'adresse)
Browser action (bouton barre d'outils)
UbuCon Europe Paris 2017 -
Interface utilisateur (2/
Sidebar (barre latérale)
Context menu items (Elément du
menu contextuel)
UbuCon Europe Paris 2017 -
Interface utilisateur (3/
Address bar suggestions (Suggestions
de la barre d'adresse)
Notifications (Notifications)
Bundled web pages (Page web
incluses)
UbuCon Europe Paris 2017 -
Interface utilisateur (4/
Developer tools panels (Panneaux
d'outils de développement)
Options page (Page d'options)
UbuCon Europe Paris 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
UbuCon Europe Paris 2017 -
Confiance aux WebExtensions (1/
● Demandes aux accès spéciaux de l’extension
● Déclaration dans manifest.json
● La clé peut contenir plusieurs types d'autorisations
"permissions": [
"*://developer.mozilla.org/*",
"webRequest"
]
https://developer.mozilla.org/fr/Add-ons/WebExtensions/manifest.json/permissions
UbuCon Europe Paris 2017 -
Confiance aux WebExtensions (2/
● La permission d’hôte
● Les permissions API
"*://developer.mozilla.org/*"
activeTab
alarms
bookmarks
browsingData
contextMenus
contextualIdent
ities
cookies
downloads
downloads.open
history
identity
idle
management
nativeMessaging
notifications
proxy
sessions
storage
tabs
topSites
webNavigation
webRequest
webRequestBlocking
UbuCon Europe Paris 2017 -
Confiance aux WebExtensions (3/
● La permission activeTab
– Spécifique aux onglets
– Utilisation interaction utilisateur
● Background, Browser Action, Page Action…
● Accès aux presse-papiers
– Interagir avec le presse papiers
"permissions": ["tabs"]
"permissions": [
"*://developer.mozilla.org/*",
"tabs"]
ou
Changements importants
UbuCon Europe Paris 2017 -
Extensions → WebExtensions (1/
● Développement / Debug
Firebug > DevTools
UbuCon Europe Paris 2017 -
Extensions → WebExtensions (3/
● Crash
– Session Manager > Session Restore
UbuCon Europe Paris 2017 -
Extensions → WebExtensions (4/
● Améliore menu contextuel
● FaviconizeTab > Tab pinning
UbuCon Europe Paris 2017 -
Extensions → WebExtensions (5/
● Multizilla > Tab browsing
UbuCon Europe Paris 2017 -
Autres utilisations (1/
● Recherche d’onglets
– WebExtension : Tree Tabs
–
● Utile pour gérer des centaines d'onglets
●
https://addons.mozilla.org/fr/firefox/addon/tree-tabs
UbuCon Europe Paris 2017 -
Autres utilisations (2/
● Privacy & sécurity
– Ublock Origin
https://addons.mozilla.org/en-us/firefox/addon/ublock-origin
UbuCon Europe Paris 2017 -
Autres utilisations (3/
● Privacy & sécurity
– Ublock Origin
– Privacy Badger
https://addons.mozilla.org/en-us/firefox/addon/ublock-origin
https://addons.mozilla.org/en-us/firefox/addon/privacy-badger17
UbuCon Europe Paris 2017 -
Autres utilisations (4/
● Thèmes : module stylus
– https://addons.mozilla.org/en-US/firefox/addon/styl-us/
● Header :
– https://addons.mozilla.org/en-US/firefox/addon/modify-header-value
● Cookie manager :
– https://addons.mozilla.org/en-us/firefox/addon/a-cookie-manager
● Laspass :
– https://addons.mozilla.org/en-US/firefox/addon/lastpass-password-ma
nager/
● Gostery :
– https://addons.mozilla.org/en-US/firefox/addon/ghostery/
● VPN :
– https://addons.mozilla.org/en-US/firefox/addon/windscribe/
Maintenant, utilisons les WebExtensions
UbuCon Europe Paris 2017 -
Tester les WebExtensions
● Firefox Nightly
http://nightly.mozfr.org/
UbuCon Europe Paris 2017 -
Tester les WebExtensions
● Firefox 57 Beta
– A partir du 26 septembre 2017
https://www.mozilla.org/fr/firefox/channel/desktop/
UbuCon Europe Paris 2017 -
WebExtensions : portage (1/2)
● Les WebExtensions déjà disponibles
– https://addons.mozilla.org/en-US/firefox/tag/firefox57
● Les WebExtensions les plus populaires (en cours)
– Are we WebExtensions yet ?
● http://arewewebextensionsyet.com/
● Les WebExtensions en cours
– Discourse Mozilla :
● https://discourse.mozilla.org/c/add-ons
UbuCon Europe Paris 2017 -
WebExtensions : portage (2/2)
● Porter une extension Google Chrome
– Utilisation facilitée
● https://www.extensiontest.com/
● Porter une ancienne extension Firefox
– Extension héritée (Legacy)
UbuCon Europe Paris 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
Merci
Questions
Christophe Villeneuve
@hellosct1

More Related Content

What's hot

Les écrans animés dans les navigateurs
Les écrans animés dans les navigateursLes écrans animés dans les navigateurs
Les écrans animés dans les navigateursChristophe Villeneuve
 
Make (et make file) dans le cadre de wordpress
Make (et make file) dans le cadre de wordpressMake (et make file) dans le cadre de wordpress
Make (et make file) dans le cadre de wordpressGuillaume Richard
 
Introduction au langage de programmation Lua / Digital apéro [03/12/2014]
Introduction au langage de programmation Lua / Digital apéro [03/12/2014]Introduction au langage de programmation Lua / Digital apéro [03/12/2014]
Introduction au langage de programmation Lua / Digital apéro [03/12/2014]Silicon Comté
 
Les extensions Firefox et Google Chrome pour naviguer efficacement
Les extensions Firefox et Google Chrome pour naviguer efficacementLes extensions Firefox et Google Chrome pour naviguer efficacement
Les extensions Firefox et Google Chrome pour naviguer efficacementURFIST de Paris
 
Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Embarquer le web dans un smartphone Firefox OS - RMLL 2015Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Embarquer le web dans un smartphone Firefox OS - RMLL 2015Christophe Villeneuve
 
Firefox os et vie privee - RMLL 2015
Firefox os et vie privee - RMLL 2015Firefox os et vie privee - RMLL 2015
Firefox os et vie privee - RMLL 2015Christophe Villeneuve
 
Utilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudUtilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudChristophe Catarina
 
Distro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedDistro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedAnne Nicolas
 
Comment créer des Chrome Apps ou Packaged Chrome Apps
Comment créer des Chrome Apps ou Packaged Chrome AppsComment créer des Chrome Apps ou Packaged Chrome Apps
Comment créer des Chrome Apps ou Packaged Chrome AppsBruno Soufo
 
Firefox et Firefox OS et vie privee - Journée du libre 2015 Lille
Firefox et Firefox OS et vie privee - Journée du libre 2015 LilleFirefox et Firefox OS et vie privee - Journée du libre 2015 Lille
Firefox et Firefox OS et vie privee - Journée du libre 2015 LilleChristophe Villeneuve
 
Firefox OS 1.1 L'autre systeme pour smartphone
Firefox OS 1.1 L'autre systeme pour smartphoneFirefox OS 1.1 L'autre systeme pour smartphone
Firefox OS 1.1 L'autre systeme pour smartphoneChristophe Villeneuve
 
Firefox OS dans le web - Journée du libre 2015 Lille
Firefox OS dans le web - Journée du libre 2015  LilleFirefox OS dans le web - Journée du libre 2015  Lille
Firefox OS dans le web - Journée du libre 2015 LilleChristophe Villeneuve
 
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...Paris Open Source Summit
 
Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Jean Gabès
 
Web 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entrepriseWeb 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entrepriseLINAGORA
 
Le poste de travail Libre
Le poste de travail LibreLe poste de travail Libre
Le poste de travail LibreLINAGORA
 

What's hot (20)

Firefox et les WebExtensions
Firefox et les WebExtensionsFirefox et les WebExtensions
Firefox et les WebExtensions
 
Les écrans animés dans les navigateurs
Les écrans animés dans les navigateursLes écrans animés dans les navigateurs
Les écrans animés dans les navigateurs
 
Make (et make file) dans le cadre de wordpress
Make (et make file) dans le cadre de wordpressMake (et make file) dans le cadre de wordpress
Make (et make file) dans le cadre de wordpress
 
Firefox comme navigateur alternatif
Firefox comme navigateur alternatifFirefox comme navigateur alternatif
Firefox comme navigateur alternatif
 
Introduction au langage de programmation Lua / Digital apéro [03/12/2014]
Introduction au langage de programmation Lua / Digital apéro [03/12/2014]Introduction au langage de programmation Lua / Digital apéro [03/12/2014]
Introduction au langage de programmation Lua / Digital apéro [03/12/2014]
 
Les extensions Firefox et Google Chrome pour naviguer efficacement
Les extensions Firefox et Google Chrome pour naviguer efficacementLes extensions Firefox et Google Chrome pour naviguer efficacement
Les extensions Firefox et Google Chrome pour naviguer efficacement
 
Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Embarquer le web dans un smartphone Firefox OS - RMLL 2015Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Embarquer le web dans un smartphone Firefox OS - RMLL 2015
 
Firefox os et vie privee - RMLL 2015
Firefox os et vie privee - RMLL 2015Firefox os et vie privee - RMLL 2015
Firefox os et vie privee - RMLL 2015
 
Firefox extensions vpdf
Firefox extensions vpdfFirefox extensions vpdf
Firefox extensions vpdf
 
Utilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudUtilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaud
 
Distro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedDistro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbedded
 
Comment créer des Chrome Apps ou Packaged Chrome Apps
Comment créer des Chrome Apps ou Packaged Chrome AppsComment créer des Chrome Apps ou Packaged Chrome Apps
Comment créer des Chrome Apps ou Packaged Chrome Apps
 
Utiliser le support firefox - SUMO
Utiliser le support firefox - SUMOUtiliser le support firefox - SUMO
Utiliser le support firefox - SUMO
 
Firefox et Firefox OS et vie privee - Journée du libre 2015 Lille
Firefox et Firefox OS et vie privee - Journée du libre 2015 LilleFirefox et Firefox OS et vie privee - Journée du libre 2015 Lille
Firefox et Firefox OS et vie privee - Journée du libre 2015 Lille
 
Firefox OS 1.1 L'autre systeme pour smartphone
Firefox OS 1.1 L'autre systeme pour smartphoneFirefox OS 1.1 L'autre systeme pour smartphone
Firefox OS 1.1 L'autre systeme pour smartphone
 
Firefox OS dans le web - Journée du libre 2015 Lille
Firefox OS dans le web - Journée du libre 2015  LilleFirefox OS dans le web - Journée du libre 2015  Lille
Firefox OS dans le web - Journée du libre 2015 Lille
 
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
 
Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)
 
Web 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entrepriseWeb 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entreprise
 
Le poste de travail Libre
Le poste de travail LibreLe poste de travail Libre
Le poste de travail Libre
 

Similar to WebExtensions : Où en est-on ? /// Where we are ?

Habillez votre navigateur avec les webextensions
Habillez votre navigateur avec les webextensionsHabillez votre navigateur avec les webextensions
Habillez votre navigateur avec les webextensionsChristophe Villeneuve
 
Utiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsUtiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsChristophe Villeneuve
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxChristophe Villeneuve
 
La sécurité dans les extensions Webs
La sécurité dans les extensions WebsLa sécurité dans les extensions Webs
La sécurité dans les extensions WebsChristophe Villeneuve
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsChristophe Villeneuve
 
RMLL 2011 - L'accessibilité Web des CMS
RMLL 2011 - L'accessibilité Web des CMSRMLL 2011 - L'accessibilité Web des CMS
RMLL 2011 - L'accessibilité Web des CMSYannick Pavard
 
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeConcevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeChristian Charreyre
 
Rmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-frRmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-frGaëtan Trellu
 
Atelier sur les logiciels et services Web gratuits pouvant être utiles en thè...
Atelier sur les logiciels et services Web gratuits pouvant être utiles en thè...Atelier sur les logiciels et services Web gratuits pouvant être utiles en thè...
Atelier sur les logiciels et services Web gratuits pouvant être utiles en thè...URFIST de Paris
 
Rendre son CMS conforme au SGQRI 008 en 20 étapes
Rendre son CMS conforme au SGQRI 008 en 20 étapesRendre son CMS conforme au SGQRI 008 en 20 étapes
Rendre son CMS conforme au SGQRI 008 en 20 étapesConFoo
 
L'accessibilité en 20 étapes pour TYPO3 et Wordpress
L'accessibilité en 20 étapes pour TYPO3 et WordpressL'accessibilité en 20 étapes pour TYPO3 et Wordpress
L'accessibilité en 20 étapes pour TYPO3 et WordpressYannick Pavard
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec OdooHassan WAHSISS
 
API != REST - procmail à la rescousse
API != REST - procmail à la rescousseAPI != REST - procmail à la rescousse
API != REST - procmail à la rescousseOpen Source Experience
 
Frédéric Bisson - 8 ans de Drupal - Drupal Meetup Rouen #3
Frédéric Bisson - 8 ans de Drupal - Drupal Meetup Rouen #3Frédéric Bisson - 8 ans de Drupal - Drupal Meetup Rouen #3
Frédéric Bisson - 8 ans de Drupal - Drupal Meetup Rouen #3Normandie Web Xperts
 
Communiqué de presse TYPO3 V4.4
Communiqué de presse TYPO3 V4.4Communiqué de presse TYPO3 V4.4
Communiqué de presse TYPO3 V4.4Christophe Delauve
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousjwajsberg
 
FusionDirectory : Industrialisation du déploiement
FusionDirectory : Industrialisation du déploiement FusionDirectory : Industrialisation du déploiement
FusionDirectory : Industrialisation du déploiement Anne Nicolas
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxBruno Cornec
 

Similar to WebExtensions : Où en est-on ? /// Where we are ? (20)

La face cachee des web extensions
La face cachee des web extensionsLa face cachee des web extensions
La face cachee des web extensions
 
The hidden side of webExtensions
The hidden side of webExtensionsThe hidden side of webExtensions
The hidden side of webExtensions
 
Habillez votre navigateur avec les webextensions
Habillez votre navigateur avec les webextensionsHabillez votre navigateur avec les webextensions
Habillez votre navigateur avec les webextensions
 
Utiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsUtiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensions
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans Firefox
 
La sécurité dans les extensions Webs
La sécurité dans les extensions WebsLa sécurité dans les extensions Webs
La sécurité dans les extensions Webs
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtools
 
RMLL 2011 - L'accessibilité Web des CMS
RMLL 2011 - L'accessibilité Web des CMSRMLL 2011 - L'accessibilité Web des CMS
RMLL 2011 - L'accessibilité Web des CMS
 
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeConcevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
 
Rmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-frRmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-fr
 
Atelier sur les logiciels et services Web gratuits pouvant être utiles en thè...
Atelier sur les logiciels et services Web gratuits pouvant être utiles en thè...Atelier sur les logiciels et services Web gratuits pouvant être utiles en thè...
Atelier sur les logiciels et services Web gratuits pouvant être utiles en thè...
 
Rendre son CMS conforme au SGQRI 008 en 20 étapes
Rendre son CMS conforme au SGQRI 008 en 20 étapesRendre son CMS conforme au SGQRI 008 en 20 étapes
Rendre son CMS conforme au SGQRI 008 en 20 étapes
 
L'accessibilité en 20 étapes pour TYPO3 et Wordpress
L'accessibilité en 20 étapes pour TYPO3 et WordpressL'accessibilité en 20 étapes pour TYPO3 et Wordpress
L'accessibilité en 20 étapes pour TYPO3 et Wordpress
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec Odoo
 
API != REST - procmail à la rescousse
API != REST - procmail à la rescousseAPI != REST - procmail à la rescousse
API != REST - procmail à la rescousse
 
Frédéric Bisson - 8 ans de Drupal - Drupal Meetup Rouen #3
Frédéric Bisson - 8 ans de Drupal - Drupal Meetup Rouen #3Frédéric Bisson - 8 ans de Drupal - Drupal Meetup Rouen #3
Frédéric Bisson - 8 ans de Drupal - Drupal Meetup Rouen #3
 
Communiqué de presse TYPO3 V4.4
Communiqué de presse TYPO3 V4.4Communiqué de presse TYPO3 V4.4
Communiqué de presse TYPO3 V4.4
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
 
FusionDirectory : Industrialisation du déploiement
FusionDirectory : Industrialisation du déploiement FusionDirectory : Industrialisation du déploiement
FusionDirectory : Industrialisation du déploiement
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à Linux
 

More from Christophe Villeneuve

controler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webcontroler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webChristophe Villeneuve
 
Open Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteOpen Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteChristophe Villeneuve
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Christophe Villeneuve
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le designChristophe Villeneuve
 
Mozilla french speaking community activites
Mozilla french speaking community activitesMozilla french speaking community activites
Mozilla french speaking community activitesChristophe Villeneuve
 
Monitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftMonitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftChristophe Villeneuve
 
Le futur de l'authentification webAuthn
Le futur de l'authentification webAuthnLe futur de l'authentification webAuthn
Le futur de l'authentification webAuthnChristophe Villeneuve
 
Tests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueTests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueChristophe Villeneuve
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsChristophe Villeneuve
 

More from Christophe Villeneuve (20)

MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
pister les pisteurs
pister les pisteurspister les pisteurs
pister les pisteurs
 
controler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webcontroler vos donnees éthiques dans le web
controler vos donnees éthiques dans le web
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Mariadb une base de données NewSQL
Mariadb une base de données NewSQLMariadb une base de données NewSQL
Mariadb une base de données NewSQL
 
Open Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteOpen Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnante
 
Pentest bus pirate
Pentest bus piratePentest bus pirate
Pentest bus pirate
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le design
 
Foxfooding semaine 3
Foxfooding semaine 3Foxfooding semaine 3
Foxfooding semaine 3
 
Foxfooding
FoxfoodingFoxfooding
Foxfooding
 
Accessibilite web wcag rgaa
Accessibilite web wcag rgaaAccessibilite web wcag rgaa
Accessibilite web wcag rgaa
 
Mozilla french speaking community activites
Mozilla french speaking community activitesMozilla french speaking community activites
Mozilla french speaking community activites
 
Monitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftMonitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et Microsoft
 
Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?
 
Le futur de l'authentification webAuthn
Le futur de l'authentification webAuthnLe futur de l'authentification webAuthn
Le futur de l'authentification webAuthn
 
Send large files with addons
Send large files with addonsSend large files with addons
Send large files with addons
 
Tests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueTests d'accessibilite par la pratique
Tests d'accessibilite par la pratique
 
Donnez la voix aux machines
Donnez la voix aux machinesDonnez la voix aux machines
Donnez la voix aux machines
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applications
 

WebExtensions : Où en est-on ? /// Where we are ?

  • 1. WebExtensions Où en est-on ? Where we are ? @hellosct1 @hellosct1@mamot.fr 10 septembre UbuCon Europe Paris 2017 Christophe Villeneuve
  • 2. UbuCon Europe Paris 2017 - Tag : mozilla reps - firefox - B2GOS - ausy - afup – lemug.fr – mysql – mariadb – drupal – demoscene – addons - WebExtensions – drupagora – phptour – forumphp – linux magazine - Libre@toi – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – elephpant - owasp - security Qui ??? Christophe Villeneuve Contributeur / Réalisation Contributor / Realization
  • 3. UbuCon Europe Paris 2017 - Aujourd'hui... ● Sujet du jour !!!... Pourquoi ? ● Maintenant ● Demain
  • 4. Sujet du jour : Le chamboulement
  • 5. UbuCon Europe Paris 2017 - Rappel : Une extension ? (1/2) ● Modules complémentaires au navigateur ● Amélioration du navigateur ● Fait partie de Firefox depuis l'origine
  • 6. UbuCon Europe Paris 2017 - Rappel : Une extension ? (2/2) ● Les projets Web → montrent l’importance des extensions dans Firefox ● Important de montrer les API sont puissants – 40 % des utilisateurs ont des extensions – 32 000 modules complémentaires – 19 000 développeurs d'extensions – 15 millions d'utilisateurs mensuels sur Mozilla Add-ons (AMO)
  • 7. UbuCon Europe Paris 2017 - Attention aux titres trompeurs Mozilla va abandonner le support des extensions La fin des extensions Mozilla Will Kill Legacy Firefox Add-Ons in Exactly Three Months
  • 8. UbuCon Europe Paris 2017 - Roadmap ● Firefox 48 : Release stable – SDK avec extension WebExtensions déjà disponible ● Firefox 53 : Conteneurs sécurisés – Seulement WebExtensions accepté sur addons.mozilla.org ● Firefox 57 – 14 novembre – Uniquement WebExtension pour Firefox – API du système de fichier – Barre latérale et autres API d'élément d'interface utilisateur – Expériences WebExtension pour créer de nouvelles API
  • 9. UbuCon Europe Paris 2017 - Firefox 55 : les extensions
  • 10. UbuCon Europe Paris 2017 - Les extensions sont mortes Vive Les Extensions
  • 11. UbuCon Europe Paris 2017 - Firefox 57 : Les extensions
  • 12. Construction de la technologie
  • 13. UbuCon Europe Paris 2017 - Avant : XUL / XPCOM ● XUL est une technologie XML – Utilisée pour l'interface Firefox ● XPPCOM est une structure JavaScript – Interagir avec XUL – Avec une API différente de la classique HTML5 ● Le développeur web doit respecter ces technologies → HTML classique, CSS, Javascript ● Aujourd'hui – Ne répond plus au attente – Mises à jour / révisions… trop long
  • 14. UbuCon Europe Paris 2017 - Bienvenue aux WebExtensions ● Créer une API robuste ● Parité avec extensions chrome api ● Documentation ● Prise en charge de Firefox pour Android ● Technologie standard
  • 15. UbuCon Europe Paris 2017 - Compatibilité ● Edge / Opera / Chrome / Firefox ● Compatible Qtwebkit
  • 16. Les migrations (en cours) importantes
  • 17. UbuCon Europe Paris 2017 - Actuellement, c'est... ● 4072 WebExtensions ● https://addons.mozilla.org/en-US/firefox/tag/firefox57 ● Catégories - Alertes et mises à jour - Apparence - Signets - Gestion du téléchargement - Flux, Actualités & Blog - Jeux et divertissement - Support linguistique - Autre - Photos, musique et vidéos - Confidentialité et sécurité - Outils de recherche - Achats - Communication sociale - Onglets - Développement web
  • 18. UbuCon Europe Paris 2017 - Interface utilisateur (1/ L'utilisation d'une extension s'effectue par... Page action (bouton barre d'adresse) Browser action (bouton barre d'outils)
  • 19. UbuCon Europe Paris 2017 - Interface utilisateur (2/ Sidebar (barre latérale) Context menu items (Elément du menu contextuel)
  • 20. UbuCon Europe Paris 2017 - Interface utilisateur (3/ Address bar suggestions (Suggestions de la barre d'adresse) Notifications (Notifications) Bundled web pages (Page web incluses)
  • 21. UbuCon Europe Paris 2017 - Interface utilisateur (4/ Developer tools panels (Panneaux d'outils de développement) Options page (Page d'options)
  • 22. UbuCon Europe Paris 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
  • 23. UbuCon Europe Paris 2017 - Confiance aux WebExtensions (1/ ● Demandes aux accès spéciaux de l’extension ● Déclaration dans manifest.json ● La clé peut contenir plusieurs types d'autorisations "permissions": [ "*://developer.mozilla.org/*", "webRequest" ] https://developer.mozilla.org/fr/Add-ons/WebExtensions/manifest.json/permissions
  • 24. UbuCon Europe Paris 2017 - Confiance aux WebExtensions (2/ ● La permission d’hôte ● Les permissions API "*://developer.mozilla.org/*" activeTab alarms bookmarks browsingData contextMenus contextualIdent ities cookies downloads downloads.open history identity idle management nativeMessaging notifications proxy sessions storage tabs topSites webNavigation webRequest webRequestBlocking
  • 25. UbuCon Europe Paris 2017 - Confiance aux WebExtensions (3/ ● La permission activeTab – Spécifique aux onglets – Utilisation interaction utilisateur ● Background, Browser Action, Page Action… ● Accès aux presse-papiers – Interagir avec le presse papiers "permissions": ["tabs"] "permissions": [ "*://developer.mozilla.org/*", "tabs"] ou
  • 27. UbuCon Europe Paris 2017 - Extensions → WebExtensions (1/ ● Développement / Debug Firebug > DevTools
  • 28. UbuCon Europe Paris 2017 - Extensions → WebExtensions (3/ ● Crash – Session Manager > Session Restore
  • 29. UbuCon Europe Paris 2017 - Extensions → WebExtensions (4/ ● Améliore menu contextuel ● FaviconizeTab > Tab pinning
  • 30. UbuCon Europe Paris 2017 - Extensions → WebExtensions (5/ ● Multizilla > Tab browsing
  • 31. UbuCon Europe Paris 2017 - Autres utilisations (1/ ● Recherche d’onglets – WebExtension : Tree Tabs – ● Utile pour gérer des centaines d'onglets ● https://addons.mozilla.org/fr/firefox/addon/tree-tabs
  • 32. UbuCon Europe Paris 2017 - Autres utilisations (2/ ● Privacy & sécurity – Ublock Origin https://addons.mozilla.org/en-us/firefox/addon/ublock-origin
  • 33. UbuCon Europe Paris 2017 - Autres utilisations (3/ ● Privacy & sécurity – Ublock Origin – Privacy Badger https://addons.mozilla.org/en-us/firefox/addon/ublock-origin https://addons.mozilla.org/en-us/firefox/addon/privacy-badger17
  • 34. UbuCon Europe Paris 2017 - Autres utilisations (4/ ● Thèmes : module stylus – https://addons.mozilla.org/en-US/firefox/addon/styl-us/ ● Header : – https://addons.mozilla.org/en-US/firefox/addon/modify-header-value ● Cookie manager : – https://addons.mozilla.org/en-us/firefox/addon/a-cookie-manager ● Laspass : – https://addons.mozilla.org/en-US/firefox/addon/lastpass-password-ma nager/ ● Gostery : – https://addons.mozilla.org/en-US/firefox/addon/ghostery/ ● VPN : – https://addons.mozilla.org/en-US/firefox/addon/windscribe/
  • 35. Maintenant, utilisons les WebExtensions
  • 36. UbuCon Europe Paris 2017 - Tester les WebExtensions ● Firefox Nightly http://nightly.mozfr.org/
  • 37. UbuCon Europe Paris 2017 - Tester les WebExtensions ● Firefox 57 Beta – A partir du 26 septembre 2017 https://www.mozilla.org/fr/firefox/channel/desktop/
  • 38. UbuCon Europe Paris 2017 - WebExtensions : portage (1/2) ● Les WebExtensions déjà disponibles – https://addons.mozilla.org/en-US/firefox/tag/firefox57 ● Les WebExtensions les plus populaires (en cours) – Are we WebExtensions yet ? ● http://arewewebextensionsyet.com/ ● Les WebExtensions en cours – Discourse Mozilla : ● https://discourse.mozilla.org/c/add-ons
  • 39. UbuCon Europe Paris 2017 - WebExtensions : portage (2/2) ● Porter une extension Google Chrome – Utilisation facilitée ● https://www.extensiontest.com/ ● Porter une ancienne extension Firefox – Extension héritée (Legacy)
  • 40. UbuCon Europe Paris 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