MozFR

Les dessous du pistage entre les sites

The Firefox Frontier, le 12 avril 2018

Si vous avez suivi les auditions à propos de Facebook cette semaine, il y a une expression qui est revenue encore et encore : « pistage entre les sites » et ce pour une bonne raison. Quelque chose d’aussi répandu semble pourtant n’être vraiment pas compris par grand monde. Alors, qu’est-ce que signifie le pistage entre les sites et pourquoi est-ce important à l’heure actuelle ? On vous explique !

Pistage entre les sites

Qu’est-ce que c’est ?

C’est la partie facile ! C’est exactement ce que ça sous-entend : cela parle des entreprises qui récupèrent vos données de navigation entre plusieurs sites.

Lorsque vous naviguez entre plusieurs sites web, vous êtes souvent suivi par des traqueurs, qui sont des petits scripts qui enregistrent ce que vous avez fait et où vous êtes allé. Sont employés des scripts, widgets ou même de minuscules images invisibles, tous intégrés dans les sites que vous consultez. Par exemple, les boutons des réseaux sociaux que vous croisez régulièrement : les sites choisissent d’inclure ces boutons (qui souvent leur donnent accès à des données utiles), mais ces boutons renvoient aussi les données aux réseaux sociaux. Parfois, ce comportement est normal, pour vous permettre de partager des articles sur vos réseaux. Mais souvent, ces données ne sont utilisées que pour faire de la publicité ciblée ou créer des profils utilisateurs, en coulisse.

Boutons de partage tiers sur un site web

Mais ce n’est pas tout. Ce qui arrive en coulisse c’est que beaucoup d’autres entreprises tierces, c’est-à-dire qui ne sont pas celles qui gèrent les sites où vous êtes, reçoivent votre activité.

Pourquoi cela existe ?

La majorité des sites collectent ces données pour personnaliser votre expérience utilisateur ou pour faire mieux fonctionner leurs services. C’est généralement vu comme normal, car cela améliore la navigation de l’utilisateur. Ils utilisent souvent des « cookies » (de petits fichiers stockés par votre navigateur) pour se souvenir de choses telles que les préférences linguistiques ou ce que contient votre panier chez un cybermarchand.

Les cookies peuvent aussi être utilisés pour vous suivre à travers tout le Web et diffuser des publicités sur les choses que vous avez regardées. Voici comme cela marche : vous consultez un site et un publicitaire tiers laisse un cookie dans votre navigateur. Le cookie peut contenir un identifiant unique – pas forcément votre nom, mais quelque chose qu’ils peuvent utiliser pour comprendre qui vous êtes et quels sites vous consultez. Les détails sur ce que vous faites à partir de ce point peuvent être transférés à un tiers et stockés sur des serveurs distants.

Pour la majorité des gens, avoir des publicités qui s’approchent de ce qu’ils cherchent est un plus. Si vous êtes dans la poterie en céramique et les plantes grasses, vous ne voulez pas de publicités pour du matériel médical ou des raccords de tuyaux et de soupapes de capacité industrielle (du déjà vu).

Quoi qu’il en soit, le plus important est que vous devriez toujours avoir le contrôle sur ce que les publicitaires savent de vous et même s’ils savent quoi que ce soit sur vous, ce qui peut être difficile quand ces traceurs travaillent en coulisses, invisibles.

Quand cela peut devenir un vrai problème ?

C’est le fait de ne pas savoir ce qu’il se passe qui rend le pistage entre les sites retors. Quand ces tiers – des vendeurs de données, des réseaux d’affiliation et des réseaux publicitaires – utilisent les cookies et d’autres méthodes de pistage, pour collecter des informations sur nos habitudes de navigation sans notre consentement.

Traquer les utilisateurs peut être utile, mais l’échange entre la valeur procurée et les données collectées ne peut être sain sans transparence, c’est-à-dire être informé, d’une façon simple et claire, de savoir qui voit nos données, avec qui elles sont partagées et avec la possibilité de dire « non, je ne veux pas être suivi ».

Comment pouvez-vous reprendre le contrôle ?

Une manière de limiter le caractère effrayant de cette pratique est d’utiliser la navigation privée avec protection contre le pistage directement dans Firefox, ce qui complique la vie des tiers qui traquent votre historique de recherche à travers de nombreux sites. C’est disponible dans nos navigateurs pour ordinateur de bureau et mobiles (et pour cause le pistage vous concerne peu importe l’appareil avec lequel vous vous connectez).

Quand vous naviguez dans une fenêtre privée, Firefox n’enregistre pas les pages que vous consultez, les cookies ni les fichiers temporaires. Ce n’est pas une solution à toute épreuve, mais pour votre navigation web au quotidien, cela peut vous apporter une certaine la tranquillité d’esprit. ◼


Vous pouvez activer la protection contre le pistage dans votre Firefox pour ordinateur et dans votre Firefox pour Android et pour iOS. Avec Firefox Focus, grâce auquel vous disposez de sessions de navigation jetables, vous disposez aussi de la protection contre le pistage pour Android et pour iOS.

Utilisez Firefox Focus pour isoler Facebook sur votre mobile
Mark Zuckerberg devant le Parlement européen !
L’extension Facebook Container inclut maintenant Instagram et Facebook Messenger


Traduction et relecture : Mozinet, Thegennok, Théo et anonymes

Une semaine d'extensions Firefox – 2018-15

Privacy BadgerCette semaine, ce sont les extensions protectrices de la vie privée de l’association américaine de protection de libertés numériques Electronic Frontier Foundation qui ont fait l’objet d’annonces. En plus de découvrir de nouvelles extensions, vous pourrez apprendre comment entrer au comité de sélection des extensions en vedette d’AMO.

N’hésitez pas à nous faire vos commentaires sur la forme ou le fond ici ou sur nos réseaux sociaux.
Facebook Twitter Mastodon

AMO, c’est pour addons.mozilla.org.

Les extensions vie privée de l’EFF

HTTPS Everywhere panneauHTTPS Everywhere

Comme vu la semaine dernière, l‘Electronic Frontier Foundation a annoncé une mise à jour de l’extension HTTPS Everywhere permettant de récupérer en continu les modifications aux règles des sites HTTPS.

Vous avez pu lire sur le compte Twitter @MozillaZine-fr qui publie l’actualité de Mozilla en français que la nouveauté est sortie cette semaine :

HTTPS Everywhere paramètres

L’extension est disponible sous une licence composite, principalement sous licence GNU/GPL 2.0 +.

Privacy Badger

Privacy Badger panneauPrivacy Badger est la solution logicielle de l’EFF au pistage en ligne qui bloque les publicités espionnes et les traqueurs invisibles. L’EFF veut que son extension soit simple et pas dérangeante pour l’utilisateur. Privacy Badger est disponible pour Firefox pour ordinateur et en version bêta pour Android. L’extension est mise en avant sur AMO.

Privacy Badger fonctionne selon des méthodes heuristiques, c’est-à-dire que l’extension apprend à reconnaître les traqueurs lors de votre navigation. Le corollaire de ce comportement est que l’extension ne peut bloquer les traqueurs lors de la première visite à un site comportant des éléments de pistage. L’extension peut donc sembler inefficace lors de son installation.

L’EFF a donc mis en place une présentation des principaux mécanismes de fonctionnement de l’extension. Ce tour n’est pas encore entièrement traduit en français.

Privacy Badger Apprend pendant la navigationApprend pendant la navigation
Plus vous naviguez longtemps avec Privacy Badger, mieux vous serez protégé. Votre Badger ne bloque encore rien ? Au lieu de garder des listes de ce qu’il faut bloquer, Privacy Badger découvre automatiquement des traqueurs au fur et à mesure que votre navigation sur le Web. Commencez donc à naviguer un peu pour éduquer votre Badger.

Privacy Badger Intercepte les traceurs sournoisIntercepte les traceurs sournois
Le pistage invisible se fait de toutes sortes de façons ; les publicités ne sont que la partie visible de l’iceberg. Privacy Badger envoie le signal Do Not Track (ne pas me pister) aux traqueurs pour leur dire de ne pas vous suivre. S’ils ignorent votre volonté, votre Badger apprendra à les bloquer, qu’il s’agisse d’annonceurs ou de traqueurs d’autres types.

Privacy Badger Pas un bloqueur de publicités, je suis différentPas un bloqueur de publicités, je suis différent
Privacy Badger commence à bloquer une fois qu’il voit le même traqueur sur trois sites web différents. Trois fautes et c’est fini ! Si vous utilisez d’autres outils de protection de la vie privée ou des bloqueurs de publicité, Privacy Badger apprendra moins, mais ce n’est pas grave, il pourrait attraper des choses que vos autres bloqueurs manquent.

Privacy Badger problème et désactivationSi vous pensez que Privacy Badger perturbe l’affichage d’une page (par exemple, une vidéo ne peut être lue), vous pouvez cliquer sur le bouton « Désactiver » pour l’empêcher d’opérer sur cette page.
N’hésitez pas à cliquer sur « Signaler un site non fonctionnel ». Respectant votre vie privée, les rapports ne sont pas automatiquement envoyés.
Privacy Badger apprend en local sur votre appareil. Il ne communiquera jamais sur votre navigation, sauf si vous le décidez.

L’extension est disponible sous licence GNU/GPL 3.0.

Sur le blog d’AMO : choisir les vedettes

Caitlin Neiman vous propose de devenir membre du conseil consultatif des extensions renouvelé tous les 6 mois. Il aide à choisir les extensions en vedette ou mises en avant comme on dit maintenant sur AMO en français.

Revues d’extension

Video Speed Controller

GHacks a un article sur l’extension Video Speed Controller – en avant sur AMO – qui ajoute des raccourcis clavier pour contrôler la vitesse de lecture des vidéos HTML5.

Video Speed Controller : Options

Si vous passez beaucoup de temps sur YouTube and co, découvrez les vidéos en accéléré.

Des commandes apparaissent quand vous survolez avec la souris la vitesse mis en superposition sur les vidéos.

Video Speed Controller : commandes Revoir le lancement d’Ariane en accéléré

L’extension est disponible sous licence MIT/X11.

Gestionnaires de mots de passe

LinuxFr a un article présentant une série de gestionnaires de mots de passe.

Sélection d’extensions mises à jour

Cette sélection est toute personnelle parmi les nombreuses extensions mises à jour au cours de la semaine et sera donc totalement subjective. Vous pouvez nous en suggérer de nouvelles et même les vôtres.

StylusStylus

Stylus est une puissante extension pour modifier l’apparence des sites web dans Firefox.

