<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://www.enveille.info/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.enveille.info/" rel="alternate" type="text/html" /><updated>2026-07-16T22:04:19+02:00</updated><id>https://www.enveille.info/feed.xml</id><title type="html">En Veille</title><subtitle>Vincent Ferries, développeur indépendant basé à Toulouse. Accompagnement d&apos;équipes tech, architecture, IA dans le dev. Billets de veille depuis 2011.</subtitle><author><name>Vincent Ferries</name></author><entry><title type="html">Les talks Devoxx France 2022 (3/3)</title><link href="https://www.enveille.info/devoxx-2022-part-3/" rel="alternate" type="text/html" title="Les talks Devoxx France 2022 (3/3)" /><published>2022-06-12T00:00:00+02:00</published><updated>2022-06-12T00:00:00+02:00</updated><id>https://www.enveille.info/devoxx-2022-part-3</id><content type="html" xml:base="https://www.enveille.info/devoxx-2022-part-3/"><![CDATA[<p>Défi réussi ! Environ 170 vidéos de Devoxx visionnées. La quasi totalité peuvent se regarder en vitesse x1.5, je n’arrive pas encore à pousser le curseur à x2, j’imagine que ce n’est qu’une question d’habitude.</p>

<p>On sent une grosse tendance à l’OPS, à Kubernetes et à l’observabilité dans cette édition. Assez peu de front et/ou mobile comme il est coutume dans cette conférence.</p>

<p>J’ai trouvé l’expérience particulièrement intéressante pour se faire une idée des outils du moment et de ce à côté de quoi on aurait pu passer dans sa veille quotidienne.</p>

<p>Par contre un rappel qui semble vraiment nécessaire :</p>

<p><strong>pipeline</strong>: nom <strong>masculin</strong>, ANGLICISME, Se dit d’un ordinateur où les données sont traitées, en série, dans une suite d’opérateurs fonctionnant simultanément.</p>

<p>Je dirais qu’approximativement 9 orateurs sur 10 l’utilisent au féminin, et ça me hérisse les poils.</p>

<p>Pour rappel, voici le lien pour <a href="/devoxx-2022-part-2/">la précédente partie</a>.</p>

<h3 id="de-loutofmemory-à-loutofserenity-quand-un-consultant-devient-chef-dentreprise">De l’OutOfMemory à l’OutOfSerenity, quand un consultant devient chef d’entreprise</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Séven Lemesle</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Zeg0dSNcYUk">Youtube</a></li>
</ul>

<p>Histoire de la création de WeScale (Xebia) en mode père Castor. Je n’ai pas accroché, pas vraiment fait pour moi je
crois bien, même en tant qu’indépendant. Le talk n’est pas mal fait en soi.</p>

<h3 id="développer-des-applications-observables-pour-la-production">Développer des applications observables pour la production</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Pierre Zemb</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/ivnI1BKywW4">Youtube</a></li>
</ul>

<p>Plutôt basique sur le sujet de l’observabilité :</p>

<ul>
  <li>métriques (utilisation, latence, saturation et erreurs)</li>
  <li>logs</li>
  <li>traces (sous-requêtes, appels externes etc)</li>
</ul>

<h3 id="game-over-or-game-changing-why-software-development-may-never-be-the-same-again">Game Over or Game Changing? Why Software Development May Never be the same again</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Steve Poole</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/W_0VsdQSzYQ">Youtube</a></li>
</ul>

<p>Ransomwares, phishing, CVEs… qui explosent en préparation d’une guerre prochaine.</p>

<p>Perte de confiance dans l’Open Source, de plus en plus de gros risques en tirant une dépendance qu’elle ait été
compromise.</p>

<p>Le gouvernement US commence à imposer des conditions pour tous les vendeurs de logiciels à des Américains.</p>

<p>SBOM (Software Bill Of Material) tels que <a href="https://cyclonedx.org">CycloneDX</a> et <a href="https://spdx.dev">SPDX</a></p>

<h3 id="simplifiez-vos-revues-de-code-avec-le-rebase-interactif">Simplifiez vos revues de code avec le rebase interactif</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 15 minutes</li>
  <li><strong>Speakers</strong>: Sonia Seddiki</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/3Z8O5IjWDEk">Youtube</a></li>
</ul>

<p>Un peu simpliste et ça aurait mérité du live coding (même si le format fait que c’est difficile). Mais c’est toujours
important à rappeler. Une petite référence au reflog pour retomber sur ses pattes en cas de souci aurait été un plus !</p>

<h3 id="comment-opentelemetry-peut-transformer-votre-monitoring-en-unifiant-vos-logsmetricstraces">Comment OpenTelemetry peut transformer votre monitoring en unifiant vos logs/metrics/traces</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Vincent Behar</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/dGMN3keJuXA">Youtube</a></li>
</ul>

<p>Lien metrics/logs/traces. Génération automatique de logs et métriques depuis les traces.</p>

<p>Intérêt du collecteur plutôt que de juste appliquer OpenTelemetry dans le code.</p>

<h3 id="notre-cerveau-est-null-quelques-biais-cognitifs-appliqués-au-métier-de-dev">Notre cerveau est “null”! Quelques biais cognitifs appliqués au métier de dev…</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Sylvain Coudert</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/vKjt_Srk_Jg">Youtube</a></li>
</ul>

<p>C’est marrant, bien qu’on n’y apprenne pas énormément de choses. Une bonne introduction à la thématique des biais
cognitifs.</p>

<h3 id="tests-cucumber-légendes-et-réalité">Tests Cucumber: légendes et réalité</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 15 minutes</li>
  <li><strong>Speakers</strong>: Michaël Strauss</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/-bnWa68JBcE">Youtube</a></li>
</ul>

<p>Petit REX sur l’utilisation de Cucumber sur un projet.</p>

<h3 id="les-lois-universelles-de-la-performance">Les lois universelles de la performance</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Raphaël Luta</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/eDgjIkCnnYE">Youtube</a></li>
</ul>

<p>Des mathématiques pour parler de performances. C’est intéressant parce que ça fait réfléchir sur plein de choses et ça
apporte quelques réponses sur comment dimensionner ses systèmes à partir de mesures empiriques.</p>

<h3 id="mob-programming-la-véritable-approche-du-développement-en-équipe">Mob programming, la véritable approche du développement en équipe</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Maxime Odye et Mathieu Pousse</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/nTR7AxqI9WQ">Youtube</a></li>
</ul>

<p>Plein de petits conseils de trucs à faire ou à éviter quand on veut faire du mob programming.</p>

<h3 id="cicd-le-divorce-serait-il-prononcé-">CI/CD, le divorce serait-il prononcé ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Nicolas GIRAUD et Yann Schepens</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/rZKAPyKdbXM">Youtube</a></li>
</ul>

<p>Enfin des gens qui mettent pipeline au masculin (beaucoup trop de contre exemples dans ce Devoxx !).</p>

<p>Un petit lien sympa que je ne connaissais
pas : <a href="https://digital.ai/periodic-table-of-devops-tools">La table périodique des outils Devops</a>.</p>

<p>Application des bons principes de développement à la CI/CD, réflexion sur les relations entre les équipes CI/CD et
DevOps.</p>

<h3 id="pourquoi-vous-nattirerez-et-ne-retiendrez-pas-les-femmes-dans-vos-">Pourquoi vous n’attirerez et ne retiendrez pas les femmes dans vos …</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Marcy Ericka Charollois</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/6g0quTQqpr8">Youtube</a></li>
</ul>

<p>C’est très important qu’il y ait des conférences de ce type, notamment dans les grosses conférences comme Devoxx France.
Je reste souvent sur ma faim, soit le ton ne me semble pas bon, soit ça manque de conseils pratiques à appliquer pour
réellement faire une différence. Marcy y est à mon goût arrivé !</p>

<h3 id="rendez-lagilité-aux-développeurses-">Rendez l’agilité aux développeur(se)s !</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Fanny KLAUK</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Vo_YWAE3Pxo">Youtube</a></li>
</ul>

<p>Tellement d’anecdotes vécues là dedans ! Un talk très dynamique.</p>

<h3 id="la-sécurité-avec-les-headers-http--tour-dhorizon-des-attaques-et-défenses-">La sécurité avec les headers HTTP : Tour d’horizon des attaques et défenses …</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Mathieu Humbert</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/hNlPFCLcOZ4">Youtube</a></li>
</ul>

<p>Petite démo des failles CSRF, XSS etc et comment s’en protéger (notamment les Content-Security-Policy).</p>

<h3 id="oauth-21-expliqué-simplement-même-si-tu-nes-pas-dev-">OAUTH 2.1 expliqué simplement (même si tu n’es pas dev) !</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Julien Topçu</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/YdShQveywpo">Youtube</a></li>
</ul>

<p>De super analogies pour vulgariser sur fond de Budapest Hotel. Un talk super bien construit !</p>

<h3 id="model-driven-design">Model-Driven Design</h3>

<ul>
  <li><strong>Ma Note</strong>: 2/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Bruno Boucard</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Mnt1N8T7xEA">Youtube</a></li>
</ul>

<p>J’ai trouvé ça décousu, pas clair et à peu près aussi indigeste que le Blue Book. On survole des tonnes de concepts sans
réellement les expliquer. Je pense qu’il y a beaucoup mieux à trouver sur le sujet.</p>

<p>PS: si vous n’êtes pas à l’aise en anglais, faites vos slides en français.</p>

<h3 id="dois-je-migrer-en-reactive-et-comment-">Dois-je migrer en Reactive et comment ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Christophe Jollivet</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/WTZOGQYsdqE">Youtube</a></li>
</ul>

<p>Tourné autour de Spring. Présente bien les avantages et inconvénients de la programmation réactive.</p>

<p>Par exemple, il faut faire attention, on n’a plus d’accès au thread local. ReactorContext à la place.</p>

<p>Petits exemples simples côté tests et code.</p>

<h3 id="être-développeur--grandir-et-se-développer">Être développeur : grandir et se développer</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Gaëtan Eleouet</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/AcE85HBzAZE">Youtube</a></li>
</ul>

<p>J’ai bien aimé ce talk un peu atypique. Je ne pourrais pas dire que j’y ai appris grand-chose, mais ça donne envie de
prendre un peu de recul.</p>

<h3 id="log4shell-cest-la-faute-à-la-fondation-apache-">Log4shell, c’est la faute à la fondation Apache ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: E. Lécharny, J.B. Onofré et H. Boutemy</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/d_brgPexBgc">Youtube</a></li>
</ul>

<p>Une explication de comment ça marche chez Apache en cas de CVE comme celle qui est arrivée il y a peu et qui a fait
grand bruit. Nouvelle référence au Biden Act, aux BOMs etc.</p>

<h3 id="saffranchir-de-la-pyramide-des-tests">S’affranchir de la Pyramide des Tests</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Jonathan Boccara</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/QL0HBeIAny0">Youtube</a></li>
</ul>

<p>Une réflexion intéressante sur le “pourquoi on teste”. Cela va un peu dans le sens des discussions sur ce sujet côté
front, où on présente plutôt le test diamond au lieu de la pyramide de tests.</p>

<h3 id="git-back-to-the-future">Git, back to the future</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Antoine Ceol</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/QCsFFAc5ffc">Youtube</a></li>
</ul>

<p>Très simpliste, surtout intéressant si vous n’êtes pas encore à l’aise avec git. J’ai préféré l’autre présentation sur
le rebase interactif.</p>

<h3 id="rex-tdd-avec-testcontainers">REX: TDD avec TestContainers</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Julien Durillon</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/-q7hLU2e2h4">Youtube</a></li>
</ul>

<p>Un Tool in Action classique qui présente Test Containers.</p>

<h3 id="migrer-de-spring-mvc-à-spring-web-flux">Migrer de Spring MVC à Spring Web Flux</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Mathilde Lorrain Et Hugo Caupert</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/QSH-vJyh9as">Youtube</a></li>
</ul>

<p>C’est dynamique, ça montre bien les avantages et les faiblesses, et ça pousse à vérifier si l’application est bien le
point de contention avant de vouloir changer de techno.</p>

<h3 id="doctolib-a-besoin-dune-base-de-données-plus-puissante-ok--">Doctolib a besoin d’une base de données plus puissante. Ok, … ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Bertrand Paquet et David Gageot</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/1PtPVpFWtKQ">Youtube</a></li>
</ul>

<p>Nécessité de scaler plus fort chez Doctolib avec leur BDD de plusieurs To. Analyse comparative de Spanner, Citus MX et
Yugabyte dans leur cas d’utilisation très spécifique. J’évite de spoiler le résultat, c’est intéressant, mais
difficilement applicable ailleurs que chez eux.</p>

<h3 id="mieux-maitriser-tls-openssl-et-les-certificats">Mieux maitriser TLS, OpenSSL et les certificats</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Mathieu Humbert</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/P6brMpIZaOo">Youtube</a></li>
</ul>

<p>Plutôt bien fait, parle des différences TLS 1.2 et 1.3 et des différents algorithmes utilisés.</p>

<h3 id="comment-permettre-100-millions-de-logins-sans-interruption-">Comment permettre 100 millions de logins sans interruption …</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Nicolas Jozwiak et Etienne Puissant</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/7AOu-NB0JjU">Youtube</a></li>
</ul>

<p>Sur l’importance des tests de charge et des tests de rupture (Gatling).</p>

<h3 id="architecture-microservices-et-cohérence-des-données--mais-on-fait-comment-pour-de-vrai-">Architecture microservices et cohérence des données : mais on fait comment pour de vrai ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: JF James</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/7HC6ZfSy8M4">Youtube</a></li>
</ul>

<p>Synchronisation des transactions entre micro-services (LRA, two-phases commit).</p>

<p>Eventuate orienté CQRS, basé sur un kafka (et un ZK), avec du Change Data Capture. Description des sagas dans un DSL
avec les opérations de compensation quand la transaction se passe mal.</p>

<p>Livre conseillé <a href="https://www.manning.com/books/microservices-patterns">Microservices Patterns</a>.</p>

<h3 id="la-fin-des-architectures-en-couches-avec-lapproche-hexagonale">La fin des architectures en couches avec l’approche hexagonale</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Benjamin Legros</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/p029gSnlnfU">Youtube</a></li>
</ul>

<p>Excellente introduction au sujet, très claire et très simple.</p>

<h3 id="reprenez-le-contrôle-de-votre-bash-en-devenant-un-ninja-de-la-cli-">Reprenez le contrôle de votre bash en devenant un ninja de la CLI !</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: David Aparicio</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Gn5hmC0hQzM">Youtube</a></li>
</ul>

<p>Des tonnes d’outils ligne de commande !</p>

<h3 id="théorie-des-catégories--vous-la-connaissez-déjà">Théorie des Catégories : vous la connaissez déjà</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: Emilien Pecoul et Romain Berthon</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/DFZ7arg1XFc">Youtube</a></li>
</ul>

