Bonjour, Nous utilisons GLPI en interne chez mon nouvel employeur, et je suis en train de regarder le code pour voir si je pourrais contribuer certaines ameliorations. Notez que je ne connais pas grand chose a PHP (plus a l'aise en Perl/Javascript/Haskell).
== A. Questions sur le style du code == 1. Dans index.php par exemple: // Start the page echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" '. '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n"; Pourquoi ne pas simplement fermer le tag php? Je croyais que PHP etait fait pour ca. 2. Repetitions dans html.class.php: $menu['admin']['content']['rule']['options']['transfer']['title']= __('Transfer'); $menu['admin']['content']['rule']['options']['transfer']['page'] = "/front/transfer.php"; $menu['admin']['content']['rule']['options']['transfer']['links']['search'] = "/front/transfer.php"; N'est-il pas possible en PHP de faire quelquechose comme: $transfer = $menu['admin']['content']['rule']['options']['transfer']; $transfer['title'] = __('Transfer'); $transfer['page'] = "/front/transfer.php"; $transfer['links']['search'] = "/front/transfer.php"; Ca limite les repetitions, et evite de depasser systematiquement 80 colonnes. 3. Toujours dans html.class.php, ne serait-il pas possible de faire en sorte que le code specifique a chaque module soit defini dans la classe du module, plutot que d'avoir une classe "Header" de 2000 lignes? == B. git == Avez-vous envisage de passer a git? Ca rendrait les contributions nettement plus faciles. En l'occurence pour mon projet j'ai fait un checkout avec git-svn, mais ca serait quand meme plus pratique si tout etait deja sur github.com == C. Design UI == La j'ai un certain nombres de critiques, mais ne les prenez pas mal, je trouve que QLPI ne se debrouille pas trop mal pour un logiciel de ce type par rapport a la moyenne. Je me base sur la version 0.80.x, il se peut que certaines choses aient change. - Pagination des listes. Les choix 5. 10 et 20 servent-ils a quelquechose? Imagine-t-on un use case ou un utilisateur pourrait vouloir 5 elements par page, voire meme 10 plutot que 20? Pourquoi ne pas carrement prendre une valeur tres grande par defaut, de facon a decharger la mise en page d'un element. - Les selections par liste deroulante (<FORM><SELECT...>) sont problematiques d'un point de vue de l'experience utilisateur, principalement parcequ'elles cachent initialement l'information a l'utilisateur. Il doit cliquer pour savoir ce qu'il peut choisir. C'est un peu frustrant, et c'est a eviter parcequ'il y a souvent des alternatives possibles: + Quand il n'y a pas de choix possibles, il ne faudrait pas laisser croire a l'utilisateur que c'est le cas (verifie dans GLPI, il y a des cas avec des listes deroulantes avec un seul element); soit transformer en texte, soit griser. + Quand le choix est binaire, une case a cocher a la meme fonctionnalite, et peut s'y substituer dans certains cas (mais pas tous) + Quand il y a une poignee de choix (2 a 5), un bloc de boutons radio est pratiquement toujours preferable. - La mise en page ne fait pas un tres bon usage de la typographie, par ex. tous les textes sont pratiquement a la meme taille. - Usage un peu trop intensif des filets, en particulier dans les tables, meme si la plupart sont en reserve. Pour separer les lignes dans une table, on peut par exemple simplement laisser 20% d'espace entre deux lignes. - Redondance de la navigation et pour beaucoup de widget - Elements graphiques de taille fixe, exemple champs de texte dans les formulaires. - Les quelques icones sont franchement ambigus (cf "voir le contenu de la corbeille"). C'est d'autant plus genant que certains ont une fonction importante. - Il faudrait differencier autant que possible ceux qui ont un effet de bord de ceux qui ne sont que de la navigation (cf a nouveau voir la corbeille, on pourrait penser a priori qu'il signifie _mettre_ a la poubelle). - Menu deroulant "Page courante en PDF paysage" -> cf remarque precedente sur les listbox deroulantes; mais en plus ici on a un effet de bord alors que ca a le look d'un element de formulaire (aspect identique a "Afficher xxx elements" a sa gauche). Pour une fois, meme si je n'aime pas trop les barres d'icones, on gagnerait a utiliser ce format, d'autant plus qu'une feuille orientee d'une facon ou d'une autre est plus parlante que "paysage" ou portrait. Quoi qu'il en soit, glpi est un projet tres utile, et j'espere avoir la possibilite de contribuer a l'avenir. _______________________________________________ Glpi-dev mailing list Glpi-dev@gna.org https://mail.gna.org/listinfo/glpi-dev