Flux
Toutes les sources

JoliCode

26 articles Flux RSS
Programmation Web
Détecter les régressions visuelles dans la CI avec Playwright et Docker

Détecter les régressions visuelles dans la CI avec Playwright et Docker

Sur un gros site public, le front bouge tout le temps : une migration Tailwind par-ci, un composant React par-là, un bloc CMS qui change de gabarit. Et comme toujours avec le CSS, la modification d’une classe qui semblait anodine peut très bien décaler un bloc trois pages plus loin, sans que personne ne s’en rende compte avant la mise en production. Sur un de nos projets, nous avions déjà des tests Behat pour le fonctionnel, et des tests PHPUnit pour le métier. Mais aucun de ces tests ne disait…

JoliCode
JoliDay 2026 avec du malt, des aiguilles, de la 3D et des copeaux

JoliDay 2026 avec du malt, des aiguilles, de la 3D et des copeaux

Comme tous les ans, nous avons profité d’un jour férié (en application de la journée de solidarité avec les personnes âgées) pour nous retrouver tous ensemble et faire des projets ni Web ni Mobile, mais toujours de qualité 👌. Nous avons un gros faible pour le DIY et retrouvons la même gratification à résoudre des problèmes dans « le monde réel » que dans nos projets du quotidien ! Dans cet article, nous vous présentons les différents projets réalisés en une journée par les JoliCodeuses et…

JoliCode
JoliMediaSyliusBundle, a New Bridge for Your Sylius Projects

JoliMediaSyliusBundle, a New Bridge for Your Sylius Projects

Does the excellent Sylius E-commerce framework even need an introduction? If Sylius has established itself in the e-commerce ecosystem, it's largely thanks to its ability to adapt to a wide variety of business needs without imposing a rigid architecture. Its extension system allows for gradual feature evolution while preserving the framework's core mechanisms. Late last year, we launched JoliMediaBundle, a Symfony bundle dedicated to managing media libraries. It already came with two bridges…

JoliCode
JoliMediaSyliusBundle, un nouveau bridge pour vos projets Sylius

JoliMediaSyliusBundle, un nouveau bridge pour vos projets Sylius

Est-il encore nécessaire de présenter l’excellent framework E-commerce Sylius ? Si Sylius s’est imposé dans l’écosystème e-commerce, c’est notamment grâce à sa capacité à s’adapter à des besoins métier très variés sans imposer une architecture rigide. Son système d’extensions permet de faire évoluer progressivement les fonctionnalités tout en conservant les mécanismes du cœur du framework. Fin d'année dernière, nous avons lancé le JoliMediaBundle, un bundle Symfony dédié à la gestion de…

JoliCode
Accélérer votre CI : mettre en cache l’état de la base de données

Accélérer votre CI : mettre en cache l’état de la base de données

Il y a quelques années, j’écrivais Accélérer votre intégration continue. L’article passait en revue tout un tas de techniques pour rendre une CI plus rapide : cache Composer, cache Yarn, layers Docker, parallélisation, tmpDir de PHPStan… et, tout en bas de la liste, une idée un peu à part : plutôt que de rejouer les fixtures à chaque build, charger un dump SQL pré-généré. L’idée est séduisante, mais sous sa forme la plus simple (un dump statique, versionné, régénéré à la main) elle a un défaut…

JoliCode
Customizing Sylius Grids - Improved DX with Grid Mutators

Customizing Sylius Grids - Improved DX with Grid Mutators

In Sylius, grids handle back-office list rendering: data fetching, column definitions, filters, actions, and more. Sylius E-commerce ships with a large number of ready-to-use grids that can be customized to fit your project's needs. Until now, customization mainly relied on YAML configuration overrides or Grid events. These approaches still work, but they quickly hit their limits when you need to introduce business logic or benefit from a more modern, pleasant API. With the upcoming release of…

JoliCode
Customiser les grilles Sylius - DX améliorée avec les Grid mutators

Customiser les grilles Sylius - DX améliorée avec les Grid mutators

Dans Sylius, les grilles sont responsables de l'affichage des listes du back-office : récupération des données, définition des colonnes, filtres, actions... Sylius E-commerce fournit un grand nombre de grilles prêtes à l'emploi, qu'il est possible de personnaliser pour répondre aux besoins de votre projet. Jusqu'à présent, cette personnalisation reposait principalement sur des surcharges de configuration YAML ou sur les Grid events. Ces approches fonctionnent toujours, mais elles atteignent…

JoliCode
Profiler un consumer avec Blackfire

Profiler un consumer avec Blackfire

Quand on parle de profiling PHP avec Blackfire, on pense généralement à une requête HTTP : un clic sur l'extension navigateur, et hop, le profil apparaît. Mais que faire quand le code à profiler tourne dans un consumer ou un worker ; une commande Symfony qui boucle indéfiniment, consommant une queue ou traitant des tâches en background ? La bonne nouvelle : Blackfire peut fonctionner dans ce contexte. La moins bonne : on ne peut pas déclencher le profiling au moment où ça nous arrange... sauf…

