Aller au contenu principal

Articles

Blog — Architecture web, Symfony et DevOps

Retrouvez mes réflexions sur l'ingénierie logicielle, les meilleures pratiques et l'actualité tech.

59 articles · page 2/5

Technique · Architecture · · 13 min

Partager du code entre cinq applications sans les coupler

Copier-coller les mêmes utilitaires entre projets fait diverger le code ; la librairie commune mal conçue couple tout ce qu'elle touche. Entre ces deux échecs, il existe une voie étroite et documentée. Ce retour d'expérience décortique une librairie PHP interne partagée entre cinq applications Symfony d'un grand opérateur télécom : trois ans de vie, vingt-sept versions, un seul changement cassant dans l'API du quotidien. Au programme, les quatre décisions qui rendent la mutualisation rentable — soft dependencies pour ne payer que ce qu'on consomme, bridges interface + fake déterministe, rétrocompatibilité additive par défaut et changelog qui remplace les réunions — ainsi que les critères, tout aussi importants, pour savoir ce qu'il ne faut pas mutualiser.

Technique · Infrastructure · · 12 min

Dimensionner PHP-FPM sur Kubernetes : le throttling invisible

L'application est lente, les dashboards sont verts et le CPU semble à peine utilisé : c'est la signature du CPU throttling, un phénomène que les graphes de supervision standard ne montrent jamais. Sur une application Symfony déployée sur OpenShift pour un grand opérateur télécom, une seule commande — lire cpu.stat dans le cgroup du pod — a révélé 89 % de fenêtres CPU throttlées et 16 secondes d'attente pour chaque seconde de calcul. Cet article déroule le diagnostic et la correction complète : la limite CPU et le pool PHP-FPM qui se masquaient mutuellement, l'équation mémoire des workers, l'OPcache qui évinçait en boucle et le mpm_prefork imposé en douce par un paquet Debian. Résultat mesuré : 0 % de throttling, sans ajouter un seul nœud au cluster.

Technique · Infrastructure · · 14 min

Déployer en journée sans couper le service

Un déploiement qui exige une coupure de service est un déploiement qu'on repousse — donc rare, donc gros, donc risqué. Sur une application Symfony déployée sur OpenShift pour un grand opérateur télécom, la mise en production se fait désormais en pleine journée, sans aucune interruption, grâce à un rolling update orchestré par GitLab CI et to-be-continuous. Cet article détaille les quatre ingrédients du zero-downtime — replicas, stratégie de bascule, probes honnêtes, attente vérifiée du rollout — et les pièges qui n'apparaissent que lorsque deux versions cohabitent : migrations additives, sessions dans Redis, workers Messenger et CronJobs suspendus. Avec, en bonus, un arbitrage honnête face au blue/green.

Technique · Infrastructure · Développement · · 15 min

Tester l'image Docker de prod avec des e2e en CI

Le container déployé en production n'est jamais exactement le code testé en CI : dépendances sans dev, build des assets, configuration serveur, entrypoint… Sur une application Symfony déployée sur OpenShift pour un grand opérateur télécom, la suite e2e Playwright s'exécute désormais directement contre l'image de production fraîchement construite, comme service GitLab CI, avant toute publication. Cet article détaille l'architecture complète — bundles dev-only pour rendre l'image démarrable en test, dump SQL versionné pour des données déterministes, Mailpit pour les emails — et les pièges concrets rencontrés, dont un TLD préchargé HSTS dans Chromium.

Décideurs · Actualités · · 5 min

x10, sponsor Chocolat du Forum PHP 2026

Les 8 et 9 octobre 2026, x10 sera de nouveau sponsor Chocolat du Forum PHP, organisé par l'AFUP à l'Hôtel New York — The Art of Marvel à Disneyland Paris. Après l'édition 2025, ce sponsoring reconduit s'inscrit dans presque 13 ans d'adhésion à l'association et traduit un engagement dans la durée : veille technologique de premier plan, ancrage dans l'écosystème PHP/Symfony et réseau de confiance mobilisable au service des clients.

Décideurs · Prestataires · Méthodologie · · 12 min

Plus de 10 ans de prestation freelance pour Orange

