contact@sabrineferchichi.fr
100%
🇫🇷 FR
  • 🇺🇸 English
  • 🇫🇷 Français
SF Sabrine F. Portfolio
Contact
  • Portfolio
  • Blog
  • À propos
Contact
SF Sabrine F. Portfolio
  • À propos
  • Portfolio
  • Blog
  • Contact
Langues
🇺🇸 English 🇫🇷 Français
Accessibilité
100%

Sylius V2 - Compatibilité avec Symfony 7

  1. Accueil
  2. Blog
  3. Sylius V2 - Compatibilité avec Symfony 7
Sylius V2 - Compatibilité avec Symfony 7

La sortie de Sylius V2 marque une avancée majeure pour les développeurs e-commerce. Désormais compatible avec Symfony 7, cette version offre des performances inégalées, un code simplifié et des outils innovants pour accélérer vos projets PHP.

Performances accrues grâce à Symfony 7

La compatibilité avec Symfony 7 permet à Sylius V2 de tirer parti des optimisations majeures en termes de gestion des requêtes, d’exécution du code et de gestion de la mémoire. Ces améliorations rendent les applications plus réactives et scalables.

Les nouveautés de Symfony 7

Early Hints pour une navigation rapide

Les "Early Hints" représentent l'une des techniques les plus récentes et les plus efficaces pour améliorer l'expérience utilisateur en optimisant les performances perçues de vos sites web et applications. Grâce aux "Early Hints", les serveurs peuvent indiquer aux navigateurs quelles ressources essentielles (telles que les fichiers CSS, JavaScript, polices web, etc.) doivent commencer à être chargées immédiatement, avant même que la réponse complète du serveur ne soit prête.

Comment fonctionnent les Early Hints ?

D'un point de vue technique, les Early Hints utilisent une réponse HTTP avec le code de statut 103. Cette réponse contient des en-têtes HTTP qui précisent les ressources à précharger. Par exemple, un serveur pourrait informer le navigateur qu'il doit commencer à charger certains fichiers CSS ou JS avant même de recevoir la réponse complète :

103 Early Hints
Link: ; rel=preconnect
Link: ; rel=preload; as=style
Link: ; rel=preload; as=script

Ces en-têtes permettent au navigateur de préparer ces ressources avant même que la page complète soit envoyée. Bien que ces ressources soient également envoyées dans la réponse complète, leur pré-chargement rapide améliore de manière significative la performance perçue de la page.

D'après des études de Cloudflare, cette méthode peut entraîner une amélioration de la performance allant de 10% à 20% en fonction du type de site web.

Implémentation des Early Hints dans Symfony

Symfony 7 facilite l'intégration des Early Hints grâce à la méthode pratique sendEarlyHints(), disponible dans la classe AbstractController. Voici un exemple de la manière dont vous pouvez l'utiliser pour pré-charger des ressources :

Early Hints

La méthode sendEarlyHints() permet de créer et d'envoyer une réponse HTTP avec un code 103 pour les Early Hints, puis retourne l'objet Response que vous pouvez utiliser pour envoyer la réponse complète de la page.

Gestion des assets simplifiée

Avec Symfony 7, AssetMapper vous permet de créer un frontend moderne en exploitant les dernières normes web telles que les modules ECMAScript (ESM), les importmaps et le préchargement des ressources, sans avoir besoin d'outils de construction complexes ou de configuration Node. Cette approche simplifie considérablement l'intégration des fichiers JavaScript et CSS dans votre application, vous permettant de vous concentrer davantage sur la logique métier et moins sur la configuration.

1. Installer les packages JavaScript dans votre application
composer require symfony/asset-mapper
php bin/console importmap:require js-confetti
2. Utiliser les packages immédiatement
// assets/app.js
import JSConfetti from 'js-confetti';

const jsConfetti = new JSConfetti();
jsConfetti.addConfetti();

Comme vous pouvez le voir, avec AssetMapper, l'ajout de nouvelles bibliothèques JavaScript devient un jeu d'enfant. Il suffit d'importer la bibliothèque, de l'initialiser, puis de l'utiliser. Aucune configuration complexe n'est nécessaire, et cela fonctionne directement lors du rechargement de la page.

Profilage des commandes console

Le Symfony Profiler est l'un des outils les plus appréciés des développeurs Symfony. Il collecte toutes les informations relatives aux requêtes HTTP, ce qui permet de les inspecter facilement lors de l'identification des problèmes dans une application. Cependant, à partir de Symfony 6.4 et 7.0, il devient encore plus puissant en offrant la possibilité de profiler également les commandes console.

Profilage des commandes console avec Symfony 7

Le profilage des commandes console permet aux développeurs d'analyser le comportement de leurs commandes personnalisées, d'inspecter leur exécution et d'optimiser leur performance. Voici comment vous pouvez en profiter :

Utilisation de l'option --profile

Pour profiler une commande, il suffit d'ajouter l'option --profile lors de son exécution :

php bin/console --profile app:my-command

Lorsque cette option est activée et que le mode de débogage est activé dans votre application, Symfony collecte les informations relatives à la commande en cours d'exécution. Une fois que la commande est terminée (ou interrompue), vous pouvez consulter son profil dans le même Symfony Profiler que celui utilisé pour les requêtes HTTP.

Afficher le profil dans la console

Si vous exécutez la commande en mode verbeux (-v), Symfony affichera un lien cliquable vers le profil de la commande dans la sortie de la console (si votre terminal supporte les liens). En mode de débogage plus détaillé (-vvv), vous pourrez également voir le temps et la mémoire consommés par la commande, ce qui vous permet d'optimiser les performances des commandes personnalisées.

Exemple d'utilisation

