Sommaire
Statut du projet
Initialement, il s'agissait d'un outil à cheval entre un wiki et un bug-tracker sans possibilité de partage. Désormais l'outil est collaboratif, permettant notamment de gérer les droits d'accès en lecture/écriture de manière fine sur chaque document, de travailler sur le contenu et de savoir qui fait quoi.
POD est à un stade alpha : il est utilisable mais a un périmètre d'utilisation limité car certaines fonctionnalités sont incomplètes, et des cas limite ne sont pas tout à fait correctement gérés. Il est fiable dans la mesure où vous ne perdrez pas de données.
Le code est sale, vous n'allez pas rêver ;) Un grand refactoring est nécessaire, en terme de maintenabilité et également d'architecture afin de découpler backend / frontend.
Les fonctionnalités en détail
Un peu à la manière de « tout est fichier » dans UNIX, POD implémente un modèle de données « tout est document ».
Les documents sont organisés sous forme arborescente, comme on organiserait des fichiers.
Les données que vous pouvez manipuler sont de différents types :
- commentaire
- contact (titre + détail du contact)
- fichier (titre + description + contenu du fichier + nom du fichier)
- document (titre + description + statut)
Sur ces données, vous pouvez :
- créer / modifier / déplacer / supprimer des données
- partager / gérer les droits d'accès à ces données
- rechercher ces données et filtrer les résultats par type
À la manière d'un wiki, les données sont totalement versionnées ; l'avantage de pod réside dans les différents types de données disponibles.
Les droits d'accès sont gérés avec une granularité fine : chaque élément peut être partagé ou privé, s'il est partagé on peut définir finement les utilisateurs et groupes d'utilisateur y ayant accès en lecture ou lecture/écriture. On peut par exemple stocker au même endroit un document partagé avec toute l'équipe, un document personnel et un document partagé avec des clients.
Captures d'écran
Création de documents et autres
Gestion des droits d'accès
Recherche et filtrage
Exemples d'utilisation
Base de connaissances
On crééra simplement des documents, organisés sous forme arborescente. C'est un cas nominal.
Todo-list / gestion de tâches
On pourra créer une todo-list en opérant de la manière suivante :
- créer un document intitulé « Mes choses à faire »
- créer X sous-documents intitulés « Tâche A », « Tâche B »…
- lorsqu'on visualise "Mes choses à faire", l'onglet "sous documents" à droite contient la liste des tâches à réaliser et leur statut.
Si l'on modifie le document « Mes choses à faire » et qu'on lui attribue le statut « automatic », alors « Mes choses à faire » devient une « méta-tâche » dont le statut sera « terminé » lorsque toutes les sous-tâches seront dans le statut « terminé ».
Partage de données, données individuelles et collectives au même endroit
Un des intérêts de POD est de présenter un modèle de gestion de droits d'accès très granulaire. Chaque document peut être accessible en lecture ou lecture/écriture pour une liste de groupes et/ou de personnes. Concrètement, cela permet par exemple :
- de partager un document en lecture avec vos clients mais en écriture avec vos partenaires
- de stocker au même endroit les éléments à publier et les éléments internes à l'entreprise (ou l'équipe).
- de stocker au même endroit des documents que vous partagez avec vos collaborateurs et d'autres qui vous sont personnels. Par exemple, vous mettrez un commentaire privé qui sera associé à un document partagé, ce commentaire sera visible de vous seul
Comment ça marche ?
Il s'agit d'une application web basée sur les technologies python3, TurboGears, PostgreSQL. Le thème est à la bootstrap, l'interface est +/- fonctionnelle sur téléphone mobile.
Tester pod, l'installer
Test simple
Vous pouvez tester l'application en ligne à l'adresse suivante :
Test avancé
Pour tester l'aspect collaboratif, connectez-vous en demo@localhost, créez un compte via le menu admin -> users (l'adresse de courriel n'est pas vérifiée, aucun courriel n'est envoyé), et utilisez ce nouveau compte dans un onglet de navigation privée ou dans un autre navigateur.
Installation locale
Si vous souhaitez installer l'application, le code source est disponible sous licence AGPL sur un dépôt git sur Bitbucket : https://bitbucket.org/lebouquetin/pod.git
Le dépôt contient également la doc d'installation, qui inclut notamment les premiers pas à suivre pour les utilisateurs qui ne maîtrisent pas PostgreSQL !
La suite…
Plusieurs orientations s'offrent à nous pour transformer cette version en véritable application de travail collaboratif. Les évolutions que l'on envisage sont :
- Implémenter un modèle de données générique donc personnalisable. Cela permettrait de personnaliser les données que l'on manipule, on peut par exemple imaginer :
- un modèle de type « ouvrage » qui aurait un titre, un résumé, des auteurs, un numéro ISBN, etc
- un modèle de type « Compte Rendu d'intervention » qui aurait un auteur, des intervenants, une date d'exécution, un champ description, des remarques, etc, etc
- …
- Implémenter une véritable API REST/JSON pour proposer un backend générique et permettre à chacun d'implémenter sa propre interface (ou des connexions avec le monde extérieur)
- Enrichir les modèles de données actuels,
- Développer une interface réellement responsive probablement en AngularJS,
- Ajouter différentes fonctionnalités telles que notifications par courriel, tableau de bord, pagination sur la recherche, etc, etc.
- Corriger les bugs ;)
Remarques, critiques et questions bienvenues
Nous sommes ouvert aux remarques, critiques et questions… c'est d'ailleurs pour cette raison que nous sommes là :-p