LCC 183 - L'épisode où Audrey apprend à mixer
Posté le 01/02/2018Dans cet épisode, Audrey se lance dans le mixage et discute avec Vincent et Arnaud Spectre, Meltdown, Neutralité du Net et bien sûr des dernières nouveautés techniques.
Enregistré le 25 janvier 2018
Téléchargement de l’épisode LesCastCodeurs-Episode-183.mp3
News
Pour bien démarrer 2018, les Cast Codeurs sont maintenant sur #deezer et #spotify
Langages
Effective Java, 3rd edition
Whats Next After Java 9
What’s next for the Groovy language: The 2018 roadmap
Kotlin 1.2.20
- Attention au bug dans Spring Data.
Librairies
Sneak peek at Reactor-Core 3.2 with Milestone 1
Middleware
Infrastructure
James Strachan, James Rawlings, Rob Davies, (fabric8) rejoignent CloudBees
Cloud
Kubernetes 1.9
Chaoskube pour tester vos environnements Kubernetes
Scanning vulnerabilities in Docker Images
Web
The Top JavaScript Trends to Watch in 2018
Angular 5.2
Nouvel incident opérationnel pour NPM
Mozilla active les custom components par défaut
BootStrap 4
Outillage
Publier une librairie open source sur Maven Central
Méthodologies
5 Things to Learn about Building a Successful Team
The Best Advice For Remote Work Success From 10 Global Teams
Sécurité
Spectre et Meltdown, les failles cachées dans nos processeurs :
- Spectreattack.com
- Quand votre CPU parle trop : la faille Meltdown et ses conséquences
- L’article de Project Zero
- Réponse de Linus Torvalds
- A Simple Explanation of the Differences Between Meltdown and Spectre
- Retpoline, la solution proposée par Google
Loi, société et organisation
La FCC enterre la neutralité du net aux États-Unis :
- The FCC just killed net neutrality
- L’Europe doit défendre la «neutralité du Net» par Par Benjamin Bayart
- Act now to save the internet as we know it by Sir Tim Berners Lee
- 22 États se lancent dans la bataille
Eric Schmidt quitte Alphabet
Google parie sur la France
Des intelligences artificielles plus fortes que l’humain lors d’un test de lecture
L’efficacité d’un logiciel censé prédire la récidive à nouveau critiquée
Conférences
Tips for Effective Conference Proposals
FOSDEM les 3 et 4 février 2018
Touraine Tech le 23 février 2018
BreizhCamp du 28 au 30 Mars 2018
Devoxx France du 18 au 20 avril 2018
MixIT le 19-20 avril 2018 à Lyon
Riviera Dev les 16, 17 et 18 mai 2018 à Sophia Antipolis - Le CfP est ouvert.
NCrafts les 18 et 19 mai 2018 - Le CfP est ouvert.
Best Of Web les 7 et 8 juin 2018 - Le CfP est ouvert.
DevFest Lille le 21 juin 2018 - Le CfP est ouvert.
Voxxed Luxembourg le 22 juin 2018 - Le CfP est ouvert.
Sunny Tech les 28 et 29 juin 2018 - Le CfP est ouvert.
Developers Conferences Agenda/List
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com
LCC 182 - Black Friday code - une ligne dupliquée pour une achetée
Posté le 03/12/2017Guillaume et Vincent commentent les nouvelles du mois dans le métaverse java-developicte. Un épisode avec beaucoup d’outils discutés. Félicitation à Guillaume, nouveau Java Champion !
Enregistré le 27 novembre 2017
Téléchargement de l’épisode LesCastCodeurs-Episode-182.mp3
News
Langages
JDK 10 Early Access Build
Guillaume est un Java Champion
Built-in HTTP server dans JDK 6+
Librairies
Spring Boot 2.0.0m6
ElasticSearch 6.0.0
Middleware
Kafka 1.0
Infinispan 9.2.0 beta et 9.1.3
Cloud
Process de certification Kubernetes lancé par la CNCF
Service Mesh data plane vs control plane
Web
Angular 5.0.0
What’s new in Angular 5.0
What’s new in Angular CLI 1.5
Firefox Quantum
Data, Machine Learning
Intro à TensorFlow
Stephan Janssen et les twitter spam bots de Russie
Outillage
Gradle vs Maven, et Gradle en Groovy ou en Kotlin
Une cartographie du code dupliqué sur Github
Github qui utilise du machine learning pour alerter sur des problèmes de dépendance
Github rajoute une feature de discussion
Github ajoute teletype à Atom pour collaboration temps réel
Visual Studio Live Share
Les pages MAN mais simplifiées et par l’exemple
Outils de l’épisode
Sibbell par Reda ABDI (Crowdcast)
Artifact listener
Rubrique débutant
Bazar / fun / geek
Tesla annonce un nouveau roadster
Tesla annonce aussi un camion
CommitStrip ont fait une super méga fresque
Conférences
3eme édition du Paris OpenSource Summit les 6 & 7 Décembre
Snowcamp 2018 du 24 au 27 janvier
Touraine Tech le 23 février 2018 - Le CfP est ouvert.
Devoxx France du 18 au 20 avril 2018 - Le CfP est ouvert.
MixIT le 19-20 avril 2018 à Lyon - Le CfP est ouvert.
Riviera Dev les 16, 17 et 18 mai 2018 à Sophia Antipolis - Le CfP est ouvert.
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com
LCC 181 - Retour sur Devoxx Belgique 2017
Posté le 21/11/2017Les Cast Codeurs de retour de Belgique discutent chapka, bière et Kotlin.
Enregistré le 14 novembre 2017
Téléchargement de l’épisode LesCastCodeurs-Episode-181.mp3
Devoxx
Le Channel Devoxx Belgium sur Youtube
La Keynote d’ouverture 1/2
La Keynote d’ouverture 2/2
La Keynote de clôture
Format Dive Deep
Neural Networks: Walkthrough par Katharine Beaumont
Kotlin Deep Dive par Guy Heylens et David González
Empathetic communication at work par Sharon Steed
From Spring Boot 1 in Java to Spring Boot 2 in Kotlin par Mark Heckler et Sébastien Deleuze
Baking a Microservice PI(e) par Antonio Goncalves et Roberto Cortez
Format Conférences
A year of mob programming tips and tricks par Tommy Tynjä
Java 8: the good, the bad and the ugly par Brian Vermeer
The Java Council avec Simon Maple, Martijn Verburg, Oleg Šelajev
Merci a tous les interviewés !
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com
LCC 180 - Encore une petite news
Posté le 02/11/2017Dans cet épisode Audrey et Arnaud sont ensemble en même temps ! Et nous parlent de… tout. Plus particulièrement, de Java 9, de ce que veut dire une version, de Spring 5, de la domination de Kubernetes, de la réécriture de React sans tout casser et surtout de comment reprendre la main sur un terminal donc la connexion ssh s’est cassée et qui semble ne servir plus à rien. Et bien d’autres choses encore.
Enregistré le 30 octobre 2017
Téléchargement de l’épisode LesCastCodeurs-Episode-180.mp3
News
Langages
Java 9.0.1 est dispo
- Jenkins propose d’installer Java 9 (INFRA-1353, INFRA-1366) mais Oracle change son formulaire d’authentification et casse l’accès aux archives
Version-string schemes for the Java SE Platform and the JDK (JEP-223)
Secure Coding Guidelines for Java SE (9)
Librairies
Spring 5.0.0
Spring Boot 2.0 M5
Vert.x 3.5.0
Introducing the Natural Language Processing Library for Apache Spark
Middleware
Infrastructure
Resources for Getting Started with Distributed Systems
Cloud
Kubernetes has won. Docker Enterprise Edition will support rival container-wrangling tech
Docker Swarm et Kubernetes sont dans un bateau
Jenkins & Kubernetes
Google Cloud vs AWS
Web
Vue.js is now open collective
Upcoming TypeScript Changes in Vue 2.5
6 Best Practices & Pro Tips when using Angular CLI
React 16.0
What’s New With Server-Side Rendering in React 16
Mozilla Developer Network (MDN) lance un Product Advisory Board, Microsoft et Google le rejoigne.
Microsoft adds multithreading to Node.js
Outillage
Apache Maven 3.5.2 is out
Gradle 4.2.1 aussi
Méthodologies
Mocking is a code smell
React 16: A look inside an API-compatible rewrite of our frontend UI library
Your step-by-step guide to more effective documentation
Git rebase ou pas ?
Tagger ses images Docker - Semver #oupas
Sécurité
Autre
Spotify’s Discover Weekly: How machine learning finds your new music
Google unveils AI that learns on its own
Retour sur le DevFest Nantes
Loi, société et organisation
Annulation de l’obligation de déclarer tous ses identifiants en ligne
Bruxelles est contre les backdoors… mais invite les États à partager leur savoir-faire en déchiffrement
Rémi Mathis quitte Wikimédia France
Uber Movement veut séduire Paris grâce à son trésor de données sur la circulation
Outils de l’épisode
Git identities and ssh
Octolinker
octobox.io
Devdocs.io
Asciidoc et Maven pour générer ses supports de cours
Astuce de l’épisode
If you’ve got a frozen terminal from a dropped SSH connection, hit Enter then ~ then .
Conférences
Scala.io le 2 et 3 novembre à Lyon - Inscriptions
Devoxx Belgique du 6 au 10 novembre
Codeurs en Seine à Rouen le 23 novembre
7ème édition de SoftShake - Genève (seulement 3h de Paris en train !)
3eme édition du Paris OpenSource Summit les 6 & 7 Décembre
Snowcamp 2018 du 24 au 27 janvier
Devoxx France du 18 au 20 avril 2018
MixIT le 19-20 avril 2018 à Lyon
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com
LCC 179 - Interview sur Keycloak avec Sébastien Blanc
Posté le 16/10/2017Dans cet épisode, Sébastien Blanc nous fait découvrir l’univers de l’authentification et de l’autorisation et en particulier Keycloak.
Enregistré le 12 juillet 2017
Téléchargement de l’épisode LesCastCodeurs-Episode-179.mp3
Interview
Ta vie, ton œuvre
Qu’est-ce que Keycloak ?
Le site de Keycloak
Le code de Keycloak
Des quickstarts
Le Jira
La mailing list
Tools-in-action de Sébastien à DevoxxFR
Live coding à SpringIO
LDAP
Authentification
Autorisation ?
Gestion d’identité
Quid de ma connection Google Account ou Facebook Connect
FranceConnect
Bannir des utilisateurs
Remember me
Authentification par certificat client ?
Détection de patterns suspects ? fail2ban
les attaques classiques
Un survol des normes de sécurité
Realm
Comment ça marche et dans quel contexte cela s’utilise ?
- OpenID Connect
- OAuth 2
- JWT
- SAML 2
- Google, Facebook, GitHub, StackOverflow
- FranceConnect
- Kerberos
- Active Directory / LDAP
- two factor (sms, FreeOTP )
Le développement
Moi développeur d’application web Spring Boot, quelles sont les étapes concrètes pour rajouter la sécurité ?
Quel est l’identifiant partagé entre l’application et Keycloak pour définir l’utilisateur
Et mon application voit quoi de l’utilisateur (nom, email, mot de passe ?)
Et mon application Angular 2 avec un backend node.js ?
Et mon application iOS ?
AeroGear
TLS, agnostique ou pas ?
Comment je définis le TTL de mon authentification
Avec quoi vous vous intégrez ?
Security proxy ?
Sous le capot
C’est fait comment en pratique ?
Je change de domaine ?
Comment le clustering est fait
TLS, reverse proxy, etc
Tout est en mémoire ?
Et la partie client, qu’est-ce qui est fait en intégration particulière
Les extensions sont pour faire quoi ?
Vous gardez comment les mots de passe (hash, salt, evolution, etc )
Écosystème et communauté
C’est quoi la concurrence ?
Spring Security, cryptomator, Google Keyczar, Bouncy Castle, Apache Shiro ?
Active Directory ?
Le futur
Istio
Vert.x
Keycloak
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com
LCC 178 - All YOUR CODES ARE BELONG TO OPEN SOURCE
Posté le 01/10/2017La sortie de Java 9, la mise en open source d’une mégachiée de projets, la sortie d’une tétrachiée de framework webs et bien d’autres choses encore.
Enregistré le 26 septembre 2017
Téléchargement de l’épisode LesCastCodeurs-Episode-178.mp3
News
Langages
Java 9 est sorti avec plein de choses dedans
9 Java Champions on Java 9:
Mark Reinhold sur le changement de rythme de Java
Inférence de type locale avec var pour Java 10
Langages de programmation et sécurité chez noLimitSécu
Les outils proprio d’Oracle JDK open sourcés et donnés à OpenJDK ?
Au revoir Java Embedded
JShell a aussi une API pour son intégration
Middleware
Première Release Candidate pour Reactor Core 3.1
Java EE rejoins la fondation Eclipse
IBM open source Webshere Liberty sous openliberty.io
Web
Angular 4.4
The Past, Present, and Future of the Angular CLI
- Angular CLI Diff, l’outil développé par Cédric Exbrayat
Yarn 1.0
Brace yourself, Babel 7.0 is coming
Relicensing React, Jest, Flow, and Immutable.js
Pourquoi j’ai choisi vue.js vs react ou Angular 2
Ionic passe aux Web Components
Webhooks vs WebSub par notre Audrey !!!
Outillage
IntelliJ et Java 9
junit 5 est sorti
Intégrer des screenshots à ses tests Geb
Méthodologies
Stratégie de branche de l’équipe Spring Data
Le papier original sur la méthodologie Waterfall
Sécurité
Equifax et la faille de sécurité d’Apache Struts
Loi, société et organisation
World Wide Web Consortium abandons consensus, standardizes DRM with 58.4% support, EFF resigns
Annonce de l’EFF qui démissionne du W3C sur l’API video DRM
Biased Algorithms Are Everywhere, and No One Seems to Care
Oracle a tué Sun
Le brevet sur GraphQL
La promesse de brevet de Red Hat
La GPL testée en procès et confirmée
Loi de sécurité intérieure : des conséquences pour la vie numérique de tous
Outils de l’épisode
Filtrer les emails GitHub
Garder macOS propre
Stride
Keybase Teams
Conférences
Devops REX le 2 octobre à Paris
DevFest Nantes les 19 & 20 Octobre - Inscriptions
Scala.io le 2 et 3 novembre à Lyon - Inscriptions
Devoxx Belgique du 6 au 10 novembre - Inscriptions
Codeurs en Seine à Rouen le 23 novembre
7ème édition de SoftShake le 26-27 octobre à Genève (seulement 3h de Paris en train !) le CfP est ouvert
3eme édition du Paris OpenSource Summit les 6 & 7 Décembre
Snowcamp 2018 du 24 au 27 janvier ; le CFP est ouvert
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com
LCC 177 - Interview sur les devs à Singapour à Voxxed Days Eponyme
Posté le 16/09/2017À l’occasion de Voxxed Days Singapore, Guillaume et Emmanuel discutent avec des expatriés de Singapour (Alan, Germain, Mathieu, Nida) sur leur vie de développeur là-bas.
Enregistré le 18 juillet 2017
Téléchargement de l’épisode LesCastCodeurs-Episode-177.mp3
Interview
Ta vie ton œuvre
Alan Menant
Redmart
Marina Bay Sands
Germain Potet
Zenika Singapore
Nida Bouzid
Active Viam
Voxxed Days Singapore
Singapour
While 42
Singlish
Work holiday pass
Minostry of manpower
Niveaux de vie :
- salaire
- loyer
- nourriture
- retraite / santé
- jours de vacances (14 à 21 jours)
- voiture
G1 et le retour d’expérience Active Viam
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com
LCC 176 - Le paradoxe de la fondation
Posté le 04/09/2017Antonio, Arnaud, Vincent et Emmanuel commentent les informations de l’été : diversité, java dans un container, Java EE dans une fondation, les licences Facebook vs la fondation Apache et plus.
Enregistré le 1 septembre 2017
Téléchargement de l’épisode LesCastCodeurs-Episode-176.mp3
News
Les épisodes des cast codeurs en licence Creative Commons by-nc-nd
Langages
Java Still Number One, But What’s Taking Over?
Le guide Bash ultime
Ceylon rejoint Eclipse
Server JRE
Garbage Collecteur G1 et comment le maitriser la bête dans tes microservices
Java vs Docker: comment configurer sa JVM (Java SE support for Docker CPU and memory limits)
Les principaux paradigmes de programmation
Excel est un Nonmonotonic dataflow programming :)
Légal
Facebook et sa licence BSD + brevet (react.js et RockDB):
- La clause litigieuse
- Apache bannit la licence DSB+FaceBook
- FaceBook et react.js campent sur leurs positions
- Le ping pong
Middleware
Java EE dans une fondation ?
Bean Validation approuvé
Java EE 8 approuvé aussi
Web
Loi, société et organisation
France: un pays de gros lourds
Elles inventent un co-fondateur homme pour leur start-up, et c’est « le jour et la nuit »
Cefcys
L’épisode de NoLimitSecu sur le Cefcys
Google et le mémo sur la chambre a echo de Google :
- Le memo
- La réponse du CEO de Google
- Un memo considéré blessant
- Le résumé Wikipedia
- Google hires Intel’s former head of diversity as VP of Diversity
Outils de l’épisode
Un Chromebook pour coder
Site Reliability Engineering book
Conférences
JUGSummerCamp 15 septembre
devops REX le 2 octobre à Paris
DevFest Nantes les 19 & 20 Octobre - Inscriptions
Scala.io le 2 et 3 novembre à Lyon - Inscriptions
Devoxx Belgique du 6 au 10 novembre - Inscriptions
BDX.io 10 novembre
Devoxx Maroc 14-16 novembre
Codeurs en Seine à Rouen le 23 novembre
7ème édition de SoftShake - Genève (seulement 3h de Paris en train !) le CfP est ouvert
3eme édition du Paris OpenSource Summit les 6 & 7 Décembre ([CfP ouvert jusqu’au 15 septembre] (http://cfp.opensourcesummit.paris/))
Snowcamp 2018 du 24 au 27 janvier ; le CFP est ouvert
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com
Licence Creative Commons
Posté le 11/08/2017Les épisodes des cast codeurs sont désormais publiés sous licence Creative Commons. Plus précisément, Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 4.0 International (CC BY-NC-ND 4.0 pour les intimes). Cette nouvelle licence s’applique pour les épisodes passés. Les détails sont disponibles sur notre page licence.
On n’avait jamais vraiment pris de décision sur la licence, ce qui ne donnait aucun droit en pratique. C’est chose faite. Il y a des situations où cette licence ne conviendra pas pour certains usages ou projets ; n’hésitez pas à nous contacter, on a déjà adapté les droits au cas par cas en fonction des situations.
Fin du message à caractère informatif, bonnes vacances :)
LCC 175 - Interview sur la build avec Cédric Champeau et Arnaud Héritier - partie 2
Posté le 11/08/2017Guillaume, Cédric et Arnaud se retrouvent autour du micro pour parler pendant une session marathon de 3h30 du build, de Maven et de Gradle. Dans cette deuxième partie, on y discute tests puis on aborde des questions spécifiques à chaque outil. On aborde enfin le dilemme : migrer ou ne pas migrer, telle est la question. Le tout basé sur les questions posées sur la mailing list des cast codeurs : merci à vous !
Enregistré le 19 juillet 2017
Téléchargement de l’épisode LesCastCodeurs-Episode-175.mp3
Interview
Ta vie ton œuvre
Cédric Champeau
Gradle Inc.
Arnaud Héritier
Cloudbees
Les tests
Gradle / Maven : Quelle est la philosophie officielle des deux outils pour la gestion des tests au-delà des tests unitaires (une fois les différents modules assemblés et déployés) ?
Dans des projets maven par exemple, je vois des fois des modules dédiés, en scope test ou scope runtime et lancés à la main, d’autres fois des projets indépendants. Chaque équipe a plus ou moins sa propre façon de gérer la chose mais rien n’a l’air vraiment normalisé (ou du moins partagé par la communauté).
Gradle / Maven : Quels sont les ‘best practices’ pour faire du ‘test and watch’ (genre infinitest) avec maven et gradle ?
Les intégrations
Gradle : Pourquoi je ne peux pas faire de Run Tests sur un projet en Gradle dans IntelliJ alors qu’avec Maven je peux ?
Gradle / Maven : Pour les deux, qu’en est-il de l’intégration dans les différents IDE ? J’ai été agréablement surpris par l’intégration de Gradle dans Netbeans, mais je n’ai pas beaucoup joué avec.
Gradle / Maven : “Quid de l’intégration dans mon IDE préféré ?”
Gradle / Maven : “Quid de l’intégration dans mon continuous build préféré ?”
Gradle en profondeur
Gradle : Y’a moyen de voir en Gradle à quel test je suis rendu ?
Gradlew/mvnw
- Gradle : Pourquoi mvnw et gradlew ne downloadent par leurs jars au lieu de nous forcer à les mettre dans .mvn et gradle ?
- Gradle : Pour Gradle, vous ne trouvez pas affreux ces fichiers “gradlew” et “gradlew.bat” à la racine de chaque projet dans github ?
Scripting vs XML
- Gradle : Est-il prévu de pouvoir avoir un fichier build.gradle a chaque niveau de la hiérarchie de tes modules au lieu d’avoir besoin de décrire manuellement tous les paths dans un fichier settings.gradle ? C’est un point que j’ai trouvé pénible (par ex https://github.com/xwiki/xwiki-commons/blob/master/settings.gradle et là je ne liste que qq modules - en pratique il y en a des centaines ds le build xwiki).
- Gradle : Est-ce que Gradle travaille à essayer d’homogénéiser encore plus les builds Gradle ? Qd j’ai essayé de convertir le build Maven de XWiki en Gradle, j’ai lu la doc puis j’ai regardé 4-5 builds différents en gradle pour voir les bonnes practices. Et la j’ai été embêté car chacun avait des pratiques un peu différentes. Au debut j’étais même paumé et puis apres qq heures de recherches j’ai commencé à identifier des patterns communs mais qd meme avec pas mal de variations. Du coup je n’ai pas su trouver facilement les best practices et j’ai dû me les faire et en consequence le build Gradle XWiki est lui aussi encore un peu different des autres probablement. Qu’est-il prévu sur le sujet ? En gros comme simplifier encore plus l’onboarding Gradle ?
BOM
Gradle : Le BOM de maven est-il une invention du malin ? Et quel est son équivalent pour Gradle ?
Android
Gradle : Pourquoi l’intégration de ces outils dans Android Studio est-elle aussi pathétiquement mauvaise ? (je suis obligé d’utiliser ce sous-outil, et j’ai mal à mon gradle : je ne peux pas voir mes dépendances facilement, et l’intégration se résume à une lecture de la liste des tâches et à leur lancement).
Maven en profondeur
Maven : Quand est-ce que le bogue Maven du shade plugin qui ne remplace pas le jar d’origine pas le jar shadé sera corrigé ? (et que donc l’équipe Maven reviendra à la raison) ?
Maven : Pour revenir au cycle de vie de Maven, serait-il possible de configurer des cycles de vies (notion de descripteurs de cycles de vie). En gros, pouvoir dire que mon projet suit un cycle de vie à 3 phases qui sont “resource, compile, install” et qu’un autre avec X phases comme compile, “prepare, …, install, deploy-maven-repository, deploy-env”)
Maven : Pour Maven encore, il y avait-il me semble un projet polyglot pour les descripteurs, qu’en est-il ? Pourrait-on imaginer des descripteurs en yaml et/ou json ?
Maven : y a-t-il beaucoup de boites qui dev leurs petits plugins Maven perso pour adapter à leurs problématiques ?
Granularité / découpage de modules avec Maven
Maven : comment gérer les builds où l’appli finale est la résultante de nombreux multi-module Maven project, chacun dans un repo git perso avec leur version. Nous avons des problèmes pour gérer les évolutions de versions de chacun de ces multi-modules et faire en sorte que les modules qui en dépendent se MAJ vers la nouvelle version. Les BOM Maven sont une piste mais c’est pas clair…
Maven : est-ce une bonne pratique de considérer comme absolue la règle selon laquelle tous les modules d’un multi-module Maven project doivent avoir le même numéro de version ?
Maven : est-ce bien une mauvaise pratique que de mettre dans le même repo Git 2 multi-module Maven projects qui ne partagent pas le même parent ?
Maven : les devs familiers avec Maven n’ont-ils pas trop tendance à découper leurs appli en modules Maven alors qu’ils pourraient se contenter des packages Java ? Je me rends compte que c’est mon cas perso…
Maven : Pour des grosses applis, faites-vous plusieurs petits builds et un meta-build d’assemblage final agrégeant les petits morceaux ? Ou alors faites-vous un bon gros build qui dure longtemps mais recompile/repackage tout ? Ou alors vous laissez-vous le choix en faisant en sorte de pouvoir faire les 2 (sur Jenkins)
Maven : “classpath too long” : c’est la résultante du point précédant. Nous commençons à nous heurter à des problèmes de “classpath too long” sous Windows pour des Proof of Concepts mixant de nombreux projets. Le point de non-retour est-il proche ? (Pour info, nous contournons temporairement le problème en ayant utilisé la commande mklink pour simlinker le repo Maven sur c:\repo et gagner quelques caractères sur chaque dépendance… oui, c’est tres moche)
Maven : quid du paramétrage du build ? Par exemple actuellement nous avons une phase de packaging assez générique qui prend en entrée un numéro de version de l’application à packager. Merci Jenkins.
Migration
Migrer vers Gradle, mais pourquoi (pas) ? Et la valeur du build dans tout ça …
Gradle : Pourquoi est-ce que depuis 3 ans, je vais voir une prez de Cédric sur Gradle, et j’en ressors en me disant “Gradle, ça a l’air quand même vachement bien”, et que l’année qui suit, je retourne voir une prez de Cédric l’année suivante sans avoir rien changé sur mes projets Java ?
Gradle : Suis-je tellement fainéant dans mon petit confort de build Maven pour reposer sur mes acquis et ne pas switcher ? Je veux dire … à chaque fois j’ai de bons arguments apportés par Cédric pour migrer, et pourtant, le switch ne se fait finalement pas.
Gradle / Maven : Considère-t-on aujourd’hui le build comme accessoire sur un projet Java pour ne pas vouloir engager un investissement de migration ? (je parle beaucoup de mon cas perso ici, mais j’ai l’impression qu’il n’est pas si isolé que ça) Ou au contraire, est-ce tellement critique et relativement assez peu agile qu’on a trop peur d’en changer ? Si on reprend le cas de Ant vs Maven, pas mal de gens ont trainé à migrer, c’était trop risqué, les bonnes pratiques étaient encore peu connues, tout le monde avait peur de crasher son projet à cause de ca… Personne ne veut essuyer les plâtres d’une “nouvelle” techno de build avec son projet.
Gradle : Peut-être Gradle en est-il encore là et a du mal à passer le cap des Early-Adopters (ceci dit, avec Android et son armée de développeurs d’apps ca devrait changer vite si c’est le cas ; tant qu’Android l’infidèle decide de rester sur Gradle :P
Gradle : Et enfin, LE point-clé : est-ce que la migration de Maven a Gradle amène une valeur ajoutée suffisante pour justifier l’effort et le risque ? Je n’ai pas l’impression de lire beaucoup de retour d’expérience de projets qui disent avoir gagne radicalement en productivité en en qualité grace à une migration Maven->Gradle.
Gradle / Maven : “je démarre un projet, Gradle ou Maven ?”
Conclusion
Gradle / Maven : les devs et le build : généralement, la grande majorité des devs ne s’y intéressent pas. À titre perso, je trouve ça fondamental, si le build est mal fait ça handicape tout le projet sans que les gens ne s’en aperçoivent malgré les effets négatifs, ils ne voient pas comment faire autrement => est-ce un ressenti que vous avez ?
Nous contacter
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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring ? sponsors@lescastcodeurs.com