Compare commits

...

6 Commits

Author SHA1 Message Date
Georges Dupéron
ece05eb097 Encore quelques histoires. 2010-06-28 13:14:08 +02:00
Georges Dupéron
fe2813aed5 Histoire utilisateur : CLI (Interface en Ligne de Commande). 2010-06-28 02:06:38 +02:00
Georges Dupéron
504bfe62be Interface modifiable par l'utilisateur. 2010-06-28 01:04:25 +02:00
Georges Dupéron
1a913b1a26 Ajout de quelques histoires. 2010-06-28 01:02:08 +02:00
Georges Dupéron
544eb1ce77 Ajout de la partie "finances"
Plus une quelques fonctionnalités recherchées par un utilisateur sur StackOverflow.
2010-06-27 22:10:00 +02:00
Georges Dupéron
0b6e7dc0cd Les histoires d'utilisateurs auxquelles j'ai pensé.
J'ai marqué toutes les histoires d'utilisateurs qui me sont passées par la tête. Il en manque encore plein, mais ça révèle déjà bien les buts du projet.
Plusieurs catégories dans le fichier "conception/histoires utilisateurs".
2010-06-25 06:43:42 +02:00

View File

@ -0,0 +1,71 @@
Gestion des projets :
J'ai beaucoup de projets (actuels et passés), dont certains assez volumineux. Je veux pouvoir avoir les méta-données (liste des fichiers, favoris, …) accessibles en permanence (via le site), mais je ne veux pas que tout soit stocké sur le site.
Je veux par contre pouvoir facilement récupérer un projet archivé / externe (documentation, film, …), qui se trouve actuellement sur mon disque dur externe.
Si j'ai récupéré un projet archivé / externe, je ne dois pas pouvoir le modifier sans le ré-ouvrir (enlever l'état "archivé").
Si j'ai un projet, je dois pouvoir savoir si j'ai une version autre part, et si je peux supprimer celle-là sans crainte.
Lorsque je travaille sur un projet à la maison, je veux pouvoir partir à la fac et savoir que là bàs j'aurais la même version (transfert de la portion manquante de l'historique via clé usb, site, autre).
Je maintiens des sauvegardes des données d'autres personnes que moi. Mais c'est pénible d'avoir à transporter mon disque dur externe à chaque fois. Je veux donc pouvoir emporter seulement l'état de l'historique sur clé USB, et revenir avec seulement les modifications, qui seront intégrées sur le disque dur.
Favoris :
Je veux pouvoir associer une url (favori) avec un ou plusieurs projets (même s'ils sont archivés), avec des mots-clés, des notes, etc.
Notes :
Du "mind mapping" ça serait sympa…
Suivi des bugs :
Je veux pouvoir associer un bug ou une tâche avec n'importe quoi (portion de code, commit, url, …).
Ça serait bien de pouvoir faire un peu de planification… avec Evidence Based Schedeulingue (houlà l'ortograf) pourquoi pas !
Finances :
Gestion des finances, historique des dépenses.
Pouvoir dire aussi combien on à, pour faire des "checkpoint" (ok, y'a pas tout l'historique, mais plutôt que de continuer avec un montant faux, on "force" le montant).
Pouvoir exclure une dépense des graphiques.
Graphiques (% des dépenses dans telle ou telle catégorie, évolution du montant disponible, …).
Pouvoir marquer une dépense à la date X, puis indiquer sa prise en compte par la banque à une autre date, et pointer l'opération à une autre date.
Travail en ligne :
Je veux avoir un éditeur de code avec coloration syntaxique etc. directement sur le site.
Idéalement, l'éditeur parse le code, et me fournit une version sous forme d'arbre syntaxique, que je peux éditer. Un premier pas vers le langage grunt ;-) .
Mes conversations de chat et e-mails sont aussi prises en charge (peuvent être associées à d'autres choses, rendues privées ou publiques, synchronisées, …).
Je peux aussi utiliser un client mail normal.
Je peux synchroniser mes boîtes aux lettres sur le serveur et une copie locale (sur laquelle travaille mon client mail) avec git ou du moins quelque chose de plus rapide que IMAP !
J'ai plusieurs adresses mail, et je choisis laquelle j'utilise pour envoyer des mails. Je peux choisir d'en avoir une par défaut, ou bien de n'en avoir aucune (donc je suis *obligé* de choisir mon adresse sortante, ce qui m'évite d'utiliser la mauvaise par oubli).
Un shell unix (terminal ajax / commandes sur le serveur) ça serait cool !
Pouvoir marquer des passages dans les PDF est un plus certain, mais je ne sais pas à quel point c'est faisable…
Ça doit aller très très vite ! Pas d'ajax lourd !
Pouvoir définir un workflow ? (Lorsque je commence une tâche, je fais ci et ça, j'envoie tel mail à untel, etc.). À réfléchir.
Versions :
Je veux pouvoir versionner la config des différents systèmes sur lesquels j'ai un compte, avec des parties communes et des parties qui dépendent de chaque système. Utiliser des branches ?
Lorsque je fais un "push" dans un projet, il est envoyé sur github, sur mon serveur git perso, et potentiellement d'autres endroits.
Lors de modifications, des notifications peuvent être envoyées (jabber, mail, notify-send qui affiche une bulle, …).
Certains projets utilisent git, d'autres SVN, d'autres bazaar, …
Je VEUX pouvoir consulter l'historique des versions avec un truc aussi joli que celui de "bzr explorer".
Le système de "une branche par tâche, et un seul commit pour chaque fusion de branche" de bazaar me convient bien (par contre, la vitesse me convient pas du tout…).
Un déplacement de fichier est une *vraie* action si possible (pas comme dans git).
Versionning des mails, et pouvoir les récupérer plus rapidement qu'avec IMAP.
Pour faciliter la lecture de l'historique, possibilité de regroupper plusieurs commit. Peut-être même s'ils ne sont pas consécutifs. Des branches fusionnées avec trunk en permanence, peut-être.
Pouvoir vérouiller un objet et en empêcher la modification (fork oui, modification non).
La gestion des versions de chaque projet peut se faire avec git, svn, mercurial, bazaar, ...
Vie privée :
Certains projets / favoris / notes / bugs sont privées, d'autres sont publiques.
Si possible, je souhaite pouvair partager des données privées avec quelques autres personnes.
Interface :
Pouvoir définir sa propre interface (de manière graphique si possible), et utilisant des widgets (déjà écrits) dont les données proviennent de divers endroits de la banque de données (binding en lecture / écriture).
Je veux pouvoir gérer les projets etc. en ligne de commande depuis le terminal lorsque l'interface web est inaccessible / pour scripter tout ça.
Autres :
Du point de vue de l'utilisateur, les favoris, notes, rapports de bugs, mails, conversations, fichiers, etc. ont beaucoup en commun. Si possible, ils sont tous stockés de la même manière : seule l'interface d'édition varie.
On peut faire des liens entre n'importe quel "objet", et même entre des fragments d'objets (lignes X à Y de tel fichier, page 34 du PDF, …).
Le système doit être très modulaire. Je dois pouvoir facilement passer à un autre gestionnaire de versions, un autre webmail, un autre tracker de bug, éditeur, etc.
Liste de fonctionnalités voulues par qqn d'autre : http://superuser.com/questions/91981/web-based-version-control-for-documents