Août 2015, premier commit. Avril 2026, toujours en mission. Plus de 10 ans de prestation freelance continue pour la direction technique d'Orange : 5 projets, des migrations Symfony 2 à 6.4, un passage sur OpenShift, une image Docker maison et une librairie PHP partagée. Cet article est un retour d'expérience sur ce qui fait durer une relation freelance/grand compte sur la durée : confiance mutuelle, autonomie, résultats constants et zéro raccourci technique.

Décideurs · Stratégie · Architecture · · 13 min

Akeneo vs PIM sur mesure : les limites du standard

Akeneo est le PIM open source de référence, mais il ne couvre pas tous les besoins. En tant que CTO d'un PIM sur mesure intégrant PIM, DAM, CMS et Hub, je compare les deux approches sur des critères concrets : flexibilité du modèle de données, intégration multi-canal, coût total sur 5 ans, dépendance éditeur et écosystème. L'article propose aussi l'approche hybride qui fonctionne le plus souvent : Akeneo pour le cœur PIM, du sur mesure pour les 20 % restants.

Décideurs · Stratégie · Développement · · 12 min

WooCommerce, PrestaShop ou Magento : lequel choisir

WooCommerce, PrestaShop, Magento : trois plateformes e-commerce open source qui couvrent des besoins très différents. Cet article n'est pas un comparatif de fonctionnalités mais un avis de terrain, forgé en construisant des connecteurs PIM vers chacune de ces plateformes. Taille de catalogue, coûts d'hébergement, qualité des API, complexité de développement et écosystème français : les critères concrets pour un choix éclairé.

Décideurs · Architecture · Stratégie · · 14 min

Vendre sur les marketplaces via PIM et Shopping Feed

Vendre sur cinq marketplaces en parallèle, c'est maintenir cinq catalogues, synchroniser cinq stocks et traiter cinq flux de commandes. Cet article documente l'architecture Hub d'une plateforme PIM SaaS : flux produit vers Amazon, ManoMano, eBay et Cdiscount, import centralisé des commandes, synchronisation des stocks en quasi temps réel et orchestration des tâches planifiées. Un retour d'expérience de quatre ans sur l'automatisation du e-commerce multi-canal.

Technique · Architecture · Développement · · 15 min

Connecter un PIM à PrestaShop et Magento : REX

En tant que CTO d'une plateforme PIM/DAM SaaS, j'ai conçu et maintenu pendant quatre ans les connecteurs qui synchronisaient les catalogues des clients vers PrestaShop et Magento. Cet article détaille l'architecture en quatre couches (source → mapping → format → adapter), le traitement des variantes et déclinaisons, le streaming par générateurs PHP pour les gros catalogues, et les patterns de gestion d'erreurs qui ont survécu à la production.

Décideurs · Architecture · Stratégie · · 14 min

Connecter un SI à une application web sur mesure

Une application web sur mesure n'existe jamais en isolation. Elle doit s'intégrer au SI existant : ERP, CRM, SIRH, outils comptables. Cet article détaille les stratégies d'intégration (point à point, middleware, ESB, iPaaS), les patterns de synchronisation (temps réel vs batch, source de vérité, gestion des conflits), les contraintes techniques (formats hétérogènes, authentification, volumétrie) et les erreurs classiques (couplage fort, absence de monitoring, synchronisation bidirectionnelle mal maîtrisée).

Technique · Architecture · Infrastructure · · 12 min

Webhooks vs polling : intégrations temps réel

Quand deux systèmes doivent communiquer en temps réel, deux approches s'opposent : le polling (interrogation périodique) et les webhooks (notification push). Cet article compare les deux sur des critères concrets — latence, charge serveur, fiabilité, complexité d'implémentation — et détaille l'architecture d'un récepteur de webhooks robuste (idempotence, retry, signature, file d'attente). Il propose une stratégie hybride pour les cas où ni l'un ni l'autre ne suffit seul.

Contact

Un sujet vous intéresse ?

Vous avez une question technique ou souhaitez approfondir un sujet abordé dans ces articles ? N'hésitez pas à me contacter pour en discuter.

Me contacter arrow_forward