Ergonomie
21:59:44 18/02/2008
Je lance ce sujet pour pas me retrouver hors-sujet dans celui des blogs... Comme l'indique mon titre magnifiquement explicite, on va parler d'ergonomie ! Bon, je balance toute la sauce en même temps : analyse/conception, implémentation, méthodes et critères d'ergonomie. Let's go...

Administrateur :
- Modification de la CSS par des menus. Des trucs comme modifier la couleur de fond, les icônes, la couleur et la taille des polices. J'ai vu ta réponse dans le sujet sur les blogs mais je me permets d'insister... La solution actuelle n'est vraiment pas viable pour un non initié aux CSS. Si tu veux des administrateurs non informaticiens...
- Lister les utilisateurs (alias) d'un portail. Il faudrait donc qu'un utilisateur soit obligé de créer un alias pour pouvoir poster sur chaque portail. Comme ce n'est pas pratique pour l'utilisateur, il faudrait une création automatique de cet alias (ou l'utilisation d'un alias par défaut) lors du premier message si besoin est. Ca rendrait plus facile la gestion des groupes...

Méthodes/Outils :
- Automatisation des statistiques (nombres de portails, rubriques...).
- Ecriture de jeux de tests unitaires validant le développement.
- Tests fonctionnels sur les fonctionnalités majeurs à partir de scénarios/cas d'utilisation (à documenter également si ce n'est déjà fait).
- Tests en local (mais ça c'est en bonne voie si j'ai compris...).

Utilisateur :
- Avoir une option "suivre la discussion". Tous les sujets suivis seraient ensuite regroupées à un même endroit (un truc du genre "Chez Vous" par exemple...) avec un petit indicateur pour savoir s'il y a un nouveau message ou pas. Ca éviterait des ballades (parfois) pénibles entre plusieurs portails pour vérifier s'il y a une réponse ou pas.
- Pouvoir remonter d'un portail fils vers le portail parent ("Retour" dans le menu navigation ?). Bah oui, conceptuellement, on a une structure en arbre donc c'est bien de pouvoir descendre ET monter.
- Regrouper les deux menus de gauche et droite d'un seul côté pour limiter le chemin à parcourir avec la souris. Sinon, on viole un critère d'ergonomie. Me demandez pas lequel, j'ai pas été très assidu à ce cours...
- Faire défiler le menu en même temps que la page.

Pour conclure, la faisabilité de l'ensemble dépend grandement de ce que je décris dans "Méthodes/Outils". Plus le volume de code augmente, plus ce sera utile. Comme je ne sais pas précisément où tu en es avec tout ça, je vais m'abstenir de tout commentaire. Par contre, une chose est sûre, au-delà d'une certaine taille, il est humainement impossible de tout faire "à la main". Donc, consacrer un peu de temps à ce genre de truc n'est pas une pure perte...

Je rallongerais la liste si d'autres idées me viennent...
07:34:11 19/02/2008
Bon je vais essayer de reprendre point par point

- Modification de la CSS par des menus. Des trucs comme modifier la couleur de fond, les icônes, la couleur et la taille des polices. J'ai vu ta réponse dans le sujet sur les blogs mais je me permets d'insister... La solution actuelle n'est vraiment pas viable pour un non initié aux CSS. Si tu veux des administrateurs non informaticiens...
Dans un premier temps on va se contenter de l'adresse mail et de la possibilité de choisir un thème parmi ceux existants, sachant que je pense en mettre en ligne quelques uns avec l'aide de quelqu'un qui gère en design et CSS.
Ensuite je mettrai une interface en place, mais il va vraiment falloir que j'y reflechisse pour faire quelque chose de bien.

- Lister les utilisateurs (alias) d'un portail. Il faudrait donc qu'un utilisateur soit obligé de créer un alias pour pouvoir poster sur chaque portail. Comme ce n'est pas pratique pour l'utilisateur, il faudrait une création automatique de cet alias (ou l'utilisation d'un alias par défaut) lors du premier message si besoin est. Ca rendrait plus facile la gestion des groupes...
Il y a deja une memberlist de base. L'idée que je me faisais c'était de permettre de la filtrer, notamment afficher uniquement les utilisateurs actifs (qui ont au moins un post) sur cette catégorie.
Ne serait ce pas suffisant ?

- Automatisation des statistiques (nombres de portails, rubriques...).
Ouaip, ca c'est prévu, ce sera généré par un script appelé en cron je pense.

- Ecriture de jeux de tests unitaires validant le développement.
- Tests fonctionnels sur les fonctionnalités majeurs à partir de scénarios/cas d'utilisation (à documenter également si ce n'est déjà fait).
La documentation est effectivement... inexistante, puisque je connais mon code parfaitement, mais je vais devoir m'y mettre c'est vrai. Apres des tes unitaires, je sais pas si ce sera tres utile pour l'instant. Mais le code prend des refontes régulières pour être plus modulaire et que les méthodes soient pas trop grosses, cela dit c'est pas forcément évident toujours.
Après le site représente une quinzaine de page et environ 9000 lignes de code. Donc il serait peut etre temps oui ^^"