Voici un exemple d'utilisation de cette fonctionnalité dans un terminal :

php bin/console --profile app:my-command

En ajoutant l'option --profile, Symfony va collecter et afficher des informations sur l'exécution de la commande. Après l'exécution, vous pouvez accéder à un rapport détaillé directement dans le Profiler Symfony pour analyser la performance de votre commande.

Command Profiler

Webhooks et RemoteEvent

Les Webhooks permettent aux applications de réagir à des événements externes sans avoir besoin de constamment interroger des services tiers. Symfony 7 introduit un nouveau composant Webhook et un composant RemoteEvent pour intégrer facilement des notifications d'événements externes et améliorer la réactivité des applications.

Un webhook est une fonction qui vous permet de recevoir une notification en temps réel lorsque des événements externes se produisent. Par exemple, lorsqu'une mise à jour est effectuée sur un dépôt GitHub, un webhook peut être utilisé pour informer immédiatement votre application afin de traiter cette mise à jour.

Voici un exemple de la manière dont vous pouvez configurer un Webhook dans Symfony 7 :

webhook

Dans cet exemple, nous utilisons un parseur pour analyser la requête et vérifier que le contenu correspond aux critères définis. Ensuite, nous créons un événement qui peut être consommé par une autre partie de l'application.

Consommer un Webhook dans Symfony

Après avoir défini un Webhook, vous pouvez le consommer avec un gestionnaire d'événements comme suit :

webhook consumption

Access Token simplifié

Symfony 7 facilite l’intégration des APIs sécurisées avec des jetons d’accès. L’introduction d’un authentificateur natif pour les jetons d’accès simplifie leur gestion et leur utilisation dans les applications.

Le composant Clock

Le composant Clock permet d’abstraire la gestion du temps lors des tests. Il offre différentes options, comme MockClock pour simuler une fausse horloge et MonotonicClock pour des analyses de performances plus précises.

Sylius V2, en combinaison avec Symfony 7, représente un véritable tournant pour les développeurs. Non seulement la compatibilité avec Symfony 7 améliore la performance, mais elle facilite aussi le développement avec un code plus simple et plus modulaire. L’adoption des meilleures pratiques et l’intégration des nouveautés de Symfony 7 assurent une base solide pour la création d’applications robustes et évolutives. Cette mise à jour est un pas de plus vers un écosystème plus performant et maintenable.

  • Aucun commentaire
  • Aucun j'aime
Précédent

Sylius V2 - Alternative à Winzou State Machine Symfony Workflow

Suivant

Sylius V2 - Une nouvelle ère d'interactivité avec Symfony UX

Sabrine FERCHICHI

Sabrine FERCHICHI

Lead développeuse experte Sylius et certifiée Scrum Developer Agile. Spécialisée dans la conception d'architectures e-commerce robustes, je partage ici ma veille technologique et mes retours d'expérience axés prioritairement sur l'écosystème Sylius et Symfony.

Aucun commentaire

Laisser un commentaire

Derniers articles

Sylius V2 - Simplificatio...

Sylius V2 - Simplification des paiements...

25 déc. 2025

Sylius V2 - Nouveaux UI A...

Sylius V2 - Nouveaux UI Admin et Fronten...

18 déc. 2025

Sylius V2 - Personnalisat...

Sylius V2 - Personnalisation des templat...

11 déc. 2025

Sylius V2 - Améliorations...

Sylius V2 - Améliorations avec PHP 8 Att...

07 déc. 2025

Sylius V2 - Alternative à...

Sylius V2 - Alternative à Winzou State M...

06 déc. 2025

Sylius V2 - Compatibilité...

Sylius V2 - Compatibilité avec Symfony 7

05 déc. 2025

Tags

Meetup Agile API Développement Web Documentation E-commerce Écosystème Git Intelligence artificielle Meilleures pratiques Outils Performance Plugin Qualité du code RGPD Sécurité Sylius Sylius V2 SyliusCon Symfony Tests UX

Newsletter

Filtres & Recherche

Derniers articles

Sylius V2 - Simplificatio...

Sylius V2 - Simplification des paiements...

25 déc. 2025

Sylius V2 - Nouveaux UI A...

Sylius V2 - Nouveaux UI Admin et Fronten...

18 déc. 2025

Sylius V2 - Personnalisat...

Sylius V2 - Personnalisation des templat...

11 déc. 2025

Sylius V2 - Améliorations...

Sylius V2 - Améliorations avec PHP 8 Att...

07 déc. 2025

Sylius V2 - Alternative à...

Sylius V2 - Alternative à Winzou State M...

06 déc. 2025

Sylius V2 - Compatibilité...

Sylius V2 - Compatibilité avec Symfony 7

05 déc. 2025

Tags

Meetup Agile API Développement Web Documentation E-commerce Écosystème Git Intelligence artificielle Meilleures pratiques Outils Performance Plugin Qualité du code RGPD Sécurité Sylius Sylius V2 SyliusCon Symfony Tests UX

Newsletter

SF Sabrine F. Portfolio

Lead développeuse experte Sylius et certifiée Scrum Developer Agile. Spécialisée dans la conception d'architectures e-commerce robustes, je partage ici ma veille technologique et mes retours d'expérience axés prioritairement sur l'écosystème Sylius et Symfony.

Liens utiles

  • Accueil
  • Portfolio
  • Blog
  • À propos
  • Contact
  • Plan du site

Domaines d'expertise

  • #E-commerce Sylius
  • #Agilité & SCRUM
  • #Architecture Logicielle

Contact

contact@sabrineferchichi.fr

© 2026 Sabrine F. — Tous droits réservés

Conçu avec par Sabrine F.