Couverture de l'article Kit de survie : Les bonnes pratiques Symfony
Retour aux articles

L'agence

WanadevStudio

Kit de survie : Les bonnes pratiques Symfony

Symfony a récemment dévoilé le Best Practices (bonnes pratiques) dans le but d'orienter la manière dont les actuels développeurs ainsi que les futurs.

Introduction aux bonnes pratiques

Sensio a récemment dévoilé le "Best Practices" pour Symfony dans le but d'orienter les développeurs dans leurs manières de générer du code. L'intérêt ? Que le code développé puisse être facilement lisible et qu'il respecte les standards communs. Dans ce document disponible en ligne, Fabien Potencier a réuni diverses sources, dans le but d'homogénéiser les développements autour de Symfony. Que ce soit pour du code distribué, comme des bundles, ou bien du code métier intra-entreprise, le but est qu'un code puisse être lu et compris rapidement par un développeur tiers.

Rassemblant actuellement 31 conseils, ce document, qui ne doit pas être considéré comme un tutoriel, reste en perpétuelle évolution. Par exemple, la prochaine mise à jour de ce document devrait se faire d'ici fin novembre 2014, date de sortie prévue pour Symfony 2.6 (changement sur l'utilisation des services de sécurité entre autres). Il est susceptible d'embarquer de nouveaux conseils et de nouvelles méthodes à l'avenir de par l'évolution rapide du framework full-stack. De plus, Sensio précise dès les premières pages qu'il s'agit d'un guide et non d'une checklist à valider avant déploiement.

Organisation du Best Practices

Découpé en 11 parties, il traite des parties essentielles de Symfony tout en restant pragmatique.

  1. Introduction
  2. Créer un projet
  3. Configuration
  4. Organiser votre application
  5. Contrôleurs
  6. Les templates
  7. Les formulaires
  8. Internationalisation
  9. Sécurité
  10. Assets
  11. Les tests

Dans ces grandes parties, chaque développeur doit pouvoir s'orienter selon ses besoins.

Sensio vous aide à faire vivre votre application

Les 10 parties pratiques du document doivent vous permettre d'orienter vos actions avec un maximum de facilité pour faire vivre votre plateforme.

Démarrer un projet

Déclarer un projet, bien configurer son code sont des choses importantes à faire et à comprendre avant même de se lancer dans du code métier si vous ne voulez pas refactoriser rapidement. Globalement, si l'on suit le conseil de Sensio d'utiliser Composer pour créer son projet et gérer ses dépendances, l’arborescence et les fichiers de configuration basique seront déjà prêts à être utilisés.

Développer intelligemment

Ce document que je vous invite une nouvelle fois à suivre, vous donne dans les parties 5, 6, 7 des astuces qui vous serviront dans la majorité de votre temps de développement. Utiliser le contrôleur de base du Sensio/FrameworkExtraBundle, utiliser les formulaires Symfony pour gérer ses entités, utiliser un gestionnaire de template comme Twig sont tout autant d'éléments qui vous simplifieront vos développements.

Rendre son application accessible

Avec le module d'internationalisation intégré à Twig vous pouvez sans problème mettre en place votre plateforme dans plusieurs langues sans perdre de temps. L'utilisation des Assets vous permet aussi d'optimiser votre application sous de nombreux aspects.

Rendre solide son application

Dans cette sous-partie, j'associe deux parties que Fabien Potencier (@fabpot) notre gourou a bien pris le temps de développer : la sécurité et les tests unitaires.

La sécurité est une partie essentielle et il n'a pas toujours été aussi facile de restreindre l'accès d'une page… Il y a encore peu, nos conditions pour restreindre le contenu étaient comme l'on dit « from-scratch ». Désormais vous pouvez centraliser vos restrictions dans des voters dont je vous laisse le soin d'aller étudier.

La seconde partie traite des tests unitaires. Ils vont vous permettre de valider le bon fonctionnement de vos workflows et le bon rendu de vos vues avant de déployer votre plateforme. Pour ma part, il me semble important que chaque développeur mette en place des tests unitaires et des tests fonctionnels. Cela permettrait de mettre en place une validation de la qualité du code ainsi qu'une validation sur le bon fonctionnement du workflow avant chaque déploiement.

Conclusion

En somme, la lecture du "Best Practices" est fortement… (FORTEMENT !) conseillée pour tout développeur Symfony digne de ce nom. Il reste en évolution constante et il faut donc comme pour de nombreux produits, rester à l'écoute des nouveautés.

Vous pouvez retrouver le Slideshare de la présentation Wanadev pour une présentation plus complète.

Symfony Best Practices de Baptiste Donaux
 

Commentaires

Il n'y a actuellement aucun commentaire. Soyez le premier !

  • Couverture de l'article Retour sur le Meet-up Python du 30 juin 2025
    Retour sur le Meet-up Python du 30 juin 2025

    Il y a 5 mois

    Ce lundi 30 juin 2025 nous accueillions la branche lyonnaise de l'AFPy dans nos locaux pour un meetup autour du langage Python. Malgré les fortes températures, une trentaine de personnes ont répondu présentes pour ce moment de convivialité et d'échange.

  • 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 6 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 9 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 9 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 Bien choisir sa typographie : quelques bases pour un message clair
    Bien choisir sa typographie : quelques bases pour un message clair
    Méthodologie

    Il y a 1 an

    On n'écrit pas "Je t'aime" comme "Je te hais" ! Cette petite phrase résume bien ma problématique : quand on doit délivrer un message, la compréhension de ce dernier ne se fait pas uniquement par la lecture simple du texte, mais aussi par sa mise en forme. Et de cette mise en forme dépend la bonne compréhension du message. Dans cet article, nous allons nous pencher sur l’histoire et les familles de typographies dans le but de sensibiliser sur l’importance des choix de typographies dans la communication. Nous verrons ensuite quelques astuces pour bien sélectionner sa typographie et mettre en forme son message.

  • Couverture de l'article Les solutions CPQ sont-elles accessibles à toutes les entreprises ?
    Les solutions CPQ sont-elles accessibles à toutes les entreprises ?
    Méthodologie

    Il y a 1 an

    Le CPQ (Configure, Price, Quote) est un outil essentiel pour les entreprises cherchant à optimiser leurs processus de vente. Il permet aux équipes commerciales de configurer rapidement et facilement des produits ou services complexes en fonction des besoins spécifiques des clients, tout en garantissant la cohérence des prix. Grâce au CPQ, les vendeurs peuvent établir des devis précis et personnalisés en temps réel, tout en tenant compte des remises, des promotions ou des ajustements spécifiques. Aujourd'hui les CPQ tirent majoritairement parti de la 3D pour proposer une visualisation de produit plus réaliste et complète.