- Tests en local (mais ça c'est en bonne voie si j'ai compris...).
Pour le test en local, avec la beta de EasyPHP je peux tester sur un PHP5 et serveur apache sur mon Dows, faut juste que je fasse un dump de ma bdd et que je la mette en place sur le MySql local. Juste une question de motivation en fait.

- Avoir une option "suivre la discussion". Tous les sujets suivis seraient ensuite regroupées à un même endroit (un truc du genre "Chez Vous" par exemple...) avec un petit indicateur pour savoir s'il y a un nouveau message ou pas. Ca éviterait des ballades (parfois) pénibles entre plusieurs portails pour vérifier s'il y a une réponse ou pas.
Une fonctionnalité "Voir tous les nouveaux messages depuis votre dernière visite sur tous les portails" en gros c'est ca. C'est prévu aussi

- Pouvoir remonter d'un portail fils vers le portail parent ("Retour" dans le menu navigation ?). Bah oui, conceptuellement, on a une structure en arbre donc c'est bien de pouvoir descendre ET monter.
Tout a fait, et j'ai pas pris le temps de le faire mais c'était prévu aussi. Peut etre le mettre avant le lien Osyra (ou a la place) dans le menu Navigation et mettre a part le menu langage en apparent en permanence.
Ou alors un menu Parent Portals mais il risque d'être bien vide.

- Regrouper les deux menus de gauche et droite d'un seul côté pour limiter le chemin à parcourir avec la souris. Sinon, on viole un critère d'ergonomie. Me demandez pas lequel, j'ai pas été très assidu à ce cours...
Le pendant de ca, c'est la longueur du menu dans ce cas. C'était ainsi avant, je sais pas ce qui est le plus souhaitable. Pour moi ce serait vachement plus simple c'est certain. Et pour l'interface des menus ca me prendrait moins la tete.

- Faire défiler le menu en même temps que la page.
Pas compris ca :/
Anonyme
19:07:37 19/02/2008
Je reprends à mon tour :

Dans un premier temps on va se contenter de l'adresse mail et de la possibilité de choisir un thème parmi ceux existants, sachant que je pense en mettre en ligne quelques uns avec l'aide de quelqu'un qui gère en design et CSS.
Ensuite je mettrai une interface en place, mais il va vraiment falloir que j'y reflechisse pour faire quelque chose de bien.
J'ai pas dis que cétait simple ni qu'il fallait tout faire d'un coup... Ce que tu proposes semble même tout à fait raisonnable en terme de gradation.

Il y a deja une memberlist de base. L'idée que je me faisais c'était de permettre de la filtrer, notamment afficher uniquement les utilisateurs actifs (qui ont au moins un post) sur cette catégorie.
Ne serait ce pas suffisant ?
A mon sens non. Pour les forums de guildes/clans/organisations pour des MMORPG, ça peut être utile de pouvoir attribuer des droits en fonction du rang du gars dans le jeu dès le début. S'il faut qu'il fasse un "coucou" avant pour que l'admin voit qu'il s'est inscrit, c'est un peu dommage... Tu me diras, ça permet de remplir la catégorie "Présentation"... mrgreen

Après, je ne vois pas pourquoi les administrateurs des autres portails pourraient voir qui est "inscrit" sur le portail du voisin. Je ne pense pas que ça pose un problème en soi, juste que ce n'est pas forcément pertinent. Pas la peine de saturer d'infos non plus...

Ouaip, ca c'est prévu, ce sera généré par un script appelé en cron je pense.
C'est vous qui voyez ! mrgreen

La documentation est effectivement... inexistante, puisque je connais mon code parfaitement, mais je vais devoir m'y mettre c'est vrai. Apres des tes unitaires, je sais pas si ce sera tres utile pour l'instant. Mais le code prend des refontes régulières pour être plus modulaire et que les méthodes soient pas trop grosses, cela dit c'est pas forcément évident toujours.
Après le site représente une quinzaine de page et environ 9000 lignes de code. Donc il serait peut etre temps oui ^^"
Connaîtras-tu encore tout parfaitement dans un an ? Et puis, si un jour tu as besoin d'aide, la doc aidera le gentil samaritain qui viendra te donner un coup de main. Se prendre 9000 lignes cash dans la gueule : pas terrible comme cadeau de bienvenue !

Pour les tests unitaires, ce n'est pas une obligation. Il faut quand même être convaincu de l'utilité. Tu peux déjà te contenter de tests fonctionnels. S'ils sont bien faits, c'est déjà une assurance vie respectable...

