Devoxx 2019 vue par Esker

Xavier FOLCH
Esker-Labs
Published in
10 min readMay 15, 2019

Devoxx 2019 affichait de nouveau complet cette année. Durant trois jours, 3 000 développeurs ont arpenté le Palais des Congrès de Paris. Cette édition a sélectionné 235 présentations sur un spectre étendu de sujets, allant de l’architecture logicielle à la communication en entreprise.

Esker était présent cette année dans le hall des exposants pour faire connaître la société, ses valeurs, Lyon et nous confronter à l’état de l’art. L’organisation de cet évènement a été menée en mettant en synergie nos équipes ressources humaines, marketing et R&D. 13 Eskériens, dont 9 développeurs se sont relayés sur le stand pour accueillir les visiteurs et assister aux conférences.

Au fil des trois jours, notre équipe a pu assister à plus d’une vingtaine de conférences mélangeant les thématiques techniques et humaines. Je vous propose de reprendre les sujets qui nous ont particulièrement marqués dans cet article et de faire le lien avec ce que nous faisons chez Esker.

The boring architecture, ou comment construire une licorne sur un monolithe (Michel Domenjoud, Nicolas De Nayer )

Le site internet Doctolib (réservation de rendez-vous chez le médecin en ligne) vit ces dernières années une très forte accélération. Le trafic sur la plateforme augmente de 20% chaque mois challengeant régulièrement l’infrastructure actuelle.

Lors de cette conférence, Michel et Nicolas ont livré les bonnes pratiques mises en place pour entretenir et faire évoluer leur application monolithique.

Ces principes peuvent s’articuler autour de quelques points clés :

  • Assurer l’autonomie des équipes en s’assurant de la présence de l’ensemble des compétences nécessaires dans chacune d’elles (développement, ergonomie, devops),
  • Combattre la complexité en optant toujours pour la solution la plus simple. Par exemple, l’introduction d’un nouvel outil ou framework est souvent plus complexe que de pousser au maximum ceux déjà présents,
  • Mettre en place des boucles de feedback rapides avec des pratiques comme le pair-programming, les code reviews et l’observabilité du système de production,
  • Responsabiliser l’ensemble des équipes sur le code mais également sur son comportement en production
  • Favoriser la communication par une présentation des nouveautés toutes les deux semaines et la réalisation de stages au sein d’autres équipes,
  • Prioriser les actions à mener. Les événements sont anticipés avec une visibilité de 3 à 6 mois. Au-delà, l’incertitude est trop grande.

Cette conférence a été l’occasion de découvrir les méthodes de travail d’une entreprise partageant une approche similaire à la nôtre autour d’une application monolithique. Nous nous sommes retrouvés sur plusieurs points. L’agilité pratiquée dans tous les services d’Esker place la communication au centre de nos valeurs. A la différence de Doctolib, la partie opérationnelle est séparée dans une équipe dédiée. La complexité est en effet un combat quotidien et l’insertion de nouveaux outils ou de dépendances est toujours bien réfléchie. L’organisation actuelle nous permet d’assurer des mises en production toutes les deux semaines. Cette conférence nous encourage à aller plus loin dans l’autonomie des équipes et la lutte contre la complexité.

Dynamique de groupes et structuration du temps : la théorie organisationnelle de Berne, une autre approche agile (Anne-Sophie Girault Le Mault )

La compréhension des interactions entre les individus est un sujet de plus en plus d’actualité dans les entreprises. Dans un premier temps, Anne-Sophie s’appuie sur la théorie de Berne pour expliquer ces interactions puis l’étend à l’interaction entre les groupes dans un second temps. Les groupes sont placés ensuite dans le contexte de l’entreprise. L’évolution des relations intra-équipe, inter-équipes et entre équipe et management est ainsi expliquée au travers de cette approche.

En forte croissance ces dernières années, Esker redouble d’efforts pour assurer l’intégration des nouveaux salariés au sein de la société et de ses équipes. Au fur et à mesure de la croissance de nos équipes, elles sont régulièrement subdivisées en plus petits groupes pour faciliter l’application de la méthode Scrum, et nous nous efforçons de favoriser leur autonomie tout en entretenant une cohésion globale. Déjà connue par certains collaborateurs, l’analyse transactionnelle et la dynamique de groupe sont deux approches apportant des outils d’alerte sur l’apparition de dysfonctionnements au sein des équipes. Elles permettent aussi de mieux comprendre les processus d’intégration d’une personne dans un groupe ou d’un groupe au sein d’autres groupes.

10 initiatives à mettre en place pour développer le bien-être au travail : exemples du boncoin (Pauline Barnouin )

Leboncoin se place 4e dans le classement Great Place To Work 2019 dans la catégorie 500–5 000 employés. Devoxx est l’occasion de partager quelques clés qui contribuent à l’ambiance de travail de cette entreprise. L’accent est mis sur l’épanouissement des collaborateurs aussi bien du côté professionnel que personnel.