JoliCode
Améliorer l’accessibilité d’un site existant : retour d’expérience chez JoliCode

Améliorer l’accessibilité d’un site existant : retour d’expérience chez JoliCode

Malgré des avancées réglementaires importantes, l’accessibilité numérique reste largement sous-estimée dans de nombreux projets web. Depuis le 28 juin 2025, l’European Accessibility Act (EAA) étend les obligations d’accessibilité à de nombreux services numériques privés. Pourtant, la réalité est encore loin des objectifs fixés : selon l’Observatoire du respect des obligations d’accessibilité numérique, seuls 44 sites sur 7 560 contrôlés déclarent être totalement conformes au référentiel général…

JoliCode
UX Days 2026 : Design, IA et conscience, ce que cette journée nous a appris sur notre métier

UX Days 2026 : Design, IA et conscience, ce que cette journée nous a appris sur notre métier

L'intelligence artificielle redessine nos métiers. C'est le constat que partagent aujourd'hui designers, développeurs et product managers. Les UX Days 2026 n'ont pas échappé à cette réalité. Parmi les nombreuses conférences de la journée, six nous ont particulièrement marqués et partageaient un fil rouge : comment concevoir avec conscience à l'ère de l'IA ? Keynote d'ouverture avec Pablo Ruiz-Múzquiz : L'avenir du design UX est-il l’open source ? La matinée s'est ouverte avec Pablo…

JoliCode
Comprendre (enfin) les TTY et PTY avec le composant Process de Symfony

Comprendre (enfin) les TTY et PTY avec le composant Process de Symfony

Vous est-il déjà arrivé de lancer une commande (composer, rsync ou une commande Symfony) directement dans votre terminal pour y admirer de jolies barres de progression colorées, mais de constater que cette même commande, une fois exécutée via un script PHP, perdait soudainement tout son formatage ? C’est un grand classique lorsque l'on utilise le composant Process de Symfony. Pour comprendre l'origine de ce comportement (et surtout comment y remédier), il faut plonger un instant dans la façon…

JoliCode
Comment utiliser les attributs PHP sur un contrôleur Symfony ?

Comment utiliser les attributs PHP sur un contrôleur Symfony ?

PHP 8.0 a introduit les attributs, et c'est une excellente fonctionnalité ! Le code devient plus lisible, plus simple à écrire, et bénéficie pleinement de la coloration syntaxique et du linting de notre IDE. Symfony a très vite adopté cette nouveauté. On les utilise aujourd'hui partout : pour configurer les routes, ajouter des contraintes de validation ou déclarer des listeners. Dans cet article, nous allons voir comment créer et ajouter un attribut PHP personnalisé sur un contrôleur pour lui…

JoliCode
Améliorer la maintenance de vos workflows GitHub

Améliorer la maintenance de vos workflows GitHub

Les failles de sécurité liées à la supply chain sont de plus en plus courantes. En tant que mainteneur d'un projet open source populaire, l'enjeu est de taille. Votre code est déployé sur de nombreux serveurs de production et postes de développeurs. Il est donc crucial de garder vos pipelines CI à jour et sécurisés. Le projet open source qui nous importe aujourd'hui est Castor 🦫, que nous vous invitons à découvrir. Pour nous aider dans cette tâche, nous avons choisi zizmor. C'est un outil…

JoliCode
AFUP Day 2026 Paris, retour sur une journée dans l'écosystème PHP

AFUP Day 2026 Paris, retour sur une journée dans l'écosystème PHP

Ce vendredi 22 mai 2026, l'équipe JoliCode était présente à l'AFUP Day 2026 Paris à l'ESGI Paris pour une journée de conférences. L'ambiance était conviviale et studieuse, avec un programme axé sur l'IA, l'architecture et la productivité. Nous avons eu l'honneur de présenter deux sujets, Loïck Piera sur Castor 🦫 et Grégoire Pineau sur Symfony IA. Les temps forts techniques Le programme a couvert des thématiques essentielles qui font évoluer nos pratiques au quotidien, et a aussi rappelé…

JoliCode
Comment intégrer l'IA dans son workflow UX/UI

Comment intégrer l'IA dans son workflow UX/UI

"On a déjà deux agents IA qui tournent en interne." Ce n'est pas en réunion que j'ai entendu ça. C'est en mission chez un client, dans leurs bureaux. Ce genre de phrase, je l'entends de plus en plus souvent maintenant, entre deux écrans, dans les couloirs, pendant la pause déjeuner. L'IA fait désormais partie du quotidien. Quelques semaines plus tard, un autre client nous présente deux pages de maquettes générées par Claude, structure de page et premières intentions de contenu, pour expliquer…

JoliCode