Journal pod : un outil pour suivre et gérer des tâches et documents

Posté par (page perso) . Licence CC by-sa
Tags :
21
21
nov.
2013

Introduction

pod est un logiciel à cheval entre un wiki manipulant des données semi-structurées et un outil de suivi de tâches (genre bug-tracker mais plutôt orienté "généraliste" et non "développement logiciel"). Je l'utilise à titre personnel pour faire de la prospection professionnelle, c'est à dire suivre mes candidatures et les données associées (cf. ce journal où j'avais mis un lien vers un questionnaire en ligne.)

Pensé à l'origine pour faire de la prospection professionnelle, en l'utilisant je me suis rendu compte qu'il pouvait avoir d'autres utilisations - après tout il ressemble plus ou moins à un wiki, voire à une GED ultra-simplifiée.

L'objectif de ce journal est d'avoir des retours par rapport à la version "pré alpha" en ligne et d'évaluer votre intérêt pour un tel logiciel.

Notes :

  • il s'agit d'un outil en cours de dév, donc des bugs sont très probables.
  • je n'ai pas encore choisi de licence, je m'oriente vers la AGPL mais à réfléchir et valider (notamment compte-tenu des dépendances, cf. plus bas)

Contexte

Je suis développeur de formation et de métier, j'ai utilisé différents bug-trackers et j'ai beaucoup aimé Redmine. Je cherche un poste de développeur senior / architecte sur Grenoble et j'avais besoin de pouvoir suivre mes différentes candidatures. Au moment de développer l'outil, je me suis dit que la recherche d'un job était un cas particulier de la prospection professionnelle, j'ai donc dans un premier temps développé un outil plus générique.

Je me suis inspiré de Redmine, des explorateurs de fichiers, des différents CRM et wikis que j'ai eu l'occasion d'utiliser

Le logiciel et ses fonctionnalités

pod est une application web de gestion de documents dont les particularités sont les suivantes :

  • gestion de documents typées (types fixes pour le moment) : document, contact, commentaire, évènement, fichier
  • Les documents ont un statut (liste de statuts fixe pour le moment) qui permet de faire vivre ses documents
  • La structuration du contenu est arborescente (contrairement à un wiki par exemple) ; des "liens symboliques" sont prévus pour pouvoir placer des documents dans différents dossiers en parallèle
  • l'outil est orienté "mono-utilisateur", c'est à dire que pour le moment on ne partage pas ses documents (c'est envisagé aussi, mais ce n'est pas l'objectif premier)

Il s'agit d'un outil générique qui devrait pouvoir se spécialiser pour certains "métiers" via l'activation de modules (ce qui n'existe pas encore)

Sous le capot

Pour la conception et le développement, je me suis appuyé sur des technologies libres et éprouvées, pas trop d'innovation de ce côté :

  • Le backend est développé en python sur le framework turbogears. Certains diront que j'aurais dû choisir Django, mais j'affectionne particulièrement SQLAlchemy et le backend sera probablement à terme une API REST/Json et probablement aussi développée avec un autre framework
  • Le frontend est basé sur Bootstrap pour la mise en page, jQuery pour la "dynamique" ; j'envisage de convertir le frontend sur AngularJS
  • Les données sont stockées dans une base PostgreSQL qui est pour moi le meilleur moteur de base de données relationnelles. A voir selon l'intérêt si un suport multi-bases est intéressant

Evolutions

Les évolutions que j'imagine sont d'ordre technique et fonctionnel, entre autres :

  • un mécanisme de plugins pour ajouter les règles "métier" de base et plus spécifiques (par exemple dans le cadre d'une recherche de job, un import des annonces en provenance de différents sites pourrait être intéressant, ou encore l'ajout de "tableaux de bord", etc)
  • une interface utilisateur dynamique
  • des outils de recherche / tri / filtrage

Je suis preneur de vos remarques, retours et critiques, et notamment si vous avez un cas d'utilisation où ce logiciel pourrait vous aider.

Notes :

  • de nombreux outils existent dans le domaine de la prospection professionnelle, du suivi de tâches et/ou documents ; pod n'a pas vocation à les "égaler" en terme de nombre de fonctionnalités mais de proposer un compromis entre fonctionnalités et simplicité d'utilisation (et surtout simplicité d'utilisation).
  • cette version ne fonctionne pas sur mobile et tablette pour le moment

La démo en ligne

La démo en ligne est par ici

p.s : la création d'un compte est nécessaire ; bien qu'une adresse email soit demandée, vous pouvez créer un compte avec une adresse bidon : le compte est créé immédiatement et sans aucune vérification de l'adresse

pod ?

pod comme "plenty of documents", pod comme "PrOject Dashboard", pod comme un clin d'oeil au meilleur jeu de course automobile de tous les temps

  • # Sympa comme outils, voici mon resultat

    Posté par . Évalué à 2.

    Bon j'ai eu du mal à comprendre l'histoire des documents imbriqués selon qu'on fait (+) sur le "root" ou sur le document en cours.

    Si on le fait sur le document en cours, ca devient comme un dossier, mais c'est pas intuitif,
    peut-etre un bouton (+F/+D) selon qu'on veut faire un Dossier ou un Fichier ?

    du coup aussi, si on a un document dans un "dossier", et que le document est work in progress, le dossier lui reste dans son etat de depart…

    sinon j'aime bien le fait de pouvoir mettre une action/event, un contact sur une fiche.

    Enfin il ne te manque plus que la notion de groupe, pour avoir "what's hot" dans le groupe ou l'entreprise ?
    pouvoir donner une fiche à un utilisateur…

    AH, on me souffle que ce serait alors un systeme de ticketting ;)

    • [^] # Re: Sympa comme outils, voici mon resultat

      Posté par (page perso) . Évalué à 2.

      Bon j'ai eu du mal à comprendre l'histoire des documents imbriqués selon qu'on fait (+) sur le "root" ou sur le document en cours.
      
      Si on le fait sur le document en cours, ca devient comme un dossier, mais c'est pas intuitif,
      peut-etre un bouton (+F/+D) selon qu'on veut faire un Dossier ou un Fichier ?
      

      En fait (+) créé un document systématiquement. Un dossier n'est ni plus ni moins qu'un document dans lequel on a regroupé d'autres documents. Ce n'est visiblement pas clair ce mécanisme. :-/

      du coup aussi, si on a un document dans un "dossier", et que le document est work in progress, le dossier lui reste dans son etat de depart…
      

      Pour le moment, effectivement je n'ai pas implémenté le changement de statut "lié". A faire

      sinon j'aime bien le fait de pouvoir mettre une action/event, un contact sur une fiche.
      

      Ok. C'était mon besoin de base : j'envoie une candidature, j'ai des entretiens avec Mr ou Mme truc, j'ajoute des sous-documents (ou fiches) pour faire des compte-rendu, etc.

      Enfin il ne te manque plus que la notion de groupe, pour avoir "what's hot" dans le groupe ou l'entreprise ?
      

      Qu'entends-tu par groupe ? Des groupes d'utilisateur ? Par exemple LeBouquetin et Neox sont dans le même groupe (et ont donc accès à tous les documents du groupe XXX) ?

      pouvoir donner une fiche à un utilisateur…
      
      AH, on me souffle que ce serait alors un systeme de ticketting ;)
      

      Oui ça fait partie des évolutions que j'envisage :

      • Pouvoir donner une tâche à quelqu'un => ticketting
      • Pouvoir donner accès à quelqu'un => système d'échange de données (avec des clients par exemple)
      • [^] # Re: Sympa comme outils, voici mon resultat

        Posté par . Évalué à 2.

        oui, l'idée des groupes, c'est d'etre plusieurs à voir tout ou parti des fiches.

        ex : l'equipe d'un projet voit l'ensemble des fiches du projet, mais seul le manager peut modifier toutes les fiches, l'utilisateur ne pourraient que voir/modifier les sienne.

        et si je fais parti de plusieurs projets, je vois plusieurs "dossiers" correspondant aux projets par exemple.

  • # Intéressant mais

    Posté par . Évalué à 2.

    … je n'ai pas compris comment créer des tâches.

    • [^] # Re: Intéressant mais

      Posté par (page perso) . Évalué à 2.

      En fait une tâche ou un document, c'est la même chose du point de vue du soft : tu gères un statut pour une tâche, pour un document tu gères un statut ou tu n'en gères pas.

      Je ne sais pas si le mécanisme est clair et/ou intuitif… Ou bien tu t'attendais à autre chose pour des tâches, par exemple des méta-données telles que avancement, etc.

      • [^] # Re: Intéressant mais

        Posté par (page perso) . Évalué à 2.

        Pour préciser, j'ai prévu d'ajouter des "todolist". Par exemple tu auras un document qui est "Projet Machin", dans lequel tu auras un onglet "todo list" avec des tâches (et là on aura donc des entitées particulières avec des propriétés spécifiques)

        • [^] # Re: Intéressant mais

          Posté par . Évalué à 2. Dernière modification le 21/11/13 à 17:48.

          Inutile un projet est un regroupement de sous-tâches et donc une tâche.
          C'est très consistant comme ça.
          Il faut juste a veiller à ce que le statut d'un projet ne soit pas éditable s'il contient des tâched mais que ce soit les tâches en dessous qui fassent évoluer son statut (Sauf peut-être pour clore un projet qu'on abandonne ou tout passer a un autre état).

          C'est vraiment très chouette en fait.
          Ca fait longtemps que je recherche une web app de ce type en python.

          Autre suggestion pour les contacts, peut-être des champs spécifiques (mail , tel, jid, …)

          Et pour le dashboard les dernières actions n'apportent pas grand chose AMHA mais une vue des prochains événements serait un plus.

          Encore toutes mes félicitations !

      • [^] # Re: Intéressant mais

        Posté par . Évalué à 2.

        Non juste que pour moi une action de todolist ce n'est pas un document.
        Mais vu qu'on peut les éditer en ligne je comprends mieux.

        C'est assez déconcertant en fait d'autant qu"on peut lire des fichier à un "Document"
        J'aurais plus vu les dossiers comme des projets les "Document" comme des actions.
        Je n'ai d'ailleurs pas réussi a voir des actions dans le dashboard.
        Sinon, il semble que lorsque tu crées un evt au jour même ca plante mais c'est très propre autrement

        • [^] # Re: Intéressant mais

          Posté par . Évalué à 2.

          J'ai compris et ca confirme ce que je disais.
          en passant en status todo je le retrouve.
          C'est un document qui apparait comme action.
          Il te suffit simplement de les renommer et ca devient très intuitif.
          C'est un très bon boulot en tout cas.

          Une déclinaison GTD et tu as un truc du tonnerre

    • [^] # Re: Intéressant mais

      Posté par . Évalué à 2.

      Autre question : sous quelle licence est-ce distribué ?

      • [^] # Re: Intéressant mais

        Posté par (page perso) . Évalué à 3.

        Pour l'instant j'ai pas encore défini la licence ni publié le repo (qui est sur bitbucket). Ce que j'imagine c'est AGPL, mais j'ai pas encore vérifié si ça colle avec les briques que j'utilise.

        Ca fait partie des choses qui vont arriver, dans l'ordre :
        1. développer un "proof of concept" pour mes besoins
        2. développer une version "alpha" présentable et multi-utilisateur
        3. déployer cette version sur un serveur publique, avec scripts SQL de setup, etc
        4. prendre quelques feedback, remplir le bugtracker
        5. nettoyer le repo (il y a peut-être des trucs que j'aurais pas dû y mettre, genre des mots de passe, des trucs comme ça)
        6. choisir une licence
        7. rendre tout ça publique
        8. les choses commencent vraiment… ;)

        Là, j'en suis à l'étape 4.

  • # Et sinon

    Posté par . Évalué à 1.

    POD c'est aussi un groupe qui déchire

  • # Tu connais ZIM ?

    Posté par . Évalué à 1.

    Très sympa ton logiciel et les idées qu'il y a dedans. Ça me semble suffisamment simple et puissant. C'est une très bonne idée.

    Pour un CRM ça me semble optimal (avec le rappel sur les événements). Resterait juste à pouvoir partager les objets entre documents (genre un contact).

    Petite remarque ergonomique : pour les contacts / tâches, etc… sur le coté, je pense que le mieux serait d'avoir une liste avec les n éléments plus intéressants (tous au début) + les onglets pour voir par type. Comme ça si sur un doc il y a un contact et un commentaire, tu le vois direct.

    Pour ma part, j'étais au chômage il n'y a pas longtemps et j'ai utilisé Zim , un wiki de bureau, avec le plugin de liste des tâche. J'ai trouvé ça très efficace également :-) Un truc bien sur les tâches c'était d'avoir une due date. Et effectivement d'avoir une tâche avec le doc qui donne le contexte c'est excellent.

    Bravo en tout cas pour la réalisation, c'est excellent. Bonne chance pour ta recherche !

    • [^] # Re: Tu connais ZIM ?

      Posté par (page perso) . Évalué à 2.

      Oui je connais, j'ai d'ailleurs implémenté le support de Mercurial (et intégré celui de git qui avait été développé par un autre gars) pour le backend de versionning.

      Je l'utilisais aussi, mais ce n'est pas une appli web (c'est ce que je voulais) et son approche est plutôt "un wiki qui intègre d'autres fonctionnalités" tandis que celle de pod est plutôt "un outil qui manipule des données semi-structurées" (et au final ça ressemble pas mal à un wiki mais l'esprit et les concepts qui orientent le développement sont différents).

      Mais Zim est bien, oui :)

  • # Internal Server Error

    Posté par . Évalué à 1.

    J'ai réussi à me connecter et créer un document puis plus rien. Internal Server Error à chaque page, mais bon je suppose que c'est «En construction» comme on disait en l'an 2000.

    Sinon l'interface est agréable et la description me fait envie mais il y a une chose indispensable pour moi dans un logiciel de ce style, c'est l'appli téléphone. Je bouge souvent, je lis souvent sur mon téléphone et je cherche encore THE service qui me permettra d'organiser facilement mes documents/bookmarks/tâches. Evernote est génial mais c'est pas libre, l'export des données est compliqué, donc je n'ai aucune envie d'y mettre toute ma vie électronique.
    Une appli est prévue ? Même un simple truc en HTML et interfacé avec le menu "Partager" d'Android conviendrait.

    • [^] # Re: Internal Server Error

      Posté par (page perso) . Évalué à 3.

      Je vais regarder pour le internal server error… c'était pas prévu ;)

      Pour l'appli mobile, j'ai choisi d'utiliser Bootstrap, justement pour faire ça facilement… ça sera pas une application native, mais ça donnera accès aux données en mode mobile. La configuration des bonnes classes CSS n'est pas encore faite pour les tablettes et les mobiles mais ça ne devrait pas tarder.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.