Le présent et l’avenir de JavaScript à dotJS 2014

J’ai eu l’occasion de participer à la conférence dotJS 2014, centrée autour de l’écosystème JavaScript. Bien que la conférence dure une journée, des workshops étaient organisés les jours précédents, dont notamment un workshop Polymer encadré par le très connu Addy Osmani (créateur notamment de Yeoman, TodoMVC, Aura), Ewa Gasperowicz et Sérgio Gomes, auquel j’ai eu la chance d’assister.

La conférence est quant à elle assez différente des conférences traditionnelles puisqu’elle regroupe de nombreux talks très courts (une vingtaine de minutes). J’ai pour ma part été mitigé sur cette édition. Adepte des TED Talks – des sessions de 20 minutes sur des sujets variés en général très inspirants – je m’attendais à des interventions du même acabit : innovantes et orientées vers ce qui pourrait être. De fait, la plupart des interventions s’attachaient à dresser un état des lieux d’un aspect de l’écosystème JavaScript actuel, sans pour autant vraiment apporter de pistes nouvelles.

Cela n’est pas une critique sur les interventions en elles-même qui étaient de très bonne qualité, mais plutôt une déception personnelle sur les sujets abordés. Parmi les interventions qui m’ont particulièrement plu, je vais en détailler certaines après être revenu plus en détails sur le contenu du workshop.

Lire la suite…

Agile Tour Paris 2014 : en avant la découverte

Demain mercredi 26 novembre se tient la journée Agile Tour Paris, elle aura lieu au siège de Microsoft France au 41, Quai Président Roosevelt à Issy-les-Moulineaux.

L’édition de cette année est très diversifiée; elle comporte une multitude de sujets qui pourraient intéresser différents profils d’agilistes ou de friands d’agile. Cela va du contractuel, au technique, en passant par le management et le coaching. Beaucoup d’ateliers et de retours d’expérience seront proposés dans ce cadre.

Nous serons plusieurs de Viseo Technologies à y participer, en particulier Matthieu Doiteau et moi même.

Pour nous deux, assister à l’Agile Tour est une première et nous espérons y faire des rencontres intéressantes.

Voici les conférences auxquelles nous comptons assister :

Lire la suite…

Import en masse d’exigences depuis Excel vers Enterprise Architect avec le module eaXL d’eaDocX

eaDocX

Le module eaXL d’eaDocX permet de synchroniser des informations stockées au format Excel avec un projet de modélisation Sparx Enterprise Architect, par exemple pour importer et exporter des exigences, des classes (avec leurs attributs ou opérations), des cas d’utilisations, etc..

Cet article présente un retour d’expérience (REX) sur l’utilisation d’eaXL dans le cadre d’une réponse à appel d’offre, où les nombreuses exigences du client ont été importées dans un projet Enterprise Architect afin de faciliter l’analyse des besoins et l’élaboration d’une réponse via une approche par les modèles. Les étapes permettant d’importer en masse les exigences du client sont détaillées dans cet article.

Contexte

J’ai récemment travaillé sur l’appel d’offre d’un client comportant plus d’une centaine d’exigences organisées par catégories. La description, référence, et catégorie de chaque exigence ont été fournies au format Excel dans le but de compléter ce document avec nos réponses et propositions (livrable pour le client). Ayant la tâche d’étudier chacune des exigences vis à vis de la faisabilité, des efforts nécessaires, et de solutions à proposer, j’ai naturellement choisi d’effectuer ce travail en m’appuyant sur un projet de modélisation Enterprise Architect.

Une réponse à appel d’offre nécessite de travailler sur un large périmètre de demandes et d’attentes ; une approche par les modèles (model-driven) présente l’avantage de faciliter cette tâche fastidieuse en centralisant l’ensemble des informations, diagrammes et réponses dans un référentiel. L’accès en mode collaboratif permet également à plusieurs collaborateurs de travailler sur cette réponse à appel d’offre.
Lire la suite…

Pourquoi vous devriez passer une certification Java 7

 

Ayant passé les certifications Java SE 7 I (Associate) et II (Professional) au cours de ces derniers mois, je vous propose un tour d’horizon sur ces dernières :

  • en quoi elles consistent,
  • qu’est-ce qu’elles peuvent vous apporter,
  • et ce à quoi elles ne vous serviront pas.

Bien que sur la forme, je ne sois pas toujours d’accord,  le fond est là et ces certifications sont un bon moyen d’approfondir ses connaissances sur Java.

Voyons ce qu’elles nous apportent, leurs points forts et leurs points faibles.

 
Lire la suite…

On aime, on partage #46

Bienvenue dans la série « On aime, on partage » de Viseo Technologies ! Chaque semaine retrouvez les meilleurs articles du web issus de notre veille technologique.

e-commerce

Le Top 15 des e-marchands français au 3ème trimestre

Ce top 15 a été établi par Médiamétrie et on y constate la domination d’Amazon, mais aussi celle de Voyages-sncf.com sur le classement des sites de voyages en ligne, loin devant BlaBlaCar dont la performance est néanmoins à souligner. 

Open Data

Les codes postaux en Open Data

Un problème courant quand on développe est d’avoir une base de donnée de relation entre les code INSEE et les communes. Rien n’était disponible et officiel jusqu’à maintenant : soit c’était payant, soit bidouillé ou réutilisé d’un précédent projet… bref rien d’optimal.
Bonne nouvelle : l’État vient de mettre à disposition ces informations en OpenData et sous licence ouverte.

Voiture connectée

Les premières API Android Auto disponibles

Lire la suite…

dotJs 2014

Ce lundi 17 Novembre, j’ai eu l’opportunité d’assister à la troisième édition de la « dotJS« . Initiée en 2013, elle a pour but de créer en France une conférence européenne autour du monde JavaScript.

20141117_093359

Grosse originalité, nous nous sommes retrouvés au théâtre de Paris. Ainsi, nous n’avions qu’un seul slot à suivre à la fois, mais en plus, comme rappelé par les organisateurs, nous sommes « wifiless ». Cela permet ainsi une meilleure écoute. Et cela est d’autant plus important, car là aussi c’est une originalité, nous avons des pointures du monde JavaScript qui viennent faire des talks d’une vingtaine de minutes ! Nous pouvons voir un grand ensemble de talks rapidement. Talks qui sont aussi bien techniques que des « philosophies » de vie.

20141117_093410


Je ne pourrai pas énumérer tous les speakers tant il y en a eu (vous pouvez  trouver la liste ici ! ), mais je vais citer certains talks que j’ai accroché (à noter que tous les talks seront accessibles sur la chaîne Youtube de dotJS):

Tout d’abord, la première conférence, animée par James Halliday (le nom de « substack » parlera aux inités), qui pourrait se résumer ainsi: « comment faire des applications robustes fonctionnant même sans réseau ». Il nous a donc amené sur l’utilisation de l’HTML5 CACHE, permettant de faire de l’inverse scaling (allégeant le serveur d’appels ressources inutiles), mais aussi permettant à l’utilisateur un meilleur contrôle de l’application, à savoir la maîtrise de la version du code sur le poste client (autrefois gérée par le serveur, qui n’offrait qu’une seule version de l’application à l’instant T. Maintenant, possible de le gérer via le navigateur). Qui dit offline dit comment gérer des problèmes comme l’authentification et la sécurité, chose résolue en grande partie via l’api HTML5 Crypto (permettant de faire du chiffrage asymétrique).

Justin Meyer (créateur de CanJs) est venu nous parler des projets de développement autour de JavaScript et de la nécessité des checklists avant de commencer tout projet (« mise en place » suite au crash du B52). Il prend un exemple simple: tout chirurgien qui se respecte fait une checklist avant toute intervention pour s’assurer de la conformité des protocoles, des instruments, que le patient soit le bon et que la pathologie est bien comprise. Ceci a permis de réduire les risques opératoires de plus de 50% ! Pourquoi ne ferions-nous pas de même dans le monde informatique et du développement logiciel ? Justin nous propose ainsi sa propre checklist à adapter en fonction de nos besoins. Il va même plus loin en nous apprenant à jauger la pertinence d’un point de la checklist en faisant ce simple calcul:

checklist-equation

 Si la valeur est inférieure à 0, il est plus handicapant que bénéfique. A 0, il est neutre (il ne coûte rien en somme). Au-dessus de 0, il est bénéfique au projet.

 

Je pourrais également citer les talks de Julien LeCompte, Mike McneilPaul O’Shannessy, John-David Dalton qui sont venus nous parler respectivement:

  • De l’avenir de YUI, avec sa version 3 qui devrait sortir en 2015 (allant vers la norme EcmaScript 6, avec la mise en place d’un système d’injection de polyfills, et aussi de l’utilisation de ReactJs au sein de ses composants graphiques)
  • De la création de plugins avec une approche dite « machine state » où nous utilisons des méta-data pour décrire les entrées / sorties et le comportement du plugin (ce qui nous permettra ensuite de l’écrire plus facilement), et cela via le projet qui vient tout juste de sortir (issue du monde Sails.js): Waterline
  • De l’évolution de ReactJs autour des normes EcmaScript 6 et EcmaScript 7
  • De l’évolution de Lodash en proposant une syntaxe à la jQuery (ex: _(arrà.map(…)), mais surtout permettant de faire de la transduction !

Et enfin, un talk qui nous a fait du bien (pas qu’à moi, j’en suis sûr), c’est celui d’Angus Croll (créateur de Flight.js) qui nous a rappelé que nous pouvons écrire du code en respectant les bonnes pratiques et les guidelines. Mais cela n’empêche pas pour autant d’expérimenter et aussi de se faire plaisir :

« Playing is learning ! »

Car comme le dit très justement James Halliday:

« You need a lot of bad code to write good code »

Pour tout ceux que je n’ai pas cités, je m’excuse, mais je tiens à souligner la qualité de vos interventions, et je sais que grâce à vous , j’ai vu et appris beaucoup de choses (merci à Thomas Parisot, Soledad Penadès, et j’en passe …)


A noter que la dotJS, par le biais de ses partenaires, a partagé une récompense de 10 000 dollars pour le projet backend et le projet frontend le plus ambitieux de cette année (vote soumis aux personnes qui sont venus assister aux conférences).

La victoire du côté backend revient au projet Gulp.js qui est un système de build se basant sur l’api streaming de NodeJs. Et la victoire du côté frontend revient au projet Pixi.js de Mat Groves permettant de générer du rendu 2D sur WebGl, avec un fallback sur le Canvas classique.


 

Je finirai mon article en précisant que la dotJS a apporté en plus de cette conférence la première session de la dotCss (qui a eu lieu le vendredi 14 Novembre) et la mise en place de workshops le samedi 15 Novembre (j’aurais aimé assister à ceux autour de PolymerJs avec le très connu Addy Osmani).

20141117_122625

L’équipe de la dotJS ne va pas s’arrêter là, en publiant le site http://www.dotjobs.io/ afin d’aider les geeks du développement informatique à trouver un job, en soutenant http://www.hackerpledge.org/ qui référence les sociétés qui ont une certaine philosophie de vie. Enfin, le futur site « The Dot Post » qui est le blog de la dotJS.

20141117_114034


 

Au fond, cet événement était riche en contenus avec des speakers reconnus et de très haute qualité.

En espérant que la session 2015 soit aussi agréable !

Escale de la Wearable Tech Conference à Paris

wearable-tech-paris

Après Toronto, Tel Aviv, San Francisco et Los Angeles, Gizworld va tenir sa conférence Wearable Tech à Paris le 18 novembre. L’Internet of Things explose, les wearable devices également et cette conférence le prouve.

Au menu de cette journée :

  • rencontres avec des startup US et Européennes, acteurs majeurs du wearable computing et de l’Internet of Things
  • échanges avec des opérateurs et sociétés issues du monde de la technologie, du sport et de la mode (Orange, L’Oréal, Samsung, Sen.se et bien d’autres) sur les usages d’aujourd’hui et les usages de demain.
  • Interview de personnalités du sport autour du wearable (Olivier Lombard, vainqueur des 24h du Mans, Sébastien Carbillet, vice champion du monde de saut en parachute…)
  • Démos techniques et prises en main

Je serais donc présent à cette conférence pour le compte de Viseo et cette journée sera l’occasion entre autre de rencontrer :

  • Rafi Haladjian, fondateur de Sen.se
  • Denis Darmouni, Connected car & services manager – Renault Innovation research
  • Cedric Hutchings, Co-founder & CEO, Withings
  • et bien d’autres…

Rendez-vous très bientôt pour vous faire un retour de cette journée qui s’annonce riche en expériences.

En route pour la conférence MongoDB Paris

MongoDB DaysMardi 18 novembre se déroulera la conférence MongoDB Paris à laquelle Shoun Ichida, Eric Siber, et moi-même participons.

Le programme est le suivant

  • Socialite, the Open Source Status Feed : Retour d’expérience sur la mise en place de Socialite développé avec MongoDB (infinite timeline, indexation, sharding…), et l’implémentation d’un User Graph.
  • Plus de flexibilité et de scalabilité chez Bouygues Télécom : Refonte de l’annuaire des services de ses clients avec MongoDB pour des questions de performance et de flexibilité de l’architecture (construction de modèle, topologie Storm…) avec DevOps.
  • Scalabilité : options de sharding, pour une une scalabilité horizontale et des performances fiables dans le temps.
  • MongoDB et Hadoop : interaction permettant les analyses complexes et une plus grande intelligence (connecteur natif Hadoop, MapReduce, Pig et Hive). Démo d’application Spark.
  • Tirez le meilleur de vos applications MongoDB : Data Warehouse Teradata pour tirer plus de valeur de vos données
  • Mise en place de MongoDB dans le cadre d’un projet d’intégration de contenu : Projet d’intégration de contenu d’un grand voyagiste Français
  • Automatisez votre gestion de MongoDB avec MMS : Présentation de MongoDB Management Service (provisionner des serveurs, configurer des replicasets et des clusters, mettre à jour votre environnement…)
  • Roadmap produit : Roadmap pour les prochaines versions

Pour ma part, ce sera ma première conférence sur MongoDB et sur le NoSQL en général.

Je suis actuellement les cours en ligne par MongoDB et je compte sur la conférence pour avoir un peu plus de retour d’expérience sur la mise en place de la solution sur de gros projets, de gros volumes de donnéesn et sur la performance / scalabilité en général.

Categories: Big Data Tags: ,

On aime, on partage #45

Bienvenue dans la série « On aime, on partage » de Viseo Technologies ! Chaque semaine retrouvez les meilleurs articles du web issus de notre veille technologique.

Evènements

Getting Git Right à Paris

Apprenez comment Git décuple les possibilités pour les développeurs, rationalise le flux de développement et favorise le travail d’équipe. Ca se passe le 4 décembre après-midi et c’est Atlassian qui régale.

Agilité

Un site dédié à LeSS

Bas Vodde a annoncé la mise en ligne d’un site dédié à Large Scale Scrum (LeSS).

DotNET

Microsoft verse .NET en Open Source

Lire la suite…

Créez vos tâches personnalisées avec Grunt

Introduction

Dans les deux précédents articles de cette série, nous avons effectué un tour théorique de Grunt et nous avons ensuite mis en place un workflow personnalisé du build d’un projet en utilisant des plugins (ou tâches) Grunt déjà existants. Nous allons maintenant aller plus loin dans la prise en main de Grunt et créer nos propres tâches personnalisées !

Attention ! Dans l’article précédent, nous avions créé des tâches (notamment la tâche build), mais celles-ci n’étaient alors qu’un alias pour exécuter plusieurs autres tâches. Ce que je vous propose à présent, c’est de pouvoir mettre en place de nouvelles tâches lorsque vous ne trouvez pas de plugin pouvant répondre à votre besoin. Comme fil rouge de cet article, nous allons réaliser une tâche Grunt qui servira à définir des variables de configuration suivant l’environnement sur lequel nous souhaitons livrer notre projet.

Imaginons en effet que nous ayons deux environnements sur lesquels nous souhaitons livrer, par exemple un environnement de pré-production et un environnement de production. Imaginons que, pour une raison quelconque, l’adresse courante ait besoin d’être renseignée dans un fichier de configuration. Comme les différents environnements sont situés à des adresses différentes, il peut être intéressant d’automatiser le remplacement de ces paramètres dans une tâche Grunt.

A travers cet exemple, nous allons voir deux façons de déclarer des tâches Grunt, une simple puis une plus évoluée. Lire la suite…

Categories: Web Tags: , , ,