Changez l’apparence du Web grâce à Stylus, un outil de gestion des styles utilisateur. Stylus vous permet d’installer facilement des thèmes et des habillages pour Google, Facebook, YouTube, orkut et bien d’autres sites encore.

Cette semaine, pour les versions à partir de Firefox 60 (en bêta), la boîte de dialogue des options de Stylus permet de personnaliser les raccourcis clavier pour ouvrir le panneau de l’extension (popup), gérer les styles et activer/désactiver tous les styles. Plus d’info sur MDN web docs.

Stylus : raccourcis clavier

L’extension est disponible sous licence GNU/GPL 3.0.

Assistant Reminder : panneauAssistant Reminder

Il nous a été demandé sur @Firefox_fr comment se rappeler de choses personnelles dans l’interface de Firefox.

Ma première réaction a été d’indiquer l’utilisation des fonctionnalités des agendas et des listes de tâches.

Ensuite, je me suis souvenu de l’extension ReminderFox. Une fois sur AMO, je me suis aperçu que l’extension n’avait pas été portée en WebExtension pour Firefox 57+. Le Finder ne propose pas d’équivalent.

Après une recherche sur AMO, je suis tombé sur l’extension Assistant Reminder qui a été mise à jour lundi en huit. Malgré une police d’écriture étrange et pas en phase avec les directives de design Photon, l’extension semble avoir toutes les fonctionnalités attendues. Un effort sur l’ergonomie ne ferait pas de mal cependant.

Assistant Reminder : notification système

Un bouton de barre d’outils ouvre un panneau qui permet de créer de multiples rappels avec une palette de couleurs à leur attribuer. Vous pouvez aussi leur assigner une fréquence de répétition.

Un bouton permet d’ouvrir un onglet avec les rappels que vous pouvez filtrer.

Assistant Reminder : rappels

Un autre bouton ouvre les paramètres. Vous pouvez activer/désactiver les notifications, les sons et l’intervalle de répétition, ou encore définir le son de notification.

Assistant Reminder : Settings

Sur la fiche AMO de l’extension, l’auteur livre une astuce : si vous voulez une répétition dans plus de 10 minutes, appuyez sur le bouton « snooze » plusieurs fois. Si l’intervalle de répétition est réglé sur 10 minutes, appuyez 2 fois sur Snooze pour une répétition dans 20 minutes, etc.

L’extension est disponible sous licence GNU/GPL 3.0.

Copy URL To Clipboard

Parmi les extensions de formatage des liens copiés qui sont pour moi indispensables car faisant gagner énormément de temps, Copy URL To Clipboard a été mise à jour plusieurs fois récemment.

Vous pouvez copier l’URL et le titre de la page vers le presse-papiers aux formats :

  • HTML
  • BBCode
  • Textile
  • AsciiDoc
  • MediaWiki
  • Jira
  • reStructuredText
  • Texte

Copy URL To Clipboard : menu contextuel Menu contextuel pour copier l’URL de la page

Avec un clic-droit vous pouvez aussi copier le lien formaté en faisant un clic-droit sur un lien hypertexte dans la page.

Quand vous utilisez le menu contextuel de l’extension, une boîte dialogue vous demande si vous voulez modifier le texte. Si vous sélectionnez du texte dans la page avant de cliquer-droit pour formater le lien de la page, c’est ce texte sélectionné qui sera utilisé et que la boîte dialogue vous demandera de confirmer.

Copy URL To Clipboard : texte sélectionné

Le bouton de l’extension vous propose de copier l’URL de la page, de copier l’URL du lien et de copier toutes les URL des onglets aux formats ci-dessus. Vous pouvez modifier le texte et l’URL directement dans le panneau de l’extension.

Copy URL To Clipboard : panneau

L’extension est disponible sous licence MPL 2.0.

Si vous avez besoin de configurer finement le modèle de liens, tournez-vous vers Link Text and Location Copier.

Les limites de sécurité des WebExtensions empêchent le fonctionnement sur le site d’AMO comme sur les pages internes à Firefox. Il faut donc se remettre à créer ses liens à la mimine.

Qwant Lite

Qwant Lite : logoQwant Lite est une version légère du moteur de recherche français qui ne vous piste pas.

L’extension Qwant Lite définit Qwant Lite comme moteur de recherche par défaut (après confirmation) et comme page d’accueil de Firefox.

Qwant Lite

L’extension est disponible sous licence GNU/GPL 3.0.

Top and Bottom scroll buttons : flèches par défautTop and Bottom scroll buttons

Top and Bottom scroll buttons ajoute sur chaque page un calque semitransparent avec deux flèches pour aller directement en haut ou en bas de la page.

Dans les options de l’extension, vous pouvez contrôler l’apparence des flèches.

Top and Bottom scroll buttons : Options

L’extension est disponible sous licence MPL 2.0.

Video DownloadHelper : panneauVideo DownloadHelper

Comme nous vous l’indiquions la semaine dernière, Video DownloadHelper est un gestionnaire de téléchargements et de conversions de vidéos surpuissant pou le Web. Beaucoup d’extensions se limitent à YouTube, pas celui-là. Et en plus il est fait en France !

L’extension mise en avant sur AMO a reçu cette semaine une mise à jour qui ramène des fonctionnalités présentes dans la version 6 de VDH. Nous sommes encore dans la version 7, développée en WebExtension pour Firefox 57+. Cette dernière mise à jour élargit le téléchargement en masse sur YouTube, ramène les règles de nommage intelligent et de conversion par domaine et/ou par extension, et permet la modification des variantes de qualité vidéo. Voir les notes de version pour plus de détails.

Video DownloadHelper : sélection de groupe

Video DownloadHelper – Calendrier de l’Avent – Jour 11
Quelle extension de téléchargement sur YouTube est faite pour vous ?

Video DownloadHelper est distribué sous une licence personnalisée.

PopupFilter

PopupFilter « empêche les ouvertures intempestives de popups déclenchées par des scripts web ».

Popup Filter Crédit Baptiste Thémine sur AMO

PopupFilter est une extension simple et légère développée à l’aide de l’API WebExtensions et compatible avec les navigateurs Firefox, Chrome et Opera.

Il est facile de basculer entre 3 différents modes disponibles :

  • Normal Mode : Autorise l’ouverture de nouveaux onglets et nouvelles fenêtres (comportement normal).
  • Confirm Mode : Demande une confirmation avant d’ouvrir et d’afficher le contenu de nouveaux onglets/fenêtres.
  • Blocking Mode : Bloque tous les nouveaux onglets/fenêtres ouvert(e)s par des liens ou des scripts.

PopupFilter contient également une page de paramètres où sont listés les onglets ouverts, en attente de confirmation ou bloqués, et permet d’effectuer des actions rapides telles que : fermer un onglet, afficher le contenu bloqué d’un onglet, restaurer un onglet bloqué, aller vers cet onglet (double click). Le rôle de cette extension est de bloquer/filtrer tous les onglets ouverts par des scripts web ou des liens (qui peuvent parfois être cachés devant la page), même avec le menu contextuel « Ouvrir dans… ». Cependant, il est toujours possible d’ouvrir les liens normalement par drag & drop sur la barre de navigation ou en basculant temporairement en mode Normal.

Le principal avantage et la principale différence de PopupFilter est qu’il ne fonctionne pas avec un système de liste noire/blanche et ne collecte pas votre historique ou vos données personnelles contrairement aux autres bloqueurs de popups traditionnels. Protéger votre vie privée !

Samedi, PopupFilter a connu les changements suivants :

  • correction de bug concernant les tab id invalides causés par browser.tabs.onAttached sur Firefox Quantum 57-60.
  • correction de bug de certaines icônes sur Windows 10.
  • correction du CSS concernant la liste d’onglets privés dans la page Paramètres.
  • prévention de certains bugs potentiels dans functions.js.
  • amélioration du code et des performances.

L’extension est disponible sous licence MPL 2.0.

No-inclusive

Si vous ne supportez pas l’écriture inclusive, plutôt que venir pourrir les commentaires des articles l’utilisant, essayez No-inclusive qui « convertit automatiquement les textes rédigés en écriture inclusive en textes classiques pour en faciliter la lecture ».

La dernière version sortie dimanche prend en charge « certaines expressions supplémentaires de l’écriture inclusive ne reposant pas sur le point médian ».

L’extension est disponible sous licence GNU/GPL 3.0.

Les extensions sur SUMO

L’assistance officielle de Firefox traduite par des bénévoles de la communauté (rejoignez-les) a des tutoriels sur les extensions. Ainsi, on vous explique comment accéder à vos modules avec le compte Firefox.

J’ai un problème avec Firefox ! et comment y remédier.


On espère vraiment que ça vous a plu et que vous nous donnerez votre avis, voire plus.


Mozinet

Notre précédente actualité : Une semaine d’extensions Firefox – 2018-14

Mark Zuckerberg devant le Parlement européen !

Web Nous en sommes déjà à la 3ᵉ pétition initiée par Mozilla que nous relayons sur fond d’affaire Cambridge Analytica. La 1re demandait à Facebook de changer les permissions accordées aux applications afin que la vie privée des utilisateurs soit protégée par défaut. La 2de exigeait également de Facebook qu’il cesse par défaut le pistage entre les sites.

Depuis quelques jours, Mozilla demande au PDG de Facebook Mark Zuckerberg, qui a répondu lors de deux séances aux questions des membres du Congrès des États-Unis, de venir également devant le Parlement européen. Nous espérons que vous allez signer la pétition et la diffuser sur vos réseaux pour que Mark Zuckerberg réponde aux eurodéputés.

Mark Zuckerberg vient de témoigner par deux fois devant le Congrès américain. La plupart des utilisateurs de Facebook sont cependant situés en dehors des États-Unis.

Nous souhaitons que Mark Zuckerberg réponde de la conduite de Facebook à l’échelle internationale, en commençant par l’Europe.

Appellerez-vous Mark Zuckerberg à faire une déclaration au Parlement européen lors d’une session plénière face aux 751 députés ?

Signer la pétition

Bonjour,

Facebook est encore sous le feu des critiques en raison de la façon dont ont été utilisées les données personnelles de ses utilisateurs et utilisatrices. Son PDG Mark Zuckerberg a dû faire face à des questions sur le respect de la vie privée, sur le pistage des données au-delà du site de Facebook et sur l’absence de réelle concurrence dont profite l’entreprise.

