Je ne comprends pas la nouvelle interface de rédaction des messages forums

a marqué ce sujet comme résolu.

Effectivement le soucis d’accessiblité est plutôt gênant ! J’étais convaincu que codemirror (l’outil sous-jacent) était accessible.

Il faudrait trouver une solution. Il y a un travail en cours pour passer sur un système plus natif (permettant notamment l’accès à la correction orthographique du navigateur) ; peut-être que ça règlera le problème par la même occasion. Dans le cas contraire, il faudra s’y pencher.

+0 -0

Effectivement le soucis d’accessiblité est plutôt gênant ! J’étais convaincu que codemirror (l’outil sous-jacent) était accessible.

Tu as un lien vers cet outil ? Peut-être qu’il y a un moyen de régler le problème à la base, éventuellement en contribuant qui de plus est.

Cela dit, il ne faut pas se faire d’illusion: un truc qui fait de la coloration syntaxique sera forcément inaccessible.

Le fait est qu’un textarea de base ne peut pas faire de coloration. La technique que tout le monde semble utiliser et qui me pose souci est qu’ils doublent le textarea natif d’une div pour l’affichage. Le texte qu’on tape ne va pas dans le textarea mais dans ce div, alors que le focus système reste dans le textarea. Du coup on ne peut plus naviguer dans le texte avec les raccourcis clavier habituels, et le lecteur d’écran qui va voir la valeur du textarea ne trouve rien à lire, et donc je ne peux pas me relire.

On pourrait prendre le problème à l’envers et faire en sorte que le focus et le curseur d’édition soient dans le div. Pour cela il faut activer le mode contenteditable. Problème: c’est le mode qu’on utilise pour faire du WYSIWYG, ce qu’on ne veut pas, car ça impliquerait d’abandonner le markdown au profit du HTML sur l’ensemble de ZDS.

Conclusion, c’est impossible.

Soit dit en passant, on sait faire des zones WYSIWYG accessibles, mais ça reste très capricieux; ça ne sera jamais aussi accessible qu’une bête zone de texte toute simple. C’est entres autres pourquoi j’affectionne particulièrement markdown et les sites qui l’utilisent, comme ZDS, ou stackoverflow.

Je sais pas si j’ai été très clair dans mes explications ?

+0 -0

Tu as un lien vers cet outil ? Peut-être qu’il y a un moyen de régler le problème à la base, éventuellement en contribuant qui de plus est.

En réalité on a déjà contribué à plusieurs reprises dessus :)

Et oui j’ai le lien, enfin les deux : EasyMDE, l’éditeur, et CodeMirror, sa base technique.

Mais attends — il se pourrait que le boulot soit déjà fait.

On pourrait prendre le problème à l’envers et faire en sorte que le focus et le curseur d’édition soient dans le div. Pour cela il faut activer le mode contenteditable. Problème: c’est le mode qu’on utilise pour faire du WYSIWYG, ce qu’on ne veut pas, car ça impliquerait d’abandonner le markdown au profit du HTML sur l’ensemble de ZDS.

La prochaine version devrait justement passer par cette méthode. Il est possible d’avoir codemirror basé dessus, en réalité. Mais du coup je serai très intéressé par tes retours quand ce sera déployé sur ZdS !

La PR fusionnée sur le projet utilisé est là.

+0 -0

Heureusement qu’il y a IE11 ! Bizarrement dans ce cas l’éditeur super sophistiqué n’est pas présent, et c’est parfaitement accessible du coup.

QuentinC

Sûrement une histoire de version de JS ? En désactivant le javascript sur la page, on bascule aussi vers une zone de texte standard du navigateur (donc redimensionnable, avec correction orthographie, etc.)

Peut-être serait-il possible de rentre l’usage de ce nouvel éditeur configurable dans les paramètres de l’utilisateur ?

La prochaine version devrait justement passer par cette méthode. Il est possible d’avoir codemirror basé dessus, en réalité. Mais du coup je serai très intéressé par tes retours quand ce sera déployé sur ZdS !

Je n’ai apparament pas moyen d’avoir rapidement une petite démo, mais si tu as un quelconque lien testable, c’est volontiers.

Sûrement une histoire de version de JS ? En désactivant le javascript sur la page, on bascule aussi vers une zone de texte standard du navigateur (donc redimensionnable, avec correction orthographie, etc.)

