Un de mes sujets de discussion favoris entre développeurs !

C'est un principe très important pour moi et je suis très tatillon là dessus.
Je préfère plusieurs applications fiables, simples à utiliser qu'une seule très complexe avec un nombre de fonctionnalités démesurées. C'est d'ailleurs le grand principe du projet GNU que j'apprécie beaucoup.

Et lorsqu'on parle d'une application WEB, c'est la même chose. Les interfaces d'administration sont souvent un très bon exemple.
Il faut toujours garder à l'esprit que nous ne sommes pas les utilisateurs finaux de cette interface. Un e-commerçant n'a pas forcément les mêmes compétences en informatique qu'un développeur WEB et c'est normal. C'est toujours difficile pour un développeur de garder ça à l'esprit. J'étais d'ailleurs dans le même cas mais à force de travailler avec des personnes extérieures, on se rend compte de ce problème et il est nécessaire de le travailler sérieusement.

Pour la refonte de l'interface d'administration de THELIA par exemple, nous avons travaillé avec un ami designer de talent, Florian Dussopt. La vision d'un designer est souvent très différente puisqu'il s'intéresse d'abord à l'utilisation avant de s'intéresser à la réalisation. Pour nous, c'est le contraire et c'est normal. Viennent ensuite les échanges pour faire le point sur ce qui est réalisable techniquement, les choses à modifier etc ... Ce n'est pas toujours facile d'entendre "non ! ce que tu as fait ne va pas !" mais il faut savoir écouter les conseils d'un spécialiste. Chacun son boulot :)

Cette expérience a été pour nous extrêmement positive puisque les retours utilisateurs le sont. Nous avons réalisé l'outil pour eux, leur vision en tant qu'utilisateur est donc primordiale.

Une autre de mes préoccupations est la modularité. Je pense que proposer une interface de base disposant des fonctionnalités indispensables sans la surcharger est une bonne solution. Des modules doivent pouvoir s'activer sur demande et enrichir cette interface.

Concernant le code de l'application, c'est un peu la même chose. J'ai d'ailleurs traité le développement modulaire à travers cet article. Avant d'utiliser un Framework lourd de conséquences, assurez-vous d'en avoir réellement besoin. Si c'est le cas foncez car vous gagnerez du temps. Dans le cas contraire, vous risquez d'en perdre.

Bref évitons au maximum le syndrome de l'usine à gaz :)