C’est un bon début, mais Facebook est une entreprise internationale dont la majorité de ses 2 milliards d’utilisateurs n’habitent pas aux États-Unis. Facebook ne peut pas se contenter d’être tenu pour responsable uniquement aux États-Unis.

La nouvelle législation européenne qui renforce la protection des données sera applicable à partir du 25 mai. C’est donc le moment idéal pour que Mark Zuckerberg réponde aux questions sans détour des députés européens devant le Parlement et crée ainsi un précédent mondial.

Joignez-vous à nous et demandons à Facebook de rendre des comptes à l’échelle mondiale.

Signer la pétition

Si une chose ressort clairement de ces dernières semaines, c’est que les gens veulent savoir quels types de données les entreprises collectent sur eux et comment ces données sont utilisées.

C’est un problème qui dépasse Facebook, mais si nous pouvons pousser Facebook à changer, nous pensons pouvoir pousser l’écosystème numérique au sens large à opérer de réels changements sur la façon dont nos données sont recueillies et utilisées.

Faire pression donne des résultats. Parce que vous vous êtes engagés, Facebook a clarifié ses paramètres de partage de données avec les applications afin de supprimer l’ambiguïté qui existait et de limiter les types de données qui sont partagées par défaut. Et Facebook s’est engagé à cesser de travailler avec des revendeurs d’informations pour cibler les publicités. C’est un bon début, mais Facebook peut faire davantage et changer d’approche pour le pistage entre les sites, par exemple.

La Chambre des représentants et le Sénat des États-Unis ont d’ailleurs interrogé Facebook sur le pistage entre les sites, une autre problématique sur laquelle la communauté Mozilla avait attiré l’attention.

Les changements de Facebook seront sans aucun doute un élément moteur pour d’autres entreprises high-tech et vont entraîner de véritables progrès qui mettront au premier plan la transparence et les choix de l’utilisateur.

Mais nous n’en sommes qu’au commencement. Il est temps pour Mark Zuckerberg de répondre aux questions là où ses utilisateurs vont bénéficier des meilleures protections de leur vie privée, afin d’en faire le cadre de référence pour le reste du monde. Et Facebook peut continuer à rendre sa plateforme plus sûre pour l’ensemble des utilisateurs.

Vous nous rejoignez ? Demandons à Facebook de prendre ses responsabilités en dehors des États-Unis.

Signer la pétition

Merci de prendre le temps de faire d’Internet un endroit plus sain.

Ashley Boyd
Mozilla


Traduit par la communauté Mozilla francophone

Utilisez Firefox Focus pour isoler Facebook sur votre mobile

The Firefox Frontier, 11 avril 2018

La plupart d’entre nous se sont inscrits à Facebook pour rester en contact avec amis et famille. Nous n’avons pas signé pour partager nos informations personnelles avec de mystérieuses organisations tierces. Pour cette raison, nous avons créé l’extension Facebook Container qui vous permet d’utiliser Facebook sur vos ordinateurs de bureau et portables sans partager d’informations personnelles avec des tiers hors de Facebook. Firefox Focus pour iOS et Android peut vous procurer une protection de la vie privée similaire quand vous consultez Facebook. Voici comment ça marche.

Main bloquante

Qu’est-ce que Firefox Focus ?

Firefox Focus est notre navigateur mobile léger avec protection de la vie privée intégrée. Il vous permet de naviguer sur le Web comme si personne ne vous regardait. Focus est conçu pour quand vous ne voulez pas laisser des traces sur votre téléphone. Mais comment ça marche ? Focus est configuré par défaut pour bloquer un grand nombre de traqueurs qui vous pistent dans tout le Web, comme les traqueurs d’analyse du trafic, les traqueurs de réseaux sociaux et les traqueurs publicitaires. Vous pouvez facilement supprimer votre historique en appuyant sur le bouton Effacer – aucun mot de passe, aucun cookie, ni aucun traqueur n’est stocké.

Enfin, il vous permet de choisir le moteur de recherche de votre choix, dont certains qui ne vous pisteront pas.

Comment garde-t-il Facebook privé ?

C’est super simple. Commencez par consulter Facebook depuis un navigateur mobile et non dans une application. Ensuite, utilisez Firefox Focus pour isoler votre session Facebook. Appuyez sur le bouton « Effacer » avant d’aller sur Facebook et juste après. Sur Android, vous n’avez qu’à cliquer sur l’icône en forme de poubelle.

Effacer Facebook dans Firefox Focus pour iOS Effacer Facebook dans Firefox Focus pour Android

Tout ce que vous faites sur Facebook restera sur Facebook. Cela rendra plus difficile l’accès des publicitaires externes à ce que vous faites pendant que vous êtes sur la plateforme de réseau social.

Et c’est tout. C’est aussi simple que ça.

Astuce de pro : si vous avez un appareil sous Android, vous pouvez définir Firefox Focus comme navigateur par défaut. Dans votre application Firefox Focus, appuyez sur le menu (les trois points) puis sur Paramètres. Sélectionnez ensuite « Définir comme navigateur par défaut ». Appuyez alors sur « Application de navigation », puis choisissez Firefox Focus comme navigateur par défaut

Bon surf !



Traduction et relecture : Mozinet, Hellosct1 et anonymes

Crédit illustrations : n° 1 Mozilla.

Parlons réalité virtuelle VR AR XR

Homme avec des lunettes de réalité L’actualité numérique est très riche et régulièrement des sujets comme la réalité virtuelle, la réalité augmentée et la réalité mixte sont abordés. Ces technologies offrent de nombreuses possibilités pour aujourd’hui et pour demain.

Ce rendez-vous, organisé par le magazine Programmez, se déroulera le 24 avril prochain dans les locaux de Cellenza sous la forme d’un meetup.

Le programme de la soirée se décomposera en :

Tout d’abord, notre Mozillien Christophe Villeneuve parlera de AR (Augmented reality) / VR (Virtual reality) / XR (Mixed Reality) dans le navigateur.

Ensuite, Wajdi Ben Rabah montrera comment augmenter votre réalité avec le SDK Android appelé : ARCore.

Enfin, pour terminer la soirée, il sera possible d’échanger autour de ces deux sujets autour du verre de l’amitié.

Le Fox teste les lunettes de réalité virtuelle

Le Fox teste les lunettes de réalité virtuelle

L’événement est gratuit, mais sur inscription sur la page de l’événement.

Ce rendez-vous est à destination de toutes les personnes curieuses, utilisatrices du Web et de l’informatique en général.

Jeudi 24 avril 2018 à 19 h 00
Chez Cellenza
156 bd Haussman 75008 Paris (plan libre)

Métro : 9 et 13 – station Miromesnil ou Saint Philippe du Roule



Alors n’attendez pas pour vous inscrire à ce rendez-vous du futur.


@hellosct1


Notre précédent événement : Hackathon thèmes et vie privée à Mozilla Paris

Crédit illustrations : Auteurs Anonymes. Tous droits réservés.

Une semaine d'extensions Firefox – 2018-14

Facebook, Instagram et Messenger dans Facebook ContainerAlors que le scandale Cambridge Analytica fait toujours les gros titres, Mozilla continue à améliorer sa solution logicielle pour réduire le pistage des utilisateurs de Facebook hors de ses sites. Instagram et Facebook Messenger sont désormais traités dans le contexte qui isole déjà Facebook.

Nous avons aussi de bonne et grandes nouvelles de deux extensions indispensables : HTTPS Everywhere et Grammalecte.

N’hésitez pas à nous faire vos commentaires sur la forme ou le fond ici ou sur nos réseaux sociaux.
Facebook Twitter Mastodon

AMO, c’est pour addons.mozilla.org.

HTTPS Everywhere met à jour ses règles en continu

Logo de Https EverywhereL’Electronic Frontier Foundation qui développe HTTPS Everywhere avec le projet Tor pour son Tor Browser annonce que l’envoi de la liste des sites pris en charge sera plus régulière.

HTTPS Everywhere protège vos communications en activant le chiffrement HTTPS automatiquement sur les sites connus pour la prendre en charge, même si vous saisissez les URL ou suivez des liens qui n’ont pas le préfixe https.

L’envoi de la liste de sites en continu permet à des tiers de créer leur propre liste de redirections d’URL qui sera utilisée dans l’extension. Par exemple, le Tor Browser pourra améliorer l’expérience des utilisateurs avec les URL en .onion.

Lisez l’article pour apprendre comment ça marche et les perspectives pour votre extension HTTPS Everywhere.

L’extension est disponible sous une licence composite, principalement sous licence GNU/GPL 2.0 +.

Grammalecte — nouvelles du front

Grammalecte : correction grammaticaleL’indispensable extension Grammalecte a bien évolué depuis que nous en faisions le 1er jour de notre Calendrier de l’Avent 2016. L’été dernier nous relayions son second financement participatif. L’objectif du financement d’une WebExtension avec un meilleur correcteur grammatical a été atteint. Olivier, le développeur du correcteur grammatical pour Firefox, pour Thunderbird et LibreOffice, nous donne des nouvelles du développement sur la plateforme du financement Ulule.

Il explique comment les contraintes techniques du nouveau modèle d’extensions de Firefox a guidé ses choix d’implémentation :

Il n’était pas possible de recréer l’extension comme elle existait autrefois (v0.5), attendu que le panneau principal (qui apparaît en superposition des pages Web) n’est plus aussi manipulable (impossible de le garder ouvert, par exemple, si on clique ailleurs). Le seul moyen était donc d’inclure la correction grammaticale à l’intérieur des pages Web, ce qui apporte un lot non négligeable de complications et de pièges, car cela implique d’éditer les pages Web consultées pour y insérer les panneaux de correction en évitant autant que possible les interférences. (La dernière version protège d’ailleurs mieux les altérations possibles des panneaux de Grammalecte par le code CSS des pages Web.)

Grammalecte : Options orthographiques – dictionnairesIl nous parle d’une nouveauté attendue : le dictionnaire perso !

La grande nouveauté, c’est l’arrivée de l’éditeur lexical qui permet de créer votre dictionnaire personnel. J’ai passé les dernières semaines à travailler l’interface de cet éditeur, j’espère avoir gommé la plupart des rugosités. Cet éditeur est disponible sur Firefox/Chrome et Thunderbird, et le sera bientôt pour LibreOffice.

Firefox et Thunderbird disposent aussi désormais d’un correcteur orthographique qui suggère des remplacements aux erreurs potentiels trouvées.