<p>Les functors, endofunctors, les monades, les monoïdes et la théorie des catégories expliqués simplement avec des
exemples (en C# et F#).</p>

<h3 id="remèdes-aux-oomkill-warm-ups-et-lenteurs-pour-des-conteneurs-jvm">Remèdes aux oomkill, warm-ups, et lenteurs pour des conteneurs JVM</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: B. Dutheil et J.P. Bempel</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Cepqgkwll_0">Youtube</a></li>
</ul>

<p>Vraiment très dense, plein d’informations intéressantes sur la gestion mémoire, les différents niveaux de compilation,
les Garbage Collectors.</p>

<h3 id="à-la-découverte-des-bases-de-données">À la découverte des bases de données</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: Pierre Zemb</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Sb3uBtaKCaY">Youtube</a></li>
</ul>

<p>C’est vraiment très intéressant, ça fait beaucoup rappel
à <a href="https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/">Designing Intensive Data Applications</a>
qui reste à ce jour mon bouquin technique préféré. Cela aurait mérité de rentrer encore un petit peu plus dedans, mais
ça fait déjà une excellente introduction au sujet.</p>

<p>PS : dommage toutes ces références au temps et aux pauses.</p>

<h3 id="ansible-ultimate-edition">Ansible Ultimate Edition</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 170 minutes</li>
  <li><strong>Speakers</strong>: Aurélien Maury et Gautier Loterman</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/GUyzL3hXsDA">Youtube</a></li>
</ul>

<p>Plutôt adressé à des gens qui connaissent déjà un peu Ansible, l’introduction au sujet est assez rapide.</p>

<p>Tests avec Molecule et Goss Verifier. Beaucoup de copier/coller depuis un workshop qu’ils ont fait eux.</p>

<h3 id="la-révolution-wasm-est-incroyable-parce-que-vraie">La révolution (wasm) est incroyable parce que vraie</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: Philippe Charrière et Laurent Doguin</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/ePnnbRHdNsI">Youtube</a></li>
</ul>

<p>Assez complet, avec des exemples en Go et en Rust pour Wasm et Wasi, ou encore du AssemblyScript ou Grain, et avec pas
mal de références sur plein de FaaS ou librairies. Les démos sont récupérables pour ceux que ça intéresse.</p>

<h3 id="gradle-donnez-de-lamour-à-votre-build-il-vous-le-rendra">Gradle: Donnez de l’amour à votre build, il vous le rendra!</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 170 minutes</li>
  <li><strong>Speakers</strong>: Louis Jacomet et Paul Merlin</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/kOOChdmFdxw">Youtube</a></li>
</ul>

<p>Nouvelles fonctionnalités de Gradle 7, comment mieux factoriser et optimiser le code de ses builds.</p>

<h3 id="comprendre-graphql">Comprendre GraphQL</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 180 minutes</li>
  <li><strong>Speakers</strong>: Guillaume Scheibel et Geoffroy Couprie</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/cJzPONmQT3E">Youtube</a></li>
</ul>

<p>La présentation est plutôt bien faite, mais j’ai encore du mal à accrocher au concept. Je trouve ça lourd et complexe à
implémenter la plupart du temps.</p>

<h3 id="spring-security---décodage-et-démystification-️">Spring Security - décodage et démystification 🕵️</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: Daniel Garnier-Moiroux</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/wYR6L_1Jb4I">Youtube</a></li>
</ul>

<p>Le sujet Spring Security est assez complexe, la librairie ayant un certain passif. Mais la présentation est limpide,
bravo.</p>

<h3 id="java-application-security-the-hard-way---a-workshop-for-the-serious-developer">Java application security the hard way - a workshop for the serious developer</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: Steve Poole</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/p_2GQQtUu-g">Youtube</a></li>
</ul>

<p>Version longue de son autre présentation, du coup il y a pas mal de répétitions entre les deux.</p>

<h3 id="zero-trust--the-new-normal-">Zero Trust : the new normal !</h3>

<ul>
  <li><strong>Ma Note</strong>: 2/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: Laurent Grangeau et Tony Jarriault</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/VNmf1Wz16uk">Youtube</a></li>
</ul>

<p>Les slides sont lourds et ça reste très théorique pendant 2 bonnes heures.</p>

<h3 id="initiation-concrète-à-la-compilation">Initiation concrète à la compilation</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: William Badiabantou et Benjamin Coenen</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/yg8oGkHRJvo">Youtube</a></li>
</ul>

<p>Une excellente introduction au sujet, avec quelques bons pointeurs pour celles et ceux qui voudraient creuser.</p>

<h3 id="sécuriser-son-cluster-kubernetes-on-premise-from-scratch">Sécuriser son cluster Kubernetes on-premise from scratch</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: L.Toison, E.Lancelot et M.Nicolé</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/3In6HmhbeDI">Youtube</a></li>
</ul>

<p>kube-bench pour automatiser les recommandations de sécurité du CIS, Popeye, kube-hunter, Peirates. S’ensuit toute une
partie très théorique sur les Network Policies et les Admission Controllers (Open Policy Agent/Kyverno) qui ressemble
beaucoup à celles qu’on trouve dans les cours en ligne sur le sujet. Tout plein d’outils et de conseils pour sécuriser
son cluster.</p>

<p><a href="https://docs.bitnami.com/tutorials/work-with-non-root-containers">Bitnami non root containers</a>, distroless etc.</p>

<h3 id="architecturoplastie-hexagonale-dun-backend-nodejs">Architecturoplastie hexagonale d’un backend Node.js</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: Jordan Nourry, Adrien Joly, Julien Topçu</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/r2XMwAUqZBA">Youtube</a></li>
</ul>

<p>Un bel exercice de refactoring de code legacy. Pas trop difficile de me convaincre du bien fondé de ce type de talks !
C’est assez dynamique, le thème est rigolo.</p>

<h3 id="construction-dapis-géographiques-à-base-dopen-data-postgresql--postgis">Construction d’APIs Géographiques à base d’Open Data, PostgreSQL &amp; PostGIS</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: G.Soldera et S.Prunier</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/lSQ7pWUo3g4">Youtube</a></li>
</ul>

<p>Très sympa, un retour d’expérience et une explication de ce qu’il est possible de faire avec PostGIS.</p>

<h3 id="loom-nous-protègera-t-il-du-braquage-temporel-">Loom nous Protègera-t-il du Braquage Temporel ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: José Paumard, Remi Forax</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/wx7t69DylsI">Youtube</a></li>
</ul>

<p>C’est toujours aussi intéressant les présentations de José et Rémi ! Plein de code en live, avec une vraie démo de ce à
quoi ça va ressembler de développer avec des threads virtuels. C’est très complémentaire des autres présentations sur le
sujet.</p>

<h3 id="kafka-carte-des-pièges-à-lusage-des-développeurs-et-des-ops">Kafka: carte des pièges à l’usage des développeurs et des ops</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 160 minutes</li>
  <li><strong>Speakers</strong>: Emmanuel Bernard, Clement Escoffier</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/4Bf0Kght_BI">Youtube</a></li>
</ul>

<p>Un sujet avancé sur kafka. Plein de choses intéressantes si le sujet vous intéresse. Attention néophytes s’abstenir.</p>

<h3 id="la-keynote-de-devoxx-france-2012-2022--10-ans-déjà-">La Keynote de Devoxx France 2012-2022 : 10 ans déjà !</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 20 minutes</li>
  <li><strong>Speakers</strong>: A.Goncalves, Z.Cadi et N.Martignole</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/kOXJEzD8GKw">Youtube</a></li>
</ul>

<p>Un petit coup de nostalgie, avec plein de petites références si vous suivez la conférence depuis un moment. Pas vraiment
notable.</p>

<h3 id="10-ans-de-tech-à-travers-le-podcast-niptech">10 ans de Tech à travers le podcast Niptech</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 20 minutes</li>
  <li><strong>Speakers</strong>: B.Curdy, M.Monney et B.Freydt</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/5-pe7CajTik">Youtube</a></li>
</ul>

<p>Je suis très peu Niptech, mais leur petit récapitulatif de 10 ans de tech est plutôt sympa.</p>

<h3 id="la-quête-dune-gouvernance-collaborative-du-web">La quête d’une gouvernance collaborative du web</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 20 minutes</li>
  <li><strong>Speakers</strong>: Lê Nguyên Hoang</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/hdAEGAwlK0M">Youtube</a></li>
</ul>

<p>Une keynote très intéressante sur les problèmes des algorithmes de machine learning et leur influence sur la propagation
des idées.</p>

<h3 id="slowtech--il-est-urgent-de-hacker-le-système-">Slow.tech : il est urgent de hacker le système !</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 20 minutes</li>
  <li><strong>Speakers</strong>: Frédéric Bordage</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/1uQPVOK45ow">Youtube</a></li>
</ul>

<p>Sur les émissions de GES, et une réflexion sur les limites de notre utilisation du matériel informatique.</p>

<h3 id="lesbonsclics-plateforme-pédagogique-au-service-daidants-numériques">LesBonsclics, plateforme pédagogique au service d’aidants numériques</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 20 minutes</li>
  <li><strong>Speakers</strong>: T. Vandriessche</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/fJwDbP3CB-0">Youtube</a></li>
</ul>

<p>Autour du sujet de la fracture numérique, avec des solutions telles que <a href="https://wetechcare.org/">WeTechCare</a>
ou <a href="https://www.lesbonsclics.fr/fr/">LesBonsClics</a>.</p>

<h3 id="futurospective-digitale--le-futur-est-il-encore-ce-quil-était-">Futurospective digitale : le futur est-il encore ce qu’il était ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 20 minutes</li>
  <li><strong>Speakers</strong>: Ludovic Cinquin</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/KMzwEbyriZA">Youtube</a></li>
</ul>

<p>Des scénarios pas si dystopiques que ça qui nous attendent dans les décennies à suivre.</p>]]></content><author><name>Vincent Ferries</name></author><category term="Devoxx France" /><category term="conférences" /><summary type="html"><![CDATA[Mes notations très subjectives sur les différents talks (partie 3)]]></summary></entry><entry><title type="html">Les talks Devoxx France 2022 (2/3)</title><link href="https://www.enveille.info/devoxx-2022-part-2/" rel="alternate" type="text/html" title="Les talks Devoxx France 2022 (2/3)" /><published>2022-05-30T00:00:00+02:00</published><updated>2022-05-30T00:00:00+02:00</updated><id>https://www.enveille.info/devoxx-2022-part-2</id><content type="html" xml:base="https://www.enveille.info/devoxx-2022-part-2/"><![CDATA[<p>Voici maintenant venue l’heure du second tiers des conférences de Devoxx France 2022 !</p>

<p>On dirait bien que je vais réussir à tenir mon pari. Il ne reste qu’une petite cinquantaine de vidéos (dont une partie
déjà vue). Seul hic, les formats université à venir vont picoter !</p>

<p>Pour rappel, voici le lien pour <a href="/devoxx-2022-part-1/">la première partie</a>.</p>

<h3 id="ensemble-programming-toolbox">Ensemble Programming Toolbox</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Thomas Carpaye et Hadrien Mens-Pellen</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/c_oW0yJWveQ">Youtube</a></li>
</ul>

<p>Un talk très intéressant sur le mob programming, avec quelques conseils bien pratiques pour que ça se passe bien.</p>

<p>Je n’ai malheureusement pas eu le loisir d’aller jusque là en entreprise, uniquement en dojos avec le Software Crafters
Toulouse. Par contre, ayant poussé et fait de l’eXtreme Programming (TDD toujours en pair programming), je suis un
convaincu de tous ses bienfaits.</p>

<h3 id="kustomizons-nos-déploiements-k8s-avec-style--">Kustomizons nos déploiements K8S avec style 🤩 !</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Kevin Davin</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/WdruhhdefWY">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://drive.google.com/file/d/1G59CimpxaeuyqwTfhDUmVaW9jifKHCtJ/view">Drive</a></li>
</ul>

<p>Jusqu’à présent, je faisais surtout du Helm, je vais réfléchir à migrer vers Kustomize.</p>

<h3 id="type-algébrique-de-données-en-java-17">Type algébrique de données en Java 17</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Francois Teychene</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/9VRrmjSoFTc">Youtube</a></li>
</ul>

<p>Explication simple du type somme, type produit et type de données algébrique. Petit exemple de machine à état basée sur
le typage.</p>

<p>L’enrobage est un peu lourdaud, mais sinon très bonne conf.</p>

<h3 id="construisons-ensemble-une-application-micro-frontend-multi-frameworks-avec-webpack5">Construisons ensemble une application Micro-Frontend multi-frameworks avec Webpack5</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Sylvain Dedieu</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/zOU8wTCx8io">Youtube</a></li>
</ul>

<p>Basé sur les travaux de Manfred Steyer.</p>

<p>Livre Building Micro-Frontends</p>

<p>Module federation Webpack. Intégration dans un shell Angular de micro frontends écrits dans d’autres technos et exposés
en WebComponents.</p>

<h3 id="comprendre-les-enjeux-de-consommation-de-ressource-et-dénergie-">Comprendre les enjeux de consommation de ressource et d’énergie …</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Quentin Adam et Pierre Beyssac</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/gxWwxqIrCa8">Youtube</a></li>
</ul>

<p>Voilà un sujet qui m’intéresse fortement. Et je pense que cette conférence expose un point de vue intéressant. Il est à
contrebalancer fortement, car, comme d’habitude avec les conférences de Quentin, il est très orienté.</p>

<p>Il y a beaucoup de choses inexactes avancées par tous les bords (The Shift Project concernant le numérique, cette
conférence aussi).</p>

<p>Je glisse ici un article écrit par un de leurs détracteurs suite à la
conférence : <a href="https://airloren.github.io/devoxxfr/retour-conf-adam-beyssac/">ici</a></p>

<p>Je n’estime pas être suffisamment renseigné sur le sujet pour réellement donner mon avis.</p>

<h3 id="et-si-on-faisait-le-tour-de-cors--">Et si on faisait le tour de CORS ? ⛵</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Cedric Gatay</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/HD3Qqc8FxXM">Youtube</a></li>
</ul>

<p>C’est bien fait. Le sujet est bien couvert et de façon assez simple. Si vous connaissez bien le sujet vous n’apprendrez
pas grand chose, si vous ne le connaissez pas vous saurez ce qu’il y a à savoir dessus !</p>

<h3 id="jai-presque-fini--pourquoi-notre-cerveau-nous-aide-pas-sur-ce-coup-là">J’ai presque fini ! Pourquoi notre cerveau nous aide pas sur ce coup là…</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 15 minutes</li>
  <li><strong>Speakers</strong>: David Laizé</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/MYP3cEhVT9Q">Youtube</a></li>
</ul>

<p>Oh, un PO. Je crois que j’avais déjà vu cette conférence, probablement issue du DevFest Nantes ou du BreizhCamp.</p>

<p>Comme souvent sur les sujets de 15 minutes, c’est rafraîchissant et ça va droit au but, et les slides sont sympas.</p>

<h3 id="protéger-son-organisation-des-attaques-par-le-système-de-build">Protéger son organisation des attaques par le système de build</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Louis Jacomet</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/1wEhv_bievQ">Youtube</a></li>
</ul>

<p>Axé sur Gradle. Mise en avant des avancées en termes de sécurité, vérification des signatures etc.</p>

<h3 id="vers-une-culture-où-tout-le-monde-est-responsable-de-lindisponibilité">Vers une culture où tout le monde est responsable de l’indisponibilité</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Emmanuel Bernard</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/r4sY02CtmfY">Youtube</a></li>
</ul>

<p>Service Level Objectives pour une équipe. Commencer le plus tôt possible pour apprendre le plus de choses possibles.</p>

<h3 id="coder-pour-léternité-comprendre-le-développement-sur-la-blockchain-ethereum">Coder pour l’Éternité, comprendre le développement sur la blockchain Ethereum</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Mathias Herberts</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/L95LjeHzTuo">Youtube</a></li>
</ul>

<p>Un peu d’histoire et de vulgarisation sur la blockchain, plutôt axé sur Ethereum.</p>

<p>Plus ça va plus je deviens imperméable à ce sujet. Il faut cependant avouer que la présentation est plutôt bien faite
bien que mal time boxée.</p>

<p>PS: Le pointeur au milieu des slides c’est perturbant.</p>

<h3 id="petit-guide-pratique-pour-commencer-un-design-system">Petit guide pratique pour commencer un design system</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Cécile Freyd-Foucault</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/72q4e_IIGN4">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://docs.google.com/presentation/d/10s0dALjKz9mmygKyfDP8ytf3oowBXXlwvTwPeVj8aSs/edit">Google</a></li>
</ul>

<p>Approche intéressante basée sur l’existant, en traitant les plus gros soucis en premier, que ce soit en terme
d’accessibilité ou de disparité au sein des applications.</p>

<h3 id="accéder-à-mon-cerveau-par-une-api">Accéder à mon cerveau par une API</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Sébastien Blanc</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/mog0W_RHYA4">Youtube</a></li>
</ul>

<p>Il faut bien avouer que c’est rigolo. Cela pourrait même servir à des personnes handicapées. En fin de compte ça montre
juste les quelques possibilités offertes par ce casque.</p>

<h3 id="le-dom-testing--testez-vos-applications-front-plus-facilement-et-efficacement">Le DOM Testing : Testez vos applications front plus facilement et efficacement</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: William Marques</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/LAb4ChWG5Oc">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://slides.com/williammarques/deck-e148e0">Slides.com</a></li>
</ul>

<p>Présentation plutôt bien faite sur l’état de l’art des tests front-end. Basé sur
la <a href="https://testing-library.com/">testing-library</a> qui inclut Jest et JSDOM.</p>

<h3 id="développeureuse-senior-avec-6-ans-dexpérience-et-après-">Développ(eur|euse) Senior avec 6 ans d’expérience, et après ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Hugo Lassiege et Dimitri Baeli</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/X5MYKj1C2qM">Youtube</a></li>
  <li>__
Slides__: <a href="https://docs.google.com/presentation/d/1XLf-0PqpHD-M7chcHWpuxCYgd8Ju9sD2rnFY_x9GFBY/edit?usp=sharing">Google</a></li>
</ul>

<p>Très intéressant, expose une autre voie quand on avance en tant que tech. J’ai bien aimé le chapitre sur les râleries
et/ou le fait de positiver pour résoudre des problèmes.</p>

<h3 id="à-la-découverte-des-docker-dev-environments">À la découverte des Docker Dev Environments</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Guillaume Lours et Djordje Lukic</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/MVyHEf-QxTI">Youtube</a></li>
</ul>

<p>Tout est un peu brouillon, ça sent le manque de préparation. La feature est intéressante pour faire de l’onboarding
rapide.</p>

<h3 id="profiler-un-pod-dans-kubernetes-avec-kube-flame">Profiler un pod dans Kubernetes avec kube-flame</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 15 minutes</li>
  <li><strong>Speakers</strong>: Loïc Mathieu</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/IyNKr834kY8">Youtube</a></li>
</ul>

<p>Flamecharts multi languages (Java, Go, …) dans un cluster kubernetes. Quelques plantages de démo.</p>

<h3 id="rendez-vos-interfaces-fiables-en-faisant-aimer-les-tests-à-votre-équipe-">Rendez vos interfaces fiables en faisant aimer les tests à votre équipe !</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: J Meunier et JL Piermé</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/eCfLa6Ex4QM">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://docs.google.com/presentation/d/1ysnu8QNdpg1pc-FqFqOg1oeg6jPsHKXgpe9sFtTMbTU/edit">Google</a></li>
</ul>

<p>Pourquoi les 100% de couverture de code ce n’est pas assez ?</p>

<p>Gherkin, tests de plus haut niveau pour éviter de casser sur les changements d’implémentation.</p>

<p>TDD, tests par snapshots, tests unitaires, tests d’intégration, end to end…</p>

<p>La démo est très fluide et agréable.</p>

<h3 id="valhalla-to-the-hell-and-back">Valhalla: To the Hell and Back</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Rémi Forax</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/z0JiPc_ktsk">Youtube</a></li>
</ul>

<p>Encore une pépite de Rémi Forax. C’est vraiment génial d’avoir quelqu’un qui lit le byte code couramment et sait
expliquer les choix pris dans les différentes évolutions de Java.</p>

<h3 id="comprendre-le-comportement-des-français-cest-possible">Comprendre le comportement des français, c’est possible</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: S. Baltus-Bergamo et M. Coudert</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/DhsWDibtj1E">Youtube</a></li>
</ul>

<p>REX plutôt intéressant sur Le Bon Observatoire fait par Le Bon Coin. Restés sur du PostgreSQL Citus Data.</p>

<p>Airflow dans Kubernetes, index géolocalisés, index sur des tableaux de valeurs etc.</p>

<h3 id="pourquoi-devops-ne-tient-pas-ses-promesses-">Pourquoi DevOps ne tient pas ses promesses ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Gérôme Egron et Guillaume Mathieu</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Nyga5cdvgbo">Youtube</a></li>
</ul>

<p>Un peu teinté Scrum/SAFe, axé sur la discussion, et ce qu’on fait généralement mal autour du DevOps.</p>

<h3 id="du-chaos-engineering-avec-litmus-et-jenkins">Du Chaos Engineering avec Litmus et Jenkins</h3>

<ul>
  <li><strong>Ma Note</strong>: 2/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Akram Riahi</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/7zStrFuzLTs">Youtube</a></li>
</ul>

<p><a href="https://litmuschaos.io/">LitmusChaos</a>, outil en incubation CNCF.</p>

<p>PS: Soucis techniques qui font que l’écran tressaille.</p>

<h3 id="into-the-flamegraph-from-the-primitives-through-advanced-concepts">Into the flamegraph: From the primitives through advanced concepts</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Yonatan Goldschmidt</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/_sYeDW06IyM">Youtube</a></li>
</ul>

<p>Démo d’amélioration des performances d’une application avec gProfiler. Ne pas chercher à optimiser sans mesurer.</p>

<h3 id="créer--distribuer-un-plugin-pour-kubernetes-en-quelques-min--">Créer &amp; distribuer un plugin pour Kubernetes en quelques min … ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Aurélie Vache et Gaëlle Acas</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/CMEJxGe-VoQ">Youtube</a></li>
  <li>__
Slides__: <a href="https://docs.google.com/presentation/d/1hWupsuVv5VE4E-VwJHU9FZ7H_OyTb7fZgsOE6DKXO8U/preview?slide=id.ga5dc656ac3_0_0">Google</a></li>
</ul>

<p>Les slides sont magnifiques, les explications limpides. Un peu dommage que la démo soit faite de copier/coller, mais sur
un format court et en bash, ça se comprend tout à fait.</p>

<p>Avec une petite présentations du plugin krew en plus de ça pour publier le plugin, et de la version repo privé avec les
private index.</p>

<p>Leurs plugins favoris : view-secret, view-cert, pod-inspect, neat</p>

<h3 id="introduction-à-linformatique-quantique">Introduction à l’informatique quantique</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Mathis Hammel et Clément Hammel</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/wxxpQg0BX-A">Youtube</a></li>
</ul>

<p>Je suis assez novice sur le sujet, et j’ai bien compris de quoi il en retournait, autant au point de vue des intérêts
que des limites.</p>

<p>Très bonne explication du sujet.</p>

<h3 id="dans-les-coulisses-du-cloud">Dans les coulisses du “Cloud”</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Cécile Morange</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/CskRoGyUr7w">Youtube</a></li>
</ul>

<p>Super intéressant de voir les coulisses d’un (petit) data center. Un peu court, mais les questions complètent bien.</p>

<p>Vraiment impressionné de la qualité pour cette première présentation publique !</p>

<h3 id="rendu-3d-la-grande-illusion-expliquée">Rendu 3D, la grande illusion expliquée</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 15 minutes</li>
  <li><strong>Speakers</strong>: Thomas Guibert</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/0vF2G6vRB7M">Youtube</a></li>
</ul>

<p>Comment marchent les rendus 3D</p>

