Flux
Toutes les sources

Jérémy Decool

34 articles Flux RSS
Programmation Web
Courir après la fonctionnalité n'est pas un objectif

Courir après la fonctionnalité n'est pas un objectif

L’IA permet à de nombreux éditeurs logiciels de livrer de nouvelles fonctionnalités toujours plus rapidement. Elle a augmenté la vitesse de production logicielle. La tentation de toujours aller plus vite est alors grande. Les nouvelles fonctionnalités d’un logiciel étant souvent perçu comme un avantage concurrentiel. Plus il en propose, plus il semble riche et plus il paraît compétitif. Le problème, c’est que livrer des fonctionnalités rapidement et fréquemment est compliqué. Cela se fait…

Jérémy Decool
La Clean Architecture ne se résume pas à une arborescence de dossiers

La Clean Architecture ne se résume pas à une arborescence de dossiers

Pour beaucoup, la Clean Architecture se résume à un découpage du code en 3 couches: Domain, Application et Infrastructure (avec éventuellement une couche de présentation). Pourtant, si l’on regarde le livre de référence sur le sujet, “Clean Architecture” de Robert C. Martin, ce découpage ne représente qu’une dizaine de pages sur les 400 que compte le livre. L’organisation du projet est certainement la partie la plus visible de la Clean Architecture. C’est d’ailleurs ce qui en a fait son succès:…

Jérémy Decool
Domain Driven Design: l'essentiel est avant le code

Domain Driven Design: l'essentiel est avant le code

Pour beaucoup de développeurs, voir un dossier “Domain” dans le code source d’un projet, visant à isoler la partie métier, et avoir des objets riches avec un nommage cohérent, c’est faire du DDD (Domain Driven Design). C’est certes un bon début, mais réduire le Domain Driven Design à une structure de dossier, c’est passer à côté de l’essentiel. Le DDD, ce n’est pas qu’une affaire de découpage et d’organisation technique. C’est avant tout une approche stratégique. Identifier les différents…

Jérémy Decool
L'IA pousse à faire soi-même, au détriment de l'équipe

L'IA pousse à faire soi-même, au détriment de l'équipe

Je commence à voir de plus en plus d’équipes où le lead tech est devenu plus rapide à implémenter une fonctionnalité via l’IA qu’à l’expliquer, la déléguer et attendre que quelqu’un la prenne en charge. Pourquoi cadrer un ticket, répondre aux questions et relire du code quand on peut obtenir le résultat directement en utilisant une IA ? C’est un pattern organisationnel que je vois de plus en plus souvent. C’est un problème mis en avant avec l’IA, mais qui était déjà présent bien avant: une…

Jérémy Decool
L'IA génère, mais les fondamentaux restent

L'IA génère, mais les fondamentaux restent

Nous sommes à l’ère de la génération de code. L’IA génère dorénavant du code à une vitesse impressionnante. Avec elle, apparaissent des revues de code parfois massives, à plusieurs centaines, voire plusieurs milliers de changements. Puisque générer du code est dorénavant rapide, nombreux sont ceux qui produisent des fonctionnalités entières d’un seul coup. Pour suivre la cadence, les revues commencent à être effectuées et validées par d’autres IA. Il est effectivement humainement difficile,…

Jérémy Decool
Qu'est-ce qu'un « bon code » à l'ère de l'IA ?

Qu'est-ce qu'un « bon code » à l'ère de l'IA ?

La semaine dernière, je faisais référence au mantra “code is cheap”. Depuis, j’ai trouvé le projet “Agentic Engineering Patterns” de Simon Willison qui documente les patterns pratiques pour travailler et obtenir les meilleurs résultats possibles avec l’IA. On y retrouve une section “Writing code is cheap now” avec toute fois une nuance que je partage: “Good code still has a cost”. Ce qu’il y explique a pour moi toujours était vrai même avant l’IA. Écrire du code est facile, mais écrire du bon…

Jérémy Decool
Profilez vos tests PHPUnit avec OpenTelemetry

Profilez vos tests PHPUnit avec OpenTelemetry

Un projet de développement informatique qui grossit, c’est une base de code qui grossit par la même occasion et la batterie de tests qui évolue en conséquence. On ajoute des tests semaine après semaine, les temps d’exécution s’allongent. Et puis, à un moment, la CI s’arrête net: Allowed memory size exhausted. Le premier réflexe est alors d’augmenter la mémoire allouée à PHP. Et ce cycle peut continuer un certain temps, jusqu’au moment où l’on atteint des seuils critiques. Je l’ai rencontré dans…

Jérémy Decool
L'IA accélère l'écriture du code, pas sa criticité

L'IA accélère l'écriture du code, pas sa criticité