La plus grosse difficulté n’est pas de suggérer quelque chose, mais de suggérer quelque chose rapidement. Les erreurs orthographiques étant potentiellement presque infinies, il faut permuter, substituer, ajouter, supprimer un nombre considérable de lettres pour trouver la bonne orthographe parmi les innombrables possibilités. Ceci est coûteux en ressources. C’est pourquoi cette recherche de graphies correctes se fait de manière asynchrone sur demande de l’utilisateur.

Lisez le reste de l’article d’Olivier pour davantage de détails techniques, plus de nouvelles sur les versions pour Chrome et Vivaldi, et pour LibreOffice, et des hypothèses sur l’avenir des extensions dans Thunderbird.

Grammalecte : Options grammaticales

Grammalecte se présente ainsi sur AMO :

Grammalecte popinGrammalecte est un correcteur grammatical dédié à la langue française.

Il inclut aussi :
— un conjugueur (contenant environ 8 000 verbes),
— un formateur de texte (pour corriger automatiquement les erreurs typographiques),
— un lexicographe.

Contrairement aux autres correcteurs grammaticaux, Grammalecte est complètement écrit en JavaScript, ne requiert pas l’usage d’un serveur et peut fonctionner en mode hors-ligne. Aucune donnée n’est envoyée en ligne.

L’extension est disponible sous licence GNU/GPL 3.0.

Facebook Container inclut maintenant Instagram et Facebook Messenger

La solution logicielle proposée en réaction au scandale Cambridge Analytica par Mozilla et publiée fin mars, l’extension Facebook Container, vise à empêcher Facebook de pister votre navigation hors de son site. Cette semaine, Mozilla a complété son offre en incluant dans le Container Facebook les sites Instagram et Messenger qui lui appartiennent.

Facebook, Instagram et Messenger dans Facebook Container

Ce lundi, une version 1.3.1 vient :

Les notes de version indiquent maintenant que l’extension ne contient pas encore WhatsApp qui appartient aussi à Facebook.

Depuis la semaine dernière, nous avons vu un nouveau fork de Facebook Container (voir en fin d’article).

Les extensions de Mozilla Facebook Container et Firefox Multi-Account Containers sont disponibles sous licence MPL 2.0.

Les extensions sur SUMO

SUMO : Empêcher Facebook de pister vos visites…L’assistance officielle de Firefox traduite par des bénévoles de la communauté (rejoignez-les) a des tutoriels sur les extensions. On vous a traduit et complété les tutoriels concernant Facebook Container et les onglets contextuels :

J’ai un problème avec Firefox ! et comment y remédier.

Une nouvelle vague de spam touche AMO

GHacks rapporte une vague de spam ayant touché le dépôt des extensions de Mozilla, AMO. Une série d’extensions qui proposaient des flux en 4k pour des films populaires actuellement en salles avait été versée par des comptes créés le jour-même.

Spam sur Mozilla AMO Crédit Martin Brinkmann sur gHacks

Ces extensions qui ne faisaient rien servaient peut-être à tester les défenses d’AMO ou elles auraient peut-être été mises à jour plus tard.

Cette campagne de spam a pu prospérer par le passage d’un processus de vérification manuelle des extensions à un système automatique.

Sur le blog d’AMO

Les extensions dans Firefox 60

Mike Conca a publié en début de semaine dernière un billet présentant les nouveautés des extensions dans Firefox 60. Nous en reparlerons le moment venu.

Mozilla Firefox 60 sortira le 9 mai prochain.

Extensions en vedette pour avril

Mercredi, Scott DeVaney a publié le choix du mois par le bureau communautaire auquel vous pouvez participer.

  • Passbolt : un gestionnaire de mots de passe open source pour les équipes.
  • FoxClocks : affiche les horaires autour du monde de votre choix en bas du navigateur ou dans un bouton de barre d’outils.
  • Video DownloadHelper : un gestionnaire de téléchargements et de conversions de vidéos surpuissant pou le Web. Beaucoup d’extensions se limitent à YouTube, pas celui-là. Et en plus il est fait en France !

Video DownloadHelper – Calendrier de l’Avent – Jour 11
Quelle extension de téléchargement sur YouTube est faite pour vous ?

FoxClocks : paramètres et menu du bouton de barre d'outils Les différentes personnalisations de FoxClocks

Mozilla Hacks

Firefox Quantum Extensions Challenge Mozilla Hacks, le blog des développeurs de Mozilla, a un article de Dustin Driver expliquant ce qui fait une super extension.

Ce billet rappelle qu’on est en plein Firefox Quantum Extensions Challenge, un concours à destination de développeurs d’extensions qui tireront le mieux profit des nouvelles API des WebExtensions. La clôture des soumissions d’extension est fixée au 15 avril.

Sélection d’extensions mises à jour

Cette sélection est toute personnelle parmi les nombreuses extensions mises à jour au cours de la semaine et sera donc totalement subjective. Vous pouvez nous en suggérer de nouvelles et même les vôtres.

Distill Web Monitor

Les flux RSS c’est bien, mais ça ne répond pas à tous les besoins de suivi automatique de page ou d’information sur le Web. Distill Web Monitor vous permet de surveiller une page web ou un élément de la page et d’être prévenu·e par notification dans le navigateur, par SMS et par courriel.

Watchlist de Distill Web Monitor

Distill Web Monitor est très personnalisable.

L’extension est disponible sous une licence personnalisée.

Bing to DuckduckGo & Bing to Google

Il nous est revenu cette semaine la publication des deux extensions pour rediriger ses recherches nrmalement envoyées à Bing, le moteur de recherche de Microsoft, vers DuckduckGo ou Google.

En combinaison avec le programme open source EdgeDeflector, vous pourrez faire vos recherches dans Cortana avec le moteur de recherche substitué à la place de Bing.

Bing to DuckduckGo Crédit Louis Grasset sur AMO

À quand Bing to Qwant ? ou Bing to « je choisis mon moteur de recherche » ?

Ces deux extensions sont disponibles sous licence MPL 2.0.

Tab Session Manager

Tab Session Manager permet d’enregistrer l’état de vos fenêtres et onglets pour pouvoir les restaurer ensuite. L’extension prend en charge l’enregistrement automatique.

La version sortie en début de semaine dernière a vu un certain nombre de nouvelles fonctions et d’améliorations à découvrir sur sa page d’AMO.

Tab Session Manager Crédit sienori sur AMO

L’extension est disponible sous licence MPL 2.0.

tabFx

TabFx vous permet de vous retrouver dans vos onglets ouverts. Ses filtres automatiques affichent les onglets similaires à l’onglet actif dans une approche intelligente.

TabFx Crédit Adilson Sandoval sur AMO

Exemples d’utilisation :

  1. Par défaut, il montrera tous les onglets similaires à l’onglet actif en prenant en compte le début de l’URL (domaine, about:, file:, etc.) et pour la fin, si l’onglet actif a des termes comme « $edit », «  », «  », etc., il les prendra en compte également, sinon il ignorera la fin de l’URL.
  2. Vous pouvez ne conserver qu’une case cochée (début ou fin) pour voir les onglets avec le même domaine indépendamment de la fin ou la même extension indépendamment du domaine.
  3. Amusez-vous avec les paramètres de fin :
    Les séparateurs sont utilisés pour reconnaître automatiquement des termes qui débutent par ces caractères et les prendre en compte ou les ignorer dans la liste de filtre des onglets.
    Il en va de même pour « mot-clé ». Un exemple utile : si vous saisissez « search » là, sélectionnez « keyword », désélectionnez tous les séparateurs et désélectionnez aussi « start » et « end », vous aurez accès à tous les onglets de recherche (search) quel que soit l’onglet actif.

TabFx Crédit Adilson Sandoval sur AMO

L’extension est disponible sous licence MPL 2.0.

HueHelper

Il nous est revenu cette semaine le dépôt sur AMO de HueHelper, une extension du développeur français de l’extension populaire Video DownloadHelper et ses 3,3 millions d’utilisateurs sur Firefox. Cette extension vous permet de gérer vos ampoules connectées Hue de Philips qui peuvent changer de couleurs.

HueHelper Crédit mig sur AMO

Vous pouvez même adapter l’éclairage selon les couleurs de l’onglet du navigateur. Voici la courte vidéo de démo de l’auteur :

En apprendre plus sur le site (en anglais) de HueHelper.

L’extension est disponible sous une licence personnalisée.

Éditeur vidéo OpenShot en ligne

Éditeur vidéo OpenShot en ligne permet de créer et modifier des vidéos avec OpenShot en ligne.

OpenShot Crédit officeonlinesystems sur AMO

OpenShot Online est une extension pour créer et éditer des vidéos en ligne lorsque vous naviguez sur Internet. C’est en effet l’éditeur vidéo OpenShot en ligne. OpenShot est un éditeur vidéo gratuit et open-source qui prend en charge les codecs utilisés par FFmpeg comme WebM (VP9), AVCHD (libx264), HEVC (libx265) et codecs audio comme mp3 (libmp3lame) et aac (libfaac). Le programme peut rendre MPEG4, ogv, Blu-ray et vidéo DVD, et vidéos Full HD pour le téléchargement sur des sites Web vidéo sur Internet.

Les fonctionnalités principales d’OpenShot sont :

  • Prise en charge de nombreux formats vidéo, audio et image (basés sur FFmpeg).
  • Pistes / couches illimitées.
  • Redimensionnement, mise à l’échelle, rognage, encliquetage, rotation et découpe.
  • Transitions vidéo avec prévisualisation en temps réel.
  • Compositing, superposition d’images, filigranes.
  • Modèles de titre, création de titre, sous-titres.
  • Clips en couleur uniques (y compris les composantes alpha).
  • Support de rotoscopes / séquences d’images.
  • Timeline avancé (drag & drop, défilement, panoramique, zoom et snap).
  • Codage vidéo (basé sur FFmpeg).
  • Zoom numérique des clips vidéo.
  • Time-mapping et Speed ​​change sur les clips (slow / fast, forward / backward, etc …).
  • Masques de transition personnalisés.
  • Mixage et montage audio.
  • Effets vidéo numériques, y compris la luminosité, gamma, teinte, échelle de gris, chroma key (bluescreen / greenscreen) …

Cette extension est intégrée à la solution cloud OffiDocs. Vous trouverez ainsi d’autres extensions pour d’autres outils en ligne d’OffiDocs dans les modules créés par cet auteur : Thunderbird, LibreOffice, Gimp, Audacity, Inkscape, ProjectLibre, XPaint ou des éditeurs pour plusieurs formats de contenu.

L’extension est disponible sous licence GNU/GPL 3.0.

Distraction Free Mode for Google Docs