<h3 id="des-zindividus-et-des-zinteractions-ou-linclusion-des-neuro-atypiques-">Des Z’Individus et des Z’Interactions, ou l’inclusion des (neuro) atypiques …</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Alice Barralon</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/A3zZsln6pNM">Youtube</a></li>
</ul>

<p>C’est très compliqué d’évaluer ce type de talks. Je pense que ça peut sensibiliser sur ces sujets, mais il m’a laissé un
goût particulier, probablement parce que la plupart des personnes sont complexes et ont leur propre niveau sur tous les
facteurs présentés : morale, sensibilité, exigence…</p>

<p>Attention, certaines références citées (celle qui met en avant les zèbres) semblent un peu
controversées : <a href="https://www.lexpress.fr/actualite/societe/il-y-avait-de-l-argent-a-se-faire-le-business-des-surdoues_2151187.html">un article de l’express en parle</a>
.</p>

<p>PS: gros boulot sur les slides.</p>

<h3 id="continuous-delivery-on-premise--gerrit-jenkins-et-sonarqube-">Continuous delivery on premise : Gerrit, Jenkins et Sonarqube …</h3>

<ul>
  <li><strong>Ma Note</strong>: 2/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Julien Béti, Réda Housni Alaoui</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/W6w6ALhKMp0">Youtube</a></li>
</ul>

<p>Continuous delivery ultra classique : Jenkins, Gerrit, JIRA, Sonar…</p>

<h3 id="apprendre-la-musique---developer-edition">Apprendre la musique - developer edition</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Florent Biville, Sylvain Coudert et J.B. Lievremont</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/BA2ZSI5jH2U">Youtube</a></li>
</ul>

<p>Super cool ! Une partie théorique très pédagogique. Live coding sur Sonic Pi.</p>

<h3 id="comment-betclic-utilise-son-datalake-pour-générer-des-tests-de-charge-et-simuler-des-évènements-sportifs-">Comment Betclic utilise son datalake pour générer des tests de charge et simuler des évènements sportifs ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Nicolas Jozwiak et Etienne Puissant</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/GJ2IH3jXEGw">Youtube</a></li>
</ul>

<p>Tests de charge avec Gatling. Récupération de données d’exemple depuis des logs sur DataDog. Workflow sur S3 avec des
step functions (lambdas).</p>

<h3 id="building-your-first-malicious-chrome-extension-">Building your first malicious chrome extension 😈</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Alon kiriati</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/c4YqOKI6Loo">Youtube</a></li>
</ul>

<p>Vecteurs d’attaque par les extensions, améliorations dans le Chrome web store avec les permissions.</p>

<h3 id="10-ans-de-devoxx-fr-et-de-java">10 ans de Devoxx FR et de Java</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Jean-Michel Doudoux</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/mQV4NVZlFnc">Youtube</a></li>
</ul>

<p>Si vous avez déjà entendu parler de Panama, Valhalla, et consorts, passez votre chemin, vous n’apprendrez pas grand
chose.</p>

<p>Si ce n’est pas le cas, c’est aperçu rapide de ce qui s’est fait depuis Java 8 peut être intéressant.</p>

<h3 id="les-parsers-ou-comment-exploiter-efficacement-du-texte-brut-">Les parsers, ou comment exploiter efficacement du texte brut ()</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes (30 + 7 de questions)</li>
  <li><strong>Speakers</strong>: Benoit Lemoine</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/gweFzuE4vNM">Youtube</a></li>
</ul>

<p>Un peu court au final. Si vous ne savez pas ce qu’est un parser generator ou parser combinator, ça peut être intéressant
pour vous.</p>

<h3 id="depuis-2-ans-je-suis-la-seule-à-lire-mes-mails--ou-presque">Depuis 2 ans, je suis la seule à lire mes mails ! (ou presque)</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 15 minutes</li>
  <li><strong>Speakers</strong>: Morgane Troysi</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/QUpwl7tPjpo">Youtube</a></li>
</ul>

<p>Comparaison des services de messagerie plus respectueux de la vie privée.</p>

<h3 id="dates-et-heures-à-lhorizon--fuyez-ou-venez-découvrir-tous-les-pièges-quelles-vous-tendent-">Dates et heures à l’horizon ? Fuyez… ou venez découvrir tous les pièges qu’elles vous tendent !</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Arnaud PICHERY</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/owX0ZCnjS7o">Youtube</a></li>
</ul>

<p>Encore une très bonne conférence sur les dates, c’est visiblement un sacré sujet cette année !</p>

<h3 id="enrichir-son-application-web-sans-toucher-au-code-source-cest-possible-grâce-au-nouveau-standard-web-extension-api-">Enrichir son application web sans toucher au code source, c’est possible grâce au nouveau standard Web Extension API !</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Adrien Lasselle et Anthony Pena</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/mmH6SMxxcpU">Youtube</a></li>
</ul>

<p>Là aussi beaucoup de conférences sur les Web Extensions. Celle-ci est aussi bien faite.</p>

<h3 id="développement-sans-fron-tiers">Développement sans fron-Tiers</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Jordane Grenat</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/T1JKJa8ULbk">Youtube</a></li>
</ul>

<p>Présentation de ce qui peut être fait en programmation multi-tiers.</p>

<p>Quelques exemples : Lamdera, Remix, Links, Ocsigen Eliom…</p>

<h3 id="𝔸𝕛𝕠𝕦𝕥𝕖𝕫-du-caractère-à-𝕧𝕠𝕥𝕣𝕖-site-">𝔸𝕛𝕠𝕦𝕥𝕖𝕫 du caractère à 𝕧𝕠𝕥𝕣𝕖 site 🚀</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Johan Rouve</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/EfX821g6gNc">Youtube</a></li>
</ul>

<p>Une mine d’information sur les polices de caractère ainsi que leur utilisation en css et une démo au top.</p>

<h3 id="ranking-de-joueurs-en-temps-réel-dun-jeu-multicloud-avec-quarkus-et-infinispan">Ranking de joueurs en temps réel d’un jeu multicloud avec Quarkus et Infinispan</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Katia Aresti</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/SxaLK0HAGmo">Youtube</a></li>
</ul>

<p>Démonstration d’Infinispan, cache distribué en mémoire. Dans ce cas là, multi cluster et avec son language de requêtes.</p>

<h3 id="templates-demail-laventure-dont-vous-êtes-le-héros">Templates d’email: l’aventure dont vous êtes le héros</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Amélie Benoit</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/pNavFCYWBFA">Youtube</a></li>
</ul>

<p>Le templating des mails est un vrai problème, on s’y retrouve tous confrontés à un moment où à un autre. Variabilisation
en React, et MJML (merci pour la découverte), email on acid pour la visualisation.</p>

<h3 id="quest-ce-que-linnersource--comment-ça-se-met-en-place-et-pourquoi-ça-va-améliorer-votre-it--mais-pas-que-">Qu’est-ce que l’InnerSource ? Comment ça se met en place et pourquoi ça va améliorer votre IT … mais pas que ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 2/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Philippe Charrière et Matthieu Vincent</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/VZDcVozvrYE">Youtube</a></li>
</ul>

<p>Quelques conseils pour mettre en place de l’inner source (inspiré de l’open source) dans les grosses boîtes.</p>

<h3 id="licences-open-source--entre-guerre-de-clochers-et-radicalité">Licences open source : entre guerre de clochers et radicalité</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Pierre-Yves Lapersonne</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/HGid_PYx0Fo">Youtube</a></li>
</ul>

<p>Différents types de licenses, des plus open aux éthiques en passant par les libres.</p>

<h3 id="fuzzing-en-go">Fuzzing en Go</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 15 minutes</li>
  <li><strong>Speakers</strong>: Valentin Deleplace</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Oyjo0krQz5M">Youtube</a></li>
</ul>

<p>Description des outils fournis par défaut dans le langage Go. Le Fuzzing est une sorte de tests à données pseudo
aléatoires.
Cela ressemble fort au property based testing qu’on retrouve dans d’autres langages.</p>

<h3 id="entiers-virgules-flottantes-ou-représentations-exotiques--parlons-délégance">Entiers, virgules flottantes ou représentations exotiques : parlons d’élégance</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Olivier Poncet et Fabien Trégan</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/1upzDFFIODk">Youtube</a></li>
</ul>

<p>Encore un OVNI co-signé par Fabien, je ne m’attendais pas à moins. Vous apprendrez surtout quelques feintes de la scène
démo sur les opérations sur les nombres. Mention spéciale au rotozoom et aux slides DIY.</p>

<h3 id="micronaut-aot-optimiser-vos-applications-pour-le-jit-et-graalvm">Micronaut AOT: optimiser vos applications pour le JIT et GraalVM</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Cédric Champeau</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/OpljpZ17jaY">Youtube</a></li>
</ul>

<p>Micronaut et Micronaut AOT pour build des images natives avec GraalVM. On prend plus de temps pour compiler et optimiser
l’image cible qui ensuite démarre en quelques millisecondes. Talk un peu classique sur ce sujet.</p>

<h3 id="anatomie-dune-base-sql-distribuée---yugabytedb">Anatomie d’une base SQL distribuée - YugabyteDB</h3>

<ul>
  <li><strong>Ma Note</strong>: 5/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Franck Pachot</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/ZxC51B1CNK0">Youtube</a></li>
</ul>

<p>Basé sur PostgreSQL, avec beaucoup de concepts empruntés aux travaux de recherche sur le sujet de Google (Spanner).</p>

<p>Super intéressant, explique bien les internals, et répond à toutes les questions du public en live. On sent que le
speaker connaît son sujet.</p>

<h3 id="comment-orchestrer-une-flotte-de-200-clusters-kubernetes-sur-microsoft-azure-">Comment orchestrer une flotte de 200 clusters Kubernetes sur Microsoft Azure ?</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Romain Meunier</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/clTicMiwBCk">Youtube</a></li>
</ul>

<p>Surtout intéressant si vous avez besoin de gérer de multiples clusters Kubernetes.</p>

<p>GitOps pour les apps et l’infra avec <a href="https://fluxcd.io/">Flux</a> plutôt qu’Argo.</p>

<p>Thanos, puis Cortex. Autoscaling avec Keda.</p>

<h3 id="après-la-censure-lauto-censure-mais-là-cest-drôle-éducatif-et-avec-de-lia">Après la censure, l’auto censure… mais là c’est drôle, éducatif et avec de l’IA</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Pierre Morvan et Louis Tournayre</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/0hdy3t7iQ7E">Youtube</a></li>
</ul>

<p>Teachable &amp; Under the Hood. Petit plus pour l’intégration de leur machine learning aux slides.</p>

<h3 id="coder-avec-crystal-pour-ne-pas-perdre-la-boule">Coder avec Crystal pour ne pas perdre la boule</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 30 minutes</li>
  <li><strong>Speakers</strong>: Siegfried Ehret</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Hnx0--zoKLE">Youtube</a></li>
</ul>

<p>Du Ruby compilé. La démo consiste en le développement d’un petit outil CLI avec des émojis qui enregistre du YAML.</p>

<h3 id="exploring-linux-memory-usage-and-io-performance-in-cloud-native-applications">Exploring Linux Memory Usage and IO Performance in Cloud Native Applications</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Frits Hoogland</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/g53MyG-SfQ0">Youtube</a></li>
</ul>

<p>fio pour mesurer l’impact de la mémoire disponible sur des opérations d’I/O (with –invalidate 0 pour ne pas virer le
cache).</p>

<p>L’utilisation mémoire de nos applications a un fort impact sur les performances des I/O. Attention les écritures ne se
comportent pas de la même façon que les lectures.</p>

<h3 id="lia-pour-le-bon-usage-des-médicaments">L’IA pour le bon usage des médicaments</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Suzanne Bento Pereira Et Romain Benassi</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/1qeiou8GGj8">Youtube</a></li>
</ul>

<p>Recherche de similarité + Transfert Learning (BERT) + Tensorflow + moteur de règles.</p>

<h3 id="go-generics">Go Generics</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 15 minutes</li>
  <li><strong>Speakers</strong>: Benoît Masson</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/rcsKeaGhRiU">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://drive.google.com/file/d/12R-QKUK_Q1u_3beKXtT5ClOtEzgfADkA/view?usp=sharing">Drive</a></li>
</ul>

<p>Comme son nom l’indique, ils ont pris 10 ans pour les intégrer au langage.</p>

<h3 id="réception-dimage-satellite-️-avec-un-raspberry">Réception d’image satellite 🛰️ avec un Raspberry</h3>

<ul>
  <li><strong>Ma Note</strong>: 4/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Guillaume Membré</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/SYI3PH0YT2Y">Youtube</a></li>
</ul>

<p>Dans la même veine que ses talks précédents sur la captation des communications des avions.</p>

<h3 id="première-application-mobile-flutter--ne-faites-pas-les-mêmes-erreurs-que-nous-">Première application mobile Flutter ? Ne faites pas les mêmes erreurs que nous !</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Olivier Revial et Sebastien Flochlay</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/HXA_rqpEBTE">Youtube</a></li>
</ul>

<p>Quelques bases pour ceux qui voudraient se lancer sur Flutter. Il y a à boire et à manger, il faut faire un peu le tri.</p>

<h3 id="kotlin-java-418-code-coverage-and-their-best-friend--bytecode-scandals-intrigues-investigations">Kotlin, Java 4..18, Code Coverage and their best friend — bytecode: scandals, intrigues, investigations</h3>

<ul>
  <li><strong>Ma Note</strong>: 3/5</li>
  <li><strong>Durée</strong>: 45 minutes</li>
  <li><strong>Speakers</strong>: Evgeny Mandrikov</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/molX71N8jwE">Youtube</a></li>
</ul>

<p>Par un des maintainers de JaCoCo -&gt; en quoi le bytecode généré peut être différent en fonction des versions du JDK, ou
du langage utilisé.</p>

<p>Et voici le lien pour <a href="/devoxx-2022-part-3/">la dernière partie</a>.</p>]]></content><author><name>Vincent Ferries</name></author><category term="Devoxx France" /><category term="conférences" /><summary type="html"><![CDATA[Mes notations très subjectives sur les différents talks (partie 2)]]></summary></entry><entry><title type="html">Les talks Devoxx France 2022 (1/3)</title><link href="https://www.enveille.info/devoxx-2022-part-1/" rel="alternate" type="text/html" title="Les talks Devoxx France 2022 (1/3)" /><published>2022-05-17T00:00:00+02:00</published><updated>2022-05-17T00:00:00+02:00</updated><id>https://www.enveille.info/devoxx-2022-part-1</id><content type="html" xml:base="https://www.enveille.info/devoxx-2022-part-1/"><![CDATA[<p>Ces deux dernières années ont été particulières en ce qui concerne les regroupements, et notamment les conférences.</p>

<p>Cela fait maintenant de longs mois que les conférences en présentiel ont commencé à reprendre, avec notamment l’édition
9<sup>3/4</sup> de Devoxx. Par choix personnel, je n’ai toujours pas repris le chemin de ces lieux surpeuplés.</p>

<p>Ceci étant dit, cela me manque drôlement, c’est pourquoi je me suis lancé comme petit défi d’essayer de regarder au fil
de l’eau une grosse partie si ce n’est la totalité des conférences de cette édition des 10 ans.</p>

<p>Histoire que cela serve au plus grand nombre, je vous livre pour chacune en quelques lignes à peine ce que j’en ai
pensé. Ce n’est qu’un avis personnel, cela peut vous donner envie de regarder certaines conférences, ou bien d’en
esquiver certaines (j’essaie de proposer des alternatives quand je le peux).</p>

<p>J’essaierai aussi de faire le lien vers les vidéos et les slides en éditant ces pages régulièrement.</p>

<p>Tout ce que je raconte ici est purement subjectif, si des speakers passent par ici et que vous voulez plus de détail sur
ce qui m’a plus ou moins plu, je serais ravi de vous faire un feedback plus étendu, contactez moi par le biais de votre
choix.</p>

<p>Voici déjà pour vous le lien vers la playlist avec toutes les
conférences : <a href="https://www.youtube.com/playlist?list=PLTbQvx84FrARTeUA5pExVR5vjCOqWIplI">Videos Devoxx France 2022</a></p>

<h3 id="oubliez-docker-appelez-moi-compose">Oubliez docker, appelez-moi Compose</h3>

<ul>
  <li><strong>Ma Note :</strong> 2/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Nicolas De Loof</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/xGh4F6_Gs0Y">Youtube</a></li>
</ul>

<p>Assez superficiel. Montre surtout l’évolution dans le temps qui a amené vers la version actuelle de docker compose.</p>

<p>Je vous conseille plutôt l’épisode des Cast Codeurs du même auteur sur le même
sujet : <a href="https://lescastcodeurs.com/2022/01/03/lcc-270-interview-de-nicolas-de-loof-sur-docker-compose/">Les Cast Codeurs - Docker Compose</a></p>

<p>PS : Ras le bol des speakers qui sortent des phrases du genre “J’ai préparé ma préparation hier”. Je trouve ça d’un
irrespect total envers l’auditoire.</p>

<p>Ce n’est en rien une excuse à une piètre performance.</p>

<h3 id="bien-maîtriser-les-devtools-de-vos-navigateurs">Bien maîtriser les DevTools de vos navigateurs</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Romain Linsolas</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/TVJhAda0Ex0">Youtube</a></li>
</ul>

<p>Intéressant, mais j’aurais bien aimé que ce soit un peu plus creusé.</p>

<h3 id="the-unknowns-of-junit-5">The unknowns of JUnit 5</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Mike Kowalski</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/V6_rIa30YzE">Youtube</a></li>
</ul>

<p>Pas totalement inconnus, mais il y a quand même quelques points à en tirer.</p>

<ul>
  <li>Tests paramétrés</li>
  <li>Extensions de tests pour éviter l’héritage</li>
  <li>Tests en parallèle à la demande</li>
</ul>

<h3 id="montée-de-version-sans-interruption">Montée de version sans interruption</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Nelson Dionisi</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/pIkA-aPtkNs">Youtube</a></li>
</ul>

<p>Une conférence assez intéressante et facilement applicable sur les SGBDR.</p>

<p>Plusieurs conseils plutôt utiles (pas de select *, exemples de comment migrer en plusieurs étapes sans interruption en
conservant base rétrocompatible avec version N-1 de l’appli)</p>

<p>Locks BDD</p>

<ul>
  <li>locks sur ligne (INSERT, UPDATE, DELETE), pas de lock sur SELECT</li>
  <li>sur table (ALTER lock les 4 précédentes)</li>
</ul>

<p>PS : Slides un peu au kilomètre, un peu trop lus en direct.</p>

<h3 id="connaissez-vous-vraiment-jwt-">Connaissez-vous vraiment JWT ?</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Karim Pinchon</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/5PPBD8RFGnw">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://slides.com/kpn13/connaissez-vous-vraiment-jwt-devoxx-fr-2022">slides.com</a></li>
</ul>

<p>Back to basics sur les tokens JWT.</p>

<p>Quelques vecteurs d’attaque intéressants.</p>

<h3 id="comment-jai-aidé-ma-fille-à-lire-avec-le-machine-learning">Comment j’ai aidé ma fille à lire avec le machine learning</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Vincent Ogloblinsky</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/1gDSKIDiQL8">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://slides.com/vogloblinsky/comment-jai-aide-ma-fille-a-lire-avec-le-machine-learning/">slides.com</a></li>
</ul>

<p>Plutôt très intéressant comme sujet. Encore un peu à l’état de PoC. La question des datasets de voix d’enfant pas
trouvables est très intéressante.</p>

