

Les Cast Codeurs Podcast
Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Aud
Restez informes sur les sujets brulants de l industrie Java.
Plongez sur un sujet precis avec l interview de l episode.
Supportez les radotages de vos hôtes : Emmanuel Bernard (JBoss, Hibernate), Arnaud Héritier (CloudBees, Jenkins), Guillaume Laforge (Google, Groovy), Antonio Goncalves (freelance, auteur), Vincent Massol (XWiki, Maven), Audrey Neveu (Saagie, Devoxx4Kids).
Plongez sur un sujet precis avec l interview de l episode.
Supportez les radotages de vos hôtes : Emmanuel Bernard (JBoss, Hibernate), Arnaud Héritier (CloudBees, Jenkins), Guillaume Laforge (Google, Groovy), Antonio Goncalves (freelance, auteur), Vincent Massol (XWiki, Maven), Audrey Neveu (Saagie, Devoxx4Kids).
Episodes
Mentioned books

May 18, 2020 • 1h 16min
LCC 232 - Versions version Sloubi
Dans cet épisode, Audrey et Emmanuel se retrouvent en tête à tête pour discuter du nouveau drama à venir dans l'écosystème Java (Leyden), de l'actualité des librairies, des annonces de GitHub, de bonnes pratiques en matière d'outils et d'architecture et bien évidemment de la prochaine appli tendance : Stop Covid. Enregistré le 7 mai 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–232.mp3 News Langages Projet Leyden: images statiques pour Java mais pas GraalVM native image Améliorer les performance de G1 "out of the box" Librairies Lucene a 20 ans Quarkus 1.4 est sorti Comment utiliser Mockito avec Quarkus Micrometer sort la 1.5 une LTS Spring rattrape son retard sur OpenJDK dans le schéma de version Micronaut 2.0 M3 Infrastructure Les bonnes pratiques pour écrire un fichier Dockerfile pour les développeurs ICANN rejette la vente de .org a une boite privée Cloud Les release notes de Google Cloud sur une seule page Web Cloudflare implement le draft d'HTTP/3 et compare Node.js v14 Data Les choses que j'aurai aimé que plus de développeurs connaissent sur les bases de données Redis 6 est sorti Outillage Test Containers 1.14 GitHub est gratuit pour les équipes si on downgrade sur le gratuit, on perd quoi https://help.github.com/en/github/getting-started-with-github/faq-about-changes-to-githubs-plans#if-i-downgrade-from-github-team-or-a-legacy-plan-to-github-free-what-features-will-i-lose Récap des annonces GitHub Satellite 2020 Spock 2.0 vs JUnit 5.0 Controler Kubernetes de Google Spreadsheet Gradle 6.4 Architecture Les microservices, trop fort pour toi - opinion Méthodologies COVID vs l'open space Sécurité Loi, société et organisation Apple et Google offrent un framework de notification d'exposition (au COVID–19) Stop-Covid La France se met dans une impasse face à Apple avec StopCovid StopCovid ou encore ? StopCovid : anonymat et autorités Conférences Devoxx UK du 24 au 26 Août 2020 AlpesCraft reportée à l'automne DevOps D-Day le 9 octobre 2020 - Le CfP est ouvert jusqu'au 15 juin DevFest Nantes les 15 et 16 octobre 2020 - Le CfP est ouvert jusqu'au 31 mai FrontSide le 15 octobre 2020 Volcamp.io les 15 et 16 octobre 2020 DevFest Toulouse les 5 et 6 novembre 2020 FlowCon les 9 et 10 novembre 2020 Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

