Administration
La liste des projets, Mes fiches, les onglets d'un projet, la page d'une fiche avec ses responsables, son échéance et son historique, les jalons et leurs notes de version, et les réglages.
L'admin du module tient en trois adresses : la liste des projets, Mes fiches, et un projet avec ses onglets. Chaque onglet et chaque fiche a sa propre adresse : un lien partagé ouvre la même vue.
| Page | Adresse |
|---|---|
| Les projets | /admin/projects |
| Mes fiches | /admin/projects/mes-fiches |
| Un projet | /admin/projects/<projet>, puis /tableau, /liste, /jalons, /reglages |
| Une fiche | /admin/projects/<projet>/fiches/<id> |
Les projets
Projets liste les projets dans un tableau, le projet mis en avant d'abord, puis dans leur ordre. Un clic sur une ligne ouvre le projet.
| Colonne | Contenu |
|---|---|
| Projet | Son nom, et la mention « Mis en avant » pour celui-là. |
| Avancement | Une barre et « 12/20 » : les fiches dans une colonne terminée, sur toutes ses fiches. |
| Ouvertes | Les fiches hors des colonnes terminées, et « (3 en retard) » quand des échéances sont dépassées. |
| Public | « Public » ou « Interne ». |
| Dernière activité | La dernière modification d'une de ses fiches, ou sa création. |
Les onglets Actifs et Archivés séparent les projets en cours de ceux qu'on a rangés.
Créer un projet
Nouveau projet, avec projects.options, ouvre une fenêtre, puis mène au tableau du projet créé.
| Champ | Rôle |
|---|---|
| Nom | 60 caractères au plus. Son slug en est tiré, fixe ses adresses, et ne change plus. |
| Description | En Markdown. Affichée sur sa vue d'ensemble et, s'il est public, dans la liste des projets du site. |
| Colonnes de départ | Le modèle de ses colonnes. Voir plus bas. |
| Public | Sa feuille de route paraît sur le site, avec ses fiches publiques. |
Le premier projet actif d'un site est mis en avant. Un projet ne prend jamais le slug nouveau, suivi, mes-fiches, desabonnement ni journal : il reçoit alors -projet à la suite.
| Modèle | Colonnes, la colonne par défaut en premier |
|---|---|
| Feuille de route | À l'étude, Planifié (prévient), En cours, Livré (terminée, prévient), Fermé (interne, terminée) |
| Développement | À faire, En cours, En revue (interne), Terminé (terminée, prévient) |
| Support | Nouveau, En cours, En attente, Réglé (terminée), toutes internes |
Le modèle Feuille de route sert à la feuille de route publique d'un produit. Développement et Support conviennent au travail d'une équipe. Les colonnes se renomment, se réordonnent et s'ajoutent ensuite dans les réglages.
Mes fiches
Mes fiches liste les fiches ouvertes assignées à la personne connectée, dans tous les projets actifs, l'échéance la plus proche d'abord : ce qu'il reste à faire, d'un projet à l'autre. Chaque ligne montre la fiche (type, priorité, sous-tâches), son projet, sa colonne, son jalon et son échéance. Une fiche d'une colonne terminée ou d'un projet archivé n'y paraît pas.
Un projet
L'en-tête porte le nom du projet et ses mentions : « Archivé », « Mis en avant », « Public » ou « Interne ». Page publique ouvre sa feuille de route sur le site, quand il est public et actif. Nouvelle fiche, avec projects.manage, ouvre la fenêtre de création, sauf dans un projet archivé. Cinq onglets suivent.
Vue d'ensemble
| Bloc | Contenu |
|---|---|
| Description | La description du projet, rendue depuis son Markdown. |
| Activité récente | Les quinze derniers évènements de ses fiches, le plus récent d'abord, avec leur auteur et un lien vers la fiche. |
| Avancement | La barre des fiches terminées, puis le nombre de fiches de chaque colonne. |
| Prochain jalon | Le jalon ouvert à l'échéance la plus proche, avec son avancement. |
| En retard | Les fiches ouvertes dont l'échéance est passée. Le titre les compte toutes, « En retard (12) » ; la carte liste les dix premières, l'échéance la plus ancienne d'abord. |
Tableau
Les colonnes du projet dans leur ordre, les internes comprises (marquées « Interne »), et les fiches en cartes, comme les projets de GitHub et de Gitea. Une carte montre :
- le type, sauf pour une Tâche, et la priorité quand elle est Haute ou Urgente ;
- le titre et le jalon ;
- le nombre de votes, la mention « Interne » pour une fiche qui n'est pas publique, l'étiquette ;
- les sous-tâches (« 3/5 », avec une icône de liste), l'échéance, en rouge une fois dépassée ;
- les avatars des responsables, trois au plus, puis « +2 ».
Dans une colonne, les cartes placées à la main viennent d'abord, dans leur ordre, puis les autres, par votes. Une fiche qui entre dans une colonne, créée, déplacée ou venue d'un autre projet, n'y a pas encore de place : elle se range parmi les cartes non placées.
Avec projects.manage :
- glisser une carte vers une autre colonne la déplace ;
- glisser une carte dans sa colonne la place au-dessus ou au-dessous de la carte survolée, qu'un trait en accent signale. La colonne entière est alors placée : chaque carte garde sa place jusqu'au prochain changement ;
- le menu de la carte fait les deux, au clavier comme au toucher : Monter, Descendre, puis Déplacer vers « … » pour chaque autre colonne.
Vers une colonne publique qui prévient, une confirmation le rappelle avant l'envoi des courriels, puis un message dit combien de personnes sont prévenues. Voir Les courriels comptés. Ajouter une fiche, au pied d'une colonne, ouvre la fenêtre de création avec cette colonne déjà choisie.
Placer une carte ne change pas la fiche : pas de ligne dans l'historique, pas de nouvelle date de modification. Si une autre personne a changé la colonne entre-temps, le placement est refusé, « Le tableau a changé entre-temps : le recharger. », et le tableau se recharge. La feuille de route publique garde son propre ordre, par votes : le placement ne sert qu'à l'équipe.
Au-dessus des colonnes, des filtres réduisent le tableau : une recherche dans le titre et la description, une étiquette, un responsable (les comptes assignés à au moins une fiche du projet), un type, une priorité. Avec un filtre actif, une colonne ne montre qu'une partie de ses cartes : le placement est coupé, Monter et Descendre disparaissent, et Retirer les filtres le rétablit. Le déplacement d'une colonne à l'autre reste possible.
Le tableau d'un projet archivé ne se glisse pas et ses cartes n'ont pas de menu : « Projet archivé : ses fiches restent en lecture. Le restaurer pour les déplacer. »
Le tableau montre 1000 fiches au plus. Au-delà, il le dit : la liste filtre et cherche parmi toutes.
Liste
Les mêmes fiches, en tableau : plus commode que le tableau passé quelques dizaines de fiches.
| Filtre | Choix |
|---|---|
| Onglets | Ouvertes (hors colonnes terminées), Les miennes (ouvertes, assignées à la personne connectée), En retard, Toutes. |
| Recherche | Dans le titre et la description. |
| Colonne, Jalon, Étiquette, Responsable, Type, Priorité | Une valeur, ou toutes. Le jalon propose aussi « Sans jalon ». Le responsable propose les comptes assignés à au moins une fiche du projet ; sous Les miennes, il est déjà choisi. |
Les colonnes Fiche, Priorité, Échéance, Votes et Modifiée trient la liste ; elle s'ouvre triée par échéance. Elle montre 1000 fiches au plus : au-delà, elle le dit, et un filtre ou une recherche mène aux autres. Les autres colonnes montrent la colonne, les responsables et le jalon de chaque fiche.
Jalons
Un jalon groupe des fiches autour d'un but daté : « 0.4.0 », ou une étape d'un projet client. Les jalons ouverts viennent d'abord, par échéance, puis les fermés. Chacun montre son nom, « Fermé » s'il l'est, son échéance ou « Sans échéance », son nombre de fiches, sa description et une barre d'avancement : ses fiches dans une colonne terminée, sur toutes ses fiches.
Avec projects.manage :
| Action | Effet |
|---|---|
| Nouveau jalon | Nom (80 caractères au plus, « 0.4.0 » par exemple), échéance, description en texte simple (2000 caractères au plus). |
| Modifier | Les mêmes champs. |
| Fermer, Rouvrir | Un jalon fermé n'est plus proposé à une nouvelle fiche ni dans les réglages d'une fiche. Une fiche qui y est déjà le garde, marqué « (fermé) ». |
| Supprimer | Après confirmation. Ses fiches restent, sans jalon. |
Notes de version, ouvert à tous ceux qui voient le projet, donne les fiches publiques terminées du jalon en Markdown, prêtes à coller dans un journal des changements. Copier les place dans le presse-papiers. Le texte suit cette forme :
## 0.4.0
La description du jalon, quand il en a une.
### Nouveautés
- Export des factures (disponible en 0.4.0)
### Corrections
- Le total ne compte plus deux fois les taxesLes sections suivent le type des fiches, dans cet ordre : Nouveautés (Idée), Améliorations (Amélioration), Corrections (Bug), Autres changements (Tâche). Une section vide est omise. Chaque ligne est le titre de la fiche, suivi de sa note de livraison entre parenthèses quand elle en a une. Les fiches viennent dans l'ordre où elles sont entrées dans leur colonne. Sans fiche terminée, les notes le disent. Les fiches internes n'y paraissent pas, puisque les notes se publient : la fenêtre dit combien de fiches internes terminées sont laissées de côté.
Un jalon fermé d'un projet public paraît aussi dans son journal public, avec ses fiches publiques terminées.
Réglages
Chaque réglage demande projects.options.
| Bloc | Contenu |
|---|---|
| Projet | Nom et description : une barre en bas de la page propose Annuler ou Enregistrer dès qu'ils changent. Le slug, rappelé sous le nom, ne change pas. Public et Mis en avant s'enregistrent dès qu'ils changent. Mis en avant ne fait que s'allumer : il ne se décoche pas. |
| Colonnes de la feuille de route | Voir plus bas. |
| Étiquettes | Voir plus bas. |
| Archiver ou supprimer | Archiver le projet ou Restaurer le projet, puis Supprimer le projet. |
Un projet actif est toujours mis en avant, et un seul : en choisir un autre retire la mention au précédent. Pour changer de projet mis en avant, allumer Mis en avant sur le nouveau. Le décocher directement est refusé : « Un projet reste toujours mis en avant : mettre un autre projet en avant à sa place. » Un projet archivé ne peut pas l'être.
C'est celui que lit un site qui ne nomme aucun projet, et, avec Rétroaction, celui du formulaire sans slug de projet. Quand il est interne, les réglages le rappellent : un site qui ne nomme aucun projet montre alors le premier projet public, dans l'ordre.
Archiver un projet le retire de la liste des actifs, du site et de Mes fiches, et lui retire la mise en avant. Ses fiches, ses votes et son historique restent, et il se restaure à tout moment. Ses fiches sont alors en lecture : aucune ne se crée, ne se modifie, ne change de responsables ni de mises à jour, ni n'y entre depuis un autre projet. La page d'une fiche le dit et ne garde que le choix du projet. Une fiche peut encore en sortir vers un projet actif, ou être supprimée. Le restaurer pour les modifier. Seul un projet sans fiche se supprime : ses colonnes, ses étiquettes et ses jalons partent avec lui. Pour un projet qui a servi, archiver plutôt.
Archiver ou supprimer le projet mis en avant met en avant le projet actif suivant : les publics d'abord, puis dans l'ordre de la liste. Restaurer un projet quand aucun n'est mis en avant, parce qu'aucun autre n'est actif, le met en avant.
Les colonnes
Chaque ligne montre le nom de la colonne, ses badges et son nombre de fiches. Les flèches la réordonnent, un clic ouvre ses réglages, la corbeille la supprime. Nouvelle colonne, au bas de la carte, en ajoute une à la fin. Chaque réglage s'enregistre dès qu'il change :
| Réglage | Effet |
|---|---|
| Nom | Le nom affiché, 60 caractères au plus. |
| Par défaut | Une nouvelle fiche arrive ici. Une seule colonne l'est, toujours : en choisir une autre plutôt que de décocher. |
| Publique | La feuille de route publique montre la colonne. |
| Terminée | Les fiches sont finies : elles comptent dans l'avancement et les notes de version, sortent des fiches ouvertes, et la page publique n'en montre que les vingt plus récentes. |
| Prévenir par courriel | Les comptes qui ont voté pour une fiche publique ou qui la suivent reçoivent un courriel quand elle entre. |
| Sujet du courriel | Suivi du titre de la fiche : « C'est prévu : Export des factures ». Vide, le nom de la colonne sert. |
| Message du courriel | Le texte du courriel, 2000 caractères au plus. |
La colonne par défaut ne se supprime pas, ni une colonne qui contient des fiches : les déplacer d'abord. La clé d'une colonne (review, en-test…), lue par les sites, est tirée du nom à la création et ne change pas quand on la renomme.
Les étiquettes
Une étiquette range les fiches : par exemple le paquet concerné, ou une partie du site. Son nom est unique dans son projet, sans tenir compte de la casse. Elle se renomme en modifiant son nom. La supprimer la retire des fiches qui la portaient.
La page d'une fiche
/admin/projects/<projet>/fiches/<id> se lit comme une issue de Gitea. En haut, le titre, la colonne, la mention « Interne » quand le site ne montre pas la fiche, puis qui l'a créée et quand, son nombre de votes et sa dernière modification. Voir ouvre sa page publique, quand elle en a une. Le lien de retour mène au tableau de son projet. Une adresse qui nomme un autre projet que celui de la fiche, après un déplacement par exemple, mène à la bonne.
À gauche, le fil : la description, présentée comme le premier message de la personne qui a créé la fiche, puis les mises à jour et l'historique dans l'ordre où ils sont arrivés, puis la zone pour écrire la mise à jour suivante. À droite, les réglages.
Créer une fiche
La fenêtre Nouvelle fiche demande :
| Champ | Rôle |
|---|---|
| Titre | Affiché sur la page publique, 200 caractères au plus. Son slug en est tiré, fixe son adresse publique, et ne change plus. |
| Description | En Markdown, avec l'éditeur du core : onglets Écrire et Aperçu, titres, listes, tâches, tableaux, code. Une image se colle, se glisse ou se choisit : elle est rangée dans le stockage du site. 20 000 caractères au plus. Voir Markdown. |
| Colonne | La colonne par défaut, ou celle du « Ajouter une fiche ». |
| Étiquette, Type, Priorité, Échéance, Jalon | Voir les réglages plus bas. Par défaut : Tâche, priorité Normale, sans échéance. Seuls les jalons ouverts sont proposés. |
| Public | Visible sur la feuille de route publique quand sa colonne l'est aussi. |
Une fiche ne prend jamais le slug nouveau, suivi, mes-fiches, desabonnement ni journal : elle reçoit alors -fiche à la suite. Une fiche ou un projet qui portait déjà un de ces deux derniers slugs est renommé par la migration 003-reserve-new-segments. Voir Modèle de données.
Modifier ou supprimer
Le titre et la description ne s'éditent pas sur la page. Options › Modifier la fiche, en haut à droite, ou le crayon de la description, ouvre une fenêtre avec les deux. Options › Supprimer supprime la fiche, ses votes, ses abonnés, ses mises à jour et son historique, après confirmation.
Fusionner un doublon
Options › Fusionner dans une autre fiche fond la fiche ouverte, un doublon, dans une autre fiche du même projet, choisie dans une recherche sur le titre et la description. La fiche ouverte disparaît :
| Ce qu'elle avait | Ce qu'il en advient |
|---|---|
| Ses votes | Passent à l'autre fiche. Un compte, ou un navigateur, qui a voté pour les deux ne compte qu'une fois. Le nombre de votes de l'autre fiche est recompté. |
| Ses abonnés | Passent à l'autre fiche, chacun une fois. |
| Ses mises à jour | Passent dans le fil de l'autre fiche, à leur date. |
| Ses rapports liés | Avec Rétroaction, suivent l'autre fiche. Voir Avec Rétroaction. |
| Son historique, ses responsables, son étiquette, son jalon, sa description | Supprimés avec elle. |
| Sa page publique | Supprimée : son adresse répond 404. |
L'autre fiche reçoit une ligne d'historique, « a fusionné la fiche « … » dans celle-ci, avec 2 votes repris », et la page s'ouvre sur elle. Aucun courriel ne part. Deux fiches de projets différents ne se fusionnent pas : déplacer d'abord le doublon. Dans un projet archivé, la fusion est refusée comme toute modification.
Les sous-tâches
Les sous-tâches sont la liste de tâches de la description : chaque ligne - [ ] est à faire, chaque ligne - [x] est faite, avec n'importe quelle puce (-, *, +, 1.). Le compte est tenu à l'enregistrement de la description : la carte, la liste et Mes fiches montrent « 3/5 » sans relire le texte, en vert quand tout est fait.
Les réglages
Chaque réglage s'enregistre dès qu'il change : la page n'a pas de bouton Enregistrer. Tous demandent projects.manage.
| Réglage | Rôle |
|---|---|
| Projet | La déplacer vers un autre projet actif. Voir plus bas. |
| Colonne | Une des colonnes du projet, les internes suivies de « (interne) ». Entrer dans une colonne publique qui prévient envoie les courriels, après confirmation. |
| Note de livraison | Dans une colonne terminée : une phrase reprise dans le courriel, sur la page et dans les notes de version, la version par exemple. 200 caractères au plus, enregistrée en quittant le champ. |
| Responsables | Les comptes qui portent la fiche. Voir plus bas. |
| Type et priorité | Tâche, Bug, Idée ou Amélioration ; Basse, Normale, Haute ou Urgente. Le type range la fiche dans les notes de version. |
| Échéance | Une date, ou rien. Une fiche dont l'échéance est passée et qui n'est pas dans une colonne terminée est en retard : « Échéance dépassée », en rouge. |
| Jalon | Un jalon du projet, ou aucun. |
| Étiquette | Le filtre de la page publique. |
| Visibilité | Public décoché, la fiche n'est vue que par l'équipe, quelle que soit sa colonne. Dans un projet interne ou archivé, elle n'est vue que par l'équipe elle aussi. |
| Créée par | Le compte qui a créé la fiche : nom, adresse, avatar. Jamais montré sur la page publique. |
| Votes | Les comptes qui ont voté, le plus récent d'abord, avec la date du vote, puis le nombre de votes sans compte et le nombre de comptes qui suivent la fiche sans voter. Voir plus bas. |
Avec le module Rétroaction, une section Rapports liés s'ajoute entre les votes et l'auteur. Voir Avec Rétroaction.
Le site ne montre jamais les responsables, l'échéance ni la priorité d'une fiche. Il montre son type et le nom de son jalon.
Les responsables
Une fiche se confie à dix comptes au plus. Assigner quelqu'un cherche par nom ou par adresse parmi les comptes qui ont projects.view, vingt résultats au plus ; la corbeille retire une personne. Une personne qu'on ajoute doit avoir encore un compte avec projects.view : sinon, « Une des personnes choisies n'existe plus ou n'a pas accès aux projets. » Une personne déjà assignée reste, même si elle a perdu cet accès depuis.
Une personne assignée reçoit une notification dans la cloche de l'admin, sauf si elle s'est assignée elle-même. Ensuite, chaque fois que la fiche change de colonne, ses responsables en reçoivent une, sauf celui qui l'a déplacée. Voir Configuration.
Un compte supprimé reste affiché « Compte supprimé ».
Les votes
La section Votes nomme les comptes qui ont voté, avec projects.view. Un vote sans compte (FRAZA_MODULE_PROJECTS_VOTE=anyone) n'est que compté : la base n'en garde que l'empreinte d'un navigateur, qui ne désigne personne.
Avec projects.manage, la corbeille d'un compte retire son vote, après confirmation : un vote de test, un compte de l'équipe. Le nombre de votes est recompté, et l'historique écrit « a retiré le vote de … ». Le compte ne reçoit plus les courriels de la fiche, sauf s'il la suit, et peut voter de nouveau.
L'historique
Chaque changement que fait l'équipe s'écrit dans le fil, entre les mises à jour, en une ligne discrète : « Isma a déplacé la fiche de « À l'étude » vers « En cours » ».
| Évènement | Ligne |
|---|---|
| Création | a créé la fiche dans « À l'étude » |
| Colonne | a déplacé la fiche de « … » vers « … » |
| Projet | a déplacé la fiche du projet « … » vers « … » |
| Responsables | a assigné …, a retiré … |
| Échéance | a fixé l'échéance au …, a déplacé l'échéance du … au …, a retiré l'échéance |
| Priorité | a passé la priorité de normale à haute |
| Type | a changé le type : Tâche devient Bug |
| Jalon | a placé la fiche dans le jalon « … », a retiré la fiche du jalon « … » |
| Visibilité | a rendu la fiche publique, a rendu la fiche interne |
| Titre | a renommé la fiche « … » |
| Fusion | a fusionné la fiche « … » dans celle-ci, avec 2 votes repris |
| Vote retiré | a retiré le vote de … |
La description, l'étiquette et la note de livraison ne laissent pas de ligne. L'historique ne paraît que dans l'admin, jamais sur le site.
Les mises à jour
Sous la description, l'équipe publie des mises à jour, comme les commentaires d'une issue de Gitea : « On a commencé », « Disponible en préversion ». La zone d'écriture est au bas du fil. Chacune s'écrit en Markdown, images comprises, 20 000 caractères au plus, et choisit sa visibilité :
| Visibilité | Effet |
|---|---|
| Publiée sur le site | Affichée sous la description de la fiche publique, la plus récente d'abord, avec le nom de son auteur et sa date. Badge « Sur le site » dans l'admin. |
| Note interne, pour l'équipe | Vue seulement dans l'admin, avec un bandeau jaune. |
Au moment de publier une mise à jour publique, la case Prévenir par courriel l'envoie aux comptes qui ont voté ou qui suivent la fiche. Elle est décochée par défaut, et n'est proposée que si le site montre la fiche. Un message dit ensuite combien de personnes sont prévenues. Pour une fiche que le site ne montre pas, la page le dit : la mise à jour y paraîtra quand la fiche sera visible.
Une mise à jour se modifie (texte, visibilité) ou se supprime. Un courriel déjà parti ne se rattrape pas.
Changer de projet
Le réglage Projet déplace la fiche, après confirmation :
- elle arrive dans la colonne par défaut du nouveau projet, sans courriel ni notification ;
- elle perd son étiquette et son jalon, qui étaient ceux de l'ancien projet, et sa place dans le tableau ;
- ses votes, ses abonnés, ses mises à jour, ses responsables et son historique la suivent ;
- son slug reste le même, sauf si une fiche du nouveau projet le porte déjà : elle prend alors
-2,-3… Son ancienne adresse publique ne mène plus nulle part.
La page s'ouvre ensuite à la nouvelle adresse de la fiche.
Les images
Une image retirée d'une description ou d'une mise à jour, ou celle d'une fiche supprimée, quitte le stockage après une journée sans être nommée nulle part. Le délai garde l'image collée dans un texte pas encore enregistré, celle d'une ligne retirée puis remise, et celle copiée d'une fiche à une autre. Une image déjà dans la file de suppression et nommée de nouveau, par un texte recollé, en sort au passage suivant de la tâche projects-images, avant que la file se vide.