Sans doute, ils ont dû jeter l’éponge pour supporter IE. Tant mieux pour moi, car au moins je peux continuer à écrire convenablement.

Par contre sur IE il n’y a pas de correcteur orthographique. De toute manière je ne l’utilise pas beaucoup et il me gêne plus qu’autre chose… une fois sur deux il est dans la mauvaise langue. Ca c’est l’inconvénient de la Suisse.

+0 -0

La syntaxe est la même qu’avant (le moteur Markdown n’a pas changé) mais le raccourci est (temporairement) retiré, effectivement.

De manière générale, en Markdown, il faut faire comme ça pour activer la coloration spécifique à un langage :

```js
var args = []
for (var i = 0; i < arguments.length; i++) {
    args.push(arguments[i])
}
```

Ce qui donne :

var args = []
for (var i = 0; i < arguments.length; i++) {
    args.push(arguments[i])
}

On peut mettre n’importe quel autre langage (ou presque).

+0 -0

Ce n’est pas nouveau, c’est juste nouvellement dans l’éditeur.

Pour le cocher, il suffit de rajouter un x entre les crochets dans la liste, comme ceci :

- [ ] Décoché
- [x] Coché

Ce qui donne :

  • Décoché
  • Coché
+1 -0

Avec le recul, il y a un élément de ce nouvel éditeur qui rend le site complètement inutilisable pour moi sur mobile, c’est l'auto-save sur les messages de forum.

D’abord, la clé à laquelle chaque sauvegarde est associée n’est pas unique, et le cache se retrouve corrompu : il suffit que je clique sur "éditer" sur n’importe quel message de forum pour me retrouver avec un texte qui n’a rien à voir avec l’original. Sur PC, cela se règle avec un Ctrl + Z, qui annule le chargement de la version en cache, mais sur mobile, cette action n’existe pas.

Le fait d’utiliser un cache local au client sur des données distantes pose également un problème inhérent de cohérence des données. Voici un test simple à reproduire pour observer ce problème :

  • Écrire un morceau de tuto sur mobile,
  • Plus tard, éditer cette section sur PC,
  • Revenir encore plus tard sur mobile pour éditer cette version : la version chargée dans l’éditeur n’est pas à jour et les modifications sur PC sont ignorées.

On pourrait trouver d’autres cas encore plus alambiqués, mais celui-ci est le plus élémentaire à reproduire et à corriger : il faudrait associer un numéro de version (un compteur monotone, ou un timestamp attribué par la BDD) aux textes stockés dans la base de données.

  • Lorsque l’on sauvegarde un texte en local, on y joint le numéro de la version "BDD" à partir duquel ce cache a été créé.
  • Lorsque l’on charge une autosave pour éditer un texte, on compare la version accollée à l’auto-save à celle que l’on vient de charger : si la version BDD est plus récente, le cache local est invalidé et purement et simplement supprimé.

Enfin, cette classe de problème étant l’une des plus compliquées à gérer entièrement et correctement en informatique, je préconise avant toute chose, de :

  • Désactiver la sauvegarde locale sur les messages de forum où elle ne sert juste à rien,
  • Avoir la possibilité de désactiver la sauvegarde locale sur l’éditeur de tuto, et tagger cette fonctionnalité comme "expérimentale" à côté de l’option.

Cette feature est intéressante sur le papier, mais avant qu’elle soit stable et se comporte tout le temps correctement, il va certainement y avoir besoin de plusieurs itérations

+3 -0

Je ne pense pas que ce soit forcément une bonne solution, à moins que ce soit pour afficher également un bouton qui permet de supprimer les modifs locales. Pour moi il faudrait commencer par désactiver la feature là où elle ne sert à rien.

+1 -0

Désactiver la sauvegarde locale sur les messages de forum où elle ne sert juste à rien

Je comprends pas trop ton point de vue nohar, pour moi c’est le seul endroit où elle est utile. Sans cette feature, on peut quand même sauvegarder un tuto en cours d’écriture, mais on ne peut pas sauvegarder un message de forum en cours d’écriture.

Désactiver la sauvegarde locale sur les messages de forum où elle ne sert juste à rien

Je comprends pas trop ton point de vue nohar, pour moi c’est le seul endroit où elle est utile. Sans cette feature, on peut quand même sauvegarder un tuto en cours d’écriture, mais on ne peut pas sauvegarder un message de forum en cours d’écriture.