Une fonctionnalité "Voir tous les nouveaux messages depuis votre dernière visite sur tous les portails" en gros c'est ca. C'est prévu aussi
C'est bien aussi. Mais mon idée est que tu pourrais "t'abonner" à certaines discussion t'intéressant (sans pour autant avoir posté dedans...). Ou alors, il faut un système de tri efficace sur la liste des nouveaux messages. Un problème, plusieurs solutions. Comme souvent, reste à savoir ce qui est le mieux...


Tout a fait, et j'ai pas pris le temps de le faire mais c'était prévu aussi. Peut etre le mettre avant le lien Osyra (ou a la place) dans le menu Navigation et mettre a part le menu langage en apparent en permanence.
Ou alors un menu Parent Portals mais il risque d'être bien vide.
A mon avis, il faut aussi garder le lien vers Osyra. Ca peut quand même s'avérer bien pratique. Et plus il y aura de profondeur dans l'arbre, plus ça le sera. Y'a sans doute quelque chose à faire avec ce menu Navigation. Le top, ce serait d'avoir une vue de l'arborescence là-dedans. Le problème est que ça prend de la place et que j'ai pas de solution miracle. Du moins pas encore...

Le pendant de ca, c'est la longueur du menu dans ce cas. C'était ainsi avant, je sais pas ce qui est le plus souhaitable. Pour moi ce serait vachement plus simple c'est certain. Et pour l'interface des menus ca me prendrait moins la tete.
Faut voir ce qu'on met dans le menu déjà. Les langues ne seraient pas plus à leur place dans un onglet "settings" dans la barre du haut ? D'ailleurs, à propos de cette barre, il y a des liens redondants avec ceux du menus (Portal et Forum par exemple).

Il faudrait bien séparer les préoccupations entre les deux zones. A priori toutes les options paramétrables en haut (groupes, profil, langues...) et la navigation à gauche. C'est aussi une application d'un critère d'ergonomie.

- Faire défiler le menu en même temps que la page.

Pas compris ca :/
Je m'explique alors... Actuellement, quand on fait défiler la page vers le bas, le menu reste au même endroit. Ce qui fait que, une fois que l'on a fini de lire la page, si on a besoin du menu de gauche, il faut rescroller vers le haut de la page.

L'idée c'est que le menu de gauche coulisse et suive le scrolling de la page. Comme ça, on l'a toujours sous le coude... Toujours dans l'optique d'une économie de déplacement.

Heu, c'est plus clair ?
19:09:40 19/02/2008
J'ajoute que le temps de session est trop court ! On peut même pas faire des messages à rallonge sans être délogué ! Je suis pas une foudre de guerre au clavier mais quand même ! Bon, vous avez compris, c'était moi au-dessus... mrgreen
19:18:19 19/02/2008
15 minutes la session :P Eh oh !

Pour les CSS on va faire comme dit plus haut.
Idem pour les stats.

Pour les forums de guildes/clans/organisations pour des MMORPG, ça peut être utile de pouvoir attribuer des droits en fonction du rang du gars dans le jeu dès le début. S'il faut qu'il fasse un "coucou" avant pour que l'admin voit qu'il s'est inscrit, c'est un peu dommage... Tu me diras, ça permet de remplir la catégorie "Présentation"... mrgreen
Une solution, y a une table des visites, un filtre affichant les gens qui ont visité le forum. Ca te va ?

Connaîtras-tu encore tout parfaitement dans un an ? Et puis, si un jour tu as besoin d'aide, la doc aidera le gentil samaritain qui viendra te donner un coup de main. Se prendre 9000 lignes cash dans la gueule : pas terrible comme cadeau de bienvenue !
C'est sur, meme si je doute de refiler le bébé, il est possible qu'un jour on travaille a plusieurs et j'aurai pas envie de passer des heures a tout expliquer.

Pour les tests unitaires, ce n'est pas une obligation. Il faut quand même être convaincu de l'utilité. Tu peux déjà te contenter de tests fonctionnels. S'ils sont bien faits, c'est déjà une assurance vie respectable...
Si je teste en local ca devrait aller oui.

Mais mon idée est que tu pourrais "t'abonner" à certaines discussion t'intéressant (sans pour autant avoir posté dedans...). Ou alors, il faut un système de tri efficace sur la liste des nouveaux messages. Un problème, plusieurs solutions. Comme souvent, reste à savoir ce qui est le mieux...
La mienne est mieux mrgreen ^^
En tout cas moins chiante à mettre en place (idem que pour la memberlist on regarde la table des visites et on va chercher où il y a des nouveaux messages depuis cette date)

