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.

Un certain nombre d'améliorations en coulisses ont été lancées depuis notre lancement en avril.

La première chose que nous avons faite a été de supprimer la moitié de notre source, ce dont nous n'avions pas nécessairement besoin. Ce n'est toujours pas fini ! Et nous ne le faisons pas à l'aveugle: la suppression du code s'appuie sur des statistiques globales communiquées de façon anonyme par des utilisateurs de Google Chrome qui ont activé l'envoi de rapports.

Nous publions une nouvelle API pour les développeurs toutes les six semaines, comme pour le calendrier d'expédition de Chrome.

L'un des changements majeurs que nous avons apportés lorsque nous avons migré depuis Blink a été l'ajout d'un système d'intents: avant de changer de plate-forme Web, nous envoyons une annonce publique à Blink dev pour annoncer notre intention d'ajouter ou de supprimer une fonctionnalité. Puis nous entrons et nous le codons ! Et le lendemain, elle 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 about:flags.

Ensuite, sur notre liste de diffusion publique, nous annonçons une intention d'expédier.

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

Autre changement important : 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 défi de taille, mais HTML5Test montre que la situation s'améliore. Nous sommes beaucoup plus proches de l'ordinateur de bureau en raison de l'existence d'un seul ensemble d'API de plate-forme Web partout (Web Audio en est un excellent exemple).

Mais comment fonctionne la machine à saucisse ? Chaque modification apportée à Blink passe immédiatement par plus de 30 000 tests, sans parler de tous les tests Chromium qui seront exécutés par la suite. Nous utilisons le shérif en 24 heures, avec des milliers de robots, des milliers d'analyses comparatives et des systèmes qui jettent des millions de pages Web défectueuses à notre moteur pour éviter qu'il ne tombe. Nous savons que la vitesse de l'application mobile est beaucoup plus lente. C'est pourquoi nous nous efforçons d'améliorer notre service.

Quoi de neuf ?

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

Votre avis nous intéresse !

Si vous avez l'impression que le C++ est dans votre sang et que vous voulez écrire en C++ avec nous, sachez que tout notre code est ouvert. Inutile de le dire à qui que ce soit ou de nous vanter les mérites. Il vous suffit de publier un correctif ou de signaler un bug.

Slides:Blink

Sécurité

par Parisa Tabriz

Les internautes sont aujourd'hui plus nombreux que jamais, et depuis plus d'endroits.

Nous sommes connectés à nos ordinateurs portables, téléphones et tablettes, et assez vite à des appareils et accessoires personnels. Nous accédons à Internet à partir de réseaux non fiables et parfois même hostiles. La plupart de nos vies étant en ligne, il est impératif de prendre des mesures pour protéger nos données et celles de nos utilisateurs.

Avant tout, les développeurs doivent comprendre l'utilité et le caractère pratique de la technologie SSL.

Qu'est-ce que SSL ? Il s'agit d'un protocole cryptographique, conçu pour assurer la sécurité des communications sur Internet. Elle garantit la confidentialité, grâce au chiffrement et à l'intégrité, pour empêcher l'espionnage ou la falsification de votre connexion Internet. La technologie SSL a ses défauts, mais c'est le principal moyen (et le seul moyen) d'assurer la sécurité des communications de données sur Internet.

Selon SSL Pulse, nous avions adopté la technologie SSL il y a un peu moins de 15 %, maintenant plus de 50 %.

Deux acronymes:

  • TLS:pour la plupart des intents et des fins, le protocole SSL est identique à ce protocole. Plus précisément, SSL 3.1 a été renommé TLS et TLS est le nom standard de l'IETF. Mais ils sont interchangeables !

  • HTTPS:il s'agit du protocole HTTP sur SSL, qui correspond à la combinaison des fonctionnalités de sécurité SSL et 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.

La mise en réseau sur Internet peut sembler sûre, immédiate et rapide. C'est comme si nous parlions directement au site Web. Mais en réalité, il ne s'agit pas d'un lien direct. 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 se font en texte brut.

