JavaScript

Archi & techno

Les transitions D3.js m’ont tuer (mon CPU)! Une comparaison entre d3.js & pixi.js

www.octo.chD3.js est certainement la libraire JavaScript  de visualisation la plus complète du moment: les possibilités pour transformer vos données en data viz époustouflantes ne sont en fait que limitées par votre imagination. Et une des clés du succès de D3 réside dans la facilité avec laquelle on peut animer des graphiques grâce aux puissantes selection transitions. Hélas!  Ces animations se payent comptant et mettent rapidement votre processeur à genou. D’où cet article.

Si le problème était tapis dans les méandres de plusieurs projets, il est apparu au grand jour lors de tentatives d’affichage des transports public suisses en temps réel sur une carte. L’outil, basé sur du SVG et D3, proposait des perspectives intéressantes mais la réalisation souffrait d’à-coups et les batteries des laptops disparaissaient à grande vitesse. Une vidéo d’un premier projet est disponible et peut être comparée à une deuxième réalisation, basée sur des techniques présentées dans cet article. Pour rendre le problème encore plus universel, nous nous sommes rendus compte que le simple affichage d’une horloge, basée sur une transition/rotation, pouvait consommer jusqu’à 20% du CPU d’un laptop moderne!

Si D3 n’a aucun concurrent sérieux pour de nombreux problèmes, nous avons décidé d’essayer une autre approche, issue des jeux en ligne. Une libraire (parmi d’autres) permet de se servir de la puissance d’HTML5 et du GPU: pixi.js.

Nous commencerons cet article par une comparaison entre les deux librairies en termes de performance de rendering. Pour clore cet aspect du débat, nous aborderons aussi les transitions CSS natives. Dans un second temps, nous aborderons quelques trucs et astuces pour tirer le meilleur parti de chacun des frameworks et nous verrons même comment combiner les deux.

Le code et les mesures sont disponibles sur github et une démo sur github.io.

Le reste de l’article est en anglais.

IoT

Libérer les forces créatrices de l’IoT

La vision

Les objets connectés et leur logiciel embarqué deviennent une partie intégrante du système d’information d’entreprise. En passant d’un SI centré sur les applications “serveur”, puis à un SI où le mobile tient une place stratégique,  on arrive à un SI où les applications serveurs, le mobile et les objets connectés forment un SI totalement distribué. Avec des capacités toujours plus fortes et des prix toujours plus bas, l’objet connecté rejoint les serveurs et les mobiles dans le domaine du développement logiciel d’entreprise.

libereriot

L’objet connecté se positionne aujourd’hui comme l’application mobile s’est positionnée hier, d’abord à l’extérieur de l’entreprise (studios, agences Web)  jusqu’au moment où la DSI a repris son destin en main en réalisant elle-même ses applications mobiles. Il en va de même pour les objets connectés. Lire la suite

Archi & techno

Les nouvelles architectures front Web et leur impact sur la DSI – partie 2

Dans la partie 1 de cet article, nous avons traité des nouvelles architectures front-end basées sur des applications Web massivement Javascript appelant des API offertes par un serveur back-end : les nouvelles architectures front Web et leur impact sur les DSI – Partie 1.

Nous avons vu qu’elles sont apparues ces dernières années grâce à l’augmentation des performances des navigateurs et à l’amélioration des outils d’industrialisation des développements Javascript.

Dans cette seconde partie, nous nous intéresserons aux raisons pour lesquelles on devrait choisir ces nouvelles architectures, aux opportunités qu’elles offrent, et aux conséquences sur les organisations des directions informatiques.

Lire la suite

Évènement

OCTO accueille « Web Performance Paris » le jeudi 7 novembre

Nous avons le plaisir d’accueillir le groupe Web Performance Paris, jeudi 7 novembre à partir de 19h, pour une soirée de présentations et d’échange dédiée aux performances web.

Web Performance Paris

Au programme :

Lire la suite

Archi & techno

Les nouvelles architectures front Web et leur impact sur les DSI – Partie 1

Les applications Web évoluent. Depuis les premiers sites en HTML statique jusqu’aux applications AJAX de ces dernières années, en passant par les multiples technologies de sites Web dynamiques (PHP, ASP, Java, Rails…), les architectures applicatives et les outils pour les mettre en place connaissent régulièrement des avancées majeures et des points de ruptures.

Depuis deux ans, nous voyons venir une nouvelle vague technologique qui submerge le paysage des applications Web. Celle-ci n’a pas encore de nom bien défini comme ont pu l’avoir les RIA ou AJAX. Nous les appellerons les « architectures MV* côté client ».

Elles se constituent principalement de ce principe d’architecture : le serveur ne doit plus gérer l’affichage mais seulement envoyer des données brutes à afficher, et toute la génération des écrans et la gestion des interactions avec l’utilisateur doivent être géré côté client, c’est-à-dire dans le navigateur.

Dans ce billet, nous préciserons cette architecture et expliquer les raisons de son émergence. Dans un second billet, nous verrons pourquoi il est pertinent de les mettre en place dès aujourd’hui, les opportunités qu’elles offrent, et quels sont les impacts à prévoir pour les DSI.

Lire la suite

Big Data

Microsoft Techdays 2013

Nous avons participé à différentes conférences aux Techdays 2013 de Microsoft. Voici ce que nous avons retenu : développer pour tous les navigateurs.

La conférence était très ludique et pertinente, basée sur un retour d’expérience de plusieurs années.
Lire la suite

Archi & techno

D’un site mobile à une véritable application Web

La navigation mobile (smartphone ou tablette) s’est sans conteste accaparée une partie non négligeable du trafic Internet, et son augmentation ne fait pas de doute. Pour répondre à l’arrivée de ce nouveau support de consultation, nombres de sites ont commencé par adapter leur présentation pour une lecture agréable. Aujourd’hui, le mobile fait l’objet d’une véritable stratégie d’entreprise et ce sur de nombreux fronts : organisationnel, marketing et technologique notamment.

Ce dernier point amorce aujourd’hui un virage naturel mais peu évident à négocier, tiré par la démocratisation des usages et donc d’attentes plus élevées de l’utilisateur : il ne cherche plus seulement une déclinaison mobile d’un site web, mais une véritable expérience comme attendue dans une application native.

Lire la suite

Archi & techno

Performance côté client avec Rails & Heroku

À ChooseYourBoss on développe une appli web tout ce qu’il y a de plus classique : HTML5, JS, CSS3 + quelques API (Linkedn, Viadeo, Google Maps, Google Analytics, etc). Côté serveur on est en Rails sur Heroku. Bref, rien d’exceptionnel quoi.

Puis un jour, on a jeté un œil sur le graphe de temps de chargement de notre appli – merci Google Analytics. Et là le drame : une moyenne de plus de 5 secondes pour la page d’accueil, et je ne vous parle pas sur mobile. On se dépêche alors d’aller faire un petit tour sur Google Pagespeed, notre score : 44/100 (bof bof).

On décide d’investiguer point par point nos hypothèses, en voici un résumé.
Lire la suite