<h3 id="gagner-du-temps-en-créant-des-extensions-pour-vos-navigateurs">Gagner du temps en créant des extensions pour vos navigateurs</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Morgan Leroi</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/H85cE6PsLFs">Youtube</a></li>
</ul>

<p>Assez sympa.</p>

<p>Petit exemple d’extension pomodoro avec timer, settings etc.</p>

<p>Dev cross navigateur, un truc tout simple en TS.</p>

<h3 id="les-cast-codeurs-en--et-en--à-devoxx-france-2022">Les Cast Codeurs en 🪑 et en 🦴 à Devoxx France 2022</h3>

<ul>
  <li><strong>Durée :</strong> 50 minutes</li>
  <li><strong>Speakers</strong> : E Bernard, A Heritier, A Goncalves, G Laforge</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/_HxHIQ90-Fw">Youtube</a></li>
</ul>

<p>Rigolo comme d’hab, un bon résumé de la conf.</p>

<h3 id="traiter-1-million-de-messages-par-cpu-par-go-de-mémoire-avec-quarkus-et-microprofile-reactive-messaging-kafka-à-décathlon">Traiter 1 million de messages par CPU par Go de mémoire avec Quarkus et Microprofile reactive messaging kafka à Décathlon</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Loïc Mathieu et Victor Gallet</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/QCWs5ChObIg">Youtube</a></li>
</ul>

<p>REX de Decathlon.</p>

<p>KEDA pour le scaling.</p>

<h3 id="gitpod-la-fin-des-frictions-inutiles-pour-contribuer-à-un-projet-oss-">Gitpod: la fin des frictions inutiles pour contribuer à un projet OSS ?</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Jean-Marc Meessen</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/7OlynADvoCc">Youtube</a></li>
</ul>

<p><a href="https://gitpod.io">GitPod</a></p>

<p>50h/mois gratuites</p>

<p>Configuration as code : Gitpod.yml</p>

<p>Sympa, mais un peu succinct.</p>

<h3 id="assemblyscript--typescript-sous-stéroïdes-grâce-à-webassembly-">AssemblyScript : TypeScript sous stéroïdes grâce à WebAssembly ?</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Alexandre Victoor</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/E0Z5oRq8APs">Youtube</a></li>
</ul>

<p>Du WASM, les Pros/Cons sont intéressants, c’est pas une solution magique.</p>

<h3 id="micro-frontends-rex---diviser-pour-mieux-régner-">Micro Frontends REX - Diviser pour mieux régner !</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Hugo Chiavenuto</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/4B24WrH9Aww">Youtube</a></li>
</ul>

<p>Fédération de modules avec webpack.</p>

<p>Lazy-loading des µfrontends, treeshaking.</p>

<p>Approche intéressante de composition des vues par configuration.</p>

<p>PS: Souffle micro dommageable.</p>

<h3 id="le-désamour-des-tests-web">Le (dés)amour des tests web</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Florent Le Gall et Paola Ducolin</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/stUvCpRk7vo">Youtube</a></li>
</ul>

<p>Ils pointent sur deux conférences autour du sujet :</p>

<ul>
  <li><a href="https://youtu.be/K8MF3aDg-bM?t=20804">Finding the Fun (TDD with React) de Eve Procello</a></li>
  <li><a href="https://youtu.be/oeaXWvTHyxc">Property based testing de Nicolas Dubien</a></li>
</ul>

<p>Testing-library (<a href="https://testing-library.com">Testing-library</a>)</p>

<p>Mock Service worker pour mocker au niveau réseau (le plus bas possible).</p>

<h3 id="major-migrations-made-easy">Major migrations made easy</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 13 minutes</li>
  <li><strong>Speakers</strong> : Tim te Beek</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/r_jFBDTPKSc">Youtube</a></li>
</ul>

<p>OpenRewrite super intéressant pour des migrations simplifiées, basées sur l’AST. J’y réfléchirai à l’avenir pour
m’épargner du travail sur certaines montées de versions.</p>

<h3 id="comment-q-travaille-t-il-avec-james-bond-ou-comment-faire-de-lia-agile-dans-le-">Comment Q travaille-t-il avec James Bond, ou comment faire de l’IA agile dans le …</h3>

<ul>
  <li><strong>Ma Note :</strong> 2/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Renaud Allioux</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/OfRlf7OlmeU">Youtube</a></li>
</ul>

<p>Plus une exposition de leurs contraintes que des solutions apportées dans le cas où on rencontre ce type de
contraintes (assez lourdes).</p>

<h3 id="data-scientists-vs-développeurs-des-métiers-très-différents">Data scientists vs. développeurs: des métiers (très!) différents</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Harizo Rajaona</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/PPoDs70pQa0">Youtube</a></li>
</ul>

<p>Sujet intéressant qui explique en quoi toutes les best practices du développement ne sont pas forcément applicables au
Machine Learning.</p>

<p>ML-Ops / gestion des pipelines, du versioning.</p>

<p>Plein de choses intéressantes à en tirer.</p>

<h3 id="eliminez-la-complexité-de-kubernetes-avec-lens-">Eliminez la complexité de Kubernetes avec LENS !</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Daniel Virassamy, Lee Namba, Stéphane Montri</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/DgibXv6h884">Youtube</a></li>
</ul>

<p>L’outil, LENS, un IDE basé sur Electron pour visualiser et piloter des clusters K8S a de quoi plaire.</p>

<p>Voir aussi KubeNav (compatible mobile).</p>

<p>Par contre, 3 speakers ça fait un de trop. C’est dommage, les démos sont très correctes 😒</p>

<h3 id="cybersécurité-et-générateurs-de-nombres-aléatoires">Cybersécurité et générateurs de nombres aléatoires</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 40 minutes</li>
  <li><strong>Speakers</strong> : Mathis Hammel</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/oXHhOHa_5HE">Youtube</a></li>
</ul>

<p>Plutôt sympa. Bien expliqué, clairement. Basé sur un exemple de faille Kaspersky, pointe du doigt certaines failles
souvent exploitées,
et l’utilité d’utiliser un gestionnaire de mots de passe.</p>

<h3 id="tailwind-ou-le-futur-du-css">Tailwind ou le futur du CSS</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Amadou Sall</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Tor_gGi7e0g">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://speakerdeck.com/ahasall/tailwind-ou-le-futur-du-css-devoxx-france-2022">SpeakerDeck</a></li>
</ul>

<p>Premier Toulousain de l’étape !</p>

<p>Une présentation rondement menée, pleine de live coding.</p>

<p>Cela fait effectivement un petit choc, mais force est de constater que ça a l’air assez efficace.</p>

<h3 id="exploiter-facilement-des-fonctions-natives-avec-le-projet-panama-depuis-java">Exploiter facilement des fonctions natives avec le Projet Panama depuis Java</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Brice Dutheil</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/4bwHkeD-A2k">Youtube</a></li>
</ul>

<p>Nouvelle façon d’appeler du code natif.</p>

<p>Démo efficace, durée adaptée.</p>

<h3 id="kafka-streams--carrefour-du-big-data-à-la-vitesse-de-léclair">Kafka Streams @ Carrefour du big data à la vitesse de l’éclair</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : François Sarradin et Jérémy Sebayhi</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/4BU2UEDQQhs">Youtube</a></li>
</ul>

<p>REX, pas foufou.</p>

<h3 id="the-art-of-java-type-patterns">The Art of Java Type Patterns</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Simon Ritter</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/gFqzFlhEJaY">Youtube</a></li>
</ul>

<p>Quelques longueurs.</p>

<p>Excellent exercice de vulgarisation, bien expliqué, mais un peu creux.</p>

<h3 id="mon-site-déjà-en-ligne-doit-être-accessible-je-fais-comment-">Mon site déjà en ligne doit être accessible, je fais comment ?</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 15 minutes</li>
  <li><strong>Speakers</strong> : Mélanie Boudard</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/9QuNM0CUycM">Youtube</a></li>
</ul>

<p>Excellente surprise pour ce petit talk sur l’accessibilité.</p>

<p>Le sujet c’est comment on s’occupe de l’accessibilité sur un projet existant qui n’a pas été lancé avec ça en tête à
l’origine.</p>

<p>Plein de petits outils mentionnés en un temps très court. Une petite pépite.</p>

<h3 id="père-castor--raconte-nous-une-histoire-dops">Père Castor 🐻, raconte nous une histoire (d’OPS)</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : David Aparicio</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/au6qYFjZI2Q">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://davidaparicio.gitlab.io/website/talks/DevoxxFR2022_PereCastor.pdf">Par ici</a></li>
</ul>

<p>Plein d’exemples de foirages en prod.</p>

<p>Plutôt sympa, beaucoup de liens intéressants.</p>

<h3 id="quavons-nous-appris-après-un-an-passé-à-développer-des-opérateurs-kubernetes-">Qu’avons-nous appris après un an passé à développer des opérateurs Kubernetes ?</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Etienne Coutaud</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/iq-b1Z0415g">Youtube</a></li>
</ul>

<p>REX sur les opérateurs K8S.</p>

<p>PS: On dit ENGIIIINE (et pas enjaïne) et Koubernétis !</p>

<h3 id="ce-que-les-développeurs-doivent-savoir-sur-les-index">Ce que les développeurs doivent savoir sur les index</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Nelson Dionisi</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/bo5j9xgiF48">Youtube</a></li>
</ul>

<p>Vraiment très pédagogique et clair.</p>

<p>Reprend pas mal des questionnements qu’on se pose quand on commence à creuser et optimiser nos bases de production.</p>

<p>Plans d’exécution, différents types de jointure. Slides clairs.</p>

<p>Une référence sur un livre au
top <a href="https://sql-au-coeur-des-performances.fr/">Livre SQL performance explained Markus Winand</a> passé dans ma liste
d’achats.</p>

<h3 id="genèse-et-utilisation-du-nouveau-client-java-pour-elasticsearch">Genèse et utilisation du nouveau client Java pour Elasticsearch</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Sylvain Wallez</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Vl_kUXtL2n8">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://docs.google.com/presentation/d/1dd93-5N5OkNuvpxbEB8HY_XEzXSRvdpAj3c9x_VcSbA/present?slide=id.g10a773dc4cc_0_2262">Google</a></li>
</ul>

<p>Toujours pas aujourd’hui que je pourrais mettre une mauvaise note à un des talks de Sylvain.</p>

<p>Cela donne des idées de comment exposer proprement un builder à la sauce Java moderne (quid de Kotlin ?).</p>

<h3 id="ajouter-de-a-à-z-une-barre-de-recherche-dans-son-application">Ajouter de A à Z une barre de recherche dans son application</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : David Pilato et Guillaume Laforge</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/uyuNg0Vg5uE">Youtube</a></li>
</ul>

<p>Très rapide, assez intéressant. Montre un workflow cloud basé sur des fonctions stateless (serverless).</p>

<p>Intégration avec ES.</p>

<h3 id="re-découvrir-les-outils-unix">(Re) Découvrir les outils UNIX</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Grégoire Pineau</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Z9DUR4IBR94">Youtube</a></li>
</ul>

<p>CDPATH pour pouvoir cd sur un folder depuis n’importe où.</p>

<p>Astuce pour des mans en couleur. Plein d’autres petits trucs cools, j’ai vraiment apprécié.</p>

<h3 id="github-co-pilot--addictif-ou-efficace-">Github Co-Pilot : Addictif ou Efficace ?</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Johan Jublanc et Simon Provost</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/SQf9ZQsqW30">Youtube</a></li>
</ul>

<p>Intéressant mais assez court. Un bon tiers de questions, mais qui répondent pas mal à celles qu’on peut se poser.</p>

<h3 id="et-si-les-micro-services-navaient-rien-à-voir-avec-la-technique-">Et si les micro-services n’avaient rien à voir avec la technique ?</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Yves Brissaud</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/_yTNqp3wMuU">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://speakerdeck.com/eunomie/devoxxfr-2022-et-si-les-micro-services-navaient-rien-a-voir-avec-la-technique">SpeakerDeck</a></li>
</ul>

<p>Une excellente réflexion sur l’organisation, les canaux de communication et leur influence sur le software.</p>

<p>Des illustration au top.</p>

<p>Basé sur <a href="https://teamtopologies.com/">Team topologies</a>.</p>

<h3 id="dun-hack-au-datamesh-lévolution-du-data-engineering">D’un hack au datamesh, l’évolution du data engineering…</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Simon Maurin et Stéphanie Baltus-Bergamo</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/ZJCOdBpwjQc">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://www.slideshare.net/SimonMaurin/hack-to-data-mesh-devoxx-2022">SlideShare</a></li>
</ul>

<p>Airflow d’AirBnB + DataDog + alerting</p>

<p>Idempotence + commutativité pour rejouabilité</p>

<p>Démo un peu rapide et pas ultra parlante.</p>

<p>Data Mesh pour contourner le problème de mise à l’échelle, DDD de bout en bout (data engineers dans les équipes)</p>

<p>Pollinisation des compétences.</p>

<h3 id="equity-for-software-engineers">Equity for software engineers</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 15 minutes</li>
  <li><strong>Speakers</strong> : Damien Pacaud</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/ovx-8OWt6Fc">Youtube</a></li>
</ul>

<p>Comment marchent les actions, les stock options etc quand ils sont inclus dans les packages d’embauche des développeurs
?</p>

<p>Court et intéressant, une excellente introduction au sujet.</p>

<h3 id="construire-et-déployer-son-application-avec-argo-dans-kubernetes">Construire et déployer son application avec Argo dans Kubernetes</h3>

<ul>
  <li><strong>Ma Note :</strong> 2/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : P-H Perrissel et N Mpacko Tongo</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/9B3VppgPsYk">Youtube</a></li>
</ul>

<p>Workflow et GitOps avec <a href="https://argoproj.github.io/">Argo</a></p>

<p>Lecture de slides, assez moches, illisibles et qui bavent. Démo déjà plus intéressante.</p>

<h3 id="de-ouisncf-à-sncf-connect-10-ans-de-mobile-natif-à-flutter">De OUI.sncf à SNCF Connect, 10 ans de mobile natif à Flutter</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Gwenn Guihal et Adrien Body</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/dPfREPMacYc">Youtube</a></li>
</ul>

<p>Intéressant avec Pros and Cons.</p>

<h3 id="save-the-date-">Save the date !</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Emmanuel Remy</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/o6H6KksHDSA">Youtube</a></li>
</ul>

<p>Back to basics sur les dates, vraiment au top.</p>

<h3 id="apprendre-à-coder-en-maternelle-sans-écran">Apprendre à coder en maternelle, sans écran</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Amélia Matar</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/E9WEr_yHpVc">Youtube</a></li>
</ul>

<p>Très bon talk si le sujet vous intéresse. Approche centrée sur la méthode Montessori.</p>

<h3 id="spécifier-ses-api-asynchrones-avec-asyncapi">Spécifier ses API asynchrones avec AsyncAPI</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Sébastien Lecacheur</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/02u_qVi1Jn0">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://speakerdeck.com/slecache/specifier-ses-api-asynchrones-avec-asyncapi-devoxx-france-2022-tools-in-action">SpeakerDeck</a></li>
</ul>

<p>L’outil est intéressant et permet de documenter ses APIs avec une surcouche à OpenAPI. Génération de documentation dans
plein de formats. Génération de code depuis cette spécification.</p>

<p>Des liens intéressants pour aller plus loin.</p>

<h3 id="microservices-ddd-et-bootstrapping-pour-faire-un-départ-lancé">Microservices, DDD et bootstrapping pour faire un départ lancé</h3>

<ul>
  <li><strong>Ma Note :</strong> 2/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Laurent Guérin et Aurélien Brisard</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/CXaLEyckqu8">Youtube</a></li>
</ul>

<p>Schémas lourds, présentation finalement axée sur la présentation de Telosys pour générer du code.</p>

<p>Je n’ai pas accroché, j’aurais beaucoup de choses à dire sur la génération de code… Mais ça c’est un autre sujet.</p>

<h3 id="la-scale-up-lautonomie-et-le-sous-marin-nucléaire">La scale-up, l’autonomie et le sous-marin nucléaire</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Thomas Pierrain et Pauline Jamin</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/FPZw6gy04T4">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://fr.slideshare.net/ThomasPierrain/la-scaleup-lautonomie-et-le-sousmarin-nuclaire">SlideShare</a></li>
</ul>

<p>J’ai bien aimé le fait que les speakers présentent l’autre plutôt que soi-même. Ping pong fluide entre les speakers qui
rend la présentation dynamique (on sent le gros boulot derrière).</p>

<p>Sur le management, la culture de l’autonomie etc.</p>

<p>Le bouquin
conseillé : <a href="https://tjaglcspublic.army.mil/turn-the-ship-around#:~:text=Turn%20the%20Ship%20Around!%20is,powerful%20model%20of%20giving%20control.">Turn the ship around</a></p>

<h3 id="les-java-array-lists-ne-sont-pas-magiques">Les Java Array Lists ne sont pas magiques</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 15 minutes</li>
  <li><strong>Speakers</strong> : Loic Hermann</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/Fs_l3HK5Yy8">Youtube</a></li>
</ul>

<p>Un sujet très simple sur les internals de la classe ArrayList.</p>

<p>Comparaison de perf des méthodes (add vs addAll, remove vs removeIf…), et un peu de notation en Big O.</p>

<h3 id="le-secret-des-illoominaties">Le secret des illoominaties</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Clement Escoffier et Arthur Navarro</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/hxfNB4c9r6Y">Youtube</a></li>
</ul>

<p>Très intéressant, excellente introduction à Loom et ses virtual threads. Présente bien les limites actuelles et
contournements possibles.</p>

<p>2 fois plus d’empreinte mémoire que réactive. Niveau de concurrence proche (requêtes / seconde).</p>

<h3 id="en-quête-du-clean-code-avec-sonar-20-000-lieues-sous-un-océan-de-code">En quête du Clean Code avec Sonar, 20 000 lieues sous un océan de code!</h3>

<ul>
  <li><strong>Ma Note :</strong> 2/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Nicolas Peru et Claire Villard</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/QwjjPp0TF6U">Youtube</a></li>
</ul>

<p>Sonar way. Pas grand chose d’utile à en tirer, chercher à avoir le feedback au plus tôt.</p>

<h3 id="cryptanalyse-de-la-machine-enigma--entre-espionnage-et-mathématiques">Cryptanalyse de la machine Enigma : entre espionnage et mathématiques</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Jean-Christophe Sirot</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/TnxPRKPpEoA">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://speakerdeck.com/jcsirot/cryptanalyse-de-la-machine-enigma-entre-espionnage-et-mathematiques">SpeakerDeck</a></li>
</ul>

<p>Complètement inutile, donc indispensable !</p>

<h3 id="les-fonctions-récursives-décortiquées">Les fonctions (récursives) décortiquées</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Frédéric Cabestre</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/aTDSZtHCIGU">Youtube</a></li>
</ul>

<p>A chaque fois que je vois une conférence de Frédéric, c’est de mieux en mieux vulgarisé, de plus en plus accessible.</p>

<p>Explication notamment de la récursivité terminale, au top.</p>

<h3 id="intégration-à-lère-du-cloud-avec-camel-quarkus">Intégration à l’ère du cloud avec Camel Quarkus</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Zineb Bendhiba</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/EQH-lNUb2VY">Youtube</a></li>
</ul>

<p>Présentation d’Apache Camel qui permet d’intégrer plusieurs systèmes ensemble (conversion de types de données notamment)
.</p>

