Sommet des développeurs Chrome : récapitulatif des plates-formes Web ouvertes

par Greg Simon et Eric Seidel

Blink est le moteur de rendu Open Source de Chrome. L'équipe Blink fait évoluer le Web et résout les problèmes rencontrés par les développeurs.

Depuis le lancement en avril, nous avons commencé à apporter un certain nombre d'améliorations en coulisses.

La première chose que nous avons faite a été de supprimer la moitié de notre source, dont nous n'avions pas nécessairement besoin. Ce n'est pas tout ! Nous ne procédons pas à cette suppression de manière aveugle: elle est basée sur des statistiques globales anonymes provenant des utilisateurs Chrome qui ont activé les rapports.

Nous publions une nouvelle API pour les développeurs toutes les six semaines, comme pour Chrome.

Lorsque nous avons créé une branche à partir de Blink, nous avons ajouté un système d'intents. Avant chaque modification de la plate-forme Web, nous envoyons une annonce publique aux développeurs Blink pour leur indiquer notre intention d'ajouter ou de supprimer une fonctionnalité. Nous allons ensuite coder. Le lendemain, la fonctionnalité est déjà disponible dans nos builds Canary. Cette fonctionnalité est désactivée par défaut, mais vous pouvez l'activer à l'aide de la page about:flags.

Nous annonçons ensuite notre intention d'expédition dans notre liste de diffusion publique.

Sur chromestatus.com, vous pouvez consulter les fonctionnalités sur lesquelles nous avons travaillé, celles que nous avons publiées et celles que nous prévoyons d'abandonner. Vous pouvez également consulter le blog des versions Chromium, qui contient des liens vers les bugs et vers notre tableau de bord de suivi.

Autre modification importante : nous supprimons les préfixes WebKit. L'objectif n'est pas d'utiliser des préfixes Blink, mais d'avoir des indicateurs d'exécution (et pas seulement des indicateurs de compilation).

Android WebView a représenté un grand défi, mais HTML5Test montre que les choses s'améliorent. Nous nous rapprochons beaucoup plus du bureau en termes d'API de plate-forme Web partout (Web Audio en est un excellent exemple).

Mais comment fonctionne la machine à saucisses ? Chaque modification que nous apportons à Blink est immédiatement soumise à plus de 30 000 tests, sans parler de tous les tests Chromium qui sont exécutés par la suite. Nous utilisons une surveillance 24h/24, avec des milliers de bots, des milliers de benchmarks et des systèmes qui envoient des millions de pages Web défectueuses à notre moteur pour nous assurer qu'il ne plante pas. Nous savons que le mobile est beaucoup plus lent, et nous mettons tout en œuvre pour améliorer ce point.

Qu'est-ce qui a changé ?

  • Composants Web: regardez la conférence d'Eric Bidelman !
  • Animations Web:animations complexes, synchronisées et hautes performances qui utilisent le GPU dans la mesure du possible
  • Mise en page partielle:calculez uniquement ce dont vous avez besoin.
  • Grille CSS
  • Images responsives: srcset ou srcN ou ?
  • Taille automatique du texte plus rapide et polices sous-pixel cohérentes
  • Skia, le système graphique utilisé par Blink, passe de GDI à DirectWrite sur Windows

Votre avis nous intéresse !

Si le C++ coule dans vos veines et que vous souhaitez écrire du code C++ avec nous, tout notre code est ouvert. Vous n'avez pas besoin de le dire à qui que ce soit ni de nous en faire la promotion. Vous pouvez simplement publier un correctif ou signaler un bug.

Diapositives:Clignotement

Sécurité

par Parisa Tabriz

Aujourd'hui, plus de personnes que jamais sont connectées au Web, et depuis plus d'endroits.

Nous sommes connectés grâce à nos ordinateurs portables, téléphones et tablettes, et nous le serons bientôt avec nos appareils et accessoires personnels. Nous accédons à Internet depuis des réseaux non approuvés et parfois même hostiles. Une grande partie de notre vie se passe en ligne. Il est donc impératif que nous prenions des mesures pour protéger nos données et celles de nos utilisateurs.

Avant tout, en tant que développeurs, nous devons comprendre la nécessité et la praticité du protocole SSL.

Qu'est-ce que le protocole SSL ? Il s'agit d'un protocole cryptographique conçu pour sécuriser les communications sur Internet. Il garantit la confidentialité, via le chiffrement et l'intégrité, pour empêcher l'espionnage ou la falsification de votre connexion Internet. SSL a ses défauts, mais c'est le principal moyen, et en réalité le seul, de garantir tout type de sécurité de communication de données sur Internet.

Selon SSL Pulse, il y a un an, nous avions un taux d'adoption de SSL d'environ 15 %. Nous en sommes maintenant à plus de 50 %.

Deux acronymes:

  • TLS:protocole à toutes fins utiles identique à SSL. Pour être précis, SSL 3.1 a été renommé TLS, et TLS est le nom standard de l'IETF. Mais ils sont interchangeables !

  • HTTPS:HTTP sur SSL, c'est-à-dire la superposition des fonctionnalités de sécurité de SSL et du protocole HTTP standard. Tout d'abord, le handshake client-serveur, qui utilise la cryptographie à clé publique/privée pour créer une clé partagée, qui est utilisée par la deuxième partie du protocole SSL pour chiffrer la communication.

Le réseautage sur Internet peut sembler sûr, immédiat et rapide. On a l'impression de parler directement au site Web. Mais en réalité, il ne s'agit pas d'une connexion directe. Nos communications passent par un routeur Wi-Fi, un FAI et potentiellement d'autres proxys intermédiaires entre votre appareil et le site Web. Sans HTTPS, toutes nos communications sont en texte brut.

