Check-list du démarrage d’un projet Symfony

Voici une liste de petites choses que je fais systématiquement lors du démarrage d’un projet Symfony. J’espère que cela vous sera utile.

  • conception de base : applications, modules, choix des plugins (symfony propose un grand nombre de plugins souvent d’excellente qualité, c’est un point fort du framework),
  • branchement des librairies symfony sur les répertoires lib et data via des externals svn,
  • branchement des plugins choisis sur le répertoire plugins via des externals svn,
  • choix des environnements possibles pour l’application (dev et prod viennent par défaut, l’environnement de test peut être utile pour des projets nécessitant une configuration dédiée aux tests),
  • mise en place des contrôleurs pour chaque couple application/environnement,
  • revue de la configuration pour chaque application (fichier settings.yml : escaping_strategy, etag, standard_helpers, i18n, error_reporting …)

Certains détails me semblent très importants au démarrage du projet :

  • l’escaping strategy choisi conditionne la façon dont vous allez traiter certaines de vos variables dans le code de vos templates (par exemple, les fonctions du genre is_array ne marcheront plus car vos tableaux seront des objets sfOutputEscaperArrayDecorator, de même pour les objets qui ne seront plus de la même classe). Un changement dans cette variable de configuration peut donc affecter fortement le budget de votre projet … autant être sûr du premier coup.
  • Utiliser judicieusement la directive svn:ignore afin d’éviter de commiter les fichiers indésirables ou générer par symfony (comme le cache, les classes générées par propel, les contrôleurs de dev, les logs …).
  • La configuration du fichier php.yml permettant de contrôler l’environnement de votre future application est, selon moi, un moyen simple et pratique afin d’être sûr que tout le monde travaille dans la même configuration.

Si vous avez d’autres points de ce genre, n’hésitez pas à m’en faire part.

Publicités

2 réflexions au sujet de « Check-list du démarrage d’un projet Symfony »

  1. Cedric Sadai

    Le svn:ignore est particulièrement important quand on développe en local et qu’on test régulièrement online. Personnellment, j’ignore ProjectConfiguration.class.php (contient souvent un chemin en dur), databases.yml (je peux tester sur mon serveur en environnement de dev, donc conflit d’accès a la DB), et comme tu l’as bien dit, les classes générées par propel, les logs, le cache, sans oublier le répertoire upload quand on traite avec des images ou des vidéos…

    A++
    Cedric

    Répondre

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s