Google Docs est très utilisé – même par ceux qui ne le devraient pas – dans la rédaction pour ses capacités de travail collaboratif et de mise en page riche qui fait partie intégrante de la rédaction pour le Web.

Les rédacteurs ont besoin de concentration et mettent en œuvre divers techniques pour pouvoir se concentrer sur l’écriture. Ils remettent ainsi souvent la mise en page à la fin de la rédaction du texte.

Dans cette veine, Distraction Free Mode for Google Docs rajoute un bouton à Google Docs pour cacher toutes les commandes et boutons pour vous permettre de vous concentrer sur la rédaction.

Distraction Free Mode for Google Docs

L’extension offre un unique menu qui permet de choisir le thème (comme Sépia ci-dessus) pour soulager vos yeux selon l’éclairage ou selon vos goûts. Le menu offre aussi le choix d’un zoom et le passage en plein écran pour encore moins de distractions.

En attendant de quitter Google Docs ou pas, voici une extension bien pratique pour les rédacteurs.

Dans le panneau latéral

Avec les WebExtensions, de nombreuses extensions se logent dans la barre latérale ou panneau latéral que l’on peut fixer à droite ou à gauche. Ainsi, parmi ces extensions qui proposent d’ajouter des sites au panneau latéral de Firefox, celles de Skywin ont été déposées sur AMO cette semaine.

… pour les GAFAM ainsi que :

Qwant SidebarQwant Sidebar Qwant Sidebar Qwant Sidebar Qwant dans le panneau latéral : accueil, recherche web, Musique et réglages

Ces extensions sont disponibles sous licence MPL 2.0.

Et l’auteur de ces extensions propose aussi un fork de Facebook Container pour Google que nous n’avions pas vu la semaine dernière.

L’extension est disponible sous licence GNU/GPL 3.0.

Wiktionnaire contextuel

Avec Wiktionnaire contextuel, vous cherchez les mots sélectionnés dans le Wikitionnaire grâce à un nouvel item du menu contextuel.

Wiktionnaire contextuel Crédit Ghani sur AMO


On espère vraiment que ça vous a plu et que vous nous donnerez votre avis, voire plus.


Mozinet

Notre précédente actualité : Une semaine d’extensions Firefox – 2018-13

Comment va Internet ? Mozilla publie le 2ᵉ Bulletin de santé d'Internet

Bulletin de santé d'Internet – MozillaIl y a moins de deux semaines, Mozilla saisissait l’occasion de son 20ᵉ anniversaire pour ajouter 4 nouveaux engagements pour Internet à son Manifeste. Pour « réparer Internet », il faut en connaître l’état.

Au moment où le scandale Cambridge Analytica fait prendre au grand public conscience des dangers que font peser sur leur vie privée les plateformes géantes comme Facebook qui est au centre de la tourmente. L’audition de son PDG, Mark Zuckerberg, aujourd’hui devant le Congrès des États-Unis est très attendue vu la taille de son réseau, les accusations qui pèsent sur lui et les risques qu’il fait peser sur les démocraties.

Voilà donc le Bulletin de santé d’Internet 2018 publié par Mozilla en 4 langues dont le français.

Le Bulletin de santé d’Internet s’intéresse à la dimension humaine de l’accès et de l’utilisation d’Internet. Il s’agit d’une compilation indépendante et à code source ouvert de données, d’études et de récits qui présente chaque année l’évolution d’Internet considérée selon cinq perspectives. […]

En collaboration avec des chercheurs, des activistes des droits numériques, des bénéficiaires d’une bourse de Mozilla et notre communauté, nous racontons une histoire collaborative sur ce qui est sain et ne l’est pas au sujet d’Internet, d’un point de vue humain. […]

Nous tous avons la possibilité d’améliorer Internet. Ce rapport constitue une ressource ainsi qu’un appel à l’action pour toutes les personnes prêtes, par de petits et de grands gestes, à relever ce défi.

Voici l’annonce de Mozilla en français :

Une histoire de scandale, de serviette en papier et de santé d’Internet

Mozilla lance aujourd’hui la deuxième édition du Bulletin de santé d’Internet, son initiative open source qui vise à explorer la santé d’Internet.

Alors que Mozilla apportait la touche finale à ce rapport, les États-Unis se préparaient à entendre le témoignage du dirigeant de Facebook, Mark Zuckerberg, à la suite des révélations concernant l’obtention par Cambridge Analytica de données utilisateurs.

Et les points à éclaircir restent nombreux : que faire des données de près de 87 millions d’utilisateurs lâchées dans la nature sans espoir de les récupérer un jour ? L’intelligence artificielle peut-elle déceler les comportements suspects en période électorale ? Quelles sont les responsabilités de Facebook vis-à-vis de ses utilisateurs et du public ?

Sans surprise, les réponses sont complexes et nous ne disposons pas encore d’une compréhension collective de la façon dont ces différents éléments sont liés entre eux.

Établir une vue d’ensemble est l’un des principaux objectifs du Bulletin de santé d’Internet. Pour ce faire, les utilisateurs de la communauté Mozilla compilent des recherches et des analyses sur les problématiques liées à Internet.

La compilation de ce rapport a parfois été aussi complexe que les problématiques qu’il adresse. Il a parfois été difficile de se focaliser sur les points essentiels. Néanmoins, cette étude a pour vocation d’engager de nouvelles discussions et de mettre en lumière des sujets encore inexplorés.

Mozilla a passé de nombreuses semaines à s’interroger sur l’angle à donner à ce rapport, notamment en ce qui concerne son chapitre phare : les « fake news » et la désinformation. Pour organiser ses idées, rien de mieux qu’une liste rédigée sur une serviette en papier et c’est ainsi que Mozilla a procédé :

Serviette en papier comme bloc-notesCollecte de toutes nos données

+ publicités ciblées avec précision

+ robots et faux comptes

+ domination de Facebook sur la diffusion des actualités

+ maîtrise insuffisante du Web

= terrain favorable aux fraudes et abus,

et résultats très préjudiciables dans le monde réel

Le Bulletin de santé d’Internet a pour objectif de rappeler à chacun qu’Internet est un écosystème social, commercial et technique complexe : un système vivant constitué d’ordinateurs, de données et d’êtres humains. La compréhension d’événements tels que le scandale Cambridge Analytica requiert de prendre du recul et d’examiner cet écosystème dans son ensemble.

Le rapport est également une source d’inspiration. Il comprend ainsi des interviews d’individus ayant fait face à des incidents de cybersécurité, d’activistes qui conçoivent des robots open source et d’ingénieurs créant un Internet véritablement multilingue. Si les actualités chaudes peuvent pousser au pessimisme, il n’en existe pas moins de nombreuses bonnes nouvelles qui échappent à la plupart des utilisateurs. Elles sont la source de notre espoir et de notre inspiration.

Ces ressentis sont répandus dans le vaste mouvement dont Mozilla fait partie : celui de l’open source, de la liberté d’Internet et des droits numériques. Quel que soit le nom qu’on lui donne, il existe une force grandissante pour défendre l’idée que nous pouvons construire un monde numérique ouvert, accessible et accueillant pour tous.

Ce sont les utilisateurs participant à ce mouvement qui ont compilé le Bulletin de santé d’Internet : chercheurs, ingénieurs, data scientists (expert en données massives), analystes politiques, et même artistes. Ensemble, nous avons eu des échanges collaboratifs sans concession, simplifié des idées complexes et établi des liens. Et nous avons commencé à cartographier les problèmes, les opportunités et les mystères de la vie sur Internet.

Bien entendu, un travail de cette nature ne s’arrête pas à une publication. Tout comme Internet, il s’agit d’une entreprise humaine que nous ne pouvons réaliser qu’ensemble, sur le long terme. C’est pourquoi Mozilla vous encourage à les aider. Sur Internet, les utilisateurs doivent avoir le dernier mot. Il appartient donc à chacun d’entre nous de le comprendre et d’en faire quelque chose de sain et d’humain.

-- Mark Surman


En parlant d’humain, ce rapport comprend des témoignages de personnes rendant le monde meilleur dont notre camarade Mozillien francophone Sphinx qui parle de son implication dans le MDN web docs.

Bonne lecture et n’hésitez pas à participer !


Mozinet


Crédit illustration : Mozilla.

La version originale de l’annonce et ses traductions dont la traduction de la Section Presse de Mozilla sont disponibles sous licence CC By-SA 3.0+.

Les versions de l’Internet Health Report/Bulletin de santé d’Internet sont disponibles sous licence CC By 4.0 à l’exception des parties et des contenus attribués à des parties tierces.

Facebook et vie privée : Mozilla maintient la pression avec vous

WebMozilla a envoyé un second appel à signer une pétition à destination de Facebook. Le réseau social américain a déjà agit en réponse à la première pétition qui lui demandait de « clarifier ses paramètres et d’indiquer quelles données sont recueillies sur les amis des utilisateurs d’applications tierces ». Vous pouvez une nouvelle fois repartir à l’assaut de la forteresse aux 2 milliards d’abonnés pour que Facebook arrête de pister par défaut les internautes !


Félicitations ! Facebook a modifié ses paramètres grâce à vos actions. À présent, nous devons continuer à faire pression : demandez à Facebook d’arrêter également le pistage entre les sites !

Signer la pétition

Bonjour,

Vos paramètres Facebook ont changé ces jours-ci. C’est parce que plus de 75 000 soutiens de Mozilla comme vous ont aidé à faire pression sur Facebook pour qu’il clarifie ses paramètres et indique quelles données sont recueillies sur les amis des utilisateurs d’applications tierces. Félicitations à vous et merci beaucoup ! C’est parce que vous avez agi que nous commençons à voir de vrais résultats.

C’est le moment idéal pour souligner notre réussite, remercier Facebook de nous avoir écoutés et maintenir la pression pendant que nous avons leur attention. Nous avons autre chose de crucial à demander à Facebook alors qu’il cherche à limiter la façon dont les données des utilisateurs sont collectées et utilisées : arrêtez de pister les utilisateurs par défaut lorsqu’ils naviguent sur le Web !

L’une des principales méthodes de collecte de données que Facebook utilise pour vous pister est de surveiller votre navigation sur d’autres sites web. Vous l’ignorez peut-être, mais Facebook suit votre navigation sur le Web via les boutons « J’aime » affichés sur les autres sites web, que vous cliquiez dessus ou non et que vous ayez un compte Facebook ou non.

Si des utilisateurs souhaitent recevoir des publicités ciblées, ils devraient être en mesure d’activer ces fonctionnalités. Avoir recours par défaut au pistage depuis différents sites web n’est pas acceptable, car de nombreux utilisateurs n’ont probablement pas réalisé que ce type de collecte de données avait lieu.

