- Home
- News
8 astuces pour bien développer une application web
The 2008-05-09 at 07:59 by Loïc d'Anterroches filed under News.
Voici une petite liste de choses auxquelles il faut bien penser quand on développe une application web. Cela provient de toutes les erreurs que j’ai faites, donc bon, si vous avez d’autres idées, n’hésitez pas à les mettres en commentaires :
- Avoir un serveur de production, un de test et un de développement. Ils peuvent être sur la même machine physique au besoin, mais faites la séparation code, fichiers de données et base de données.
- Pensez à la localisation dès le début. Dans la majorité des cas, cela ne prend pas de temps de le faire dès le début, mais le faire à la fin est une galère incroyable.
- Une méthode pour créer un projet propre en une ligne de commande. Supposez que vous faites une application web pour votre site web, en une ligne de commande vous devez pouvoir installer un nouveau site web avec aucun contenu (au moins pour la partie fichiers de données, code et base de données, la configuration du serveur peut se faire à la main).
- Une commande à taper pour mettre en ligne une nouvelle version ou revenir en arrière. Utilisez un bon script shell, Fabric, Capistrano pour cela.
- Un environnement de test propre. Idem, en une commande vous devez pouvoir vous créer un environnement de test propre pour tester votre application.
- Tests unitaires. C’est le plus dur, d’ailleurs je n’ai toujours une bonne méthode dans Pluf pour faire ces tests. Pour le moment, j’utilise twill pour tester les vues et PHPUnit pour la logique.
- Gestionnaire de révisions. C’est maintenant un standard, mais c’est bon de le répéter, utilisez Subversion, CVS, Bazaar, Git ou autre chose, mais utilisez un gestionnaire de révisions de votre code et utilisez aussi un système pour gérer les révisions de votre schéma de base de données.
- Payez vos dettes régulièrement. Vous ne devez pas laisser du mauvais code dans votre système, ce mauvais code est une dette que vous traînez…
En gros, automatisez votre méthode de développement pour limiter les freins à l’évolution de votre code.
D’autres points auxquels il faut penser ?
Comments from readers
radiobrain said:
Merci pour ce ptit rappel.
Pour les révisions de la BD, qu'y a-t-il comme programmes ? En as-tu un a conseiller ?
Salutations
Loïc said:
Disons que comme j'utilise Pluf, j'utilise le système de migrations de Pluf :
http://www.pluf.org/doc/migrations.html
Bien souvent, ton framework inclut ce genre de système. Si tu fais tout "à la main", je ne connais pas d'outils pour faire cela automatiquement.
perrick said:
Au passage, SimpleTest permet de faire à la fois du twill et du phpunit. Au passage il est en PHP ;-) Pour le découvrir http://simpletest.org/
Loïc said:
:-)
5 min après avoir écrit cette brève j'étais en train de voir comment utiliser simpletest comme système de test par défaut pour Pluf.
J'ai déjà mis en place toute l'infrastructure de base, je suis maintenant en train d'écrire un client spécialisé qui permet de faire quelque chose du genre :
$response = $client->get('/ma/page/', array('param1' => 'valeur1'));
avec $response un objet Pluf_HTTP_Response et la possibilité de récupérer le nom des gabarits chargés ainsi que pour chacun le ou les contextes passés.
Cela permettra de tester les vues en ligne de commande sans avoir besoin d'un serveur web qui tourne...
perrick said:
Et bien dans ce cas, bon courage pour la mise en place... Et vive le planete-php.fr puisque c'est de là que tout est venu ! PS : je ne suis pas l'auteur de SimpleTest, juste un des contributeurs actifs... C'est Marcus Baker qui en est le créateur et le lead.