Do•doc 13 – journal du développement

Bonjour !

do•doc 12 est sortie en octobre, en même temps que démarrait le travail sur la version 13.
Voici un petit point d’étape pour vous présenter le travail en cours, et pour expliquer la direction que ça prends :slight_smile:

Ce chantier se fait en parallèle de plusieurs projets avec des partenaires qui financent son développement, ce qui nous permet d’y passer du temps (merci à eux !).

Les projets qui accompagnent la v13

  • dans le cadre de l’Appel à communs des tiers-lieux, création avec le collectif A3 de fonctionnalités permettant la création d’un format de documentation type poster A3, avec une logique d’organisation de contenus texte+images en grille.

  • dans le cadre de la création d’une plate-forme de documentation pour Atelier LUMA, reprise de certaines fonctionnalités de publication PDF pour simplifier leur utilisation et création d’un système de mise à jour automatique des différentes versions (déploiement avec docker, pour la partie technique). Maintenance du tronc commun (le code server, les composants agnostiques).

  • en lien avec le projet européen Slash qui avait permis de créer un première base pour la publication multisupport, expérimentation dans un autre outil/plate-forme de composants d’interface qui seront (peut-être) rapatriés vers dodoc. Maintenance du tronc commun (le code server, les composants agnostiques).

Encore merci à ces projets d’aider au développement continu et non-interrompu de nos outils, en nous permettant de consacrer du temps à la fois à la partie serveur (commune à tous) ainsi qu’à la partie interface, spécifique à chaque outil (que nous vous présenterons bientôt !).


Évolution de dodoc 13

Voici la liste des changements déjà réalisés (disponibles sur la branche next, donc) :

Principales évolutions

  • Multisupport (édition multi-supports)
    Refonte de l’édition : grilles par zone, chaînes de blocs (avec lignes SVG pour les indiquer), gestion des médias en grille, import d’images en grille, affichage des débordements, adaptation des médias dans les cellules, identifiant de zone par cellule. Amélioration du rendu HTML/CSS en multisupport, injection de @page dans le CSS personnalisé. Correction des blocs chaînés, du tri des grilles, des médias déjà présents et de la compatibilité avec les anciennes grilles.

  • Intégration de PDF et contenus embarqués
    Intégration des PDF dans le multisupport, taille « full » pour les médias, raccourcis CSC pour gérer les cas limites. Les publications exportées en page web n’incluent plus de fichiers JS inutiles.

  • Discussions
    Panneau de discussion (activé par défaut), possibilité de le lier aux projets affiché dans le panneau, correction du compteur de messages non lus et du défilement vers le dernier message. Amélioration de l’interface (édition des messages, hauteur des nouveaux messages).

  • Optimisation et traitement des médias
    Optimisation en lot (batch) des médias, champ $processing pour enregistrer les modifications réalisées (recadrage, etc.). Indicateur « redimensionné » sur les médias. Option de flou ciblé sur les médias (pour masquer des visages, par exemple).

  • Éditeur de texte
    Nouvel éditeur de texte optimisé, contenu non éditable par défaut avec focus au passage en mode édition, confirmation avant fermeture pour continuer à éditer. Aide au markdown (snippets, explications pour l’embedding de médias). Saut de ligne dédié pour insérer des médias.

  • Publications et navigation
    Filtres et tri pour espaces, publications et projets (sauvegardés dans le navigateur), vue liste des publications, mode d’affichage mémorisé. Zoom avec Ctrl/Cmd + molette, navigation type « infinite-viewer » commune pour les publications, bouton d’accueil affiché seulement quand on s’éloigne du contenu. Réorganisation par glisser-déposer dans les mosaïques de médias pour définir la répartition visuelle.

  • Import et ressources
    Sélecteur de ressources libres en ligne, import de tout type de fichier depuis un site de référence (sélection faite à la main, en cours).

  • Projets et dossiers
    Option pour ajouter un groupe entier en un clic (admin/contributeurs). Pouvoir personnaliser les panneaux affichés dans un projet – choisir ceux qui sont utiles ou non selon le projet (affichage pour tous les référents/contributeurs d’un projet).

  • Liste de tâches
    Dans chaque projet, possibilité de créer un ou plusieurs listes de tâches à faire. Chaque liste peut contenir jusqu’à plusieurs milliers d’éléments, qui peuvent être cochés/dupliqués/supprimés. Quand ils sont cochés, la date est enregistrée et ils passent en bas de la page, en grisé. Chaque élément peut contenir une note en lien (champ texte collaboratif).

  • Corbeille
    Suppression définitive des dossiers et fichiers de la corbeille après 30 jours, avec un message d’information.

  • Sécurité et technique
    Support Docker (fichiers et configuration). Détection des settings.json mal formés, politique de sécurité « same-site », vérification de la version de Node au démarrage. Logique de sortie de l’application améliorée, logs et préchargement corrigés. Mise à jour d’Electron (39.5.2) et des dépendances. Composants lourds (AuthorPicker, PositionPicker) chargés à la demande pour alléger le chargement initial.