May 4, 2020 • 1h 46min
LCC 231 - Interview sur Vim avec Romain Lafourcade
Romain Lafourcade échange avec Guillaume et Emmanuel sur Vim: comment il y est venu, ce qu'il a d'unique, comment l'appréhender, et bien d'autres choses encore. Enregistré le 16 avril 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–231.mp3 Interview Ta vie, ton œuvre GitHub de Romain Je m'appelle Romain Lafourcade. Je suis Graphiste de formation et j'ai chopé le virus du développement en montant mon premier site en 1999. Je suis Développeur pour de vrai depuis 2007. J'ai beaucoup fait de JS, bien sûr, ainsi que du Flash et du Silverlight. Ça fait quelques années que je me concentre sur React et Vue.js. Aujourd'hui je suis chez Publicis Sapient France, une "agence digitale" de premier plan où je m'amusais déjà très bien jusqu'à l'arrivée des ex-Xebians. Et maintenant c'est encore mieux. Je participe actuellement à la préparation d'une conférence "front" pointue pour la fin de l'année : FrontSide. Mes intérêts personnels gravitent autour de la programmation fonctionnelle : Haskell, Elixir. Et Vim, bien sûr. Vim intro Page wikipedia de Vim Qu'est-ce que Vim en 2 phrases ? Vim est un éditeur de texte orienté programmation, puissant et non-conformiste. Que peut on dire de la différence entre un IDE et un éditeur ? Dans son expression la plus simple, un éditeur de texte est un outil permettant l'édition de fichiers de texte brut. Certains sont "standalone", comme Vim, Nano ou Gedit, se concentrant pour la majeure partie sur des questions liées à l'édition de texte et déléguant les autres tâches liée au développement logiciel à d'autres outils "standalone". C'est la vision UNIX traditionnelle : "Écrivez des programmes qui effectuent une seule chose et qui le font bien." D'autres sont "intégrés" avec d'autres outils pour offrir une expérience plus "clé en main", les IDEs. L'histoire de Vim Vim est né au début des années 90 sur Amiga, pour la même raison que tous les autres clones de vi : l'impossibilité légale d'utiliser vi sur tel ou tel système. De tous les clones, c'est celui qui s'est le plus démarqué de l'original et c'est le seul qui est encore développé activement en 2020. Les archéologues en herbe trouveront quelques liens sur le sujet en bas de page. Disponibilité de Vim sur les distros de base Un des arguments les plus souvent mis en avant pour convaincre les mécréants de l'utilité d'apprendre Vim est "Vim est partout". Mais l'ubiquité légendaire de Vim est un mythe. Ce qui est disponible dans tous les dérivés d'UNIX, c'est la commande vi. Le programme qui assure le boulot peut être Vim comme il peut être Elvis, Nvi, Busybox vi ou même le vi original. Et même quand c'est Vim, c'est souvent un build limité. Du coup, connaître Vim n'est peut-être pas aussi utile que connaître vi. Et c'est sans compter sur le fait que le système d'exploitation le plus largement utilisé, n'a pas de commande vi ou vim du tout. Vim vs emacs: la guerre ancestrale et aussi débile que toutes les guerres ancestrales. Les variantes de Vim Neovim est un fork récent promettant une modernisation des processus de développement et du code. Vim au quotidien Pas de curseur????? On a bien un curseur, mais les dispositifs de pointage sont rarement activés par défaut. Même si c'est tout à fait possible d'utiliser la souris ou le trackpad (:help 'mouse'), on est clairement dans un monde centré autour du clavier. Les modes (normal, insert, visual, etc.) L'édition modale, un concept initié par vi, ne fait pas l'unanimité. L'idée, c'est qu'on est toujours dans un mode réservé à une certaine catégorie d'activités. Un des effets positifs, et aussi un des repoussoirs de ce mécanisme est que ça permet d'avoir un vocabulaire plus varié et expressif que dans un éditeur classique. Le déplacement du curseur, par exemple, se fait traditionnellement avec une combinaison de 4 touches de directions et 1 modificateurs, donc 8 déplacements possibles : 1 caractère vers la droite ou la gauche, 1 mot vers la droite ou la gauche, 1 ligne vers le haut ou le bas, 1 paragraphe vers le haut ou le bas. C'est très pauvre, même en ajoutant Home, End, Page Up et Page Down. Dans vim, on a tout ça, bien sûr, plus "début du mot", "fin du mot", "prochaine/précédente occurrence de ", "prochaine/précédente occurrence de ", "ligne numéro X", "n lignes vers le haut ou le bas", "haut/bas/milieu de la fenêtre", "marqueur X", etc. Rien jjque ça c'est dingue. Et comme on est dans un éditeur modal, tous ces mouvement peuvent être utilisés avec des opérateurs et là c'est la folie. Les modes les plus couramment utilisés sont : le mode normal, le mode par défaut quand on fait $ vim foo.txt, qui est utilisé pour naviguer, chercher, copier, coller, etc. le mode d'insertion, qui permet… d'insérer du texte dans le document, les modes visuels, qui permettent de sélectionner une portion de texte, le mode ligne de commande, qui permet d'utiliser les commandes héritées d'Ex : :write, :s, :g, etc. Le concept de verbe / opérateur + movement + destination C'est pour moi LA killer feature de Vim, surtout visible dans les modes normal et visuels. En gros, le modèle d'interaction est basé sur la notion de langage. Il y a : des "opérateurs", des verbes conjugués à l'impératif comme "efface", "copie", "remplace", des compléments d'objet directs comme "la ligne 78", "ce texte entre parenthèses", "d'ici à la fin du paragraphe", des compléments d'objet indirects comme "en dessous de la ligne 27" ou "au début du buffer", et des compléments circonstanciels comme "10 fois". Avec tout ça, on donne des commandes à la machine selon une syntaxe proche de celle d'un langage parlé et elle obéit : "colle le texte contenu dans le presse papier 50 fois", "copie (d'ici) jusqu'à la prochaine parenthèse ouvrante", etc. Dans un éditeur de texte classique, la première se dit "ctrl+v ctrl+v … ctrl+v", ce qui n'a presque rien à voir avec la tâche telle qu'imaginée : "colle truc 50 fois" est devenu "colle colle … colle", ce qui est très peu expressif. Notre pensée abstraite de haut niveau doit être transformée en une série d'action concrètes de bas niveau qui n'ont que très peu de sens et souvent rien à voir avec la pensée haut niveau. Dans Vim, la première commande se dit "50p", ce qui est très proche de la tâche telle qu'imaginée. La syntaxe est peut-être un peu sèche et les éléments sont peut-être ordonnés différemment qu'en français, mais ça reste tout à fait abordable et très proche de ce qu'on a dans la tête. L'étape suivante est exactement la même que lorsqu'on apprend une langue étrangère : penser dans la langue. Apprendre Vim, c'est apprendre une grammaire simple et un vocabulaire expressif qui s'enrichit au fur et à mesure où on avance. La notion de range Vim hérite plein de trucs de vi, qui hérite lui-même plein de trucs de ex. Dans vim, toutes les commandes qui commencent par un "deux points" sont des "commandes Ex", qui agissent sur des lignes car ex était un éditeur de ligne. Comme dans ex, ces commandes prennent des adresses (une seule ligne) et des ranges (de telle ligne à telle autre). Une ligne peut être indiquée par son numéro, par un offset, par une recherche, par un marqueur, etc. C'est un outil extrêmement puissant. Par exemple, la commande suivante copie les lignes 10 à 24 en fin de document : :10,24t$ Celle-ci rassemble toutes les lignes contenant const dans la fonction courante vers le haut du corps de la fonction : :?func?,/^}/g/const/m?func? C'est d'une élégance insoutenable. D'autres concepts de base (window, tab, buffer, split, etc.) On a toujours au moins un "buffer", une "fenêtre" et une "tab page". Un buffer peut être affiché dans une ou plusieurs "fenêtres", une "tab page" est un rassemblement de "fenêtres". Contrairement à la plupart des éditeurs de texte il ne peut pas y avoir de relation 1-à–1 entre un buffer et une fenêtre ou entre un buffer et une tab page. C'est un piège dans lequel tous les nouveaux tombent. Tu l'utilises pour quels genre d'édition J'utilise Vim de deux façons différentes : de longues sessions de programmation et des éditions rapides (config, git commit, etc.), pratiquement tout le temps dans un terminal. Les colorschemes La dernière fois que j'ai checké il y en avait littéralement des milliers, du simple qui marche partout, utilisé par quelques barbus ronchons, à l'usine à gaz buggée à mort, utilisée par la dernière génération de boutonneux. J'en ai réalisé quelques uns, même, comme Apprentice, ainsi qu'un modèle simple à utiliser. Maintenant qu'on peut utiliser toutes les valeurs hexadécimales, même dans le terminal, c'est la fête. Pour trouver des colorschemes, je recommande VimColors. Les binding Vim dans les IDEs Peut-être utile pour accompagner l'apprentissage de Vim mais passé un certain niveau c'est l'uncanny valley. C'est un des problèmes causés par des années de Vim, d'ailleurs : ça rend exigeant. Le terminal Le nerf de la guerre d'un Vim qui fonctionne tmux? Vim écosystème La gestion des plugins Si on a beaucoup de plugins ça peut devenir compliqué sans plugin manager. Le plus populaire est vim-plug. Les plugins les plus utilisés fugitive, un client Git bien intégré à Vim surround, permet de jouer avec les paires de caractères : (), {}, etc. Souvent considéré comme un indispensable. ALE, beaucoup plus qu'un linter, YouCompleteMe, beaucoup plus que de l'autocompletion. Vim et les plugins VSCode (via LSP) Les spécifications de pas mal de fonctionnalités de Visual Studio Code sont actuellement publiées, ce qui permet à d'autres outils de développement de bénéficier de l'étendue de son ecosystème. Il y a LSP, par exemple, qui permet d'implémenter des serveurs pour n'importe quel langage et des clients pour n'importe quel éditeur. Les clients à suivre pour Vim son lsc et CoC. Peut-être aurons-nous une intégration native un jour ? Il y a aussi DAP qui est utilisé par Vimspector pour fournir une interface de débogage avancée. La navigation entre fichiers Un faux problème, souvent résolu en mode "brute force" par manque de volonté d'apprendre à se servir des fonctionnalités de base. Du coup on a des dizaines de plugins fantaisistes et des générations de vimmers superficiels. C'est triste. En vrai, :edit, :find et :buffer sont rapides et versatiles. Il suffit de prendre le temps d'apprendre à s'en servir. Il existe un nombre hallucinant de plugins pour naviguer les fichiers alors que c'est si simple et rapide avec les outils natifs. La vérification orthographique La fonctionnalité est incluse de base. Il faut néanmoins l'activer avec :help 'spell' et, si on veut de l'aide pour autre chose que de l'anglais, installer des dictionnaires. Ça sonne plus compliqué que ça ne l'est vraiment. Des tips Indentation Tout savoir sur l'indentation dans Vim gg=G pour réparer l'indentation d'un buffer en entier :help 'equalprg' pour indiquer à Vim quel programme externe utiliser Paramètres custom par fichier via modeline Voir :help modeline pour des exemples. Je ne suis pas hyper fan en général que je trouve ça un peu sale de mélanger data et metada mais ça peut être bien en bas d'un fichier Markdown dont on sait qu'il va être édité dans Vim : [//]: # ( Vim: set spell spelllang=en: ) En pratique, je suggère plutôt editorconfig pour les réglages d'indentation et compagnie. Vim et git Fugitive, mentionné plus haut, est très populaire. Pour ma part, je préfère garder mon éditeur de texte pour éditer du texte et utiliser d'autres outils spécialisés pour d'autres tâches spécialisées. J'aime beaucoup tig, que j'utilise au jour le jour depuis des années, et j'ai découvert git-jump récemment, qui a fait une entrée fracassante dans mon workflow. Sinon, pour les commandes basiques, un simple :!git fait largement le taf. Les macros Une macro est une séquence de commande. On peut enregistrer une macro dans le registre q : qq 02wciwfoo q et la rejouer sur plusieurs lignes, par exemple : :23,45normal! @q Mais avec un peu de pratique on peut complètement zapper la phase « enregistrement » : :23,45normal! 02wciwfoo Les macros sont un outil d'automatisation extraordinaire qui épate facilement le spectateur. Voir :help complex-repeat. Copier dans le buffer de l'OS (ctrl+c ctrl+v) Pour ça, l'idéal est d'avoir un Vim compilé avec la fonctionnalité "clipboard". Si c'est pas possible on peut bricoler des trucs avec xclip/pbcopy/etc. ou utiliser les fonctionnalités de copier/coller du terminal. Le clipboard système est représenté par le registre + dans vim. Donc copier dans le clipboard: "+y, et ensuite coller, "+p. Note que " est la sélection de registre. Remplacer via des expressions régulières La substitution, basée sur les expressions régulières ou pas, est une pratique courante dans Vim. Par exemple, pour remplacer toutes les occurrences de java par kotlin dans le buffer courant : :%s/java/kotlin/g Voir :help :s et le site Vim Regular Expressions 101 car Vim utilise un dialecte spécial. Mode vi dans le shell Readline, la bibliothèque utilisée par bash pour gérer l'invite de commande, utilise des raccourcis inspirés par Emacs par défaut. On peut changer ça en ajoutant la ligne suivante dans ~/.inputrc: set editing-mode vi Personnellement, je préfère garder les raccourcis par défaut et éditer mes commandes directement dans Vim, avec Ctrl-x Ctrl-e. Si vous ave mis le mode vi, alors pour éditer la commande dans vim, tapez ESC v. Vimdiff On peut utiliser Vim pour afficher des diffs côte à côte et même pour gérer les merge conflicts dans Git. Voir :help diff pour les détails sanglants. Aller plus loin Livres Practical Vim Modern Vim Learn Vimscript The Hard Way The Viml Primer Histoire de vim The History Of Vim Where Vim Came From Bram Moolenaar Discusses Developing the Popular Text Editor, How He Uses It, and Version 8 10 Questions with Vim's creator, Bram Moolenaar Ressources Vim Galore Idiomatic Vimrc Seven habits of effective text editing :help user-manual Vimways Meetups Tuppervim Communauté #vim sur Freenode #vim-fr sur freenode r/vim sur reddit le tag Vim sur Stack Overflow le site Stack Exchange dédié à Vim En vrac Vim 9 ? Comment quitter Vim de manière… créative Vim cheatsheet Bonne explication d'un beau vimrc en détails Tmux et Vim ensemble avec les bons plugins Been using Vim for two years because I didn't figure how to quit it! Vim primer and tutorial Resources Vim Des stickers pour clavier Mac pour se rappeler des raccourcis Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

Apr 16, 2020 • 1h 40min
LCC 230 - Du confinement à la déconfiture
Encore un épisode très long, mais cette fois il a une bonne excuse : on a censuré aucune blague ! Cet épisode nous a fait beaucoup de bien à enregistrer c'est pourquoi nous avons tout gardé, même ce qui serait normalement passé en off, en espérant qu'il vous fera autant de bien à l'écouter ! Et ce n'est pas pour autant qu'Audrey, Emmanuel et Guillaume ne disent que des bêtises : on parle bien évidemment de tout ce qui fait l'actu tech (Java, Kotlin, Micronaut, Quarkus, Vert.x, Docker et autres) mais aussi de surveillance en cette période très particulière. Enregistré le 10 avril 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–230.mp3 News Je m'appelle Audrey et je travaille pour… Rest In Peace Carl Quinn Langages Le JDK 14 en GA Un état de l'art de Java, tendances et données D'ici 6 mois, Eclipse nécessitera le JDK 11 pour s'exécuter José Paumard publie 50h de cours sur Youtube JEP proposées pour le JDK 15 : 377: ZGC 378: Text Blocks 379: Shenandoah Kotlin 1.4 M1 Librairies Spring Framework 5.2.5 Spring Boot 2.3.0.M4 Support du liveness et Readiness Probes de Kubernetes dans Spring Boot Eclipse Vert.x 3.9.0 Micronaut 2.0 M1 Un benchmark de Micronaut comparant SpringBoot et Quarkus - mais un peu controversé Quarkus 1.3 est sorti Et Quarkus 1.3.2 aussi Quarkus 1.3 et Eclipse MicroProfile 3.3 Infrastructure DockerAwesome Compose Docker GitHub Action Docker annonce la Compose Specification Kubernetes 1.18 Fleet: un outil de management de cluster Kubernetes Kit de survie Kubernetes pour les développeurs [avec K3S] Cloud Tutoriel Spring Boot : Création De Microservices Déployés Sur Google Cloud Web NPM racheté par GitHub L'annonce côté GitHub Deno 1.0 Qu'est ce que Deno ? Angular 9.1 Angular CLI 9.1 Les développeurs de Wikipédia choisissent Vue, plutôt que React Outillage GitHub mobile On peut maintener repasser une PR ouverte en Draft sur GitHub GitLab 12.8 (18 fonctionnalités GitLab passent open source)[https://about.gitlab.com/blog/2020/03/30/new-features-to-core/] Zoom annonce un gel des fonctionnalités pendant 90 jours pour résoudre les problèmes de confidentialité et de sécurité Nouvelle UX pour Slack Méthodologies Building Secure and Reliable Systems - Le SRE pour les nuls Loi, société et organisation Bill Gates quitte le conseil d'administration de Microsoft Contre la censure en ligne, RSF bâtit une immense « Bibliothèque libre » dans « Minecraft » Première victoire en justice contre la reconnaissance faciale ! Surveillance publicitaire : la CNIL se défile de nouveau sur le consentement aux cookies Pandémie et surveillance : La crise sanitaire ne justifie pas d'imposer les technologies de surveillance Coronavirus : le risque est d'entrer dans « une nouvelle ère de surveillance numérique invasive » Covid–19 et la surveillance Outils de l'épisode DevHints.io Screen.io Krisp.ai Rubrique débutant Processing de texte dans le shell Conférences GitHub Satellite en virtuel les 6 et 7 mai DevFest Lille le 12 juin 2020 - Le CfP est ouvert jusqu'au 15 avril Voxxed Days Luxembourg du 17 au 19 juin 2020 Devoxx France du 1 au 3 juillet 2020 Sunny Tech les 2 et 3 juillet 2020 Devoxx UK du 24 au 26 Août 2020 AlpesCraft reportée à l'automne DevOps D-Day le 9 octobre 2020 - Le CfP est ouvert jusqu'au 15 juin DevFest Nantes les 15 et 16 octobre 2020 - Le CfP est ouvert jusqu'au 31 mai Volcamp.io les 15 et 16 octobre 2020 DevFest Toulouse les 5 et 6 novembre 2020 FlowCon les 9 et 10 novembre 2020 Et encore plus sur Developers Conferences Agenda/List. Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

Apr 1, 2020 • 1h 38min
LCC 229 - Interview sur la sobriété numérique avec Richard Hanna
Dans cet épisode Arnaud et Audrey interviewent Richard, contributeur du Shift Project, un think thank qui œuvre en faveur d'une économie libérée de la contrainte carbone et qui a publié plusieurs rapports en faveur d'une sobriété numérique. Enregistré le 25 février 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–229.mp3 Interview Ta vie, ton oeuvre Richard Hanna, développeur et coopérateur Fairness et co-animateur du podcast Techologie. Le Shift Project Numerique & Transition Les publications numérique et transition Lean ICT Lean ICT : Pour une sobriété numérique Climat : l'insoutenable usage de la vidéo en ligne Climat : l'insoutenable usage de la vidéo en ligne Les outils La vidéo pédagogique « Cette vidéo réchauffe le climat :merci de la regarder » Le guide Le guide pour réduire le poids des vidéos en 5 minutes Carbonalyser Carbonalyser : l'extension de navigateur qui rend visible l'invisible impact environnemental du net Déployer la sobriété numérique Déployer la sobriété numérique Conclusion Contribuer au Shift Project « Reset, quel numérique voulons-nous ? » Nicolas Meilhan: "Devenons les champions du monde de la voiture à 500 kg", l'article de Damien Detcherry pour Atterrissage Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

Mar 20, 2020 • 1h 3min
LCC 228 - Conseils sur le télétravail
En cette période de confinement et de Coronavirus, les cast codeurs partagent et échangent leurs points de vue et conseil pour faire du télétravail. En espérant que cela vous aide un petit peu. Enregistré le 20 mars 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–228.mp3 Interview L'environnement de travail L'organisation La pièce Le matériel Le bureau assis debout (version électrique Ikea et version manivelle) Les enfants et le conjoint … Le travail en équipe à distance La communication Le flicage La disponibilité instantanée L'écrit, la messagerie instantanée et l'oral … La gestion du temps / journées Le sur ou sous travail Le burn out (épisode des cast codeurs dédié) Les pauses Les horaires Interview sur la productivité personnelle Le lien social Comment compenser la réduction d'interaction sociale … Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

Mar 17, 2020 • 1h 27min
LCC 227 - Télétravailler une corona dans une main et un gamin dans l'autre
Cet épisode parle du coronavirus, des conférences annulées, de la popularité des langages, de GraphQL, de Ghostcat et pleins d'autres choses encore. L'intro date un peu: les infos sur le coronavirus étant encore plus fréquentes que les nouveaux framework JavaScript. Enregistré le 13 mars 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–227.mp3 News Corona virus Les actions des grosses boites pas de meeting conf annulées limite du travail au bureau Langages RedMonk ranking - Le langage au top est… JavaScript Python Java Typescript dans le top 10 R monte Rust stable comme Go (+1) Kotlin 19, Scala 13 InfoQ meta sondage Java 8 le plus déployé en prod, 25% Java 11 et non LTS derrière Spring 60–80% IntelliJ 60–80%, Eclipse 20–25% mavenjvs Gradle 66–33 ou 50–50 Sondage sur Scala Scala.js 1.0.0 7 ans de dev not binary compatible with 0.6 nor 1.0RCx Ecrire en scala des applications front interop avec les libraries JavaScript GraalVM se dote d'un advisory board Gluon, Red Hat, Amazon, Microdoc, Shopify, Twitter, OCI, Neo4J, Pivotal, ARM et Oracle bien sûr Gros round d'investissement dans Azul investissement / achat: 340 M$ Librairies Eclipse MicroProfile GraphQL 1.0 GraphQL: spec pour generaliser les endpoints en leur donnat lflexibilite en terme de requetage et graph retourné make GraphSQL schema available execute GraphQL requests code first approach Apache Camel 3.1 et 3.0 déprécié Le guide de migration de Camel amélioration de mémoire Lightbend recoit 25M d'investissement de Dell capital pour la partie reactive spécifiquement pour le "serverless" pas de mention de Scala OPTIONNEL LightBend - Article sur pourquoi une architecture reactive est importante pour le cloud native bonne piqure de rappel data localisée par microservice les avantages des systèmes event based Middleware ElasticSearch en prod, les choses a savoir les concepts de base (Clusters, Nodes, Indices and Shards) Quorum comment des noeuds rejoingnent le cluster segments et le merge gestion de la memoire (compressed pointers /!\ inversé, 30GB, 2x memoire sur la machine par rapport au heap) voir https://stackoverflow.com/questions/25120546/trick-behind-jvms-compressed-oops#25120926 options par workload (write heavy vs read heavy topology monitoring Infrastructure La M&A de have i been p0wned: l'histoire de l'abandon societe KPMG due diligence des milliards de questions les doutes exclusivité le risque du changement de stratégie Cloud Les gens ralent car les clusters GKE vont avoir un cout de management de 10c/heure, ce qui change la relation du cluster au développeur (nombre de clusters en parallèle) Une comparaison des prix des clusters en fonction de leur taille et de leur host provider Amazon annonce Bottlerocket Mise a jour par image recrée plutôt que par package mis a jour plus immuable et donc facile en rollback par contre chaque host goes down et up si orchestrateur c'est ok Outillage IntelliJ Big Data Tools un IDE pour le big data! deja integration avec Zeppelin S3 nouveau Spark, HDFS, Paquet Architecture Les systèmes simples ont moins de downtime facile à comprendre, facile à corriger plus rapide de monter en competence trouver la cause est plus rapide solutions simples, plus d'alternatives disponibles regles: les fonctionalités de justifient pas la complexité, les idées complexes amènent des implémentations complexes, modifier avant d'ajouter challenge de l'automation pour faire avec moins de gens? OPTIONNEL 11 raisons pour lesquelles vous allez rater vos microservices voir les titres de section OPTIONNEL Retour d'experience sur l'usage incorrect d'un outil bloom filters probleme idéal pour bloom filters mais suspicieusement plus long que prévu profilers random access memory >> sequential reading (trop grand pour L3) alternative plus simple qui reduit le nombre le chargement memoire, pas la conso memoire Méthodologies Les trains de merge rebasing, la course au collègue garder master green pour la CD impossible de faire trops de merge en parallele ou doit faire pleins de rebase merge train sequentialise et batch les merges Retour sur le modèle GitFlow pas intuitif (merge bidirectionels dans le temps entre develop, feature branch, release branch, hotfix et master) et cout cognitif haut risque grandi de merge conflit peut pas rebaser continuous delivery != trop de barrières en cas de repos multiples ou mono repos, impossible a gérer (microservices) ok pour des cycles de release par trimestre avec des equipes sur des releases en parallele Mesure de la complexité de code: une meilleure mesure cyclomatic complexité est un mauvais oracle de la complexité de code les logiques conditionnelles emboîtées utilisent notre mémoire de travail (~indentation) les fonctions avec des dos d'anes d'indentation multiples sont les pires refactorer pour externaliser chaque Dans Sonarqube cela s'appelle Cognitive Complexity. Voici un exemple sur du code XWiki ou l'on voit très bien visuelement ce que cela veut dire: https://sonarcloud.io/project/issues?id=org.xwiki.commons%3Axwiki-commons&issues=AWzY6RXo8pMOHxUYvkyE&open=AWzY6RXo8pMOHxUYvkyE Sécurité Ghostcat: la faille dans Tomcat de 6 à 9 dans le protocole Apache JServ (implicitement trusté par Tomcat (cs une requête) peut lire le contenu des web apps si la webapp peut uploader => activer un remote execution upgrader Tomcat 7, 8, 9, si 6, vous êtes dans la merde attention Tomcat est embarqué dans pleins d'outils comme Wildfly, Spring Boot etc Letencrypt révoque 3 millions de certs a multiples domaines Loi, société et organisation Amicus brief sur le copyright d'API par IBM et Red Hat computer interfaces ne sont pas copyrightable moteur de l'economie du logiciel va etre entendu au printemps Amicus brief de chercheurs attaqué par Oracle payés par Google OPTIONNEL Les hackers de Equifax contamnés pour crime DOJ charcge 4 militaires Chinois Struts CVE Rubrique débutant La tonte de Yak appliquée à Donarld Knuth écrire un livre écrire un programme pour ecrire un livre invente un langage de programmation pour écrire le programme invente un mode de pagination design une police de caractère écrit un outil pour construire les polices de caractère invente un système de version pour son programme implémente un langage d'abstraction maison pour les documents imprimés Conférences ANNULÉ - Breizhcamp du 25 au 27 mars 2020 ANNULÉ - MiXiT du 29 au 30 avril 2020 VIRTUEL - GitHub Satellite les 6 et 7 mai ANNULÉ - RivieraDev du 13 au 15 mai 2020 Devoxx UK du 13 au 15 mai 2020 NewCrafts les 28 et 29 mai 2020 AlpesCraft les 4 et 5 juin 2020 ANNULÉ - Best of Web les 4 et 5 juin 2020 DevFest Lille le 12 juin 2020 - (Le CFP est ouvert) Voxxed Days Luxembourg du 17 au 19 juin 2020 ANNULÉ - Serverless Days Paris le 1 juillet 2020 NOUVELLE DATE - Devoxx France du 1 au 3 juillet 2020 Sunny Tech les 2 et 3 juillet 2020 Et encore plus sur Developers Conferences Agenda/List …. Liste d'Aurélie Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

Mar 9, 2020 • 1h 9min
LCC 226 - Interview sur l'Open Source à la MAIF avec Mathieu Ancelin et François Desmier
Dans cet épisode, Mathieu Ancelin et François Desmier sont venus nous parler des produits open source de la MAIF. On parle management d'API, reverse proxy, A/B Testing, feature flipping mais aussi plus généralement de comment on passe d'assureur à éditeur de produits open source. Enregistré le 13 février 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–226.mp3 Interview Ta vie, ton oeuvre François Desmier Cyber-guru, crypto-saïyan, team ambiancer 2.4 alpha, bytes master et surtout architecte solution à la MAIF, engagé sur #OSSbyMAIF Mathieu Ancelin Développeur fullstack chez SERLI, je fais du web, des streams, de la data, du cloud majoritairement sur la JVM et j'ai un petit faible pour Scala et la programmation fonctionnelle. Je suis également lead développeur de quelques projets open-source comme Otoroshi, Daikoku, etc. et l'un des organisateurs des Human Talks Poitiers. D'assureur à éditeur open source Le GitHub La philosophie Le jeu de carte Le jeu de carte Sous le capot Otoroshi Produit Philosophie Doc Daikoku Produit Doc Izanami Produit Philosophie Doc Niõ Produit Doc Melusine Produit Doc Le futur Conclusion Des talks pour aller plus loin : Simplifiez vous les microservices avec Otoroshi Du mutualisme à l'Open Source Opun devenir une plateforme de service Vos applications sous stéroïdes avec Otoroshi et Izanami Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

Feb 25, 2020 • 1h 25min
LCC 225 - L'épisode du futur
Dans cet épisode en tête à tête, Emmanuel et Audrey discutent des prévisions pour cette nouvelle année, font la part belle au langage avec l'arrivée du JDK 14 mais parlent aussi middleware, web, outillage, et bien sûr loi, société et organisation. Enregistré le 19 février 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–225.mp3 News Les prévisions d'Adam Bien pour 2020 Langages JDK 14 First Release Candidate Présentation des records Ecrire des Records invariants avec Bean Validation Monitoring d'API Rest avec les évènements du JDK Flight Recorder Est ce que le projet Loom menace les Java Futures ? Visualisation de la gestion de la mémoire dans la JVM (Java, Kotlin, Scala, Groovy, Clojure) Une demi heure pour apprendre Rust Librairies Jukebox : une lib pour créer des builders pour les records JUnit 5.6 Middleware Créer des images Docker avec Spring Boot 2.3.0 M1 Quarkus 1.2.0.Final Quarkus : un outil open-source pour écrire vos applications Java Micronaut 1.3 et Micronaut Data 1.0 GA Infrastructure Kubernetes Bug Bounty Cloud Formation gratuite Google Cloud en ligne Elastic Cloud sur Kubernetes (ECK) 1.0 en GA Web Angular 9 est maintenant disponible, et le projet Ivy aussi Quoi de neuf dans Angular 9.0 ? Quoi de neuf dans Angular 9.0 CLI ? Introducing Firefox and Edge Support in Cypress 4.0 Le nouveau Microsoft Edge est disponible Ionic 5 Outillage Maven est de retour, et il est pas content ! Old GroupIds Alerter : un plugin pour vérifier les couples groupId+artifactId dépréciés Provisio : un plugin pour remplacer Maven assembly MPV : une fonctin BASH pour récupérer la version d'un projet depuis le pom.xml Central 501 HTTPS Required Gradle 6.2 IntelliJ IDEA 2020.1 * JetBrains Mono Loi, société et organisation L'Union Européenne envisage une interdiction temporaire de la reconnaissance faciale Safe City à Marseille : premier recours contre la vidéosurveillance automatisée La CNIL publie ses recommandations très attendues sur le ciblage publicitaire La CNIL publie un guide RGPD pour les développeurs La conservation généralisée et indifférenciée des métadonnées épinglée à la CJUE, avec nuance Coup d'état sur la loi haine Féministes, LGBTI et antiracistes, nous ne voulons pas de la loi Cyberhaine Outils de l'épisode JQ - un commmand line processor pour JSON Comment voir (et supprimer) les données envoyées à Facebook par des sites tiers Rubrique débutant Java-guide : un guide pour apprendre le Java moderne Phishing : comment font les hackers, comment vous protéger Conférences DevFest du Bout du Monde le 28 février Breizhcamp du 25 au 27 mars 2020 Devoxx France du 15 au 17 avril 2020 Serverless Days Paris le 24 avril MiXiT du 29 au 30 avril 2020 GitHub Satellite les 6 et 7 mai RivieraDev du 13 au 15 mai 2020 Devoxx UK du 13 au 15 mai 2020 NewCrafts les 28 et 29 mai 2020 - Le CfP est ouvert jusqu'au 1 mars Best of Web les 4 et 5 juin 2020 - Le CfP est ouvert DevFest Lille le 12 juin 2020 - Le CfP est ouvert jusqu'au 29 février Sunny Tech les 2 et 3 juillet 2020 - Le CfP est ouvert jusqu'au 28 février DevFest Toulouse les 5 et 6 novembre 2020 - Le CfP est ouvert Et encore plus sur Developers Conferences Agenda/List …. Unconferences JChateau du 11 au 15 mars 2020 Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

Feb 6, 2020 • 1h 21min
LCC 224 - Interview sur le burn out avec Géraldine Karila
Une personne sur 5 fera un burn out au travail pendant sa carrière. Géraldine nous raconte son burn out, comment cela s'est passé, son chemin pour s'en sortir et les recherches qu'elle a fait sur le sujet. Enregistré le 16 décembre 2019 Téléchargement de l'épisode LesCastCodeurs-Episode–224.mp3 Interview Ta vie, ton oeuvre Géraldine Karila Le burn out Les phases Comment récupérer Comment aider une personne en burn out Liens Test: avez vous des slgnes de burn out Témoignage sur le burn out dans l'IT ops Gérer le burn out Géré son équilibre et sa réslience au travail Le syndrome de l'épuisement au travail (français) Les causes de burn out La confiance Podcasts Carl Newport sur le burn out dans nos vies numériques Travail comme identité, burn out comme style de vie Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

Jan 27, 2020 • 1h 54min
LCC 223 - On peut anonymiser mille fois une personne mais on ne peut pas anonymiser une fois mille personne
Premier épisode de l'année 2020 pour les cast codeurs avec Guillaume, Arnaud et Audrey autour du micro pour parler du JDK 14 bien sûr mais aussi de Quarkus, de WebAssembly, de Kubernetes mais aussi de l'actualité sociétale liée à la tech. Enregistré le 13 janvier 2020 Téléchargement de l'épisode LesCastCodeurs-Episode–223.mp3 News Langages JDK 14 Early-Access Builds Comparaison des GC Kotlin 1.4 et au-delà, lors de la conférence KotlinConf What the Flow? Librairies JHipster 6.6.0 R2DBC 0.8.0 en GA DropWizard 2.0 released Spock 2.0 milestone 1 sortie o Migrer de Spock 1.3 à 2.0 Middleware VMware Rachète Pivotal et Carbon Black Calendrier de l'Avent d'Elastic Client RUST pour Elastic Search Apple open source ServiceTalk à base de Netty Quarkus 1.1.0 Gestion centralisée des logs en Quarkus GraalWasm — un moteur WebAssembly dans GraalVM Infrastructure kubectl tree Guide visuel de débug des deploiements Kubernetes Injecter des Secrets Vault dans des Pods Kubernetes via un Sidecar Hexa, un CLI sous stéroïdes pour les devs Azure Web WebAssembly devient une recommandation du W3C /e/ une alternative à Android qui prend soin de votre vie privée Bazel 2.0 1ère version stable de Node.js pour Bazel Outillage La Maif continue son mouvement OpenSource avec Daikoku Améliorer les performances de votre CI en optimisant vos builds Maven ou Gradle - Webinar Gradle capabilities appliqué au conflit de logging GitLab 12.6 released with Security Scorecard and Release Evidence * Token-Hunter Méthodologies CalVer, le versionning avec des dates Sécurité Configurez vos parsers XML en Java pour éviter les XML eXternal Entity (XXE) Loi, société et organisation Larry Page and Sergey Brin quittent Google Plus il y a d'égalité des sexes dans un pays, moins il y a de femmes en STEM Est ce que le fait qu'Oracle copie l'API S3 d'Amazon était une violation de copyright? La Russie réussit son test et se coupe de l'Internet mondial avec succès Spécial France WTF La France présente sa loi upload filters mais "oublie" les droits des utilisateurs Reconnaissance faciale : le gouvernement souhaite faire une expérimentation dans la vidéosurveillance « Ne pas sacrifier nos droits » : l'hostilité à l'égard de la reconnaissance faciale grandit en France La Police nationale lorgne sur les « données de réservation » des voyageurs Le Conseil constitutionnel autorise le FISC à la surveillance de masse Les décisions de justice vont enfin être toutes accessibles en ligne gratuitement Twitter va tester de nouvelles options pour limiter les réponses à un tweet Outils de l'épisode Encryptez et envoyez vos fichiers avec https://send.firefox.com/ Rubrique débutant Comment quitter Vi, version fun Conférences Snowcamp du 22 au 25 janvier 2020 Touraine Tech le 31 janvier FOSDEM les 1 et 2 février dotSwift le 3 février - Le CfP est ouvert DevFest Paris le 14 février 2020 DevFest du Bout du Monde le 28 février dotPy le 2 mars - Le CfP est ouvert Breizhcamp du 25 au 27 mars 2020 - Le CfP est ouvert dotGo le 30 mars - Le CfP est ouvert Devoxx France du 15 au 17 avril 2020 Android Makers Paris les 20 et 21 avril 2020 - Le CfP est ouvert jusqu'au 19 janvier Serverless Days Paris le 24 avril - Le CfP est ouvert jusqu'au 31 janvier MiXiT du 29 au 30 avril 2020 - Le CfP est ouvert jusqu'au 15 janvier GitHub Satellite les 6 et 7 mai - Le CfP est ouvert jusqu'au 14 janvier RivieraDev du 13 au 15 mai 2020 - Le CfP est ouvert jusqu'au 15 février NewCrafts les 28 et 29 mai 2020 - Le CfP est ouvert jusqu'au 1 mars Best of Web les 4 et 5 juin 2020 - Le CfP est ouvertDevFest Lille le 12 juin 2020 - Le CfP est ouvert jusqu'au 29 février Sunny Tech les 2 et 3 juillet 2020 - Le CfP est ouvert jusqu'au 28 février Et encore plus sur Developers Conferences Agenda/List …. Unconferences JChateau Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/