Pouvez-vous signer la pétition pour demander à Facebook d’arrêter le pistage par défaut entre les sites web ?

Signer la pétition

Si une chose ressort clairement de ces dernières semaines, c’est que les gens veulent savoir quels types de données les entreprises recueillent à leur sujet. Le pistage depuis différents sites web aboutit souvent à la collecte de données personnelles sans faire preuve de grande transparence. C’est un problème qui dépasse Facebook, mais si nous pouvons convaincre Facebook de changer, nous pensons que nous pouvons pousser d’autres grandes plateformes à faire de même.

Les organisations de défense d’Internet réclament depuis un certain temps la fin du pistage entre les sites en raison de l’ampleur de la surveillance des consommateurs qu’il permet et du peu de consommateurs qui ont réellement conscience que cela a lieu.

Alors que le Congrès américain se prépare à entendre Facebook lors de prochaines auditions, nous avons une excellente occasion de mettre en lumière cette question et de continuer sur notre bonne lancée pour amener Facebook (et d’autres entreprises high-tech) à mettre en œuvre ce changement et, espérons-le, à lancer une discussion plus large sur la transparence et le choix des utilisateurs.

Pouvez-vous signer la pétition ?

Merci de prendre le temps de faire d’Internet un endroit plus sain.

Ashley Boyd
Mozilla


Traduit par la communauté Mozilla francophone

Une plongée illustrée dans les modules ECMAScript

Cet article est une traduction de ES modules: A cartoon deep-dive, écrit par Lin Clark. Merci à goofy pour la relecture !

Les modules ECMAScript (ou modules ES) sont un système de modules, standard et officiel, pour JavaScript. Ce système est le fruit d’un travail de standardisation qui a duré 10 ans.

Nous pourrons bientôt profiter de tout cela avec l’arrivée des modules dans Firefox 60 en mai (cette version est actuellement en bêta). Les navigateurs principaux prennent tous en charge cette fonctionnalité et le groupe de travail pour les modules Node contribue à l’ajout des modules ES dans Node.js. L’intégration des modules ES dans WebAssembly a également démarré.

De nombreux développeurs JavaScript savent que les modules ES ont été à l’origine de différentes controverses mais peu comprennent réellement le fonctionnement des modules ES.

Voyons ici les problèmes résolus par les modules ES et leurs différences avec les autres systèmes de modules.

Les problèmes résolus par les modules

Quand on y pense, coder en JavaScript revient principalement à gérer des variables. On leur affecte des valeurs, on leur ajoute des nombres, on combine deux variables pour construire une nouvelle variable.

Étant donné la proportion de code consacrée à la modification des variables, l’organisation de ces variables aura un impact non-négligeable sur la qualité du code… mais aussi sur la facilité à le maintenir.

S’occuper d’un nombre de variables limité permet de simplifier les choses. En JavaScript, on peut s’aider des portées (scope) pour limiter le périmètre des variables qu’on doit gérer. En JavaScript, les portées formées par les fonctions empêchent ces dernières d’accéder à des variables qui seraient définies dans d’autres fonctions.

C’est une bonne chose. Cela signifie que lorsqu’on travaille sur une fonction, on peut ne penser qu’à cette fonction. Il n’est pas nécessaire de s’encombrer l’esprit avec l’impact potentiel des autres fonctions sur les variables de la fonction courante.

Toutefois, cela a un prix : il est plus difficile de partager des variables entre différentes fonctions.

Comment partager une variable en dehors de sa portée ? Pour répondre au problème, on utilise généralement une portée plus grande… comme la portée globale.

Peut-être vous souvenez vous de l’époque où jQuery était utilisé. Avant de pouvoir utiliser un plugin jQuery, il fallait s’assurer que jQuery faisait bien partie de la portée globale.

On a répondu à ce problème de partage des variables mais cela n’est pas sans conséquence.

Tout d’abord, il faut que les balises de script soient dans le bon ordre. Ensuite, il faut s’assurer que personne ne vienne chambouler cet ordre.

Si cet ordre vient à être chamboulé, l’application pourra causer une belle erreur au plein milieu de l’exécution. Lorsque la fonction qui va chercher jQuery où elle s’attend à l’avoir (c’est-à-dire dans la portée globale) et ne le trouve pas, elle déclenchera une erreur et arrêtera son exécution.

La maintenance du code devient plus épineuse. Retirer du vieux code ou des balises <script> s’apparente à un pari risqué. Personne ne peut savoir ce qui va être cassé. Les dépendances entre les différentes parties du code sont implicites. N’importe quelle fonction peut manipuler n’importe quoi appartenant à la portée globale et on ne sait plus de quels scripts dépendent ces fonctions.

Ce n’est pas tout, les variables qui sont dans la portée globale peuvent très bien être modifiées par n’importe quel code situé au sein de cette portée. Du code malveillant pourrait modifier cette variable globale à dessein afin de détourner l’exécution. Du code a priori innocent pourrait également, accidentellement, modifier la variable.

Qu’apportent les modules ?

Les modules permettent de mieux organiser les variables et les fonctions. Avec les modules, on peut regrouper les variables et les fonctions de façon pertinente.

Ainsi, ces fonctions et variables font partie de la portée d’un module et cette portée peut être utilisée afin de partager des variables entre les fonctions du module.

Cependant, à la différence des portées créées par les fonctions, les portées des modules permettent de rendre leurs variables disponibles pour d’autres modules. On peut indiquer, explicitement, les variables, les classes ou les fonctions qui seront disponibles pour être utilisées ailleurs.

Quelque chose qui est rendu disponible pour un autre module est appelé un export. Lorsqu’on dispose d’un export, les autres modules peuvent, de façon explicite, indiquer qu’ils dépendent de cette variable, classe ou fonction.

Cette relation étant explicite, on est cette fois en mesure de déterminer ce qui va casser si on retire un des modules.

Une fois capable d’exporter et d’importer des variables entre les modules, on peut diviser le code en petits fragments qui peuvent fonctionner de façon indépendante. On peut alors combiner et recombiner ces fragments, tels des briques de Lego, afin de créer différentes applications à partir d’un même ensemble de modules.

L’organisation en module apportant de nombreux bénéfices, plusieurs tentatives ont été lancées afin d’incorporer ces modules dans JavaScript. Il existe aujourd’hui deux systèmes de module activement utilisés : * CommonJS (CJS), utilisé par Node.js jusqu’à présent. * ESM (ECMAScript modules), un système plus récent qui a été ajouté à la spécification JavaScript.

Les navigateurs prennent déjà en charge les modules ES et Node travaille à leur implémentation.

Voyons ensuite le détail du fonctionnement de ce nouveau système de modules.

Le fonctionnement des modules ES

Lorsqu’on développe en utilisant des modules, on construit un graphe de dépendances. Les liens entre ces dépendances proviennent des instructions import utilisées.

Ces instructions import indiquent, au moteur du navigateur ou à celui de Node, les fragments de code à charger. Il suffit de donner le nom d’un fichier comme point d’entrée pour le graphe puis le moteur suivra chacune des instructions import afin de récupérer l’ensemble du code nécessaire.

Mais le navigateur ne peut pas utiliser les fichiers directement. Il faut qu’il analyse ces fichiers afin de les transformer en structures de données appelées Module Records. Ainsi, il peut savoir ce qui se passe dans chaque fichier.

Après cette analyse, le module record doit être converti en une instance de module. Une instance représente deux choses : le code et un état.

Le code est, pour résumer, un ensemble d’instructions (à la manière d’une recette). Mais le code seul ne permet pas de faire grand-chose, il lui faut de la matière première à traiter avec ces instructions.

L’état est cette matière première. L’état permet de stocker les valeurs des variables à un instant donné. Quant aux variables, ce ne sont en réalité que des alias pour les espaces mémoire qui contiennent ces valeurs.

Reformulons : l’instance d’un module combine le code (la liste des instructions) avec un état (l’ensemble des valeurs des variables).

Il nous faut donc une instance de module pour chaque module. Le processus de chargement d’un module part du point d’entrée fourni par le fichier jusqu’à avoir un graphe complet avec l’ensemble des instances de module nécessaires.

Pour les modules ES, ce processus se décompose en trois étapes :

  1. Construction  — le moteur trouve, télécharge et analyse l’ensemble des fichiers pour le convertir en module records.
  2. Instanciation — le moteur détermine les zones mémoire dans lesquelles il va placer les valeurs exportées (il ne remplit pas ces zones pour l’instant). Ainsi, les exports et les imports peuvent pointer vers ces zones mémoire. C’est ce qu’on appelle aussi l’édition de lien ou linking.
  3. Évaluation — le code est exécuté afin de remplir ces espaces mémoire avec les valeurs réelles des variables.

On peut entendre dire que les modules ES sont asynchrones. En fait, cette asynchronicité vient du fait que chacune de ces trois étapes peut être exécutée séparément.

Cela signifie que la spécification introduit un niveau d’asynchronicité qui n’existait pas avec les modules CommonJS. Nous y reviendrons ensuite, mais il faut retenir qu’avec CJS, un module et ses dépendances sont chargées, instanciées et évaluées d’un coup, sans interruption entre ces étapes.

Ceci étant dit, les étapes individuelles ne sont pas nécessairement asynchrones et elles peuvent isolément être exécutées de façon synchrone. Cela dépend du chargement. En fait, la spécification pour les modules ES ne décrit pas l’intégralité du processus. Celui-ci se découpe en deux moitiés dont chacune est décrite par une spécification différente.

La spécification pour les modules ES indique comment analyser les fichiers pour les convertir en module records et comment instancier puis évaluer le module. Toutefois, elle ne dit rien de la façon dont on doit récupérer les fichiers pour commencer.

C’est au chargeur (loader) de récupérer les fichiers. Or, le comportement de ce chargeur est décrit dans une autre spécification. Pour les navigateurs, la spécification utilisée est la spécification HTML. Pour d’autres plates-formes, on pourrait tout à fait avoir d’autres chargeurs qui devraient également être spécifiés.

Le chargeur contrôle exactement la façon dont les modules sont chargés. Il appelle les méthodes associées aux modules ES :  ParseModule, Module.Instantiate et Module.Evaluate. On pourrait le comparer à un marionnettiste qui tire les ficelles du moteur JavaScript.

Étudions maintenant en détail chacune de ces trois étapes.

Construction

