Accueil

 
Nouvelles formes d’interaction reposant sur des techniques nouvelles



 

Des « petits » menus contextuels

Scénario possible :
- un administrateur clique sur la petite puce indiquant le statut de l’article dans la liste (la puce verte avant le lien)
- cela fait apparaître, sous la souris, un petit pop-up avec les 4 statuts habituels de l’article (en cours de rédaction, proposé à la publication, publié en ligne, refusé),
- on choisit le nouveau statut en cliquant sur une des puces,
- le petit menu contextuel se referme, et la puce d’origine est remplacée par la nouvelle couleur.

- Il n’y a pas de rechargement de page, ainsi on peut changer les statuts de plusieurs articles sans recharger de page, donc en faire plusieurs à la suite facilement.

Techniquement : théoriquement, ce genre de chose n’est pas possible en HTML, car la technologie client-serveur oblige à « envoyer » les informations vers le serveur, par exemple au travers d’un formulaire ou d’un lien hypertexte. L’idée pour contourner cette limite est d’intégrer dans toutes les pages de l’espace privé une « iframe » cachée. Une iframe est une page HTML apparaissant à l’intérieur d’une autre page.

Ici, cette iframe serait intégrée dans une couche que l’on n’affiche pas (style="display: none;"). Ainsi il n’y a pas de perturbation de la lecture de la page, c’est un élément totalement invisible.

Quand on fait une action simple et immédiate, telle que modifier le statut, un petit javascript « envoie » l’ordre dans l’iframe (et non dans la page principale). De cette façon la page principale n’est pas rechargée, on peut continuer à travailler, mais l’ordre de changer le statut de l’article dans la base de données est bien envoyé au serveur, dans une iframe invisible.

GIF - 10.1 ko
Changement de l’affichage du statut de l’utilisateur : Online ou pas Online

Ce genre de petite chose, avec un petit menu contextuel, est à réserver aux power-user qui connaissent déjà parfaitement le système. En réalité, de part leur présentation, ces petits menus remplissent cette tâche :
— ils n’ajoutent pas d’informations ni de boutons sur la page, puisqu’ils ne sont déclenchés que par l’action de l’utilisateur ; donc ils ne gênent pas vraiment les débutants (sauf si on les multiplie trop), puisqu’ils sont invisibles à priori ;
— en revanche, pour les power-user, ils permettent de mettre à profit l’expérience acquise (c’est donc gratifiant : on sait qu’on travaille plus vite quand on connaît bien le système) et de gagner du temps.

La difficulté, à partir du moment où l’on introduit cela :
— cela ajoute une nouvelle méthode d’interface dans SPIP, jusque là inexistante ;
— il faut donc qu’elle soit suffisamment répandue dans le système pour qu’on en découvre le principe et qu’on puisse l’utiliser pour plusieurs actions (pas seulement changer le statut des articles) ;
— il faut éviter cependant de truffer l’interface avec ce genre de choses, sinon on risque d’effrayer les débutants qui croiront que c’est le mode de fonctionnement principal de SPIP et d’être rebutés.