<p>L’intégration avec Quarkus, fait que c’est rapide, la démo est assez sympa. Par contre, il faudrait que je creuse un peu
Camel, mais l’expression des pipelines en textuel me semble quelque peu particulière. Cela me semble au premier abord un
peu manquer d’un bon vrai DSL typé.</p>

<p>Erratum: Merci à Zineb d’être venue apporter un complément d’informations. Il existe aussi un DSL typé, je vous pointe sur son lien sur <a href="https://camel.apache.org/manual/Endpoint-dsl.html">la documentation associée</a>. C’est effectivement un peu plus verbeux mais me semble un brin plus sûr à l’usage.</p>

<h3 id="merci-keptn-obvious-slos-observables-avec-prometheus-et-keptn">Merci Keptn Obvious! SLOs observables avec Prometheus et Keptn</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Henrik Rexed</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/lau3rwnAzXE">Youtube</a></li>
</ul>

<p>SLI et SLO</p>

<p>Pleins d’outils de SRE, normes OpenTelemetry et OpenMetrics, CloudEvents (Thanos pour rendre Prometheus plus robuste).</p>

<p>Keptn, orchestrateur Kubernetes SLO-driven pour DevOps et SRE. Event-based.</p>

<p>Démo pas folle.</p>

<p>Chaîne Youtube <a href="https://www.youtube.com/c/IsitObservable">Is it Observable</a> ?</p>

<h3 id="r2dbc--r2d2--jdbc-enfin-presque">R2DBC = R2D2 + JDBC (enfin presque…)</h3>

<ul>
  <li><strong>Ma Note :</strong> 2/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Bruno Bonnin</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/0nrTtSzLdyw">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://speakerdeck.com/bbonnin/r2dbc-equals-r2d2-plus-jdbc-enfin-presque-dot-dot-dot-d8cbd165-e769-48ef-a4dc-8d358fb2aa0e">SpeakerDeck</a></li>
</ul>

<p>Ne montre pas du tout l’intérêt des BDD réactives.</p>

<h3 id="jooq-joy-of-sql">JOOQ, joy of SQL</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Kevin Davin</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/5m_oE0iPJJE">Youtube</a></li>
</ul>

<p>Toujours aussi bon, ça donne vraiment envie.</p>

<p>Je suis tout à fait d’accord sur les soucis liés aux ORMs.</p>

<h3 id="jetpack-compose-ui-toolkit-pour-android-et-desktop">Jetpack Compose: UI toolkit pour Android et Desktop</h3>

<ul>
  <li><strong>Ma Note :</strong> 2/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Julien Salvi</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/kCo_ug3Bkxw">Youtube</a></li>
</ul>

<p>Dommage, le sujet m’intéressait. C’est très superficiel, très lecture de slides la tête dans le guidon.</p>

<p>Seul point qui remonte un peu la présentation, c’est la partie Desktop.</p>

<h3 id="introduction-à-remix">Introduction à REMIX</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 15 minutes</li>
  <li><strong>Speakers</strong> : Johann Rakotoharisoa</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/WCiDRTAipE4">Youtube</a></li>
</ul>

<p>L’idée est intéressante, du SSR et une amélioration progressive si JS présent.</p>

<h3 id="whats-cooking-in-maven">What’s cooking in Maven?</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Maarten Mulders</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/lT6FFbTfvXo">Youtube</a></li>
</ul>

<p>Présentation du maven wrapper. Présentation de quelques-unes des avancées futures de maven4 (parent version, improved
reactor for multi-modules) et des gains de perf du daemon.</p>

<h3 id="ciel--mon-kubernetes-mine-des-bitcoins-">Ciel ! Mon Kubernetes mine des bitcoins !</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Denis Germain</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/RbqHDpoaqR8">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://blog.zwindler.fr/talks/2022-ciel-kubernetes-mine-bitcoins/index.html">Par ici</a></li>
</ul>

<p>Découverte d’Octant (dans le même genre que Lens présenté plus haut). Quelques conseils de sécurité pour les clusters
Kubernetes.</p>

<p>Sécuriser au maximum les discussions entre services avec les network policies (cartographie complète), faire des
multi-stage builds et utiliser kubectl debug pour attacher un shell à un pod.</p>

<h3 id="java-next---from-amber-to-loom-from-panama-to-valhalla">Java Next - From Amber to Loom, from Panama to Valhalla</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Nicolai Parlog</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/LoaGT6R-rZo">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://slides.nipafx.dev">Par ici</a></li>
</ul>

<p>Tout plein de liens intéressants sur ce qui va venir dans les futures versions de Java !</p>

<h3 id="analytique-temp-réel-pour-vos-utilisateurs-avec-apache-pinot">Analytique temp réel pour vos utilisateurs avec Apache Pinot</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Francois Teychene</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/YJ6h2Guw4EE">Youtube</a></li>
</ul>

<p>Une base de données real-time qui impressionne. Démo rigolote basée sur r/place, avec un dashboard basé sur des requêtes
bourrine sur des millions d’événements.</p>

<h3 id="dekorate-loutil-pour-deployer-tes-microservices-sur-kubernetes">Dekorate: l’outil pour deployer tes microservices sur Kubernetes</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Aurea Munoz Hernandez</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/WqCjZIBNYHc">Youtube</a></li>
</ul>

<p>Génération de manifest Kubernetes depuis le code source, à base d’annotation et de configuration textuelle. Démo
efficace.</p>

<h3 id="jouer-à-minecraft-avec-une-ia-générée-par-gpt-3">Jouer à Minecraft avec une IA générée par GPT-3</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 30 minutes</li>
  <li><strong>Speakers</strong> : Wassim Chegham et Tiffany Souterre</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/sbsU9gRzKaA">Youtube</a></li>
</ul>

<p>Pas vraiment au niveau habituel de leurs présentations. Montre surtout les capacités de text processing de GPT-3.</p>

<h3 id="react-dans-tous-ses-états">React dans tous ses états</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Amélie Benoit</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/4iyYhLVxruI">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://github.com/abenoit/react-states">GitHub</a></li>
</ul>

<p>Redux + Redux RTK, state management Vanilla, Recoil</p>

<h3 id="quarkus-renarde---un-framework-web-old-school-au-goût-du-jour">Quarkus Renarde 🦊♥ : un framework Web old-school au goût du jour</h3>

<ul>
  <li><strong>Ma Note :</strong> 3/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Stéphane Épardaud</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/6my3AgnRoOI">Youtube</a></li>
</ul>

<p>Petite démo sympa et assez fluide. Templating typé avec Qute, intégration d’OpenID connect et WebAuthn notamment.</p>

<h3 id="record-du-monde---tour-dhorizon-et-cas-dutilisation-des-records">Record du monde - Tour d’horizon et cas d’utilisation des records</h3>

<ul>
  <li><strong>Ma Note :</strong> 4/5</li>
  <li><strong>Durée :</strong> 15 minutes</li>
  <li><strong>Speakers</strong> : Benoît Prioux</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/O1mclmBNiGM">Youtube</a></li>
  <li><strong>Slides</strong>: <a href="https://binout.github.io/world-record/#/">Par ici</a></li>
</ul>

<p>Quelques petits exemples d’utilisation des record bienvenus (valable pour Java mais aussi d’autres langages).</p>

<h3 id="art--entropie-du-chaos-dans-ton-frontend">Art &amp; Entropie: Du Chaos dans ton Frontend</h3>

<ul>
  <li><strong>Ma Note :</strong> 5/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Thibaud Courtoison</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/rxb1bhvnx5M">Youtube</a></li>
</ul>

<p>Une conférence très intéressante qui réfléchit à comment on pourrait appliquer les principes du Chaos Engineering à la
partie front-end de nos applications. Plein de bonnes idées.</p>

<h3 id="la-signature-électronique-vue-par-des-développeurs-java">La signature électronique vue par des développeurs Java</h3>

<ul>
  <li><strong>Ma Note :</strong> 2/5</li>
  <li><strong>Durée :</strong> 45 minutes</li>
  <li><strong>Speakers</strong> : Arnaud Jeansen Et Vincent Galloy</li>
  <li><strong>Lien</strong>: <a href="https://youtu.be/OxejZ2VyEek">Youtube</a></li>
</ul>

<p>Assez indigeste.</p>

<p>Et voici le lien pour <a href="/devoxx-2022-part-2/">la seconde partie</a>.</p>]]></content><author><name>Vincent Ferries</name></author><category term="Devoxx France" /><category term="conférences" /><summary type="html"><![CDATA[Mes notations très subjectives sur les différents talks]]></summary></entry><entry><title type="html">Introduction à Kubernetes</title><link href="https://www.enveille.info/introduction-kubernetes/" rel="alternate" type="text/html" title="Introduction à Kubernetes" /><published>2021-05-17T00:00:00+02:00</published><updated>2021-05-17T00:00:00+02:00</updated><id>https://www.enveille.info/introduction-kubernetes</id><content type="html" xml:base="https://www.enveille.info/introduction-kubernetes/"><![CDATA[<p><img src="https://www.enveille.info/images/kubernetes-logo.png" alt="Kubernetes" /></p>

<p>J’ai eu à développer des cron jobs sous Kubernetes récemment dans le cadre d’une de mes missions. J’ai dû en apprendre les bases et ai depuis quelque peu approfondi le sujet.</p>

<p>Je vais tenter un axe d’approche un peu différent de celui qu’on trouve la plupart du temps, une sorte de guide de survie avec quelques trucs et astuces glânés dernièrement sur le sujet. Le but est donc de proposer une vue d’ensemble de ce qu’est Kubernetes, de comment il marche et de ce qu’il propose.</p>

<h3 id="prononciations">Prononciations</h3>

<p>Il y a plusieurs prononciations admises pour certains des outils qui gravitent autour de Kubernetes. On va juste en passer ici quelques unes en revue. Pas la peine de m’incendier, il en existe d’autres mais celles-ci sont communément admises, et vous permettront de briller en société.</p>

<p>Sachez avant tout qu’on dit <strong>koubernétis</strong> (Koo-ber-neh-tees en anglais).
Pour <strong>kubectl</strong>, je vous laisse regarder <a href="https://www.youtube.com/watch?v=2wgAIvXpJqU">Le guide définitif de prononciation</a>. 3 minutes bien dépensées !</p>

<p>Et quelques bonus pour la route :</p>
<ul>
  <li>k8s  -&gt; keits</li>
  <li>etcd -&gt; etsi di</li>
  <li>kubelet -&gt; koub let</li>
</ul>

<h3 id="rest">REST</h3>

<p>Tous les objets manipulés par Kubernetes sont des ressources REST, au sens le plus pur du terme.</p>

<p>Etcd est une sorte de base de données des objets déclarés dans votre cluster Kubernetes. Elle contient toutes les définitions des objets qu’on veut que Kubernetes instancie et gère. Ces données sont exposés au travers de l’API Server.</p>

<p>kubectl, l’outil en ligne de commande fourni pour manipuler vos clusters Kubernetes ne fait qu’émettre des requêtes REST vers l’API Server. Certaines fonctionnalités de type watch utilisent en outre des websockets pour discuter avec l’API Server, on peut par exemple citer le watch sur les logs.</p>

<h3 id="declaratif-versus-impératif">Declaratif versus Impératif</h3>

<p>Kubernetes est basé sur un modèle déclaratif plutôt qu’impératif. On déclare qu’on veut toujours avoir 3 instances d’un pod qui tournent, et non qu’on veut lancer 3 pods.</p>

<p>La différence entre les deux est majeure. En cas d’erreur ou d’incohérence, il est alors capable de régler la plupart des problèmes lui-même. Il va par exemple relancer un pod qui aurait crashé, vous évitant de devoir vous lever à pas d’heure pour régler l’incident.</p>

<p>Afin de conserver cet aspect déclaratif, il est fortement conseillé de déclarer les objets qu’on veut instancier dans des fichiers plutôt qu’en ligne de commande pour éviter qu’à la personne suivante qui passe on écrase des valeurs.</p>

<p>Cela permet d’autres avantages comme de la gestion de configuration de ces fichiers (sous git), les relectures de code etc.</p>

<p>Des Controllers effectuent ce qu’on appelle des boucles de contrôle.
Il vont en effet régulièrement interroger l’état du cluster (kubelet fournit ces infos pour chacun des noeuds) et comparer cet état avec celui qui a été demandé. Au besoin, il va demander l’instanciation de nouveaux objets kubernetes, par exemple des pods ou en tuer certains.</p>

<p>Le scheduler se charge quand à lui de déterminer sur quels noeuds doivent être lancés les pods manquants.</p>

<h3 id="types-dobjets-manipulés-et-leur-utilité">Types d’objets manipulés et leur utilité</h3>

<h4 id="nodes">Nodes</h4>

<p>Il ne s’agit pas à proprement parler d’un objet directement manipulé par Kubernetes mais plutôt des différents éléments qui composent votre cluster. Ils représentent des machines (virtuelles ou pas) sur lesquelles Kubernetes va pouvoir déployer des pods.</p>

<h4 id="pod">Pod</h4>

<p>Un Pod est la plus petite unité de déploiement gérée par Kubernetes. Il se base sur des images de containers (docker le plus souvent). Plusieurs containers peuvent tourner à la fois dans un même pod, généralement si ils ont un besoin impérieux de partager certaines ressources.</p>

<h4 id="replicaset">ReplicaSet</h4>

<p>Permet de définir un nombre voulu de réplicats d’un pod à faire tourner dans le cluster. Il compare régulièrement le nombre de réplicats demandés et instancie ou détruit des pods si l’état courant du cluster n’est pas en adéquation.</p>

<h4 id="deployment">Deployment</h4>

<p>Surcouche des ReplicaSets qui permet de faire des montées de version sans downtime, soit en changeant le nombre de réplicats, soit en changeant la version des applications déployées.
Un Deployment va utiliser plusieurs ReplicaSets pour arriver à cet objectif, scalant simultanément le ReplicaSet de l’ancienne version et celui utilisé pour gérer les pods de la nouvelle.</p>

<h4 id="statefulsets">StatefulSets</h4>

<p>Les StatefulSets sont très proches des Deployment. Ils fournissent par contre en plus une identité fixe pour chacun des pods instanciés (numérotés de 0 à N-1). Cela permet notamment de déployer des logiciels dont les différentes parties ont besoin de se connaître, comme des bases de données distribuées, ou encore un Kafka.</p>

<h4 id="daemonset">DaemonSet</h4>

<p>Assez similaire aux ReplicaSets et Deployments, mais pour faire tourner un pod sur chacun des noeuds du cluster. Cela permet notamment de rajouter certaines fonctionnalités à notre cluster. Un exemple peut être de l’aggrégation de logs ou du monitoring.</p>

<h4 id="service">Service</h4>

<p>Expose un ensemble de pods au sein du cluster. Définit le load balancing à appliquer sur ces pods.</p>

<h4 id="ingress">Ingress</h4>

<p>Définit l’accès depuis l’extérieur aux ressources du cluster. Le plus souvent via HTTP. L’implémentation d’Ingress est laissée à la charge des différents Cloud Providers, Kubernetes ne définit qu’un template.</p>

<h4 id="jobs">Jobs</h4>

<p>Ils sont de deux types : Jobs et CronJobs. Le premier est un processus à lancer de façon unitaire, une action de maintenance. Le second est un cron, qui va donc lancer une action de façon récurrente. On l’utilise souvent pour des tâches de nettoyage.</p>

<h3 id="découplage-avec-labels-et-selectors">Découplage avec labels et selectors</h3>

<p>Kubernetes est basé sur les retours d’expérience des OPS chez Google. Un de leurs mantras est d’éviter un maximum les couplages forts.</p>

<p>Pour ce faire, les liaisons entre la plupart des objets manipulés sont définies par des labels qu’on pose sur les éléments et des sélecteurs qu’on définit sur les objets qui les manipulent.</p>

<p>Cela permet par exemple aux définitions de services de lister les pods qui les concernent, en définissant un sélecteur sur les labels des pods (le nom de l’application par exemple). Ce mécanisme est aussi utilisé afin de qualifier les noeuds sur lesquels un pod peut être déployé, par exemple en précisant qu’on veut que le noeud dispose d’un label <strong><em>ssd</em></strong>.</p>

<p>Ce couplage est donc faible et basé sur des conventions. Libre à nous de rajouter des labels et des mécanismes pour en tenir compte dans les fonctionnalités qu’on ajoute à un cluster.</p>

<h3 id="conseils-de-lecture">Conseils de lecture</h3>

<p>Les deux livres qui reviennent souvent quand on parle du sujet sont :</p>

<ul>
  <li><a href="https://www.oreilly.com/library/view/kubernetes-up-and/9781491935668/">KubernetesUp &amp; Running</a>: Plutôt axé développeurs, il reprend toutes les bases nécessaires si vous développez des applications destinées à être livrées sur Kubernetes.</li>
  <li><a href="https://www.oreilly.com/library/view/managing-kubernetes/9781492033905/">Managing Kubernetes</a>: Celui-ci est plus axé OPS. C’est un peu moins mon profil mais cela permet de creuser certains aspects du sujet.</li>
</ul>

<p>Je prévoie de refaire une liste de mes lectures récentes prochainement, stay tuned.</p>

<p>Comme toujours, je tiens ma liste de livres en prêt ou échange à disposition <a href="https://docs.google.com/spreadsheets/d/1XgL-d50Razma7f_8Q7vNHB8AT7LlEIqaTq1q2iOEMjQ/edit?usp=sharing">ici même</a>.</p>

<p>Ensuite, une fois les concepts de base acquis, je ne saurais que trop vous conseiller les <a href="https://scraly.com/#zine">sketchnotes d’Aurélie Vache</a>. Son travail sur le sujet est remarquable, elle fait des sketchnotes sur tous les concepts importants, en rajoutant des petites astuces au fil de l’eau. C’est un excellent complément aux documentations plus traditionnelles pour vous aider à condenser ces connaissances et vous en faire une représentation mentale.</p>

<p>Pour ceux qui préfèrent les vidéos, je vous conseille les cours en ligne gratuits de VMWare, appelés <a href="https://kube.academy/">Kube Academy</a> sur le sujet.</p>

<h3 id="tips-and-tricks">Tips and tricks</h3>

<p>L’alias ultime :</p>

<p><code class="language-plaintext highlighter-rouge">alias k = 'kubectl $@'</code></p>

<p>Il vous fera gagner beaucoup de temps à taper vos commandes kubectl.</p>

<p>Jetez aussi un coup d’oeil aux outils <strong>kubens</strong> et <strong>kubectx</strong> pour changer rapidement de contexte ou de namespace par défaut. Les commandes kubectl correspondantes sont assez pénibles, ces deux petits scripts vous faciliteront la vie dans votre vie de tous les jours.</p>]]></content><author><name>Vincent Ferries</name></author><category term="kubernetes" /><category term="OPS" /><summary type="html"><![CDATA[Une introduction aux grands concepts, avec un peu de phonétique dedans]]></summary></entry><entry><title type="html">Streaming de code sur Twitch</title><link href="https://www.enveille.info/streaming/" rel="alternate" type="text/html" title="Streaming de code sur Twitch" /><published>2021-04-22T00:00:00+02:00</published><updated>2021-04-22T00:00:00+02:00</updated><id>https://www.enveille.info/streaming</id><content type="html" xml:base="https://www.enveille.info/streaming/"><![CDATA[<p>Je me suis lancé, il y a désormais quelques semaines de cela dans un nouvel exercice : streamer du contenu autour du code de façon régulière.</p>