La phase de construction se décompose en trois sous-étapes :

  1. Déterminer où télécharger le fichier contenant le module (aussi appelée la résolution)
  2. Récupérer le fichier (en le téléchargeant via une URL ou en le chargeant depuis le système de fichier)
  3. Analyser le fichier et le convertir en un module record

Trouver et récupérer le fichier

C’est le chargeur qui va déterminer l’emplacement du fichier et le télécharger. Pour commencer, il lui faut un point d’entrée. En HTML, ce point d’entrée est fourni par le document indiqué via un élément <script>.

Mais comment faire pour trouver les modules suivants, ceux dont dépend main.js ?

C’est ici qu’intervient l’instruction import. Une partie de cette instruction est l’indicateur du module (module specifier). Cette partie permet au chargeur de connaître l’emplacement du prochain module.

On notera ici qu’il y a une différence entre Node et les navigateurs pour ces indicateurs. Chaque environnement hôte dispose de sa propre méthode pour interpréter la chaîne de caractères fournissant l’indicateur. Pour cela, chaque plateforme utilise un algorithme de résolution qui lui est propre. À l’heure actuelle, certains indicateurs de module qui fonctionnent avec Node ne fonctionneront pas dans le navigateur (des pistes sont à l’étude pour résoudre ce problème).

Jusqu’à ce que ce problème soit résolu, les navigateurs acceptent uniquement des URL comme indicateurs de module. C’est le fichier vers lequel pointe cette URL qui sera chargé.

Toutefois, la récupération des différents modules ne se fait pas simultanément. On ne peut pas savoir les dépendances dont on a besoin tant qu’on a pas analysé le contenu du module et on ne peut pas analyser le fichier tant qu’on ne l’a pas récupéré.

Cela signifie qu’il faut progresser niveau par niveau : analyser le premier fichier, déterminer ses dépendances, trouver ces dépendances, les charger et ainsi de suite.

S’il fallait que le thread principal patiente le temps que chacun de ces fichiers soit téléchargé, de nombreuses tâches s’ajouteraient à la queue.

En effet, lorsqu’on travaille dans un navigateur, le téléchargement dure longtemps.

Illustration basée sur ce graphique.

Bloquer le thread principal de cette façon ralentirait considérablement une application qui utilise les modules. C’est pour cette raison que la spécification pour les modules ES découpe l’algorithme en plusieurs phases. Placer la construction à part permet aux navigateurs de récupérer les fichiers et de construire le graphe des modules avant de s’attaquer à la tâche, synchrone, d’instanciation.

Cette approche (de découpe d’algorithme) est une des différences fondamentales entre les modules ES et les modules CommonJS.

CommonJS peut gérer les choses différemment, car les fichiers proviennent du système de fichier et l’accès à ces ressources prend moins de temps que de les télécharger via Internet. Cela signifie que Node peut bloquer le thread principal pendant qu’il charge le fichier. Lorsque le fichier est chargé, on peut directement l’instancier et l’évaluer (encore une fois, ces phases ne sont pas distinctes avec CommonJS). Cela signifie également qu’on parcourt tout l’arbre des dépendances, qu’on les charge, qu’on les instancie et qu’on les évalue avant de renvoyer l’instance du module.

L’approche adoptée par CommonJS implique différentes choses que nous verrons ensuite. Entre autres, cela signifie qu’avec Node et les modules CommonJS, on peut utiliser des variables dans l’indicateur du module. On exécute l’ensemble du code du module (y compris l’instruction require) avant d’aller consulter le prochain module. Ainsi, la variable utilisée aura une valeur lorsqu’on passera à la résolution de module.

En revanche, avec les modules ES, tout le graphe des dépendances doit être construit avant l’évaluation. Aussi, on ne peut pas avoir de variable au sein des identificateurs, car ces variables n’ont pas encore de valeurs.

Cependant, il est parfois utile d’utiliser des variables pour les chemins des modules. On peut, par exemple, vouloir charger un module ou un autre en fonction de l’état du code ou de l’environnement dans lequel on exécute le code.

Une proposition, dynamic import, vise à rendre cela possible et permettrait d’écrire une instruction import de la forme

import(`${chemin}/toto.js`).

Pour cela, chaque fichier chargé grâce à import() est considéré comme un point d’entrée pour un autre graphe. Le module importé dynamiquement devient ainsi une racine d’un nouveau graphe, traité séparément.

Pour un graphe donné, on aura un cache contenant les instances de ces modules. Aussi, si un module A est présent dans deux graphes, on aura deux caches avec deux instances. Pour chaque module d’une portée globale, il n’y aura qu’une seule instance du module.

Charger une seule instance pour chaque module minimise le travail du moteur JavaScript : le module n’est récupéré qu’une seule fois même lorsque plusieurs modules dépendent de ce premier (une des raisons pour la mise en cache des modules, nous en verrons une autre dans le détail consacré à la phase d’évaluation).

Le chargeur gère ce cache avec ce qu’on appelle la carte des modules (module map). Chaque portée globale maintient le registre de ses modules dans une carte distincte.

Lorsque le chargeur récupère une URL, il place cette URL dans la carte des modules et note qu’il est en train de récupérer le fichier. Il envoie ensuite la requête puis démarre la récupération du prochain fichier.

Que se passe-t-il lorsqu’un autre module dépend du même fichier ? Le chargeur vérifiera la présence de l’URL dans la carte. Si celle-ci est déjà en cours de récupération, il passera à l’URL suivante.

La carte des modules ne sert pas uniquement à indiquer les modules qui sont en train d’être récupérés, elle joue également le rôle de cache pour les modules comme nous le verrons par la suite.

L’analyse (parsing)

Nous avons désormais récupéré ce fichier et il faut le convertir en module record afin que le navigateur comprenne les différentes partie du module.

Une fois le module record créé, il est placé dans la carte des modules. De cette façon, dès que le module est demandé, le chargeur peut le récupérer directement depuis la carte.

Précisons un léger détail qui n’est peut-être pas si léger. Tous les modules sont analysés comme s’ils utilisaient "use strict" au début. D’autres différences (par rapport à l’analyse des scripts « classiques ») sont également présentes : le mot-clé await est réservé au niveau le plus haut d’un module ; la valeur de this vaut undefined.

Cette différence d’analyse est aussi appelée parse goal. Si on analyse le même fichier pour un autre usage, on pourrait obtenir un résultat différent. Aussi, avant l’analyse, il est nécessaire de savoir si on analyse un module ou non.

Pour les navigateurs, c’est plutôt facile. Il suffit de placer l’attribut type="module" dans la balise script. Le navigateur pourra alors savoir que le fichier doit être analysé comme un module. Au sein des scripts, seuls les modules peuvent être importés, le navigateur sait donc que tout ce qui est importé doit être analysé comme un module.

Pour Node, c’est une autre histoire. Il n’y a pas d’éléments HTML et on ne peut donc pas utiliser un attribut type. Une des solutions utilisées par la communauté a été d’utiliser l’extension .mjs. Avec cette extension, on indique à Node que le fichier est un module. Vous pourrez lire certaines discussions où cette extension est un signal pour le parse goal. La discussion à ce sujet est toujours en cours et le signal qui sera utilisé par la communauté Node n’est pas encore fixé.

Dans tous les cas, le chargeur déterminera s’il faut analyser le fichier comme un module ou non. Si c’est un module et que celui-ci a des imports, le chargeur recommencera le processus jusqu’à ce que l’ensemble des fichiers ait été récupéré et analysé.

Et voilà ! Au début de cette étape, nous avions un fichier comme point d’entrée et maintenant nous avons un ensemble de module records.

La prochaine étape consiste à instancier ce module et à lier toutes ces instances ensembles.

L’instanciation

Comme évoqué plus haut, une instance combine du code avec un état. Cet état est en mémoire. Aussi, l’étape d’instanciation concernera principalement la mémoire.

Pour commencer, le moteur JavaScript crée un environnement pour le module. Cet environnement va gérer les variables pour le module record. Ensuite, il trouve les zones mémoire où placer l’ensemble des exports. C’est l’environnement du module qui maintiendra le registre d’association entre les zones mémoire et les exports.

Ces zones mémoire n’ont pas encore de valeur à l’intérieur. Ce n’est qu’après l’évaluation que les valeurs seront renseignées. Seule une exception échappe à cette règle : les déclarations de fonction sont initialisées pendant cette phase afin de faciliter la phase d’évaluation.

Pour instancier le graphe des modules, le moteur effectue un parcours postfixe (en profondeur) de l’arbre (depth first post-order traversal). Cela signifie qu’il commence par parcourir le bas de l’arbre (les dépendances qui n’ont aucune dépendance) et traite leurs exports.

.

Une fois que le moteur a fini de câbler l’ensemble des exports du niveau inférieur, il monte d’un niveau pour câbler les imports du module correspondant.

On notera qu’un export et un import pointent vers le même emplacement en mémoire. Commencer par câbler les exports garantit la capacité à connecter les imports aux exports associés.

Il y a une ici une différence avec les modules CommonJS. En CommonJS, tout l’objet exporté est copié à l’export. Cela signifie que les valeurs (les nombres par exemple) sont exportées sous forme de copies.

Cela signifie que si le module qui exporte modifie une valeur plus tard, le module qui l’import ne verra pas ce changement.

Les modules ES utilisent à la place des liaisons dynamiques (live bindings). Les deux modules (l’export et l’import) pointent vers le même emplacement en mémoire. Cela signifie que lorsque le module exportant modifie une valeur, cette modification est également présente dans le module important.

Les modules qui exportent des valeurs peuvent modifier ces valeurs à tout moment mais les modules qui importent des valeurs ne peuvent pas modifier les valeurs importées. Ceci étant dit, si un module importe un objet, il peut modifier les valeurs des propriétés de cet objet.

Avec ces liaisons dynamiques, il est possible de câbler tous les modules sans exécuter aucun code. Comme on le verra ensuite, cela facilite l’évaluation lorsqu’on a des dépendances cycliques.

À la fin de cette étape, toutes les instances de modules pour les imports et les exports sont câblées aux zones mémoire.

Nous voilà alors capables d’évaluer le code et de remplir ces zones mémoire avec leurs valeurs.

L’évaluation

L’étape finale consiste à remplir ces zones mémoire. Le moteur JS s’attaque à cette tâche en exécutant le code « de plus haut niveau » (top level), c’est-à-dire le code qui est situé en dehors des fonctions.

En plus de remplir ces espaces en mémoire, l’évaluation du code peut déclencher certains effets de bord. Un module peut, par exemple, communiquer avec un serveur.