Du point de vue professionnel, Leboncoin est à l’écoute de ses collaborateurs par l’organisation de Brown Bags. Le principe étant de présenter, durant la pause repas, une vidéo sur un thème choisi puis d’amorcer un débat ou un brainstorming entre les participants. Les sujets sont souvent liés à l’évolution de l’entreprise ou plus techniques. La société met en place différentes actions pour développer les compétences de ses collaborateurs comme par exemple “vis ma vie” dans d’autres équipes, des formations internes ou du T-shaping.

L’épanouissement personnel est encouragé grâce à des activités sportives ou des actions associatives. Leboncoin met à disposition des équipements pour inciter ses collaborateurs à pratiquer une activité physique durant la pause déjeuner. L’entreprise offre 1 journée par an pour permettre aux employés d’agir auprès de l’association de leur choix.

Classée 14e du palmarès Great Place To Work 2019 dans la catégorie 50–500 employés, Esker favorise l’épanouissement de ses collaborateurs. Différentes pratiques sont déjà en place pour favoriser le partage de connaissances au sein de l’entreprise avec des Brown Bags, la possibilité de participer au blog Esker Labs ou de présenter un sujet technique lors des TechDays organisés plusieurs fois par an dans l’entreprise. Afin de favoriser les échanges entre équipes de développement (front-end / back-end), avec les consultants intégration, le service support technique… Nous avons nous aussi mis en place des stages au sein d’autres équipes le temps d’un sprint pour favoriser la communication et la compréhension des challenges de chaque équipe. Côté sportif, Esker dispose d’une salle multi-activités, de vestiaires et de douches et propose des cours de renforcements musculaires sur la pause déjeuner avec un coach. Nos locaux sont également situés à proximité d’une salle de sport dont une partie de l’abonnement est remboursé par notre CE, et en face du parc de la Tête d’Or à Lyon pour ceux qui préfèrent le sport en extérieur. Enfin, dans le cadre de la démarche RSE d’Esker, une journée par an est offerte aux salariés pour une action associative. L’an dernier, une vingtaine d’Eskériens ont par exemple nettoyé les berges du Rhône.

Tests en charge en milieu hostile, ou comment tout faire au dernier moment et s’en sortir comme un prince (Guillaume Corré)

La croissance de la popularité d’une application ou d’un site internet peut conduire, si l’infrastructure est mal dimensionnée ou le code mal adapté, à la faire exploser en production. Les tests de charge permettent d’anticiper ces montées en charge en validant les capacités de la plateforme.

Les tests de charge valident différents points comme la résilience du système dans le temps (soak test), la charge maximale admissible (capacity test) ou le comportement en mode dégradé lors de surcharges (stress test).
L’approche présentée est l’approche GWT (Given When Then). Elle permet de structurer clairement ses tests et d’identifier les critères d’acceptation à associer à un état du système et un événement.

Par exemple :

  • Given : 200 utilisateurs injectés sur la plateforme
  • When : Les utilisateurs ouvrent une page
  • Then : 1000 requêtes par seconde doivent être traitées avec un temps de réponse < 250ms au 99e centile.

L’un des points critiques dans la définition des tests de charge est de bien définir les éléments testés (l’intégralité de la plateforme, une couche particulière, …) avec des critères d’acceptation cohérents (on préférera des mesures statistiques à 95 ou 99 centiles à la moyenne qui lisse les résultats).

Chez Esker, des tests de capacité sont réalisés régulièrement afin d’identifier les goulots d’étranglement. Les tests sont construits à partir des pics monitorés en production. La valeur du pic est multipliée par deux et sert de base au nombre de documents (factures, bons de commandes, etc…) à injecter dans la solution lors du test. Le dernier test que nous avons réalisé était ainsi basé sur un pic de production de 30 000 documents par heure. La plateforme de production a connu une évolution du nombre de documents à traiter de 100% en 1 an et demi et Esker gère actuellement des volumes de 8 millions de documents par mois. De nouveaux tests sont planifiés pour suivre l’évolution de l’activité et des actions sont constamment mises en place pour améliorer l’automatisation afin d’identifier rapidement des pertes de performance.

Comment se faire hacker bien comme il faut ! (Julien Topçu)

La fondation OWASP a pour mission d’améliorer la sécurité des applications informatiques. Elle publie continuellement les nouvelles failles liées à des protocoles, des pratiques de développement ou navigateurs web. Elle fournit un ensemble de supports (top 10, vidéos, etc…) pour former et aider à la résolution et à la prévention de ces failles.

La sécurité des applications est gérée à tous les niveaux en commençant par les développeurs : “Security by Design”. Le top 10 des failles en 2017, présenté lors de la conférence, met en avant des failles liées à des erreurs de conception ou de programmation.

