Bonjour,
Je dois développer, dans le cadre d'un stage, une application qui doit faire face à la diversité de ses futurs utilisateurs.
J'ai 2 contraintes explicites : je dois utiliser uniquement des logiciels libres et mes propres compétences. Etant encore étudiant, j'ai appris la programmation sur des langages récent (Java J2EE & J2SE, C# & ASP, PHP). J'ai très peu de notions de langages comme le C/C++.
L'application que je dois développer est une application de gestion. Elle peut-être développée sous forme d'un client lourd ou d'un client léger, chaque solution ayant des avantages et des inconvénients suffisamment significatifs pour ne pas avoir une solution qui se dégage plus particulièrement qu'une autre.
L'application proposera des l'impression de documents divers que l'utilisateur devra pouvoir éditer, donc a priori au format open office pour être en accord avec la contrainte de logiciels libre exprimé par le commanditaire.
D'après les premiers retours que j'ai eut, les utilisateurs et les conditions d'utilisation de la future application sont très diversifiés :
- Les niveaux des utilisateurs concernant l'utilisation d'un ordinateur sont très hétérogènes (du débutant au confirmé)
- J'ai des utilisateurs sous Windows 95, 98, XP, Vista, Mac OS X
- Tous les utilisateurs ont un accès à internet à domicile, Une grande majorité ont un accès haut-débit, mais certains ont encore un accès bas débit
- Sur le lieu de travail (qui diffère pour chaque utilisateur), certains on un internet haut débit, d'autre bas débit et certain n'ont pas accès à internet (grande majorité)
- Certains utilisateurs préféreront utiliser l'application chez eux (petite majorité), d'autre sur leur lieu de travail
Je me suis renseigné par rapport aux différentes solutions possibles que je pouvait mettre en place, en accord avec ses différentes contraintes (mes compétences et logiciels libre) et le résultat est assez maigre. Je ne parviens pas à trouver une solution satisfaisante.
Voici les 3 solutions que j'ai envisagées :
Si je choisi un client lourd en C#, je n'ai pas de problème de liaison internet nécessaire, mais l'application ne pourra pas être exécuté facilement par les utilisateurs de Mac & Linux
Si je choisi un client lourd en J2SE, de la même façon je n'ai pas de problème de connexion internet, mais d'après les informations que j'ai pu trouver chez Sun, je vais avoir des soucis avec les utilisateurs de Windows 95/98/ME dont les JVM ne sont plus mis à jour ce qui pourra poser un problème de portabilité également
Enfin, la dernière solution est une application web en PHP qui résout mon problème de portabilité mais qui posera un problème aux utilisateurs voulant utiliser l'application sur leur lieu de travail qui ne possède pas Internet
Auriez-vous quelques suggestions pour me sortir de cette impasse?
D'avance merci
Partager