Corrections et ajustements

  • Bugs corrigés
    Reprise champ et affichage de la licence ; masquage de « rendre la publication publique » sans mot de passe général ; recherche (normalisation) qui pouvait faire planter ; type de zone correct pour les éléments d’une chaîne ; compteur de messages non lus (sujets non accessibles pas comptés) ; invalidation des autres connexions à un compte au changement de mot de passe ; résolution de couverture limitée à 320 en petit ; liaison du projet au chat ; et pleins d’autres que je n’ai pas listé.

  • Traductions et contenu
    Traductions manquantes, désactivation de la langue « fon », titre de page dynamique en fonction de la langue (dans l’onglet).

  • Dépendances et build
    Mise à jour des dépendances (Electron, Puppeteer, etc.), suppression de paquets inutilisés (pad-left, scena guides), cache-busting de build.js, correction des exclusions du builder et des deps Electron.

  • Divers
    Nettoyage de code inutilisé, composants supprimés ou simplifiés, correction d’import manquant, version Node mise à jour, permissions et README Docker.


Généré à partir des commits sur la branche next qui ne sont pas dans main.

N’hésitez pas à aller test sur https://next.dodoc.fr/ et à faire des retours :slight_smile:

1 « J'aime »

Bonjour,
Merci pour ce journal de bord !
J’avais raté plein de choses.
Petite question sur les panneaux : est-ce qu’on peut paramétrer l’affichage par défaut des panneaux de manière générale pour l’instance (par exemple ne pas afficher “discussions” ou “tâches” et l’afficher si besoin sur un projet en particulier ?)
Je trouvais la sobriété Capter / Collecter / Fabriquer / Publier assez efficace. J’ai peur qu’on perde la logique des étapes pour arriver à la publication. Mais ce n’est que mon avis.

Les publications multi-supports et les bibliothèques de ressources libres sont très intéressantes.

Bravo pour tout ce travail !

1 « J'aime »

Hello Julien !

Discussion n’est dispo/visible que si l’instance active la discussion (actif par défaut). Tâches est toujours visible par défaut effectivement.
Une autre approche possible serait que tâche et discussion n’apparaissent que s’il y a du contenu dedans (si la fonctionnalité n’est pas utilisée (0 listes de tâches, 0 discussion lié au projet, 0 recettes dans fabriques), on pourrait ne pas l’afficher). Mais du coup je ne sais pas trop comment donner accès à cette fonctionnalité de manière intuitive si le nom du panneau n’apparait pas, on risque de passer à côté systématiquement. Je comprends bien la problématique de ne pas complexifier l’interface pour des utilisateurs qui n’ont pas besoin de ces modes là… Je mets @maxime-gi dans la boucle, il aura peut-être des idées.

En effet la problématique de l’accumulation de panneaux se pose. Pour palier à cela l’idée serait de pouvoir choisir lesquels apparaissent en fonction des besoins.
Pourquoi pas proposer ce choix dès la création du Projet dans la fenêtre modale dans laquelle on choisit son titre, choix qui reste modifiable après la création du Projet. L’enjeu est alors de faire comprendre que l’on peut enlever/rajouter des panneaux à tout moment.
Pour ne pas manquer cette information, je pense qu’un pictogramme pourrait apparaître à côté des panneaux traditionnels et faire office de paramètres. On ne peut pas le manquer à cet endroit. Celui que j’ai redessiné en partant de Bootstrap n’est peut-être pas encore le bon :

image

2/6 panneaux sélectionnés

image(1)

6/6 panneaux sélectionnés

La fenêtre modale qui s’ouvre en cliquant sur le pictogramme

La question de l’ordre des panneaux se pose aussi. Celui des versions précédents la version 13 suggère effectivement une manière efficace de travailler. Faut-il mettre Tâches et Discussions (si le chat est activé dans l’instance) au début ou à la fin plutôt qu’au milieu ?

En tout cas, il vaut sûrement mieux toujours laisser le choix des panneaux à afficher plutôt que l’interdire depuis l’instance (ce qui est déjà plus ou moins possible avec le chat).

Pour être plus clair.
Je trouve que Tâches est une bonne idée pour organiser un projet.
Je pense qu’il faut afficher par défaut les éléments Capter / Collecter / Fabriquer / Diffuser

C’est juste l’emplacement de Tâches et Discussion dans de menu qui sont intercalés dans le flux pour produire de la documentation. Je le verrais plus comme des outils en parallèle de cette chaine.

Je trouvais l’idée de mettre la discussion dans un autre panneau assez bonne.