Tous les articles de type: Développement

Couverture de l'article Event Bus : Le secret d'une architecture Symfony réellement découplée
Event Bus : Le secret d'une architecture Symfony réellement découplée

Il y a 7 jours

Imaginez : votre utilisateur clique sur "Commander". En coulisses, le domaine Stock doit décrémenter les quantités, le domaine Facturation doit générer une facture, et le domaine Notification doit envoyer un email de confirmation. Trois domaines, une seule action... et un spaghetti de dépendances en perspective. 🍝

Et si ces domaines pouvaient collaborer sans jamais se connaître ?

C'est exactement ce que permet l'Event Bus. Mais avant de foncer tête baissée, une question se pose : Symfony propose déjà l'EventDispatcher pour gérer les événements. Alors pourquoi introduire un nouveau concept ?

Spoiler : ce ne sont pas les mêmes outils, et les confondre peut vous coûter cher.

Dans cet article, nous allons démystifier leurs différences et découvrir comment l'Event Bus de Symfony Messenger vous permet de construire une architecture réellement découplée.

Ce que vous allez apprendre :

  • Les différences fondamentales entre EventDispatcher et Event Bus
  • Quand utiliser l'un plutôt que l'autre
  • Comment configurer un Event Bus avec Symfony Messenger
  • Créer une architecture événementielle découplée
Couverture de l'article CQRS avec Symfony Messenger : Domptez la complexité de vos applications
CQRS avec Symfony Messenger : Domptez la complexité de vos applications

Il y a 3 semaines

Vous êtes-vous déjà retrouvé face à un controller Symfony surchargé qui gère à la fois la validation, la logique métier, la persistence et les réponses HTTP ? Si oui, le CQRS est fait pour vous !

Le CQRS (Command Query Responsibility Segregation) est un pattern architectural qui sépare clairement les opérations d'écriture (Commands) et de lecture (Queries). Combiné avec Symfony Messenger, il vous permet de :

  • Organiser votre code de manière claire et maintenable
  • Séparer les responsabilités pour respecter les principes SOLID
  • Valider vos données avant même qu'elles n'atteignent votre logique métier
  • Gérer les transactions de base de données de manière élégante
  • Préparer votre application pour l'asynchrone sans effort

Dans cet article, nous allons explorer les Commands (écriture) et les Queries (lecture) à travers un exemple concret de gestion de bibliothèque.

Couverture de l'article LockPass : automatiser la sauvegarde des mots de passe
LockPass : automatiser la sauvegarde des mots de passe
Développement

Il y a 2 mois

Chez Wanadev, on a récemment changé de gestionnaire de mot de passe. On est passés de la solution états-unienne Zoho Vault à LockPass, édité par l'entreprise française LockSelf.

Aussi fiable que puisse être le prestataire choisi, il est essentiel pour nous d'avoir une sauvegarde de nos mots de passe en dehors de chez lui pour ne pas nous retrouver dans la panade le jour où il y a un souci.

Couverture de l'article Figma Make : enfin une passerelle prometteuse entre design et code grâce à l'IA
Figma Make : enfin une passerelle prometteuse entre design et code grâce à l'IA

Il y a 8 mois

Depuis quelques années, les outils d'IA pour générer des intégrations d'interfaces à partir de maquettes fleurissent. On en a testé plusieurs chez WanadevDigital : de Locofy à Uizard, en passant par Framer AI. Tous ont leurs qualités, mais jusqu’ici, il manquait un vrai pont stable entre les intentions du designer et la réalité du code front.

L’arrivée de Figma Make change la donne. Et si je devais résumer son impact en une phrase : ça fonctionne, et ça fonctionne pour tout le monde, designers, développeurs et intégrateurs !

Couverture de l'article Maîtriser la traduction (i18n) dans un projet web - Partie 2 : Conseils pour une localisation gérable et évolutive
Maîtriser la traduction (i18n) dans un projet web - Partie 2 : Conseils pour une localisation gérable et évolutive

Il y a 11 mois