Le problème est que les utilisateurs saisissent rarement une URL complète spécifiant HTTPS, ou cliquent sur un lien utilisant HTTP. Pire encore, il est possible de lancer une attaque de l'intercepteur et de remplacer HTTPS par HTTP. Un outil appelé SSLstrip, lancé en 2009, fait exactement cela. Firesheep, apparu en 2010, écoutait simplement les réseaux Wi-Fi ouverts pour détecter les cookies envoyés en clair. Cela permettait d'écouter des conversations ou de se connecter au compte Facebook d'un utilisateur.

Toutefois, le protocole SSL est (relativement) peu coûteux, rapide et facile à déployer (consultez ssllabs.com et le livre "High Performance Browser Networking" d'Ilya Grigorik). L'épinglage de clé publique est conçu pour permettre aux opérateurs de sites Web de limiter les autorités de certification pouvant délivrer des certificats pour leurs sites.

"En janvier de cette année (2010), Gmail est passé à l'utilisation du protocole HTTPS pour tout par défaut. Pour ce faire, nous n'avons pas eu à déployer de machines ni de matériel supplémentaires. Sur nos machines de front-end de production, le SSL représente moins de 1% de la charge du processeur, moins de 10 ko de mémoire par connexion et moins de 2% des frais généraux réseau.

Si vous arrêtez de lire maintenant, vous n'avez qu'une chose à retenir: le protocole SSL n'est plus coûteux en termes de calcul."

Overclocking SSL, Adam Langley (Google)

Enfin, voici quelques bugs que nous rencontrons le plus souvent:

  • Contenu mixte:sites qui utilisent à la fois HTTP et HTTPS. Votre utilisateur sera agacé de devoir cliquer sur un bouton d'autorisation pour charger le contenu. (Chrome et Firefox bloquent en fait le contenu mixte des iFrames.) Assurez-vous que toutes les ressources d'une page HTTPS sont chargées par HTTPS, en utilisant des URL relatives ou relatives au schéma (par exemple, <style src="//foo.com/style.css">).
  • Cookies non sécurisés:envoyés en texte brut via une connexion HTTP. Pour éviter cela, définissez l'attribut "secure" sur les en-têtes de cookie. Vous pouvez également utiliser un nouvel en-tête "Strict Transport Security" pour exiger la sécurité du transport SSL (HSTS).

Points à retenir

  • Si vous vous souciez de la confidentialité et de l'intégrité des données de vos utilisateurs, vous devez utiliser SSL. C'est plus rapide, plus simple et moins cher que jamais.
  • Évitez les pièges courants d'implémentation, comme les bugs de contenu mixte ou le fait de ne pas définir les bits d'en-tête HTTP appropriés.
  • Utilisez des URL relatives ou relatives au schéma.
  • Découvrez quelques-unes des nouveautés, comme HSTS et l'épinglage de certificats

Diapositives:Avez-vous SSL ?

API multimédias pour le Web multi-appareil

par Sam Dutton et Jan Linden

Parallèlement à la prolifération de nouveaux appareils et plates-formes sur le Web, nous constatons une croissance exponentielle de la communication audio, vidéo et en temps réel. Les médias en ligne transforment notre façon de consommer des contenus multimédias de toutes sortes.

Une étude du gouvernement britannique a révélé que 53% des adultes pratiquent la "multitâche multimédia" lorsqu'ils regardent la télévision: ils utilisent des appareils mobiles pour partager et consommer des contenus multimédias. Dans de nombreux pays, le visionnage de la télévision est en baisse, tandis que celui en ligne est en hausse. En Chine, par exemple, en 2012, seulement 30% des ménages de Pékin regardaient la télévision, contre 70% en 2009. Selon les Principales actualités du W3C en 2013, le visionnage de vidéos sur les appareils mobiles a doublé au cours de l'année écoulée. Cette année, aux États-Unis, la durée quotidienne moyenne consacrée aux médias numériques dépassera le visionnage de la télévision. Le visionnage n'est plus un acte passif. Aux États-Unis, 87% des consommateurs de contenus de divertissement déclarent utiliser au moins un appareil de second écran lorsqu'ils regardent la télévision. Selon Cisco, "d'ici 2017, la vidéo représentera entre 80 et 90 % du trafic Internet grand public mondial". Cela équivaut à près d'un million de minutes de vidéo par seconde.

Qu'est-ce que nous avons pour les développeurs Web ? Écosystème d'API multimédias pour le Web ouvert: technologies standardisées et interopérables qui fonctionnent sur plusieurs plates-formes.

Points à retenir

  • WebRTC permet la communication en temps réel dans le navigateur. Il est désormais largement compatible avec les appareils mobiles et les ordinateurs. Au total, il existe déjà plus de 1,2 milliard de points de terminaison WebRTC.
  • Web Audio fournit des outils sophistiqués pour la synthèse et le traitement audio.
  • Web MIDI, intégré à Web Audio, permet d'interagir avec des appareils MIDI.
  • Les éléments audio et vidéo sont désormais compatibles avec plus de 85% des navigateurs mobiles et pour ordinateur.
  • Les extensions de source multimédia peuvent être utilisées pour le streaming adaptatif et le décalage temporel.
  • EME permet la lecture de contenu protégé.
  • Les transcriptions, les sous-titres et l'élément track permettent d'utiliser les sous-titres, les métadonnées temporelles, les liens profonds et la recherche approfondie.

Diapositives:API multimédias pour le Web multi-appareil