<p>Après une première émission en duo, j’ai mis au point mon planning actuel, à savoir deux sessions “du matin” et une en fin d’après-midi par semaine.</p>

<p>Cela fait désormais un bon mois que j’ai commencé, et, à part quelques empêchements (que je signale dans le planning quand cela se produit), je me tiens à mon programme.</p>

<p>Vous pourrez donc me retrouver le mardi et vendredi matin de 8h à 9h et accompagné le jeudi à 18h <a href="https://www.twitch.tv/enveillecode">sur Twitch</a>.</p>

<p>Je mets aussi ces vidéos en ligne en replay sur <a href="https://www.youtube.com/c/VincentFerries/playlists">ma chaîne Youtube</a> dans des playlists dédiées.</p>

<p>Je voulais livrer ici par écrit quelques pistes et idées que j’ai en tête pour la suite.</p>

<h3 id="pourquoi-">Pourquoi ?</h3>

<p>Il y a plusieurs objectifs à cela : je voulais avant tout me forcer à faire des exercices d’entraînement, plus communément appelés katas.
C’est quelque chose que je pratique beaucoup, mais de façon assez peu régulière.</p>

<p>Je suis donc souvent présent sur <a href="Codewars">https://www.codewars.com/</a>, <a href="https://checkio.org/">check.io</a>, l’<a href="https://adventofcode.com/">advent of code</a>, le <a href="https://projecteuler.net/">projet Euler</a> (pour ne citer que mes préférés) et plein d’autres que j’ai eu le plaisir de découvrir au fil du temps.
De plus, c’est un super moyen de se créer des routines positives et un peu d’interaction sociale.</p>

<h3 id="comment-">Comment ?</h3>

<p>Me lancer de la sorte m’a permis de m’essayer à pas mal d’outils au fil de l’eau. Ce n’est qu’une petite ébauche, je pense que la liste s’étoffera au fil du temps. N’hésitez pas à me signaler en commentaire si vous connaissez des outils plus adaptés.
Pour information, je streame actuellement sous Linux. Certains outils plus simples disponibles sous Windows ne sont pas disponibles, mais on trouve des alternatives très sympas.</p>

<ul>
  <li><a href="https://obsproject.com">OBS Studio</a> Est l’outil principal que j’utilise pour streamer mon contenu. Il inclut une table de mixage sonore et permet de définir des scènes, ainsi que des transitions entre ces scènes. Les scènes permettent de composer des fenêtres, de rajouter les flux caméras, etc. C’est un outil très complet, qui demande un peu de prise en main. Je rajoute et créée des extensions au fur et à mesure de mon apprentissage, et la création d’overlays sera sûrement à l’ordre du jour lors de certains streams.</li>
  <li><a href="https://www.blackmagicdesign.com/fr/products/davinciresolve/">DaVinci Resolve</a> j’ai découvert ce logiciel il y a peu, et je dois bien avouer être tombé sous le charme ! L’ergonomie est bien pensée, il tourne aussi bien sur Windows que sous Linux et permet de faire des montages vidéos vraiment très pro. Mixage audio, corrections de couleur, effets spéciaux, on peut tout faire avec ! Le tutoriel présent dans la section <a href="https://www.blackmagicdesign.com/fr/products/davinciresolve/training">Formation</a> est particulièrement bien fait et complet. Si vous ne connaissez pas encore, je vous encourage vivement à apprendre à vous en servir, ne serait-ce que pour vos vidéos persos.</li>
  <li><a href="https://discord.com/">Discord</a> pour tous ce qui est multi-intervenants, on utilise Discord, sans le moindre souci pour l’instant. Le partage d’écran marche bien, le son aussi. Je m’en sers surtout pour récupérer la caméra de mes invités et l’intégrer à ma scène OBS.</li>
  <li>mon IDE favori : IntelliJ IDEA ou l’une de ses versions spécialisées pour un langage comme Webstorm par exemple. Les premiers streams ont été faits sur la version preview afin de profiter de la fonctionnalité Code With Me, désormais intégrée aux versions 2021.1. Cet outil très pratique permet de code à plusieurs dans le même IDE (à la fois ou en suivant l’autre). Cela marche plutôt bien. On a aussi essayé un équivalent sur Code appelé CodeTogether, mais j’ai été moins convaincu : quelques artéfacts à l’écran, et des soucis avec le formatage automatique du code.</li>
</ul>

<h3 id="quoi-">Quoi ?</h3>

<p>L’idée de base c’est de faire des katas. Donc il y en aura pas mal.
Plusieurs formats sont possibles, de petits exercices courts sur des katas faciles sur CodeWars, à des katas plus compliqués.
Les premiers ont l’avantage de ne pas exclure ceux qui rejoindraient le stream en cours. Les seconds permettent d’approfondir et d’avoir des exercices plus intéressants et complets.
J’ai fait un certain nombre de katas “faciles” en stream le matin, ça permet de se mettre dans de bonnes conditions pour démarrer la journée de travail sur la bonne lancée.</p>

<p>Nous avons aussi testé avec un ami, Balkoth, des katas plus complexes : le <a href="https://github.com/codurance/task-list">kata task-list</a> de Codurance, et un kata 1 kyu (difficulté maximale sur Codewars) qui nous ont quand même pris plus de 10 heures à eux deux.</p>

<p>J’aime bien aussi l’idée des Koans pour la découverte de nouveaux languages de programmation. J’ai donc aussi fait une première série sur Rust, qui est un langage qui m’intéresse parce qu’il a l’air d’apporter de nouveaux concepts intéressants.</p>

<p>Je pense aussi faire des petits duels de rapidité de résolution de katas simples.</p>

<p>L’étape suivante mettra en avant du live code. Cela demande plus de préparation, mais je pense qu’en terme de temps investi/choses apprises, c’est probablement plus intéressant pour les spectateurs.</p>

<h3 id="et-ensuite-">Et ensuite ?</h3>

<p>Les idées à tester ne manquent pas, en voici quelques unes en vrac :</p>
<ul>
  <li>inviter des gens à venir coder avec moi ou pour des discussions, ou encore présenter leurs travaux ou ce qu’ils font</li>
  <li>faire des mini conférences sur des sujets précis. Des sortes de meetups ou de préparations avant de donner un meetup.</li>
  <li>comment faire de beaux overlays, des appels d’APIs Twitch, du montage etc</li>
  <li>lancer des discussions sur le métier de développeur, pourquoi il est important de parler à des conférences, sur le cloud, tous les outils qu’on utilise aujourd’hui dans un pipeline de livraison</li>
  <li>Algorithmie, on a un sujet en cours sur un jeu de plateau, avec pour l’instant un algorithme A* amélioré qu’on aimerait encore tunner. Pourquoi pas tester des réseaux de neurone dessus voir qui s’en tire le mieux ?</li>
</ul>

<h3 id="appel-à-contributions">Appel à Contributions</h3>

<p>La chaîne manque encore un peu de traction, mais le nombre d’abonnés monte doucement. Plus il y a de monde pour intéragir, plus cela devient intéressant.
J’aimerais bien faire plus de duos, faire du coaching en live, que ce soit pour des préparations de présentations en conférence, ou encore de la résolution de problèmes.
Si ces sujets vous intéressent, n’hésitez pas à vous manifester.
Je suis aussi ouvert si certains veulent streamer sur la chaîne.</p>]]></content><author><name>Vincent Ferries</name></author><category term="streaming" /><category term="twwitch" /><category term="katas" /><summary type="html"><![CDATA[Je me suis lancé il y a quelques semaines, je vous livre mes premiers retours]]></summary></entry><entry><title type="html">Mes conseils de lecture pour cette nouvelle année</title><link href="https://www.enveille.info/lectures/" rel="alternate" type="text/html" title="Mes conseils de lecture pour cette nouvelle année" /><published>2019-01-03T00:00:00+01:00</published><updated>2019-01-03T00:00:00+01:00</updated><id>https://www.enveille.info/lectures</id><content type="html" xml:base="https://www.enveille.info/lectures/"><![CDATA[<p>Encore une fois, cela fait un certain temps que je n’avais pas pris le temps d’écrire ici. Ce ne sont pourtant pas les sujets qui manquent, j’ai surtout privilégié d’autres priorités dernièrement.</p>

<p>Un peu à la manière de mes <a href="/ignite-talks/">défis précédents</a>, je me suis lancé dans l’idée de lire un peu chaque jour quelques pages de livres techniques. J’avais beau avoir pris cette décision avant mon changement de mission, le fait de me retrouver à l’autre bout de la ville a facilité son adoption : je me retrouve à passer entre une et deux heures dans les transports en commun par jour, et j’en profite donc pour bouquiner. Ce qui devait à la base être une demi heure à une heure de lecture par jour pendant un mois s’est donc transformé en pas loin de deux heures par jour depuis 3 bons mois.</p>

<h2 id="disclaimer">Disclaimer</h2>

<p>Je possède tous les livres dont je parle dans cet article. Je les prête volontiers, ou encore mieux, les échange contre vos coups de coeur à vous. J’essaie de tenir une <a href="https://docs.google.com/spreadsheets/d/1XgL-d50Razma7f_8Q7vNHB8AT7LlEIqaTq1q2iOEMjQ/edit?usp=sharing">liste à jour des bouquins que je possède</a>, et de s’ils sont disponibles ou non.
N’hésitez donc surtout pas à m’en demander certains ou à me proposer des échanges.</p>

<p>Je ne lis pour l’instant que des formats “papier”, ma mère étant libraire, j’ai encore du mal à me faire à l’idée d’une liseuse, même si j’avoue que j’ai quasiment été convaincu par leur rendu.
J’ai tenté de regrouper les livres par catégorie et de fournir une appréciation personnelle et une note pour chacun. N’hésitez pas à contrebalancer si votre avis diffère.</p>

<h3 id="tech">Tech</h3>

<p>Je regroupe ici des sujets très variés, des langages de programmation à la Data Science ou au Big Data.</p>

<h4 id="designing-data-intensive-applications-the-big-ideas-behind-reliable-scalable-and-maintainable-systems-martin-kleppmann"><a href="https://www.amazon.fr/Designing-Data-Intensive-Applications-Martin-Kleppmann/dp/1449373321/ref=sr_1_1?ie=UTF8&amp;qid=1545931212&amp;sr=8-1&amp;keywords=designing+data-intensive+applications">Designing Data-Intensive Applications, The Big Ideas Behind Reliable, Scalable, and Maintainable Systems (Martin Kleppmann)</a></h4>
<blockquote>
  <p>Ma note : 10/10</p>
</blockquote>

<p>C’est bien simple, il s’agit à ce jour du meilleur livre technique que je n’aie lu. Attention, il y a de la matière : 550 pages utiles, et plus de 600 références vers d’autres livres, articles ou papiers de recherche. Il traite d’énormément de sujets assez compliqués mais reste très didactique et accessible tout du long. Il traite du stockage des données sur disque, de réplication, de systèmes distribués, de tolérance aux pannes, de sérialisation, de synchronisation d’horloges et d’à peu près tout ce qu’il y a à savoir pour comprendre les briques qui composent les grosses applications actuelles. Je sais désormais beaucoup mieux à quoi sert ZooKeeper, comment marche Kafka, comment marchent les algorithmes de consensus et pourquoi le théorème de CAP est tout pourri. Mention spéciale pour le traitement de l’event-sourcing (CQRS) et du streaming. En quelques mots : LIRE CE LIVRE DEVRAIT ÊTRE OBLIGATOIRE.</p>

<h4 id="data-science-from-scratch-first-principles-with-python-joel-grus"><a href="https://www.amazon.fr/Data-Science-Scratch-Principles-Python-ebook/dp/B00W4DTP2A/ref=sr_1_2?ie=UTF8&amp;qid=1545931422&amp;sr=8-2&amp;keywords=data+science+from+scratch+with+python">Data Science from Scratch, First Principles with Python (Joel Grus)</a></h4>
<blockquote>
  <p>Ma note : 6/10</p>
</blockquote>

<p>Je pense que sur ce coup le problème vient de moi. Le bouquin est bien écrit et très compréhensible mais je me suis heurté à mes propres lacunes en terme de probas et de statistiques (aucun problème côté Python qui n’est pas un prérequis). Je pense que je reprendrais ce livre une fois que je les aurais comblées. J’avais fait des cours sur Coursera sur la Data Science que j’avais trouvé plus abordables sur les aspects mathématiques alors qu’ils allaient quasiment aussi loin. Pas un  mauvais bouquin, mais pas vraiment qu’une introduction comme le livre semblait le présager selon moi.</p>

<h4 id="kotlin-in-action-dmitry-jemerov-svetlana-isakova"><a href="https://www.amazon.fr/Kotlin-Action-Dmitry-Jemerov/dp/1617293296/ref=sr_1_1?ie=UTF8&amp;qid=1545931726&amp;sr=8-1&amp;keywords=Kotlin">Kotlin in Action (Dmitry Jemerov, Svetlana Isakova)</a></h4>
<blockquote>
  <p>Ma note : 9/10</p>
</blockquote>

<p>Comme souvent, la série “In Action” de chez Manning ne faillit pas. J’ai rarement été déçu par cette collection. Il s’agit quand même de bouquins assez théoriques qui ne vont pas énormément plus loin que les documentations officielles. Cependant, le style est très pédagogique, les aspects sont abordés dans un ordre de complexité croissante et qui fait sens. Les membres de mon équipe au travail viennent régulièrement me l’emprunter pour y vérifier un aspect du langage précis.
Et sinon, si Kotlin vous intéresse, je vous conseille vivement <a href="https://www.coursera.org/learn/kotlin-for-java-developers">le cours sur Coursera</a> donné par Svetlana Isakova, il vaut franchement le coup.</p>

<h4 id="kotlin-for-android-developers-learn-kotlin-the-easy-way-while-developing-an-android-app-antonia-leiva"><a href="https://www.amazon.fr/Kotlin-Android-Developers-Learn-developing/dp/1530075610/ref=sr_1_7?ie=UTF8&amp;qid=1545931726&amp;sr=8-7&amp;keywords=Kotlin">Kotlin for Android Developers, Learn Kotlin the easy way while developing an Android App (Antonia Leiva)</a></h4>
<blockquote>
  <p>Ma note : 4/10</p>
</blockquote>

<p>J’avais pas mal d’attentes sur ce bouquin, reprenant le développement mobile dernièrement. Et bien j’ai été passablement déçu, le livre est assez creux, et n’apporte pas grand chose de plus que Kotlin in Action. Le style d’écriture n’est pas très bon non plus, il s’agit d’un lean pub qui a bien marché et est devenu un livre, on voit que ce n’est pas franchement un produit bien fini.</p>

<h3 id="craftsmanship">Craftsmanship</h3>

<p>Un sujet qui me passionne depuis bien longtemps maintenant. Si le sujet vous tente, je ne saurais trop vous conseiller de vous rapprocher du <a href="https://www.meetup.com/fr-FR/Software-Crafters-Toulouse/">groupe Software Crafters Toulouse</a>.</p>

<h4 id="test-driven-development-by-example-kent-beck"><a href="https://www.amazon.fr/Test-Driven-Development-Kent-Beck/dp/0321146530/ref=sr_1_1?ie=UTF8&amp;qid=1545931336&amp;sr=8-1&amp;keywords=Kent+Beck">Test-Driven Development, By Example (Kent Beck)</a></h4>
<blockquote>
  <p>Ma note : 9/10</p>
</blockquote>

<p>Un grand classique, qui mérite ce qui en est dit. Le style est agréable et abordable, avec plein d’exemples. Mon seul regret, j’aurais préféré que ça soit un peu plus compliqué, mais c’est là surtout une preuve que c’est parfaitement vulgarisé.</p>

<h4 id="extreme-programming-explained-embrace-change-kent-beck"><a href="https://www.amazon.fr/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/ref=sr_1_3?ie=UTF8&amp;qid=1545931336&amp;sr=8-3&amp;keywords=Kent+Beck">Extreme Programming Explained, Embrace Change (Kent Beck)</a></h4>
<blockquote>
  <p>Ma note : 9/10</p>
</blockquote>

<p>Celui-ci me tentait depuis un moment, j’ai fini par craquer. Là encore, il s’agit d’une valeur sûre. J’ai particulièrement aimé l’approche autour du “test d’acceptation en premier” à chaque début d’itération. Vous pouvez y aller les yeux fermés, et je vous encourage vivement à appliquer tout ce que ce livre contient au travail, seul ou avec vos collègues.</p>

<h3 id="présentations">Présentations</h3>

<p>Cela fait désormais quelques temps que je n’ai pas donné de conférence, mais le sujet m’intéresse au plus haut bien. J’ai un oeil un peu particulier sur le sujet étant organisateur du <a href="https://devfesttoulouse.fr/">DevFest Toulouse</a> et membre actif du comité de sélection des sujets.</p>

<p>J’en profite pour rappeler que je reste disponible pour d’éventuels <a href="/BBL/">Brown Bag Lunch</a>, et que nous lançons avec un ami Fabien des sessions d’aide personnalisées pour ceux qui voudraient des conseils et des retours pour mieux se lancer. Si vous voulez présenter vos premiers sujets dans des user groups locaux ou des conférences, n’hésitez pas à me contacter, on vous organisera des sessions de revues de slides, de présentations à blanc etc pour vous aider dans cette entreprise.</p>

<h4 id="slideology-the-art-and-science-of-creating-great-presentations-nancy-duarte"><a href="https://www.amazon.fr/Slide-ology-N-Duarte/dp/0596522347/ref=sr_1_1?s=english-books&amp;ie=UTF8&amp;qid=1545930439&amp;sr=1-1&amp;keywords=slideology">Slideology, The art and science of creating great presentations (Nancy Duarte)</a></h4>
<blockquote>
  <p>Ma note : 9/10</p>
</blockquote>

<p>Jetez vous sur ce bouquin :</p>
<ul>
  <li>C’est un beau livre</li>
  <li>Il vous détaille tout ce que vous devez faire ou éviter dans vos slides</li>
  <li>Il donne plein d’idées pour des transitions entre slides utiles ou comment faire des diagrammes clairs</li>
</ul>

<h4 id="resonate-present-visual-stories-that-transform-audiences-nancy-duarte"><a href="https://www.amazon.fr/Resonate-Present-Stories-Transform-Audiences/dp/0470632011/ref=sr_1_1?s=english-books&amp;ie=UTF8&amp;qid=1545930469&amp;sr=1-1&amp;keywords=resonate">Resonate, Present visual stories that transform audiences (Nancy Duarte)</a></h4>
<blockquote>
  <p>Ma note : 7/10</p>
</blockquote>

<p>Ce livre est aussi beau que le précédent, mais je n’y ai pas trouvé la même résonnance que dans le premier (malgré le titre). Il se tourne un peu plus sur la constitution des talks, le story-telling et comment recentrer son sujet.
Cela reste un très bon, complément du premier, mais je ne l’ai pas trouvé aussi bon.</p>

<h4 id="presentation-zen-garr-reynolds"><a href="https://www.amazon.fr/Presentation-Zen-Simple-Design-Delivery/dp/0321811984/ref=sr_1_1?s=english-books&amp;ie=UTF8&amp;qid=1545930575&amp;sr=1-1&amp;keywords=Presentation+zen">Presentation Zen (Garr Reynolds)</a></h4>
<blockquote>
  <p>Ma note : 9/10</p>
</blockquote>

<p>Encore un livre à lire absolument, il est magnifique, plein d’exemples concrets et de surcroît bien écrit. Il est aussi zen que son titre et est un hommage magnifique à la culture Japonaise. Foncez.</p>

