Retour sur le Google Hash Code 2016

Le 11 février dernier avait lieu le Google Hash Code. Un événement international couvrant l'Europe, le Moyen-orient et l'Afrique et réunissant plus de 1000 équipes de 2 à 4 personnes autour d'une même problématique de développement. Objectif pour chaque équipe : soumettre au moins une solution à un problème posé en moins de quatre heures. Chaque solution était ensuite analysée et les scores en résultant permettaient de classer les équipes en compétition. Le Groupe Sodifrance a présenté plusieurs équipes dans ses agences de Rennes, Nantes et Angers.

Go… Perf !

Pourquoi s’intéresser à Go ? Parce qu’à Go sont associés les mots suivant : simplicité, rapidité, concurrence, microservice et surtout parce que Docker est écrit en Go. Go est fait pour la partie serveur, c’est un concurrent direct de Node.js.

Quelles sont les qualités d’une nouvelle plateforme de développement côté « serveur » ? Revenir à la simplicité, mettre en œuvre les principes de séparation d’intention et de cohérence forte. Simplicité pour le développeur, mais aussi un cycle de vie efficace de la conception, en passant par le développement, par les tests, par l’intégration et enfin par la mise en production.

Les applications SAAS ou les années glorieuses des éditeurs

SAAS : Software As A Service

Les applications SAAS se substituent peu à peu aux applications appelées ASP (Application Software Provider). Ces dernières proposaient une application front-end (architecture Client/Serveur) alors qu'aujourd’hui Les SAAS sont plutôt focalisées sur du Full Web. Le principe du SAAS est de fournir un service en proposant une offre « tout compris » qui permet au client de n’être qu’un simple utilisateur de la solution. Cette gestion en boîte noire permet au client de réduire les coûts (ressources, serveurs, support). Le fournisseur de son côté s’occupe des accès, licences, supports et hébergements des données clients. Les applications SAAS sont assez répandues dans les progiciels métiers, la messagerie, les outils de travail collaboratifs, les ERP ou encore la BI. Les solutions ne sont pas forcément payantes, par exemple Google propose en ouvrant un compte chez eux, l’hébergement des emails (la taille du compte étant assez importante, l’archivage en local devient optionnel), un agenda, un chat …. Le service est gratuit et accessible partout avec une connexion internet, aucune installation n’est nécessaire … Dans une enquête au sein du Club Décision DSI (Club indépendant qui rassemble les décideurs informatiques de 900 entreprises publiques ou privées) publiée sur le journal du Net en Juillet 2011, 57% avaient déclaré utiliser des applications en mode SAAS. Pour 54%, il s’agit de solutions métiers, 32% de solutions RH et logistiques, 11% d’outils de reporting et 11% d’ERP. Dans un article plus récent datant du 25 Avril 2013, le JDN (Journal du Net) rapporte une croissance de 18% pour les éditeurs d’applications SAAS pour 2012 et 27% de croissances pour les éditeurs français. Nous retrouvons dans les plus importantes croissances : Oodrive dans le stockage en ligne (+41%), Neolane dans le CRM (+37,5%), Talentsoft dans la RH (+ 20%).

JUG Summer Camp 2012 : Google, marchand de bonbons

Alexis Moussine-Pouchkine et Martin Gömer nous ont présenté un talk contenant à la fois des informations assez "publicitaires" sur les services de google pour les développeurs (mais c'est de "bonne guerre" puisque Google est partenaire du JUG Summer Camp) et une présentation HTML5/CSS3/WebGL très classe.

Alexis a parlé de la plate-forme AppEngine qui a désormais un datacenter en Europe avec un SLA de 99,95%, donc ont peut parler ici d'une très bonne disponibilité de service. Ce que j'ai retenu essentiellement de cette présentation est la facilité de déployer des versions et de provisionner des services via la console d'administration de Google APIs. D'une part, chaque upload du projet est versionné. Il est ainsi assez facile (pour le peu que vous ayez prévu le cas dans la façon dont vous gérez votre persistance) de revenir en arrière lorsqu'une version n'apporte finalement pas satisfaction (régression, lenteurs, ...).

Ce que j'ai bien aimé, c'est la fonctionnalité de Traffic Splitting (notée encore comme expérimentale) qui permet de basculer vos utilisateurs progressivement vers une nouvelle version de votre application. Par exemple, indiquez que vous souhaitez voir 10% de votre trafic aller vers la version N+1 et vous pourrez en mesurer l'effet. Si vous constatez alors que votre chiffre d'affaire décroit ou que la charge augmente, vous n'aurez impacté pendant un faible moment qu'une partie de vos clients. Si ça tient, passez alors à 30% ou plus et montez ainsi progressivement en charge la nouvelle version.

Alexis nous a montré également les développements sur tablette avec notamment la possibilité de se connecter en USB à la tablette (en remote donc) et d'utiliser les fonction de développement de Google Chrome pour débugger votre application sur la tablette directement.

Martin nous ensuite fait une excellente présentation (ses "slides" en pur HTML5/CSS3/JS sont une merveille) des nouveautés HTML5/CSS3.

Il nous a montré le principe des transitions de CSS3 qui permettent de définir une CSS de départ, une CSS d'arrivée et laisser le navigateur calculer les transitions en interpolant. Il nous a également expliqué les animations CSS3 et donné une petite astuce pour éviter d'être dépendant d'un navigateur ou d'un autre lorsqu'on code en CSS3 alors que la spécification n'est pas encore validée. Il s'agit de la bibliothèque prefixfree qui permet de vous affranchir des préfixes -webkit pour Chrome ou -mozilla pour Firefox et d'avoir ainsi des CSS3 portables !

Martin nous a également montré WebGL avec Three.js. Bluffant !

Au final, 1H assez intéressante et à titre personnel une découverte de CSS3 que je n'avais pas encore eu le plaisir de découvrir.