Aller au contenu
Articles

Des cas réels, datés et vérifiables

Pas de billets d'humeur : chaque article part d'un problème que j'ai rencontré sur une application en production, dit comment il a été trouvé, et ce qu'il a coûté. Les commits, les versions et les chiffres sont là pour être vérifiés.

stripeabonnementsaasfacturation

Abonnement Stripe avec engagement : payer au mois, s'engager pour un an

Vous voulez facturer au mois un client qui s'engage pour un an. Stripe sait le faire, mais aucune case « engagement » ne vous attend dans le tableau de bord : l'engagement se construit avec une planification d'abonnement, et la vraie question arrive au moment où le client veut partir avant la fin. Voici comment je le monte, et les trois décisions à prendre avant d'écrire une ligne de code.

Lire l'article

symfonyphpmaintenancelts

Symfony LTS : jusqu'à quand votre version est maintenue, et votre PHP

Symfony 6.4 ne recevra plus de corrections de bugs à partir de novembre 2026. La 5.4, pourtant plus ancienne, garde ses correctifs de sécurité jusqu'en février 2029. Et dans les deux cas, la date qui arrive en premier est souvent celle de PHP. Voici les dates officielles, relues le 18 septembre 2026, et ce qu'elles changent pour une application en production.

Lire l'article

symfonyphpmigrationdette technique

Migrer sans geler l'équipe : l'ordre des paliers, et celui de PHP

Une application en production, Symfony 4.4, un composer.json qui réclame PHP 7.2, et la phrase qu'on entend à chaque fois : « on ne peut pas monter PHP tant qu'on n'a pas monté Symfony ». C'est presque toujours faux, et ça se vérifie en une commande. Voici l'ordre dans lequel je fais les paliers, et pourquoi celui-là permet de déployer chaque semaine au lieu de disparaître six mois.

Lire l'article

reprise de projetauditsymfonymigration de données

Reprendre le code de quelqu'un d'autre : ce qu'on lit avant de dire oui

Le 30 avril 2026, avant de toucher une ligne, j'ai écrit un état des lieux de 471 lignes sur un site de vente en ligne en production depuis 2019. Pas par goût de la paperasse : parce que presque tout ce qui pouvait tuer ce projet était en dehors du dépôt. Voici ce que je lis, dans quel ordre, et ce que j'ai refusé de chiffrer tant que je ne l'avais pas.

Lire l'article

symfonysecuriteoauthretention

Le bug d'authentification que le développeur ne peut pas voir

Sur une de mes applications, 378 des 533 inscrits se connectaient par Google. Tous étaient déconnectés toutes les trente minutes, depuis le premier jour. Personne ne l'avait signalé, et surtout : je ne pouvais pas le voir, parce que mon propre compte de test n'était pas concerné. Voici comment un bug pareil survit des mois, et par quel bout on le trouve.

Lire l'article