Le problème est que les utilisateurs saisissent rarement une URL complète spécifiant HTTPS ou cliquent sur un lien via HTTP. Pire encore, il est possible de monter une attaque (« wo)man-in-the-middle » et de remplacer HTTPS par HTTP. C'est précisément ce que propose un outil appelé SSLstrip introduit en 2009. Firesheep, en 2010, écoutait en clair les cookies qui étaient envoyés en clair sur des réseaux Wi-Fi ouverts. Cela signifiait que vous pouviez écouter les messages sur le chat ou vous connecter au compte Facebook de quelqu'un.

Mais SSL est (relativement) bon marché, rapide et facile à déployer (consultez ssllabs.com et l'ouvrage "High Performance Browser Networking" d'Ilya Grigorik). L'épinglage de clé publique permet aux opérateurs de sites Web de limiter les autorités de certification autorisées à émettre des certificats pour leurs sites.

"En janvier de cette année (2010), Gmail est passé à HTTPS par défaut pour tout. Pour ce faire, nous n'avons dû déployer aucune machine supplémentaire, ni aucun matériel spécial. Sur nos machines frontend de production, le protocole SSL représente moins de 1% de la charge du processeur, moins de 10 Ko de mémoire par connexion et moins de 2% de la surcharge réseau...

Si vous arrêtez de lire maintenant, vous n'avez qu'une seule chose à retenir: SSL n'est plus gourmand en ressources de calcul."

Overclocking SSL, Adam Langley (Google)

Pour finir, voici quelques-uns des bugs les plus courants:

  • Contenu mixte:sites qui utilisent les protocoles HTTP ainsi que HTTPS. L'utilisateur sera contrarié, car il devra cliquer sur un bouton d'autorisation pour charger le contenu. En réalité, Chrome et Firefox éliminent le contenu mixte des cadres iFrame. Assurez-vous que toutes les ressources d'une page HTTPS sont chargées via HTTPS, en utilisant des URL relatives ou à schéma relatif (par exemple, <style src="//foo.com/style.css">).
  • Cookies non sécurisés:envoyés en clair via une connexion HTTP. Pour éviter cela, définissez l'attribut "secure" au niveau des en-têtes de cookie. Vous pouvez également utiliser un nouvel en-tête "Strict Transport Security" pour exiger le service SSL Transport Security (HSTS).

Prises de possession

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

Diapositives:Vous avez besoin de SSL ?

API multimédias pour le Web multi-appareil

par Sam Dutton et Jan Linden

Parallèlement à la multiplication des nouveaux appareils et plates-formes sur le Web, nous constatons une forte croissance des communications audio, vidéo et en temps réel. Les médias en ligne sont en train de transformer la manière dont nous consommons des contenus de toutes sortes.

D 'après une étude gouvernementale britannique, 53% des adultes utilisent des appareils mobiles pour partager et consommer des contenus multimédias lorsqu'ils regardent la télévision. Dans de nombreux pays, le visionnage de la télévision est en baisse alors que celui en ligne augmente. En Chine, par exemple, en 2012, seuls 30% des foyers de Pékin regardaient la télévision, contre 70% en 2009. D'après les faits marquants du W3C 2013, "L'année dernière, le nombre de visionnages de vidéos sur des appareils mobiles a doublé. Cette année, aux États-Unis, le temps moyen passé sur les médias numériques par jour dépassera les téléspectateurs. Le visionnage n'est plus un acte passif. Aux États-Unis, 87% des consommateurs et consommatrices de divertissements déclarent utiliser au moins un appareil avec un second écran lorsqu'elles regardent la télévision." D'après Cisco, le terme "video ..." atteindra 80 à 90 % du trafic mondial des consommateurs d'ici 2017. Cela représente près d'un million de minutes de vidéo par seconde.

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

Prises de possession

  • WebRTC, qui permet une communication en temps réel dans le navigateur, 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 les appareils MIDI.
  • Les éléments audio et vidéo sont désormais compatibles avec plus de 85% des navigateurs pour mobile et ordinateur.
  • Vous pouvez utiliser les Media Source Extensions pour le streaming adaptatif et le décalage temporel.
  • L'EME permet la lecture de contenus protégés.
  • Les transcriptions, les sous-titres et l'élément de la piste permettent d'activer les sous-titres, les sous-titres, les métadonnées temporisées, les liens profonds et la recherche approfondie.

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