À cause de ces effets de bord, il peut être préférable de n’évaluer le module qu’une seule fois. Contrairement à l’édition de lien qui se produit pendant l’instanciation et qui peut être effectuée plusieurs fois en produisant toujours le même résultat, l’évaluation pourra produire des résultats différents selon le nombre de fois qu’on l’a appliquée.

C’est l’une des raisons à l’origine de la carte des modules. La carte des modules met en cache les modules et expose une URL canonique pour chacun des modules. Ainsi, on s’assure que chaque module est exécuté une seule fois. Comme avec l’instanciation, l’exécution est effectuée en suivant un parcours postfixe (en profondeur) de l’arbre.

Mais que se passe-t-il avec les cycles que nous avons évoqués plus tôt ?

Si on a une dépendance cyclique, on aura une boucle dans le graphe. Généralement, cette boucle est plutôt longue. Toutefois, afin de pouvoir expliquer le problème ici, nous allons utiliser un exemple simplifié avec une boucle plus courte.

Voyons ce qui se serait passé avec des modules CommonJS. Tout d’abord, le module principal est exécuté jusqu’à l’instruction require. Ensuite, on charge le module counter.

Le module counter essaie alors d’accéder à la variable message provenant de l’object d’export. Cette variable n’ayant pas encore été initialisée dans le module principal, elle renvoie undefined. Le moteur JavaScript alloue de la mémoire pour la variable locale et indique undefined comme valeur.

L’évaluation continue jusqu’à la fin du code de plus haut niveau pour le module counter. On veut pouvoir voir si la valeur correcte de message y parvient (après que main.js a été évalué) et on utilise donc setTimeout pour patienter. L’évaluation reprend alors du côté de main.js.

La variable message est initialisée et ajoutée à un emplacement mémoire mais aucun lien n’est créé entre cet emplacement et celui utilisé précédemment. Aussi, la valeur utilisée dans counter restera (indéfiniment) undefined.

Si les exports avaient été créés avec des liaisons dynamiques, le module counter aurait fini par voir arriver la bonne valeur pour message. En effet, après que l’évaluation de main.js a eu lieu et remplit la valeur, une fois que le setTimeout se déclenche, il utilise la bonne valeur.

La prise en charge de ces cycles a été une composante majeure lors de la conception des modules ES. C’est ce découpage en trois phases qui permet de gérer les dépendances cycliques.

Quelle est la prise en charge actuelle des modules ES ?

Avec la sortie de Firefox 60 en mai, l’ensemble des principaux navigateurs prendra en charge les modules ES par défaut. Node travaille également sur le sujet et un groupe de travail dédié se concentre sur les problèmes de compatibilité entre les modules CommonJS et les modules ES.

Cela signifie qu’on pourra utiliser la balise script avec type=module ainsi que des imports et des exports. D’autres fonctionnalités relatives aux modules sont dans les tuyaux. La proposition concernant l’import dynamique est au niveau 3 du processus de spécification. Il en va de même avec import.meta qui aidera à gérer certains cas d’utilisation pour Node.js. Enfin, la proposition sur la résolution des modules aidera à atténuer les différences entre les navigateurs et Node.js. En bref, le meilleur reste à venir.

Remerciements

Merci aux différentes personnes qui ont fourni leurs retours sur ce billet ou dont les écrits ou discussions ont aidé à sa rédaction : Axel Rauschmayer, Bradley Farias, Dave Herman, Domenic Denicola, Havi Hoffman, Jason Weathersby, JF Bastien, Jon Coppeard, Luke Wagner, Myles Borins, Till Schneidereit, Tobias Koppers, Yehuda Katz, les membres du groupe communautaire WebAssembly, les membres du groupe de travail pour les modules Node ainsi que les membres du TC39.

À propos de Lin Clark

Lin est ingénieure au sein de l’équipe Mozilla Developer Relations. Elle bricole avec JavaScript, WebAssembly, Rust, Servo et dessine des bandes dessinées à propos du code.

Aidez-les à changer le monde chaque jour

DuckDuckGo Privacy Challenge 2018Nous sommes dans la dernière ligne droite du DuckDuckGo Privacy Challenge 2018. Le moteur de recherche DuckDuckGo – faisant partie de moteurs de recherche par défaut de Firefox pour son approche de la vie privée – double les dons d’une vingtaine de projets protégeant la vie privée qui concourront pour 500 000 $US (~405 K €) de prix.

Vous avez jusqu’au 10 avril pour faire un don à une des organisations retenues sur la plateforme Crowdrise. Chaque don à une organisation sera doublé jusqu’à 3 000 $ et 16 grands prix iront aux organisations qui ont récolté le plus d’argent au cours du défi avec 50 000 $ pour l’organisation en ayant collecté le plus. Enfin, chaque organisation peut aussi profiter de bonus hebdomadaires.

Edward SnowdenDevenez un super héro en soutenant une ou plusieurs de ces organisations qui sauvent le monde chaque jour comme le rappelait Edward Snowden récemment :

Les projets de logiciels gratuits, libres et open source sauvent discrètement le monde chaque jour, même quand vous ne pouvez pas le voir, et leur succès dépend de votre soutien (@Snowden).

Parmi tous ces projets méritoires, nous en avons choisis 4 qui sont directement en relation avec Mozilla et ses valeurs :

Tails

Logo Tails C’est à propos du système d’exploitation Tails que Snowden faisait la déclaration ci-dessus. Il appelait à donner à Tails :

Parce que je l’utilise depuis des années. Les journalistes qui ont publié les révélations de 2013 sur la surveillance de masse ont tous dépendu de lui (@Snowden).

Chaque jour des journalistes, activistes, lanceurs d’alerte comptent sur lui pour leur sécurité et la confidentialité de leurs communications.

En novembre, nous vous expliquions les liens du projet avec Mozilla et ce que le système peut même faire pour vous :

Tails est un système d’exploitation live, que vous pouvez démarrer, sur quasiment n’importe quel ordinateur, depuis une clé USB ou un DVD.

Son but est de préserver votre vie privée et votre anonymat, et de vous aider à :

  • utiliser Internet de manière anonyme et contourner la censure ;
    toutes les connexions sortantes vers Internet sont obligées de passer par le réseau Tor ;
  • ne pas laisser de traces sur l’ordinateur que vous utilisez sauf si vous le demandez explicitement ;
  • utiliser des outils de cryptographie reconnus pour chiffrer vos fichiers, emails et messagerie instantanée.

En juin 2017, LinuxFr a publié un article sur la version 3.0 de Tails.

Soutenez Tails au sein du DuckDuckGo Privacy Challenge 2018.

Tor

personnages Tor Le projet Tor propose un réseau informatique superposé mondial et décentralisé. Il se compose d’un certain nombre de serveurs, appelés nœuds du réseau et dont la liste est publique. Ce réseau peut entre autres servir à anonymiser la source d’une session de navigation web.

Le projet Tor fournit le Tor Browser, un navigateur sécurisé qui facilite la navigation sur le réseau Tor. C’est un navigateur web libre basé sur Mozilla Firefox ESR (édition longue durée). Mozilla et le projet Tor collaborent et ainsi certaines fonctionnalités conçues par Tor sont ajoutées à Firefox.

Soutenez Tor au sein du DuckDuckGo Privacy Challenge 2018.

Let’s Encrypt

Logo Let's EncryptLe standard internet TLS repose sur le chiffrement et des certificats numériques délivrés par des autorités de certification assurant l’authentification du serveur, la confidentialité des données échangées et l’intégrité des données échangées lors d’une session de surf. Jusqu’à présent, il fallait acheter son certificat et sa mise en œuvre pouvait être assez contraignante.

Pour diffuser la navigation sécurisée, empêcher l’interception des communications sur le Web et entraver la discrimination des contenus, Mozilla a aidé à mettre en place Let’s Ecnrypt, une autorité de certification mondiale qui fournit des certificats gratuits de manière automatisée pour une installation et un renouvellement facilités.

Mozilla Firefox 50 fin 2016 a reconnu le certificat racine de Let’s Encrypt. Mozilla qui se bat pour la généralisation de la navigation sécurisée (le HTTPS) est sponsor Platinum (le maximum) de Let’s Encrypt.

Des sponsors de Let's Encrypt

Pour en savoir plus, consultez cet article de Next INpact de 2016. Le projet a évolué mais les fondamentaux sont toujours là.

Malgré de nombreux soutiens d’organisations et d’entreprises, pour proposer une navigation sécurisée garantissant la vie privée gratuitement au monde entier, Let’s Encrypt a besoin de vos dons.

Soutenez Let’s Encrypt au sein du DuckDuckGo Privacy Challenge 2018.

ToS;DR

Le dernier projet que nous avons sélectionné est ToS;DR (pas sûr que la version allongée soit plus parlante : Terms of Service; Didn’t Read).

Comme pratiquement tout le monde, vous considérez sûrement les conditions générales d’utilisations (CGU) des sites et services web comme un mal nécessaire et vous cliquez sans les lire pour accéder au service. De toute façon, il vous faudrait des mois entiers pour toutes le lire.

C’est là que le projet ToS;DR intervient pour faire ressortir les points importants des CGU et des politiques de confidentialité des principaux services et leur attribuer une note. Cela peut donc s’avérer très utile pour choisir entre deux services ou découvrir au moment d’accepter les CGU si elles ne contiennent pas de clauses inadmissibles à vos yeux.

Terms of Service;Didn't Read

Le projet collaboratif a été relancé en novembre.

Interview en français d’un contributeur au projet vous expliquant
ToS;DR et son fonctionnement (via Framablog) 28 min

ToS;DR est disponible en extension Firefox.

Extension pour Firefox ToS;DR

L’extension axée vie privée de DuckDuckGo inclut les notes des services données par le projet ToS;DR.

Soutenez ToS;DR au sein du DuckDuckGo Privacy Challenge 2018.


Bien sûr, vous pouvez aussi aider les autres projets listés dans le DuckDuckGo Privacy Challenge 2018.


N’attendez pas, changez le monde dès maintenant !


Mozinet et Geb


Appel aux dons précédent : Mozilla a toujours besoin de vos dons

Crédit illustrations : n° 1 DuckDuckGo

n° 2, Edward Snowden, source : screenshot of the film Prism by Praxis Films, author : Laura Poitras/Praxis Films

n° 3 logo Tails

n° 4 The WEDA Coalition

n° 5 logo Let’s Ecnrypt

n° 8 Abdullah Diaa et Hugo pour Terms of Service; Didn’t Read sur AMO