Dans la partie 1, nous nous sommes concentrés sur la mise en place d'une base solide pour la gestion des traductions dans un projet Vue. Maintenant que votre système de traduction est opérationnel, il est temps d'examiner de plus près comment structurer, gérer et faire évoluer vos fichiers de traduction de manière efficace.

Cette partie couvrira les bonnes pratiques que nous utilisons chez Wanadev pour créer des clés de traduction maintenables, éviter les pièges courants et garantir que vos fichiers de traduction restent propres et évolutifs au fur et à mesure que votre projet grandit.

Couverture de l'article Maîtriser la traduction (i18n) dans un projet web - Partie 1 : Configurer proprement
Maîtriser la traduction (i18n) dans un projet web - Partie 1 : Configurer proprement

Il y a 11 mois

Mettre en place l'internationalisation (i18n) dans un projet web peut sembler simple. Cependant, de nombreux projets se retrouvent avec des configurations de traduction mal gérées, difficiles à maintenir ou à faire évoluer à mesure que l'application grandit. Une stratégie i18n robuste est essentielle pour offrir une expérience utilisateur fluide dans plusieurs langues.

Je vous décris ici, les pratiques que nous avons établies chez Wanadev au fil des années d'expérience pour mettre en œuvre et gérer les traductions dans les projets Vue. Bien que les exemples soient spécifiques à Vue, la plupart de ces pratiques peuvent être appliquées à n'importe quel framework.

Couverture de l'article Créez votre assistant personnel grâce à Gmail et ChatGPT 4
Créez votre assistant personnel grâce à Gmail et ChatGPT 4

Il y a 2 ans

Les LLMs, ou Large Language Models, comme ChatGPT, Llama2, Claude ou encore Mistral nous donne un avant-goût du futur des assistants virtuels tels que nous les connaissons avec Google, Siri ou Alexa. Pourtant, il manque une sacrée touche personnelle avec ces assistants nouvelle génération. Même si OpenAI a mis en place un système permettant d’à peu près personnaliser son expérience avec ChatGPT, nous sommes loin d’avoir des IA qui nous connaissent réellement. La raison est assez simple : ceux-ci n’ont pas accès à vos données. Et si on aidait ces LLMs si puissant en leur donnant des données pour qu’ils sachent répondre à des requêtes très personnalisées ?

Couverture de l'article Testez vos tests PHP avec Infection
Testez vos tests PHP avec Infection

Il y a 3 ans

Il y a quelques semaines, nous vous parlions des tests fonctionnels avec Behat et Symfony. Parallèlement à ça, nous avons renforcé la qualité de nos tests unitaires grâce à ce que l'on appelle des tests de mutation. Voyons comment Infection à apporter la confiance en nos tests qu'il nous manquait !

Couverture de l'article Le BDD (Behavior Driven Development) avec Behat et Symfony
Le BDD (Behavior Driven Development) avec Behat et Symfony

Il y a 3 ans

Le sujet des tests fonctionnels est une (longue) histoire chez Wanadev. Notre projet Kazaplan grossissant de plus en plus, nous sommes obligés d'adopter une politique de tests plus en plus stricte au fur et à mesure de l'avancement du projet.

Couverture de l'article #4 - Construire un DOM Virtuel, les différentes méthodes de rendu et bien écrire ses tests : retour de la Vue.js Amsterdam 2023
#4 - Construire un DOM Virtuel, les différentes méthodes de rendu et bien écrire ses tests : retour de la Vue.js Amsterdam 2023

Il y a 3 ans

Pour la première fois, Wanadev s’est rendu à la plus grosse conférence annuelle autour de Vue.js : la Vue.js Amsterdam 2023. J’ai eu l’honneur d’assister à la 5ème édition, couronnée par le retour d’Evan You, le créateur de Vue.js et Vite, en personne.

Dans cette série de quatre articles, je vais vous faire revivre ces deux jours de conférences. En les lisant, vous aurez l’impression d’y avoir assisté !

Cet article est le troisième des quatre, vous pourrez retrouver chaque partie de cette série ici :

Dans cet article nous allons voir comment construire un Virtual DOM, on parlera des différentes façons de faire du rendu dans le web, de comment écrire des bons tests et plein d’autres choses.

Beaucoup de sujets à traiter, alors, c’est parti !