A mon avis, il faut aussi garder le lien vers Osyra. Ca peut quand même s'avérer bien pratique. Et plus il y aura de profondeur dans l'arbre, plus ça le sera. Y'a sans doute quelque chose à faire avec ce menu Navigation. Le top, ce serait d'avoir une vue de l'arborescence là-dedans. Le problème est que ça prend de la place et que j'ai pas de solution miracle. Du moins pas encore...
+1 pour le lien Osyra, il me manque vite.
Pour le reste je sais pas trop

Faut voir ce qu'on met dans le menu déjà. Les langues ne seraient pas plus à leur place dans un onglet "settings" dans la barre du haut ? D'ailleurs, à propos de cette barre, il y a des liens redondants avec ceux du menus (Portal et Forum par exemple).
Il faudrait bien séparer les préoccupations entre les deux zones. A priori toutes les options paramétrables en haut (groupes, profil, langues...) et la navigation à gauche. C'est aussi une application d'un critère d'ergonomie.
Une refonte de ce menu serait pas inutile oui. Je vais voir ca dans la soirée je pense.

Je m'explique alors... Actuellement, quand on fait défiler la page vers le bas, le menu reste au même endroit. Ce qui fait que, une fois que l'on a fini de lire la page, si on a besoin du menu de gauche, il faut rescroller vers le haut de la page.
L'idée c'est que le menu de gauche coulisse et suive le scrolling de la page. Comme ça, on l'a toujours sous le coude... Toujours dans l'optique d'une économie de déplacement.
Ok je vois. Niveau design, est ce joli ? Je sais pas. Mais c'est pratique. Peut etre CSS mais j'ai un doute. J espere parce que en JS pas question !
20:04:26 19/02/2008
Une solution, y a une table des visites, un filtre affichant les gens qui ont visité le forum. Ca te va ?
Pourquoi pas... Faut voir à l'usage de toute façon...

La mienne est mieux - ^^
En tout cas moins chiante à mettre en place (idem que pour la memberlist on regarde la table des visites et on va chercher où il y a des nouveaux messages depuis cette date)
lol !

Pour le reste je sais pas trop
Pas grave, c'est pas le plus urgent...

Une refonte de ce menu serait pas inutile oui. Je vais voir ca dans la soirée je pense.
Bonne soirée...mrgreen

Ok je vois. Niveau design, est ce joli ? Je sais pas. Mais c'est pratique. Peut etre CSS mais j'ai un doute. J espere parce que en JS pas question !
Sur les exemples que j'ai eu l'occasion de voir, ça allait. Certain sacadait un peu lors du défilement mais bon... Niveau design, ça évite même la bande vide sur le côté.
J'ai un ami qu'avait fait ça pour un site. Comme je me rappelle pas qu'il codait en JS, il me semble bien qu'il a du se démerder avec CSS.
18:45:48 21/02/2008
- Faire défiler le menu en même temps que la page.
si j'ai bien compris, pour l'affichage du menu :
extrait du site du zéro:
  Le positionnement fixe

Le fonctionnement est exactement le même que pour le positionnement absolu, sauf que cette fois le block reste fixe, même si on descend plus bas dans la page.

Le positionnement fixe fonctionne sur tous les navigateurs, sauf sur Internet Explorer 6 et les versions antérieures. Hélas, sur ce navigateur le block ne sera tout simplement pas positionné...

Au lieu de faire position:absolute;, on va taper position:fixed; dans notre CSS. Comme tout à l'heure, on s'aide de top, left, right et bottom pour placer notre block où on veut sur la page.
et si tu pouvait commencer par finir le panel d'administration sa serai parfait:p
19:24:32 21/02/2008
Merci mais je connais pas trop mal les CSS deja ;)
Et le menu sera pas fixé car s'il est plus haut que la page cela pose probleme s'il est fixé.
Apres le panneau d'admin c'est en cours ;)
09:35:57 01/06/2012
Je reprends ce sujet maintenant qu'on a un peu de recul.

Menus
- Ce serait bien que le menu latéral gauche suive le défilement de la page...

Messages
- Le redimensionnement de la zone de texte est foireux. On ne devrait pas pouvoir réduire la boîte mais juste l'augmenter. Il n'y a pas de barre de défilement horizontal quand on augmente la largeur et, en plus, si on l'augmente trop, on finit par décaler la tout le bloc...
- Toujours pas de liste à puces ou numérotées. C'est un vrai manque.
- La soumission n'est pas bloquante au niveau du bouton, ce qui peut amener à ajouter plusieurs fois le même message par erreur.
- On ne peut pas supprimer un message désactivé (dans le cas des doublons, il n'y a vraiment AUCUN intérêt à le garder...).
- Dur de citer plusieurs messages... La phase, je répond à chacun et je fais de gros copiés - collés est juste très chiante.
- Un bouton pour voir la liste des messages non lus ? C'est pas comme si la fonctionnalité existait déjà...