<h3 id="design">Design</h3>

<h4 id="ergonomie-web-pour-des-sites-web-efficaces-amélie-boucher"><a href="https://www.amazon.fr/Ergonomie-web-Pour-sites-efficaces/dp/2212132158/ref=sr_1_2?s=english-books&amp;ie=UTF8&amp;qid=1545930648&amp;sr=8-2&amp;keywords=Ergonomie+web+pour+des+sites+web+efficaces">Ergonomie Web, Pour des sites web efficaces (Amélie Boucher)</a></h4>
<blockquote>
  <p>Ma note : 8/10</p>
</blockquote>

<p>Une agréable surprise. Malgré une couverture un peu austère à mon goût (jaune et noire, de chez Eyrolles), il s’agit là d’un des meilleurs livres tech en français que j’ai lu depuis bien longtemps. Il montre plein d’exemples de sites en couleur avec les choses à éviter, mais traite aussi de comment concevoir et tester ses sites web. On retrouve reprises pas mal des idées de Don Norman et Steve Krug (voir ci-dessous), ce qui en soit est un bon signe. Pour ceux qui préfèrent lire en français, jetez vous dessus. Pour les autres, lisez le aussi, ça ne vous fera pas de mal !</p>

<h4 id="lesprit-design-comment-le-design-thinking-change-lentreprise-et-la-stratégie-tim-brown"><a href="https://www.amazon.fr/LEsprit-design-thinking-lentreprise-strat%C3%A9gie/dp/2744066222">L’esprit Design, Comment le design thinking change l’entreprise et la stratégie (Tim Brown)</a></h4>
<blockquote>
  <p>Ma note : 3/10</p>
</blockquote>

<p>J’ai eu l’impression de lire une publicité pour IDEO tout du long… De plus, la traduction m’a semblé particulièrement mauvaise. J’aurais dû le prendre en anglais, mais je ne suis pas sûr que ça aurait suffit à faire passer la pillule. Il y a cependant quelques idées intéressantes pour convaincre des managers. Peut être que c’est plutôt un livre à faire lire aux gens qui ont les manettes pour les pousser vers le Design Thinking.</p>

<h4 id="the-design-of-everyday-things-don-norman"><a href="https://www.amazon.fr/Design-Everyday-Things-Expanded-Paperback/dp/B00M0DGMGQ/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1545930851&amp;sr=1-2&amp;keywords=the+design+of+everyday+things">The Design of Everyday Things (Don Norman)</a></h4>
<blockquote>
  <p>Ma note : 8/10</p>
</blockquote>

<p>Très bon bouquin qui vous expliquera beaucoup des concepts de base du design, et pas que dans le cadre informatique. Vous apprendrez dedans ce qu’est l’affordance, et nos manières de réagir aux objets qui nous entourent. Il s’agit là d’une référence.</p>

<h4 id="dont-make-me-think-a-common-sense-approach-to-web-and-mobile-usability-steve-krug"><a href="https://www.amazon.fr/Dont-Make-Think-Revisited-Usability/dp/0321965515/ref=sr_1_cc_1?s=aps&amp;ie=UTF8&amp;qid=1545931035&amp;sr=1-1-catcorr&amp;keywords=don%27t+make+me+think">Don’t Make Me Think, A Common Sense Approach to Web and Mobile Usability	(Steve Krug)</a></h4>
<blockquote>
  <p>Ma note : 9/10</p>
</blockquote>

<p>Ce livre porte bien son nom. Il se lit sans même y penser. Beau, concis, efficace, il montre l’exemple de ce que devraient être toutes les applications que nous développons. En plus il est très facile d’accès.</p>

<h4 id="rocket-surgery-made-easy-the-do-it-yourself-guide-to-finding-and-fixing-usability-problems-steve-krug"><a href="https://www.amazon.fr/Rocket-Surgery-Made-Easy-yourself/dp/B01LYWGA78/ref=sr_1_6?s=books&amp;ie=UTF8&amp;qid=1545930987&amp;sr=1-6&amp;keywords=Steve+Krug">Rocket Surgery Made Easy, The Do-It-Yourself Guide to Finding and Fixing Usability Problems (Steve Krug)</a></h4>
<blockquote>
  <p>Ma note : 9/10</p>
</blockquote>

<p>La suite logique du livre précédent. A lire absolument si vous voulez faire des tests utilisateurs de vos produits (spoiler alert : vous devriez).</p>

<h4 id="design-emotionnel-aaron-walter"><a href="https://www.amazon.fr/Design-%C3%A9motionnel-n%C2%B05-Aarron-Walter/dp/2212133987/ref=sr_1_cc_1?s=aps&amp;ie=UTF8&amp;qid=1545931106&amp;sr=1-1-catcorr&amp;keywords=design+emotionnel">Design Emotionnel (Aaron Walter)</a></h4>
<blockquote>
  <p>Ma note : 6/10</p>
</blockquote>

<p>Ce livre fait partie de la série “A book apart”. C’est un gage de qualité. Le sujet m’a un peu moins parlé que les autres livres que j’ai lus dernièrement, mais il n’est pas mauvais pour autant. Il est concis (une centaine de pages) et couvre des sujets que les autres de cette liste ne couvraient pas ou peu. Les exemples sont parlants et sympas.</p>

<h4 id="100-things-every-designer-needs-to-know-about-people-susan-m-weinschenk-phd"><a href="https://www.amazon.fr/Things-Every-Designer-Needs-People/dp/0321767535">100 Things Every Designer needs to know about People (Susan M. Weinschenk, Ph.D.)</a></h4>
<blockquote>
  <p>Ma note : 8/10</p>
</blockquote>

<p>Un bouquin intéressant qui se base sur de nombreuses thèses scientifiques et sociales sur les gens et leur comportement. Le tout est résolument tourné vers le design d’applications. Il y a donc pas mal de choses à en tirer. Encore une bonne lecture !</p>

<p>J’en ai encore pas mal en stock, et suis déjà en train de lire les prochains. Il y a fort à parier que je réitère ce type d’article à l’occasion.</p>]]></content><author><name>Vincent Ferries</name></author><category term="livres" /><category term="books" /><category term="design" /><category term="tdd" /><category term="XP" /><summary type="html"><![CDATA[J'ai pris le temps de lire beaucoup dernièrement, voici ce que j'en ai tiré]]></summary></entry><entry><title type="html">Installer Java 9 sur Ubuntu</title><link href="https://www.enveille.info/Installation-java9-ubuntu/" rel="alternate" type="text/html" title="Installer Java 9 sur Ubuntu" /><published>2017-09-24T00:00:00+02:00</published><updated>2017-09-24T00:00:00+02:00</updated><id>https://www.enveille.info/Installation-java9-ubuntu</id><content type="html" xml:base="https://www.enveille.info/Installation-java9-ubuntu/"><![CDATA[<p>Cela fait plus d’un an que je n’ai plus rien écrit ici, il est temps de s’y remettre.
J’ai pas mal à vous présenter d’ici peu, notamment au sujet d’Angular (4 bientôt 5), de ngrx, d’Android, de Kotlin de lancement en indépendant. Le travail a été riche et varié depuis la création de ma petiiite entreprise.</p>

<h3 id="java-9">Java 9</h3>

<p>Je ne vais pas vous mentir, je ne l’attendais pas avec la plus grande des impatiences, ayant goûté à Kotlin entre temps. Mais Java reste Java et je ne peux pas vraiment non plus le désavouer. Alors me voila en train d’installer la nouvelle version du JDK sortie le 21 septembre 2017. Je voulais voir et tester rapidement les nouveautés, notamment Jigsaw afin de pouvoir faire les choses proprement sur mes futurs projets en Java.
Tout ne s’est pas exactement passé comme prévu alors je me permets de poser ici les solutions glânées ça et là.</p>

<h3 id="installation-via-apt-sous-ubuntu">Installation via apt sous Ubuntu</h3>

<p>La procédure d’installation est toute simple:</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">sudo </span>add-apt-repository ppa:webupd8team/java
<span class="nb">sudo </span>apt update
<span class="nb">sudo </span>apt <span class="nb">install </span>oracle-java9-installer</code></pre></figure>

<p>On ajoute un repository, on met à jour la liste des packages dispos et on installe Java 9.
Seulement, visiblement les gars de webupd8team, qui font un super boulot pour simplifier les installations du JDK Oracle sous Ubuntu n’ont visiblement pas encore tout à fait mis à jour avec les changements d’urls côté Oracle.</p>

<p>Le plus simple, c’est juste de rentrer les lignes suivantes dans votre terminal :</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">cd</span> /var/lib/dpkg/info
<span class="nb">sudo sed</span> <span class="nt">-i</span> <span class="s1">'s|SHA256SUM_TGZ="2ef49c97ddcd5e0de20226eea4cca7b0d7de63ddec80eff8291513f6474ca0dc"|SHA256SUM_TGZ="1c6d783a54fcc0673ed1f8c5e8650b1d8977ca3e856a03fba0090198e0f16f6d"|'</span> oracle-java9-installer.<span class="k">*</span>
<span class="nb">sudo sed</span> <span class="nt">-i</span> <span class="s1">'s|JAVA_VERSION_MINOR=181|JAVA_VERSION_MINOR=181|'</span> oracle-java9-installer.<span class="k">*</span>
<span class="nb">sudo sed</span> <span class="nt">-i</span> <span class="s1">'s|FILENAME=jdk-${JAVA_VERSION_MAJOR}+${JAVA_VERSION_MINOR}_linux-${dld}_bin.tar.gz|FILENAME=jdk-${JAVA_VERSION_MAJOR}_linux-${dld}_bin.tar.gz|'</span> oracle-java9-installer.<span class="k">*</span>
<span class="nb">sudo sed</span> <span class="nt">-i</span> <span class="s1">'s|PARTNER_URL=http://download.java.net/java/jdk${JAVA_VERSION_MAJOR}/archive/${JAVA_VERSION_MINOR}/binaries/$FILENAME|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}+${JAVA_VERSION_MINOR}/$FILENAME|'</span> oracle-java9-installer.<span class="k">*</span></code></pre></figure>

<p>Plus qu’à relancer un apt install et le tour est joué.</p>

<h3 id="vérification-de-la-version">Vérification de la version</h3>

<p>Il ne vous reste plus qu’à lancer un petit :</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash">java <span class="nt">-version</span></code></pre></figure>

<p>S’il vous parle de Java 9, tout va bien, sinon, il ne vous reste plus qu’à faire :</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">sudo </span>apt <span class="nb">install </span>oracle-java9-set-default</code></pre></figure>

<p>Je vous parlerai bientôt de ce que vous pourrez faire de beau avec !</p>]]></content><author><name>Vincent Ferries</name></author><category term="java 9" /><category term="ubuntu" /><summary type="html"><![CDATA[Permiers pas dans le monde merveilleux de Java 9]]></summary></entry><entry><title type="html">Devoxx 2016</title><link href="https://www.enveille.info/devoxx-france-2016/" rel="alternate" type="text/html" title="Devoxx 2016" /><published>2016-05-11T00:00:00+02:00</published><updated>2016-05-11T00:00:00+02:00</updated><id>https://www.enveille.info/devoxx-france-2016</id><content type="html" xml:base="https://www.enveille.info/devoxx-france-2016/"><![CDATA[<p>Me voilà de retour pour ma quatrième année consécutive à Devoxx France, je n’ai raté que la toute première édition. Cette fois je me suis vu offrir la place par <a href="http://www.developpez.com/">Developpez.com</a>, et c’est ma première année sur place en tant que développeur indépendant.
Comme d’habitude, les Toulousains sont là en force, une bonne dizaine au moins, dont plusieurs speakers (Igor Laborie, Laurent Baresse et Mathias Seguy).</p>

<h3 id="journée-university">Journée University</h3>

<h4 id="property-based-testing-enfin-pour-tout-le-monde">Property-based testing, enfin pour tout le monde</h4>

<p>J’attaque fort avec une université, session de 3 heures animée par Cyrille Martaire et Romeu Moura sur le Property-Based Testing. J’avais déjà eu un avant-goût de ScalaCheck lors du <a href="https://fr.coursera.org/course/reactive">cours sur la programmation réactive</a> que j’avais suivi sur Coursera. Je vous conseille d’ailleurs de le suivre, même si je l’ai trouvé beaucoup moins bien fait que son précurseur <a href="https://fr.coursera.org/course/progfun">sur la programmation fonctionnelle</a>.</p>

<p>Le but c’est de se rajouter un harnais de sécurité supplémentaire en vérifiant des propriétés mathématiques qui doivent toujours rester vraies dans notre système. Par exemple, on peut vouloir tester que a + b &gt;= a si a et b positifs
Le système va alors faire des tests avec des valeurs aléatoires et vérifier que l’assertion reste vraie. Dans le cas précédent, il vous remontera par exemple les buffers overflow avec des entiers trop grands. Dur de penser à toutes les considérations technique alors qu’on doit déjà se confronter à des règles de gestion métier compliquées.
On peut exprimer des exceptions et/ou des préconditions pour nos différentes règles. En général, les librairies utilisent “assumeTrue”.</p>

<p>Il y a quand même une chose à laquelle il faut faire particulièrement attention, le test ne doit pas être la même chose que ce qu’on cherche à tester, mais une version bien plus épurée. Tester que a = a n’a aucun intérêt.</p>

<p>Le concept a été introduit par John Hugues avec QuickCheck en Haskell et a fait des petits dans pas mal d’autres languages :</p>

<ul>
  <li>ScalaCheck en Scala</li>
  <li>JUnit QuickChecker</li>
  <li>FSCheck en F#</li>
  <li>test.check en Clojure</li>
</ul>

<p>Les meilleures librairies, en plus de lancer ces tests aléatoires font du shrinking une fois des erreurs trouvées. Elles cherchent à réduire à leur plus simple expression les paramètres aléatoires utilisés pour tester, par exemple la chaîne de caractères la plus courte pour passer en erreur, la valeur la plus simple. Cela permet de comprendre ensuite l’erreur beaucoup plus facilement.</p>

<p>Un petit atelier nous a permis de mieux comprendre comment identifier les propriétés qui pouvaient se cacher dans un</p>

<p>Si le sujet vous intéresse, cette conférence est dores et déjà <a href="https://www.youtube.com/watch?v=O-LWbSUaEQU">en ligne sur Youtube</a>, je vous la recommande vivement.</p>

<p>Le conseil de la fin : faites vous même vos propres fuzzers, c’est le meilleur moyen d’assimiler le concept.</p>

<h4 id="3-heures-pour-développer-un-microservice-avec-les-micro-frameworks-java">3 heures pour développer un microservice avec les micro frameworks Java</h4>

<p>Je vais passer un peu plus vite sur cette session parce qu’il s’agissait en fait d’un atelier et que c’est plus difficile à retranscrire. Cependant, Igor et Laurent ont vraiment fait du bon boulot, tout était clair et bien construit.
J’ai découvert <a href="http://sparkjava.com/">SparkJava</a>, à ne pas confondre avec le Spark d’Apache, que je ne connaissais pas et qui ressemble un peu à FluentHttp dans l’idée. Très facile de développer un micro service avec, je vois déjà une ou deux applications où il va venir d’intégrer bien vite.</p>

<p>Pour consommer ces micro services, on a ensuite utilisé <a href="https://github.com/Netflix/feign">Feign</a>, le client http de Netflix. Les concepts sont assez similaires à ceux que j’utilise souvent côté Android avec Retrofit, de Square cette fois.
Visiblement, un petit combat sera organisé bientôt sur Toulouse entre les deux librairies.</p>

<h4 id="conquérir-le-desktop-avec-electron">Conquérir le desktop avec Electron</h4>

<p>Me dites pas que vous ne connaissez pas, c’est là dessus que tourne Atom notamment. La présentation était assez claire, mais je ne suis que moyennement convaincu par la techno. En gros, on écrit du code JavaScript qui est ensuite exécuté sur NodeJS, le tout embarqué dans une fenêtre Chrome. Sympa d’écrire de l’ES2015 sans Babel mais ça s’arrête là pour moi.</p>

<h4 id="apache-maven-java-9-et-le-projet-jigsaw">Apache Maven, Java 9 et le projet Jigsaw</h4>

<p>Voila qu’on parle un peu de l’avenir de Java, on est à Devoxx que diantre ! Il reste un peu moins d’une année avant la sortie de Java 9 (s’il n’est pas repoussé d’ici là). Pour l’instant les builds alphas n’ont pas changé la version de bytecode générée (52), du coup ça peut parfois poser quelques petits soucis.</p>

<p>Le numéro de version a complètement changé, on n’utilise plus désormais 1.9 mais 9 directement. Il risque du coup de falloir adapter quelque peu quelques utilitaires.</p>

<p>Attention les yeux, la JavaDoc passe au html5 et intègrera désormais une barre de recherche (oui, ça trolle un peu) !
Les deux JEP principales : la JEP261, Module System (alias Jigsaw pour les intimes) et la JEP238, aka Multi-Release JAR Files.</p>

<h4 id="vuejs-une-alternative-plus-simple-que-reactjs-et-angular2-">Vue.js, une alternative plus simple que React.js et Angular2 ?</h4>

<p>Présentation assez pédagogique mais qui ne change pas des masses de la traditionnelle “TODO List” reprise comme exemple par tous les frameworks front-end. Rien de transcendant, mais ça fait toujours une alternative de plus à Aurelia, Angular2, React…</p>

<h3 id="jeudi">Jeudi</h3>

<h4 id="keynotes">Keynotes</h4>

<h5 id="la-médecine-de-demain-par-jean-michel-billaut">La médecine de demain par Jean-Michel Billaut</h5>

<p>Keynote intéressante sur le fait que le génome humain est en passe de devenir l’une des ressources les plus importantes. Si le sujet vous intéresse, cette keynote est disponible <a href="https://www.youtube.com/watch?v=8agk41AL1g4">ici</a>.</p>

<h5 id="the-impact-of-code-in-society-par-joel-spolsky">The impact of code in society par Joel Spolsky</h5>

<p>Joel est quand même le fondateur de Stack Overflow. Sa <a href="https://www.youtube.com/watch?v=WtM3wPVhkik">keynote</a> mettait en avant la place que prenait le code dans l’économie contemporaine et la responsabilité que nous avions en tant que développeurs vis à vis de cela. Cela ne m’a pas fait plus vibrer que cela pour tout vous avouer.</p>

<h5 id="lentrepreunariat-au-féminin-par-natacha-quester-sémenon">L’entrepreunariat au féminin par Natacha Quester-Sémenon</h5>

<p>Je le dis tout de suite, je n’ai pas du tout aimé cette présentation là. Je n’ai aucune idée de quel était le but et d’où elle voulait en venir. C’est marrant, je ne trouve d’ailleurs pas le lien vers la vidéo.</p>

<p>Cela traitait un peu de la place des femmes dans l’entrepreunariat, mais pas vraiment non plus. Oui, on a un problème d’attrait évident de personnes féminines dans notre secteur, et il y a du machisme à régler c’est évident. Mais selon moi il conviendrait d’agir plus en amont, sur l’orientation, sur la découverte de ce milieu là aux plus jeunes. Je salue les initiatives telles que Devoxx for Kids, les Coding Goûters et j’en passe qui font bien plus de bien pour notre métier qu’un hashtag “#jamaisSansElles”. Il y a des filles (ou femmes) vraiment talentueuses dans notre métier c’est indéniable, et je suis persuadé qu’il y en aurait encore bien plus si on leur permettait d’exprimer pleinement leur potentiel, mais les quotas et la discrimination positive ne sont pas la solution.</p>

