Revue de Presse Xebia

La revue de presse hebdomadaire des technologies Big Data, DevOps et Web, architectures Java et mobilité dans des environnements agiles, proposée par Xebia.

Mobilité

Build flexible layouts with FlexboxLayout

Google a mis à disposition les sources de FlexboxLayout l’an dernier en même temps que la sortie de ConstraintLayout. Cet article donne un overview complet sur comment nous pouvons profiter de ce widget pour construire des layouts souples.

ConstraintLayout maintenant disponible en version 1.0

La bibliothèque ConstraintLayout réalisée par Google est maintenant disponible dans sa première version stable. Cette bibliothèque permet la construction d’écrans complexes de manière efficiente pour Android. Un codelab est disponible pour découvrir comment utiliser cette bibliothèque au sein de vos applications.

Craftsmanship

Réflexion sur l’élégance

http://www.gravatar.com/avatar/3848e549f441ca74ed4858d7fef97933
Par Julien Tard

Quel développeur n’a jamais prononcé ces mots devant un bout de code bien écrit, simple, sobre, mais néanmoins redoutablement efficace et robuste : « c’est élégant ! ». L’élégance du code est en effet souvent preuve de bonnes pratiques de Craftsmanship. Bas Dijkstra nous propose un court article sur le sujet, sobrement intitulé « On Elegance ».

Front

Anime.js 2.0, une librairie pour tout animer

La librairie anime.js sort en version 2.0 ! Très complète, elle permet de manipuler toutes sortes de propriétés : aussi bien du CSS, du SVG, du DOM, du Javascript, etc. Bref, tout ce qui vous permet d’animer vos applications web. Du morphing, du line tracing, de la gestion de la timeline aux travers de différentes animations, les possibilités sont très vastes.

Dans cette nouvelle version majeure, beaucoup d’améliorations (surtout en terme de performance), des ajouts bien venus (gestion de Promise, possibilité de jouer une animation à l’envers, etc.) et des correctifs importants (reset, pause, etc.). Il y a vraiment beaucoup de nouveautés, je vous laisse consulter la liste complète pour plus de détails.

En finir avec les attaques CSRF

Sécuriser les applications web n’est pas trivial. De nombreuses faiblesses existent. Certains frameworks ou librairies proposent des solutions pour en éviter certaines (XSS par exemple), mais tout ne peut être couvert par des outils. Bien connaitre les possibilités pour les éviter est important.

Les attaques de type CSRF (Cross-Site Request Forgery) ont pour principe de simuler une requête sur un site légitime, depuis un site malveillant en utilisant les cookies de l’utilisateur pour rendre cette requête valide du point de vue du site cible. Une évolution du header Set-Cookie permet de vérifier l’origine du cookie grâce au tag SameSite et ainsi être encore plus résistant à ce type d’attaque. Cet article de Scott Helme explique en détail l’influence de ce tag. Un article à lire en prévision du support futur sur tous les navigateurs, qui est malheureusement loin d’être complet.

Mozilla présente Neutrino

Mozilla a présenté récemment Neutrino, un outil basé sur Webpack qui permet de boostraper sans configuration des applications Javascript. Mais Neutrino ne se limite pas à une suite d’outils particuliers comme le fait create-create-app pour React. Il permet de mettre en place très facilement des applications Node comme des applications web.

Basé sur un principe de Presets, il est prévu pour pouvoir s’adapter à toutes sortes de stacks et semble très personnalisable. Il inclue également un mécanisme d’éjection, qui renvoie dans votre projet tous les fichiers, dépendances et configurations générées par l’outil pour reprendre intégralement la main dessus.

Back

Node.js en version 7.6

Node.js 7.6 est sorti ! Cette release inclue v8 5.5 et, avec lui, le support des fonctions async (Async, Await) utilisables sans flag ! Depuis, une version de Node.js 7.7 a été réalisée, mais attention, elle contient un bug qui empêche tous les modules natifs de se charger. Comme décrit sur la page « news », il va falloir attendre un patch (7.7.1) pour l’utiliser convenablement.

Le coin de la technique

Google annonce la première collision SHA1

Après 2 ans de recherche, une collaboration entre Google et le CWI (l’équivalent du CNRS et de l’INRIA Néérlandais) a permis de découvrir la première collision sur l’algorithme de hachage SHA1.

Cette collision a été rendue possible par une réduction du nombre de calculs d’un facteur 100 000 (par rapport à un « brute force ») grâce à l’attaque découverte par cette collaboration et nommée SHAttered, amenant tout de même le nombre de calculs de SHA1 qu’il a été nécessaire de réaliser pour trouver cette première collision à 9.223.372.036.854.775.808.

L’impact pour la plupart d’entre nous est cependant limité :

CloudfFlare leak – « Cloudbleed »

Le même jour que la révélation de SHAttered, le 23 février, le CDN CloudFlare a annoncé publiquement au travers d’un rapport d’incident extrêmement détaillé et passionnant la fuite d’informations privées suite à un bug. Un parallèle a rapidement été fait avec Heartbleed dans la mesure où il s’agit là encore d’accéder à des données supposées inaccessibles suite à une erreur de type « buffer over-read », permettant de lire plus d’informations que ce qu’un buffer d’une taille donnée stocké en mémoire contient réellement.

Le problème a pris une nouvelle dimension suite à la mise en cache de ce contenu « leaké » par les moteurs de recherche tels que Google. Le suivi de la notification publique du bug par Tavis Ormandy, auteur de la découverte, donne d’ailleurs une très bonne perspective sur la collaboration des différents acteurs concernés lorsque ce genre de faille est découverte.

Une preuve de plus que la qualité logicielle importe ! On notera d’ailleurs les bienfaits d’un pipeline de déploiement automatisé et fiable : CloudFlare a pu déployer le premier correctif de mitigation du bug en une demie heure, et ce de manière mondiale.

Commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.