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 !

  • Tests automatiques fonctionnels d’applications 2D/3D

    Il y a 7 mois

    Comme nous le disions dans cet article, l’automatisation des tests dans le développement logiciel est indispensable : dès lors qu’une application commence à avoir un minimum d’importance, les tests automatiques permettront de gagner énormément de temps en évitant de reproduire ad vitam æternam les mêmes tests manuels, et éviteront beaucoup de régressions. Dans cet article, nous allons présenter différents types de tests automatiques dans le cadre plus spécifique d’applications 2D/3D, puisque c’est ce que nous faisons ! Cela va du test basique qui clique sur 3 boutons aux tests de plusieurs minutes reproduisant les actions comme un véritable utilisateur. Accrochez-vous, c’est parti !

  • Configurateur web à l'abonnement : forces et faiblesses

    Il y a 8 mois

    Aujourd’hui, si vous cherchez à mettre en place un configurateur sur votre site, deux grandes possibilités s'offrent à vous : les solutions par abonnement (du type SaaS) ou le développement sur mesure. Au premier abord, les solutions semblent proches, mais les enjeux sur le long terme eux, sont bien différents.

  • Les frameworks front, tous les mêmes !
    Méthodologie

    Il y a 9 mois

    C'est une phrase que j'ai osé sortir un jour dans la salle de pause de Wanadev. Je ne sais plus exactement avec quel collègue je discutais, j’essayais de le rassurer, il possédait déjà une certaine expérience avec React et allait devoir, en arrivant sur le projet sur lequel je travaille, se mettre à Vue.
    Il a malheureusement fallu qu'un autre collègue de passage nous entende pour ne pas trouver la conversation inintéressante et suggérer que j'en fasse un petit talk pour nos réu du lundi. Et, de fil en aiguille, me voilà en train d'en faire un article de blog. Comme quoi, note pour moi-même, il faut toujours se méfier des discussions dans les salles de pause.

  • [NOVEMBRE 2021] C'est la gazette de Wanadev !
    Méthodologie

    Il y a 12 mois

    Retrouvez ici les informations et actus du mois de novembre de l'Agence! Au programme de cette édition : découvrez le configurateur de fenêtre développé pour Caseo, recontrez François Deleglise, notre directeur communication et un nouvel espace de jeu pour les professionnels du loisir en VR. Bonne lecture !

  • Un peu d'ingérence dans votre infogérance ?
    Méthodologie

    Il y a 2 ans

    Même si les impacts sont difficiles à mesurer, on peut dire qu’il a eu un avant et un après incident OVH. Sans épiloguer sur l'incendie du 5 mars 2021 dernier, un petit vent de panique a soufflé sur les milliers de clients découvrant les problématiques de sécurisation des données. Les réactions à chaud d'une partie des utilisateurs (touchés ou non) montrent la méconnaissance et l'incompréhension qui existent dans les offres d'hébergement. Qui est responsable ? Qui fait quoi ? Comment vérifier mon offre ? Voici quelques clés de compréhension.

  • Améliorer la qualité avec les tests et la review

    Il y a 2 ans

    L’importance des tests et de la revue de code dans le cadre du développement logiciel est parfois négligée ou passée au second plan. Cet article a pour but de montrer que les tests logiciels constituent une étape cruciale qu’il faut considérer avec beaucoup de rigueur.