adri1

Je veux simplement dire que le besoin d’écrire un message de forum en 2 ou 3 fois est très marginal, et ne justifie pas que l’on rende le sujet aux autosaves tant que celles-ci ne sont pas robustes, et que cela ruine complètement d’autres usages que l’on supporte depuis le début (comme éditer un message de forum sur mobile).

Dès lors que cette feature fonctionne comme un cache distribué, il vaut mieux laisser cette fonctionnalité en opt-in le temps de la stabiliser.

+0 -0

Bonjour,

De ce que j’ai pu lire sur ce sujets, le nouvel éditeur pose principalement deux problèmes:

  1. L’accessibilité : pour les mal voyants, ce n’est clairement pas optimisé (en plus de la perte de la correction ortho du navigateur)
  2. La sauvegarde automatique : parfois on se retrouve avec des messages déjà posté qui remontent dans la zone de texte.

Le problème d’accessibilité a déjà été pris à bras le corps, et on a plusieurs correctifs dans ce sens qui vont arriver. Je trouve aussi que c’est pénalisant, mais malheureusement c’est un problème qu’on a pas vu (qui n’a pas été remonté) pendant la phase de test.

Le problème de sauvegarde qui est lui aussi très pénalisant. Pour celui là, c’est important de rappeler que l'ancien éditeur avait déjà une fonction de sauvegarde automatique. Visiblement elle ne marchait pas trop mal (en tout cas on n’avait pas trop de plaintes). Pour moi il était impensable de perdre cette fonctionnalité avec le nouvel éditeur.

Je ne pense pas que la solution soit de retourner sur l’ancien éditeur, pour moi ça ressemble à une fausse bonne idée. ça ne rendra que plus difficile le retour sur le nouvel éditeur pour les membres ainsi que pour l’équipe technique.

On peut a minima le temps de stabiliser la fonctionnalité de sauvegarde, prévoir une option dans les paramètres de l’utilisateur pour ne désactiver cette fonctionnalité pour ceux qui le souhaite.


Je reviens sur le message de @nohar, il faut bien décorréler "on a un nouvel éditeur qui reprend la fonctionnalité de sauvegarde auto en local qui existait dans l’ancien éditeur" avec "on veut une sauvegarde automatique parfaite, qui serait donc logiquement une sauvegarde distribuée". L’ambition n’a jamais été de garantir le CAP sur le nouvel éditeur, et ça demanderait de toute façon de gros travaux, difficile a réaliser avec la petite équipe technique actuelle.

Le sujet n’est pas le même, et les attentes ne sont pas les même. Mais de là à devoir désactiver la fonctionnalité sur une partie du site, rajoute un coût de maintenance qui n’est pas négligeable. Et comme l’a souligné adri1, sur les forums, elle a son utilité et elle était déjà utilisée avant cette nouvelle version.

Je reviens sur le message de @nohar, il faut bien décorréler "on a un nouvel éditeur qui reprend la fonctionnalité de sauvegarde auto en local qui existait dans l’ancien éditeur" avec "on veut une sauvegarde automatique parfaite, qui serait donc logiquement une sauvegarde distribuée". L’ambition n’a jamais été de garantir le CAP sur le nouvel éditeur, et ça demanderait de toute façon de gros travaux, difficile a réaliser avec la petite équipe technique actuelle.

Le sujet n’est pas le même, et les attentes ne sont pas les même.

Le théorème CAP n’est pas quelque chose que l’on doit/peut garantir, mais simplement un théorème qui te dit que tu ne peux avoir que deux parmi trois propriétés sur un système distribué, et donc qu’il faut les choisir :

  • Disponibilité
  • Cohérence
  • Résistance au partitionnement du réseau

En fait, pour répondre de façon courte : c’est hors sujet ici, car on n’a aucune des trois.

La sauvegarde auto n’a réellement qu’une seule obligation, qui est la cohérence des données, qui devrait être la priorité #1, même au prix de la disponibilité (et c’est précisément ce que je décris ici). Si la cohérence n’était pas une obligation, alors ça voudrait dire que si j’édite mon message plus haut, je dois accepter de me retrouver avec, dans l’éditeur, un message que SpaceFox a posté sur le sujet de bêta de l’un de mes tutoriels (c’est le cas, et, spoiler alert, je ne l’accepte pas). Ou bien je dois accepter de ne pas pouvoir éditer mon tutoriel sur PC et sur mobile sans que chaque modification sur mobile me fasse perdre mon travail sur PC (c’est le cas aussi, et, spoiler alert, je ne l’accepte pas non plus).