Quelques exemples :

  • Les injections (SQL, NoSQL, OS, LDAP) : elles peuvent être contrées en assurant un contrôle des données fournies par les utilisateurs et en empêchant l’exécution du code malveillant sur la plateforme (paramètres dans les requêtes SQL, utilisation de listes blanches de tags HTML autorisés, etc…)
  • L’exposition de données sensibles (personnelles, médicales, bancaires, etc…) : elle peut être maîtrisée par exemple en clarifiant les processus manipulant les données, en assurant le chiffrement de celles-ci sur le réseau, en définissant des stratégies de sécurité (mots de passe) au niveau de l’application et de l’entreprise.
  • Les dépendances non sécurisées : elles peuvent être limitées en s’assurant de retirer les dépendances non utilisées, en gérant les versions utilisées, en téléchargeant depuis les dépôts officiels, ou en assurant une veille sur la publication de nouvelles failles de sécurité.

Esker propose des solutions SaaS pour automatiser les processus de gestion des entreprises. Les données manipulées dans le cadre de cette activité vont de données financières aux données personnelles. La sécurité des données est donc un enjeu critique pour nous. Afin de répondre à cette problématique, nous avons une équipe dédiée à la sécurité dont le rôle va de la définition de la stratégie de sécurité du groupe à la sensibilisation des collaborateurs. La conférence a été l’occasion de rappeler de façon concrète aux développeurs leur impact direct sur la sécurité et de redonner des clés pour se prémunir contre les failles les plus courantes dans le Web.

Le Web, ses frameworks et ses standards: déconstruire pour mieux (re?)construire (Hubert Sablonnière)

Les équipes de développement essayent de répondre aux besoins exprimés par les utilisateurs (ergonomie, navigation, accessibilité, …) et par les développeurs (productivité, isolation des impacts, collaboration, …). Les frameworks apportent des solutions pour adresser partiellement ou entièrement ces attentes (structure en composants, templating, manipulation du DOM, Server Side Rendering, routing, state management, …).

Cependant, l’utilisation d’un framework n’est pas sans conséquence. En adressant de nombreux sujets, un framework devient complexe. Il ajoute ses concepts aux concepts de base existants pour définir un écosystème propre. Les solutions proposées masquent une complexité sous-jacente et éloignent le développeur des principes de base du Web. Le code développé devient moins résilient au temps. Egalement, le monde des frameworks évolue perpétuellement, ce qui demande aux équipes d’acquérir des connaissances qui deviennent obsolètes rapidement et de supprimer des quantités de code non négligeables.

Une alternative est de revenir vers les standards du Web. Malgré une utilisation plus spécifique, ils nécessitent moins d’effort de formation et fournissent des connaissances davantage pérennes. Par exemple, la notion de composants web est présente dans de nombreux frameworks, encapsulée dans leur écosystème (syntaxe, injection de dépendances, routing, …). Le standard pose quant à lui la structure de base du composant web (les principes, les éléments constitutifs, les cas d’utilisation). Ces connaissances peuvent être utilisées directement pour mettre en place ses composants standards ou comprendre le fonctionnement de base de n’importe quel composant web au sein d’un framework.

Afin de répondre aux problématiques des développeurs et des utilisateurs, Esker a développé au fil du temps son propre framework. Chaque équipe a l’autonomie de le modifier si elle en a le besoin. Celui-ci évolue conjointement avec notre solution. Ce talk est l’occasion de prendre du recul et de se reposer les bonnes questions par rapport à ce que nous apporte actuellement notre framework et ce que nous souhaitons qu’il nous apporte à l’avenir. L’intervenant nous challenge également sur notre approche interne par rapport à l’évolution des standards du Web. Ces questions devraient mener à une réflexion de fond inter-équipes.

Merci Devoxx !

Ces trois jours de conférences et de rencontres à Devoxx ont été l’occasion de découvrir certaines pratiques mises en place au sein d’autres entreprises et communautés. Nous avons eu l’occasion d’échanger avec des experts sur de nombreuses thématiques.

Les conférences autour du bonheur au travail ou de la communication en entreprise nous ont confortés sur nos actions en interne autour de ces thématiques. Nous continuerons encore à nous améliorer pour proposer à nos collaborateurs une meilleure expérience au travail.

D’un point de vue technique, nous avons retrouvé des préoccupations internes qui nous sont chères comme la sécurité des applications et des données ou l’autonomie des équipes. D’autres sujets comme l’amélioration de nos tests de charge ou l’optimisation de nos outils font déjà l’objet d’actions dans nos backlogs.

Tous ces retours d’expérience nous ont apporté des informations précieuses pour aider les équipes à faire les meilleurs choix possibles et faire évoluer Esker dans la bonne direction. Nous remercions Devoxx, tous les bénévoles et l’ensemble des speakers pour leurs implications et la qualité de cette édition 2019.

--

--