L’une des phrases que j’entends le plus ces derniers temps est: « code is cheap », à savoir que le code ne coûte plus grand-chose à produire et qu’il n’a plus de valeur. Je ne suis que partiellement d’accord avec ça. On fait également beaucoup l’analogie du prompt qui génère du code, tout comme le code est transformé en assembleur. Au final, c’est une nouvelle couche d’abstraction qui permet de se concentrer sur l’essentiel, ce que l’on souhaite « produire ». Là où je ne suis pas tout à fait…

Jérémy Decool
La meilleure technologie, c'est celle que l'équipe maîtrise

La meilleure technologie, c'est celle que l'équipe maîtrise

Lorsque l’on doit résoudre un problème technique, il est tentant de chercher la solution la plus adaptée. Celle qui répond le mieux aux contraintes identifiées. Pourtant, il peut arriver que la meilleure technologie ne soit pas celle qui colle parfaitement au problème. Choisir une technologie, c’est prendre en compte plusieurs facteurs tels que: les compétences de l’équipe, le temps disponible et la tolérance au risque du projet. Quand les délais sont contraints, le choix doit l’être aussi. La…

Jérémy Decool
Utiliser PHP avec Airflow

Utiliser PHP avec Airflow

Je travaille actuellement sur un projet orienté BI pour lequel des scripts d’analyse et de visualisation de données sont écrits en Python et sont orchestrés par Apache Airflow. Airflow est un outil Python, initialement conçu et pensé pour l’écosystème Python. Mais travaillant essentiellement en PHP, je me suis demandé s’il était possible d’y faire tourner des scripts PHP. 🇻🇬 This blog post is also available in English. En parcourant la documentation d’Airflow, on peut se rendre compte que…

Jérémy Decool
L'outil n'est pas la compétence

L'outil n'est pas la compétence

L’IA a changé (comme pour beaucoup, je pense) ma manière de travailler. Pas seulement dans ma façon d’écrire du code, mais aussi dans les outils que j’utilise au quotidien. Ce billet a été initialement publié sur LinkedIn Voir la publication originale Cette dernière est republiée ici afin de ne pas dépendre entièrement d'une plateforme tierce. Je passe aujourd’hui beaucoup plus de temps dans mon terminal et dans des éditeurs comme Zed ou VS Code. Les outils, tels que Claude Code, Codex ou…

Jérémy Decool
Faire des requêtes CTE avec Doctrine ORM en PHP

Faire des requêtes CTE avec Doctrine ORM en PHP

J’ai déjà évoqué sur ce blog que le développement “moderne” avec les ORM masque les fonctionnalités avancées des SGBD au point que dorénavant les développeurs ne maitrisent et ne connaissent guère plus que le classique SELECT ... FROM ... WHERE .... Dans les mécanismes méconnus et qui pourtant, pourrait permettre de soulager certains traitements applicatifs, on retrouve les CTE (Common Table Expressions). Voyons comment les utiliser avec Doctrine ORM en PHP. Commençons par expliquer ce qu’est…

Jérémy Decool
Être développeur, c'est résoudre des problèmes, pas écrire du code

Être développeur, c'est résoudre des problèmes, pas écrire du code

Je constate que de plus en plus de développeurs s’interrogent sur leur avenir face à l’IA. Je ne parle pas de simplement s’inquiéter de la perte de leur emploi, mais une remise en question qui va jusqu’à changer de métier. Ce billet a été initialement publié sur LinkedIn Voir la publication originale Cette dernière est republiée ici afin de ne pas dépendre entièrement d'une plateforme tierce. Ce n’est pas mon cas. Ce qui m’a toujours attiré, c’est de résoudre des problèmes, de réfléchir à une…

Jérémy Decool
Se former à un nouveau langage à l'ère de l'IA

Se former à un nouveau langage à l'ère de l'IA

C’est une habitude que j’ai depuis longtemps, je m’intéresse de manière plus ou moins assidue, chaque année à un langage de programmation autre que mon langage principal que j’utilise professionnellement. Ruby, Elixir, Rust, Go, Python ou encore Typescript. Cette année, ça sera C#. Mais à une période où l’intelligence artificielle écrit de plus en plus de code à notre place, est-ce qu’apprendre et explorer un nouveau langage a-t-il encore du sens ? 🇻🇬 This blog post is also available in…

Jérémy Decool
Quand personne ne répare la CI, ce n'est pas un bug. C'est un choix.

Quand personne ne répare la CI, ce n'est pas un bug. C'est un choix.

J’ai connu des équipes dans lesquels, quand on arrivait le matin, on pouvait constater que la branche principale était cassée depuis plusieurs jours. La CI (eg. l’intégration continue) échouait en continu, et personne dans l’équipe ne semblait s’en inquiéter. Quand on vit cette situation, ce n’est plus un problème technique, c’est un problème de culture. Ce billet a été initialement publié sur LinkedIn Voir la publication originale Cette dernière est republiée ici afin de ne pas dépendre…

Jérémy Decool