<h4 id="pourquoi-maurice-ne-doit-surtout-pas-coder-en-go">Pourquoi Maurice ne doit surtout pas coder en Go</h4>

<p>J’apprécie particulièrement Jean-Laurent de Morlhon, un craftsman pragmatique. Il a rejoint Docker il y a quelques temps maintenant et a été plus ou moins contraint à basculer sur Go au détriment de Java qui était jusque là son langage de prédilection.</p>

<p>Il a présenté ce qui selon lui était un peu problématique dedans, en expliquant que si les équipes de Docker avaient eu le choix du langage à faire maintenant ils seraient sûrement partis plutôt sur Rust.
On peut citer : l’utilisation de pointeurs, un mauvais support des IDE (VIM/Emacs for the win), un formattage forcé, ne cherchez surtout pas à lutter, la gestion des erreurs en composante du tuple de retour, l’absence totale d’idiomes de programmation fonctionnelle, pas de generics ni de réelles gestion de l’héritage, pas de shared libraries, verbeux, lourdingue de tester du code legacy, des builds compliqués à base de makefiles, go dep est tout simplement un enfer.</p>

<p>Ceci étant dit, il s’agit quand même d’un chouette langage qui a quand même quelques atouts : il est lisible facilement, il embarque le runtime dans l’exécutable lui-même et ne nécessite donc aucune d’installation de VM ou quoi que ce soit d’autre, les artefacts sont auto suffisants, la gestion de la concurrence est super simple avec les go routines.</p>

<h4 id="analytics-et-bigdata-une-histoire-de-cubes">Analytics et BigData, une histoire de cubes</h4>

<p>J’aime bien sortir un peu de ma zone de confort et là je ne me suis pas trompé. C’est souvent là qu’on apprend le plus de choses. Je n’ai pas trop aimé la façon de présenter, un peu “show off” par deux architectes. N’hésitez pas à revenir à cette occasion lire mon post sur les <a href="http://www.enveille.info/architecte/">architectes</a>.</p>

<p>Les deux présentateurs nous ont montré plusieurs versions d’une architecture orientée Big Data. Il va me falloir pas mal de temps pour rattraper mon retard sur tous ces sujets, je me contente de mettre ici quelques noms en vrac avec les liens vers les technos quand je les trouve pour approfondir si cela vous intéresse.</p>

<ul>
  <li>V1
    <ul>
      <li>SQL -&gt; <a href="http://hadoop.apache.org/">Hadoop</a>, HDFS (Hadoop File System), YARN (du Map/Reduce) et HIVE (Data Warehouse)</li>
      <li><a href="http://spark.apache.org/sql/">Spark SQL</a>, <a href="http://impala.io/">Impala</a>, Presto, Drill, <a href="http://hawq.incubator.apache.org/">Hawq</a></li>
    </ul>
  </li>
  <li>V2
    <ul>
      <li>Cube OLAP (même principe qu’une map mais à N dimensions), online analytics processing à N dimensions</li>
    </ul>
  </li>
  <li>V3
    <ul>
      <li><a href="http://kylin.apache.org/">Apache Kylin</a></li>
      <li>On peut n’aggréger que certaines dimensions</li>
      <li>Spark Streaming, Storm, Google Data Flow</li>
    </ul>
  </li>
  <li>V4
    <ul>
      <li><a href="http://kafka.apache.org/">Kafka</a> + Spark + HBase</li>
    </ul>
  </li>
  <li>V5
    <ul>
      <li><a href="http://druid.io/">Druid</a> (time series)</li>
    </ul>
  </li>
</ul>

<p>On notera que la fondation Apache est quand même le vrai fer de lance de tout cet écosystème !</p>

<h4 id="type-directed-development">Type-Directed Development</h4>

<p>Cette fois, c’est basé sur Scala qu’on a parlé de typage fort et encore une fois de tests sur les propriétés.
Beaucoup de langages fortement typés permettent de faire des structures de contrôle typées. On peut par exemple différencier le cas de la liste vide ou de la liste non vide avec du pattern matching, utiliser les types Option et se servir des structures de contrôle de la programmation fonctionnelle.</p>

<p>Une autre erreur fréquente consiste à mélanger des unités différentes. Cela a posé quelques problèmes à des fusées notamment où des mètres ont été mélangés à des miles pour les calculs. Pour éviter ce type de problème, il suffit alors d’utiliser des types taggés avec l’unité. Un Int deviendra alors Meter ou Mile suivant le cas. On transforme alors ça aisément en monoïde (<a href="https://www.youtube.com/watch?v=_jr8E5GVnBA">allez voir la conférence de Cyrille l’an dernier sur ce sujet</a>).</p>

<p>Le présentateur nous a aussi conseillé de lire <a href="https://www.mpi-sws.org/~dreyer/tor/papers/wadler.pdf">le papier Theorems for free</a>, je ne l’ai pas encore fait et ne peux donc pas vous confirmer son intérêt mais je le pose ici histoire de ne pas le perdre.</p>

<p>Quelques petits conseils pour vous lancer :</p>

<ul>
  <li>bannir null, préférer des types spécifiques (None, EmptyList…)</li>
  <li>évitez les appels de méthodes sur la classe Object</li>
  <li>n’utilisez pas d’exceptions</li>
  <li>évitez les effets de bord</li>
  <li>apprenez au moins la syntaxe de types d’Haskell (non, pas que pour commenter vos fonctions JavaScript avec). On peut même chercher une fonction à partir de sa signature en Haskell avec <a href="https://www.haskell.org/hoogle/">Hoogle</a> et il est assez malin pour même proposer des versions plus génériques de ce qu’on cherche.</li>
</ul>

<p>Pour la voir, et je vous le conseille, <a href="https://www.youtube.com/watch?v=XhcgCF0xXRs">c’est ici que ça se passe</a> !</p>

<h4 id="100-stateless-avec-jwt-json-web-token">100% Stateless avec JWT (JSON Web Token)</h4>

<p>Assez simple et plutôt bien emmené. Pas transcendant non plus. Si le sujet vous intéresse, c’est <a href="https://www.youtube.com/watch?v=A2-YImhNVMU">ici</a>.</p>

<h4 id="string-concatenation-de-1-à-9">String concatenation de 1 à 9</h4>

<p>J’aime bien les talks de Rémi Forax. Il y a ce petit côté didactique du prof, mais aussi ce côté bidouilleur en assembleur. Une façon simple de résumer serait de dire “évitez de chercher à trop optimiser, vous risquez de rendre les choses pires”.</p>

<h4 id="real-real-world-haskell">Real Real World Haskell</h4>

<p>Ma conférence préférée de ce Devoxx je pense bien, tant sur la forme que sur le fond. J’espère pouvoir mettre aussi en pratique un jour. Allez <a href="https://www.youtube.com/watch?v=gsBxgXtkbcA">y jeter un coup d’oeil</a> dans tous les cas !</p>

<h3 id="côté-nourriture">Côté nourriture</h3>

<p>Il faut bien aussi exposer les points qui fâchent : il y a de sérieux efforts à faire côté alimentation, j’ai l’impression que chaque année cela empire… Une journée de conférence demande beaucoup de concentration, et ça pompe énormément d’énergie, presque autant qu’un effort physique pour ma part. Du coup, dans ces cas là, j’ai vraiment besoin d’une alimentation en conséquence. Autant dire qu’une mini salade et un sandwich jambon beurre, cela ne me suffit vraiment pas. Entendez moi bien, c’était plutôt bon, et relativement équilibré, ça change quand même des pizzas/chips qu’on trouve dans la plupart des hackatons, mais les portions étaient vraiment riquiqui. Si le but était de nous forcer à passer sur les stands pour compléter avec des bonbons et des sodas, cela a relativement bien fonctionné, mais du coup on y perd tout l’intérêt de manger un tant soit peu équilibré.</p>

<p>Je tiens quand même à nuancer un peu mon propos en parlant du meet &amp; greet du jeudi soir. Là c’était très bon et copieux, les buffets étaient fréquemment alimentés, le vin coulait à flot, un tout autre niveau !</p>

<h3 id="vidéos-en-ligne">Vidéos en ligne</h3>

<p>Je vous ai donné quelques liens, mais en fait la <a href="https://www.youtube.com/channel/UCsVPQfo5RZErDL41LoWvk0A/videos">quasi intégralité des vidéos</a> sont désormais accessible gratuitement en ligne sur Youtube, et ce dès maintenant, alors plus d’excuse si votre boîte n’a pas voulu vous payer la conférence, foncez !</p>]]></content><author><name>Vincent Ferries</name></author><category term="tests" /><category term="functional programming" /><category term="java" /><summary type="html"><![CDATA[Les deux premiers jours condensés]]></summary></entry><entry><title type="html">Geek Camp et Extreme Startup</title><link href="https://www.enveille.info/geekcamp/" rel="alternate" type="text/html" title="Geek Camp et Extreme Startup" /><published>2015-11-03T00:00:00+01:00</published><updated>2015-11-03T00:00:00+01:00</updated><id>https://www.enveille.info/geekcamp</id><content type="html" xml:base="https://www.enveille.info/geekcamp/"><![CDATA[<p>Me revoila, après une période mouvementée qui m’a quelque peu éloigné de mon blog.
J’ai pas mal de sujets dans la besace que j’aimerais partager avec vous encore, ma situation personnelle étant en train de grandement évoluer. Je me garde tous ces sujets sous le coude pour les semaines à venir et commence avec le premier d’entre eux qui est le weekend que j’ai passé au GeekCamp du 18 au 20 septembre dernier.</p>

<h3 id="quoi-quest-ce-">Quoi qu’est-ce ?</h3>

<p>Avec le Software Craftsmanship, nous avons pour habitude d’organiser un événement très proche du GeekCamp en terme de concept depuis quelques années, que l’on appelle DevOpenSud. On se retrouve le temps de quelques jours (le plus souvent un weekend) pour partager un moment entre développeurs. D’ailleurs, je vous en ai déjà parlé <a href="http://www.enveille.info/devopensud/">ici</a> et <a href="http://www.enveille.info/interviews/">là</a>, mais en fait, j’en ai fait au moins 4 en tout, le plus souvent dans la montagne.</p>

<p>On y applique <a href="http://www.alievo.com/la-loi-des-deux-pieds/">la loi des deux pieds</a>, souvent exprimée en ces termes :</p>

<blockquote>
  <p>Si à n’importe quel moment, vous vous trouvez dans une situation où vous n’apprenez rien, n’apportez ni ne contribuez rien, servez-vous de vos deux pieds et rendez-vous à un endroit qui vous plaira davantage et où vous serez plus productif.</p>
</blockquote>

<p>On ajoute là dessus un peu de non organisation, où rien n’est prévu à l’avance et s’organise ce que les gens ont envie d’organiser. C’est assez proche des unconferences, avec un cadre moins formel que ce que l’on peut retrouver à SoCraTes (Software Craftsmanship and Tests), du moins d’après ce qu’on m’en a dit.</p>

<p>Le <a href="http://okiwi.org/geek-camp">GeekCamp</a> est organisé par des Bordelais (personne n’est parfait), et se déroulait à la salle des fêtes de Ruffiac, perdue au milieu des champs.
Nous étions une vingtaine d’irréductibles, ce qui est légèrement plus que nos éditions Toulousaines.</p>

<p><img src="https://www.enveille.info/images/geekcamp.jpg" alt="Vue d'ensemble" /></p>

<h3 id="activités">Activités</h3>

<p>Ce qui m’a été vendu, c’était les bières et le barbecue.Il m’en faut rarement plus pour être content. On a été plutôt bien servis de ce côté là : une tireuse avec de la bière artisanale locale, de bonnes grillades et des légumes.</p>

<p>Alors bien entendu on a codé, j’ai par exemple pu porter <a href="https://github.com/vferries/haskell-gol">mon implémentation du jeu de la vie en Haskell</a> dans un navigateur web. Cela m’a d’ailleurs bien fait me tirer les cheveux pour trouver ce qui clochait dans les performances de mon implémentation avant d’arriver à en mettre au point une autre un peu moins mauvaise. Le prétexte d’une conférence avec le SCT m’a poussé à mettre tout cela en forme.</p>

<p>Javascript a encore une fois été au centre de toutes les attentions. On a essayé de mettre au point une table en Vanilla JS (sans Djikéry quoi) avec tri des colonnes, drag &amp; drop etc. On a ensuite discuté de NPM, de WebPack, de si Grunt et Gulp avaient vraiment une raison d’être. Ce sujet est un peu un thème récurrent dernièrement. Enfin, on a aussi fait un petit atelier pour redécouvrir en mob programming l’utilisation des webcomponents en Javascript pur (sans passer par une surcouche telle que Polymer). Et là je ne vous parle que de quelques uns de ceux auxquels j’ai participé un peu activement, d’autres sujets et projets étant lancés sans cesse en parallèle.</p>

<p>Cette fois, c’était moins sport et plein air mis à part un courageux parti courir et ma slackline qui est venue se greffer entre un arbre et un poteau. Par contre on a beaucoup discuté à propos d’économie, de monnaies alternatives, des communs…</p>

<p>Petite découverte du jeu Space Team sur mobile, très très drôle ! Les gens hurlent dans tous les sens des phrases folles comme “armez les plasmatrons”, “Mettez la jauge hyperspace à Off”, la tension est palpable. Essayez ça en groupe si vous ne me croyez pas !</p>

<h3 id="extreme-startup">Extreme Startup</h3>

<p>Je fais un point spécial sur l’expérience Extreme Startup parce que cela nous a tellement plu qu’on a décidé d’en organiser un avec le Software Craftsmanship Toulouse pas plus tard que mercredi dernier.</p>

<p>Le concept est assez simple, il y a un serveur principal. Les participants créent leur propre serveur et s’enregistrent auprès du serveur central qui leur enverra par la suite des requêtes contenant une question. Les questions sont envoyées avec une fréquence assez rapide (quelques secondes). On marque des points si on répond bien, on en perd si on répond mal et on en perd beaucoup si on ne répond pas.</p>

<p>Je n’irai pas plus loin dans l’explication, de peur de dévoiler des informations qui nuiraient à l’intérêt de l’exercice, mais on s’est vraiment régalé !</p>

<p>La nouvelle session a SCT nous a bien donné envie d’améliorer le concept : il manquait cette fois un graphique avec les scores. Les participants ont eu pas mal de difficultés à monter leur environnement initial, la prochaine fois, je forcerai les gens qui n’ont pas réussi dans un délai minimum à récupérer <a href="https://github.com/steria/extreme_startup_servers">une version prépackagée</a> sur le langage de leur choix.</p>

<p>Autre différence fondamentale entre nos deux essais, la première fois, certains ont cherché à contourner le système (je taierai ici leurs idées pour ne pas polluer vos premières expériences), la seconde pas du tout.</p>

<p>Promis, pour la prochaine fois, je prépare aussi de petites surprises dans les questions !</p>]]></content><author><name>Vincent Ferries</name></author><category term="geekcamp" /><category term="okiwi" /><category term="extreme startup" /><summary type="html"><![CDATA[Petit weekend dans la campagne Bordelaise]]></summary></entry><entry><title type="html">L’heure du bilan</title><link href="https://www.enveille.info/this-is-the-end/" rel="alternate" type="text/html" title="L’heure du bilan" /><published>2015-04-30T00:00:00+02:00</published><updated>2015-04-30T00:00:00+02:00</updated><id>https://www.enveille.info/this-is-the-end</id><content type="html" xml:base="https://www.enveille.info/this-is-the-end/"><![CDATA[<p>Me voila parvenu au 30ème et dernier jour de mon défi. Et force est de constater qu’il est réussi : 30 posts en 30 jours. Du coup je vous prie de m’excuser du manque de profondeur de certains des posts que vous avez pu trouver ici. J’ai fait de mon mieux, mais la préparation d’un post technique me prenait bien souvent de très longues heures en plus de sa rédaction.</p>

<p>Je n’ai donc pas pu aller autant dans le fond que je l’aurais souhaité. Par contre, je ne voulais pas me résoudre à écrire de tous petits billets juste sur une petite astuce. J’espère que vous n’aurez pas eu cette impression. Du coup, j’ai écrit un peu plus de billets d’humeur que ce que j’avais prévu et un peu moins de billets techniques.</p>

<h3 id="lenfer-cest-les-autres">L’enfer c’est les autres</h3>

<p>Déjà, je suis le seul à avoir réussi ! Michaël a abandonné après 15 jours à cause de petits pépins de santé. Il a quand même tenu bon un long moment, je tiens à l’en féliciter.</p>

<p>Jean-Marie a tenu un jour et a posté en tout 5 billets. C’est vraiment pas terrible mais il aura quand même appris des choses dans l’affaire : il est nécessaire de prendre un peu d’avance pour les soirs difficiles. Ces soirs où quelque chose s’improvise, où l’envie n’est pas là etc.</p>

<h3 id="ce-qui-en-est-ressorti">Ce qui en est ressorti</h3>

<p>Vous avez été bien plus nombreux à me suivre que je ne l’aurais imaginé initialement, je vous en remercie. Bien qu’ayant fait avant tout ce blog pour moi, mon défi et me pousser un peu au delà de mes limites habituelles, j’ai été ravi de voir que ça a pu apporter aussi à d’autres.</p>

<p>Pour information, je n’ai jamais eu plus d’un billet d’avance. Par contre, j’ai quasiment toujours eu la journée complète avec l’esprit à autre chose : billet prêt vers 23h, publication vers minuit et demi et journée tranquille jusqu’à mon retour chez moi pour la rédaction du suivant. Il y a eu des imprévus, des soirs où je n’ai pas pu écrire du tout, mais j’ai fait en sorte qu’ils ne s’enchaînent pas trop et de rattraper mon avance perdue le plus rapidement possible.</p>

<p>Il n’a pas toujours été facile de trouver le temps nécessaire. J’ai souvent fini assez tard, moins dormi que d’habitude, mais c’est aussi mon mois qui a voulu ça. Et quel mois ! Startup Weekend, Devoxx, Dev Open Sud… J’en profite pour vous annoncer que je parlerai de refactoring Java 8 à l’<a href="https://www.eclipsecon.org/france2015/">Eclipse Con</a> à Toulouse les 24 et 25 juin. J’ai appris cela il y a peu et ça promet. J’ai déjà eu des contacts avec le responsable projet chez NetBeans, ça promet !</p>

<h3 id="la-suite">La suite</h3>

<p>Au risque de vous décevoir, j’ai besoin de souffler un peu et risque fort de ne pas écrire pendant quelques temps. Par contre, maintenant que ce blog est sur pieds, je compte quand même l’entretenir de temps en temps, idéalement à un rythme plus soutenu que ce que je faisais à l’époque sur le blog de Genigraph.</p>

<p>J’ai des cours à préparer pour l’IUT, ma conférence à travailler, de quoi faire pendant un moment en somme. Peut être que je me servirai de tout ça pour vous faire des posts sur le sujet dans les semaines à venir quand même.</p>

<h1 id="et-vous-cest-quand-que-vous-tentez-ce-défi-">Et vous, c’est quand que vous tentez ce défi ?</h1>]]></content><author><name>Vincent Ferries</name></author><category term="obstination" /><category term="pari" /><category term="apprentissage" /><summary type="html"><![CDATA[Fin de mes 30 jours de posts]]></summary></entry></feed>