Mes attentes sont simplement de pouvoir continuer à utiliser le site normalement.

Maintenant clairement, si implémenter quelque chose de passable à l’utilisation prend du temps, alors simplement de manière à rendre à nouveau le forum utilisable sur mobile, il faut envisager de désactiver la feature dont le bug ruine le forum, la seule autre alternative étant de perdre les utilisateurs sur mobile.

Mes messages ici visent simplement à vous aider à trouver un système de sauvegarde auto cohérent qui ne rend pas le site inutilisable pour les utilisateurs de mobile comme il l’a été pour moi depuis deux semaines, pendant lesquelles je me suis efforcé de rester constructif malgré un bug ultra-handicapant qui ruine mon expérience utilisateur. Je confesse que cette réponse me fait halluciner et me démoralise quelque peu.

+3 -0

Je ne dis pas qu’il faut oublier la cohérence des données entre les supports (passer d’un ordi à son smartphone), mais tout simplement que ce n’est pas l’ambition que l’on s’est fixé.

L’idée était d’abord de reproduire la sauvegarde mono support (en local donc) de l’ancien éditeur (là ou on a du bug actuellement).

Je ne dis pas qu’il faut oublier la cohérence des données entre les supports (passer d’un ordi à son smartphone), mais tout simplement que ce n’est pas l’ambition que l’on s’est fixé.

firm1

Tu es sérieux quand tu considères que pouvoir utiliser le site aussi bien sur mobile que sur PC est devenu une ambition en 2020 ?

Ne pas introduire de régression pour les utilisateurs, c’est une ambition ?

+0 -0

Pour moi, le problème prioritaire de cette nouvelle version de l’éditeur, c’est de très loin la cohérence de la sauvegarde des messages. J’appuie @nohar, en l’état actuel c’est assez catastrophique : je ne peux plus éditer un message sans me demandes si je ne vais pas revenir par mégarde à une ancienne version, ou parfois même y mettre un message complètement différent.

En fait, ça empêche carrément d’éditer des messages dans certains cas !

Je ne dis pas qu’il faut oublier la cohérence des données entre les supports (passer d’un ordi à son smartphone), mais tout simplement que ce n’est pas l’ambition que l’on s’est fixé

firm1

Si ça c’est sérieux, juste remettez l’ancien éditeur. Je sais, j’ai été le premier à dire qu’il fallait de la coloration syntaxique. Mais un éditeur qui fonctionne c’est prioritaire sur de la coloration syntaxique.

D’ailleurs, qu’est-ce qui a été modifié sur ce point ?   Est-ce qu’on aurait pas un moyen simple de revenir au comportment de sauvegarde de l’ancien éditeur ?
Qu’est-ce qu’on peut faire concrètement pour aider à corriger le bug ?

On ne se comprend pas.

Ce que j’appelle sauvegarde multi support c’est : j’écris depuis mon téléphone, je ne l’enregistre pas explicitement. Et quand je vais sur mon ordi, je m’attend a ce que mon brouillon soit disponible.

C’est ça que l’on ne veut/peut pas garantir aujourd’hui.

Par contre, vouloir éditer son message et se retrouver avec le message de quelqu’un d’autre ou encore perdre son message ce n’est pas excusable et ça doit (et peut) être réglé.

EDIT :

Est-ce qu’on aurait pas un moyen simple de revenir au comportment de sauvegarde de l’ancien éditeur ?

SpaceFox

C’est possible et c’est même déjà "codé", mais puisque sur ce coup là on dépend d’une lin externe, l’intégration et son déploiepent ralenti vachement les choses.

On ne se comprend pas.

Ce que j’appelle sauvegarde multi support c’est : j’écris depuis mon téléphone, je ne l’enregistre pas explicitement. Et quand je vais sur mon ordi, je m’attend a ce que mon brouillon soit disponible.

Ah non, ça on s’en fout. :D

Par contre :

  • j’écris sur mobile, je sauvegarde (version 1),
  • j’édite sur PC, je sauvegarde (version 2),
  • j’édite sur mobile, l’éditeur me présente la version 2.

Ça, c’est le comportement normalement attendu.

+2 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte