Journal A l'heure où Owncloud, CozyCloud et NextCloud font du bruit, Tracim continue son bonhomme de chemin

32
22
juin
2016

Sommaire

A quoi sert Tracim ?

Rappel pour ceux qui ne connaissent pas : à travers des espaces de collaboration composés d'administrateurs, responsables, collaborateurs et simples lecteurs, Tracim vous propose de documenter et échanger des informations professionnelles (ou personnelles), sous forme de pages "wiki", fils de discussions et partage de fichiers.

Dans Tracim, rien ne se perd, rien ne se créé, tout se transforme. C'est vous qui créez/ajoutez vos données ; tracim gère le versionning, la vie des informations et les droits d'accès.

Tracim est utilisable pour des besoins personnels, mais son fil rouge est la mise en place d'extranet professionnels, d'intranets et/ou bases de connaissances

Quoi de neuf sur Tracim ?

J'avais déjà fait une présentation de tracim en novembre 2014, ainsi
que de son prédécesseur pod quelques mois auparavant.

Depuis, les améliorations qui ont été apportées sont les suivantes :

  • refonte de l'interface suite à différents retours utilisateurs et à des conseils avisés prodigués par certains d'entre vous
  • support de PostgreSQL et MySQL (et presque de SQLite)
  • support de l'authentification via LDAP
  • intégration du serveur de calendrier Radicale, qui permet de proposer une solution de calendriers CalDAV partagés "clé-en-main" :
    • un calendrier personnel pour chaque utilisateur
    • un calendrier partagé par espace de collaboration, dont les droits d'accès seront fonction du rôle des utilisateurs
  • support de python 3.3 et 3.4, plateforme privilégiée Debian Jessie, retours utilisateur confirmant une installation fonctionnelle sur Ubuntu et CentOS

Rappel : tout est versionné, on peut supprimer, remplacer, rien n'est perdu (ça peut être difficile de retrouver l'info, mais ce n'est jamais perdu)

Pourquoi choisir Tracim par rapport à d'autres solutions ?

D'un point de vue utilisateur, Tracim mise sur la simplicité d'utilisation et la réutilisation de paradigmes classiques :

  • organisation sous forme de dossiers / sous-dossiers
  • roles d'utilisateurs progressifs (lecteurs, collaborateurs, responsables, administrateur)
  • politique "pas d'installation sur les postes client" comme fil conducteur

D'un point de vue technique, Tracim s'appuie sur les standards et cherche à répondre aux attentes des administrateurs systèmes :

  • Support des bases de données relationnelles classiques (cf ci-dessus)
  • Support de l'authentification centralisée via LDAP
  • Fichier de configuration documenté proposant un paramétrage aussi granulaire que possible
  • Support officiel de Debian 8, et autant que faire se peut des autres distributions
  • Scripts de migration des données fournis, stratégie "vrai open-source"

En résumé : Tracim cible des besoins de collaboration professionels et s'oriente vers les problématiques d'extranet, support technique B2B, capitalisation de connaissances d'équipes volantes/mobiles/réparties.

Fonctionnalités à venir

En cours de développement

  • Support de WebDAV pour interagir avec Tracim à partir de son explorateur de fichier traditionnel. Un "Proof of Concept" (développé par un stagiaire recruté via une annonce LinuxFR) est déjà fonctionnel et en cours d'intégration dans Tracim ; cette fonctionnalité sera probablement disponible en septembre.
  • Corrections de bugs divers et variés

Dans la roadmap

  • Support d'un véritable moteur de recherche
  • Consultation de documents en ligne, et potentiellement de n'importe quel type de fichier présent sur Tracim (via le dév d'un "reader" dédié à chaque type de fichier)
  • Interconnexions avec Mattermost / Slack
  • Interconnexions avec Gitlab / Redmine ou autre
  • Support de l'envoi de fichiers par email. Cas d'utilisation typique : je reçois un cahier des charges par email et je veux le stocker pour consultation(s) future(s) par moi-même ou par mes collaborateurs ou futurs collaborateurs

Un business model derrière Tracim ?

Note : Si l'aspect "business autour du LL" ne vous intéresse pas, vous pouvez zapper ce paragraphe.

Tracim est principalement développé à travers ma société Algoo. On fait du vrai open-source. Idéalement on aimerait passer en mode "éditeur de logiciel", mais ce n'est pas évident et du coup Tracim est développé en parallèle des différentes missions qu'on a.

Tracim est commercialisé sous forme de prestation de migration de données, d'hébergement d'instances dédiées et de développements sur mesure (fonctionnalités dédiés à votre cas d'utilisation ou co-financement de fonctionnalités "coeur").

On n'est pas certain de pouvoir vivre avec cette activité ; la stratégie est de faire du vrai open-source (il n'y a pas d'investisseur extérieur à Algoo, je suis seul dirigeant et la philosophie de algoo est de "gagner sa vie en faisant un travail plaisant au quotidien"…), cela ne fonctionnera peut-être pas, auquel cas Tracim mourra naturellement et on continuera de vivre avec des prestations de développement d'applications web sur mesure.

Mais je reste convaincu que le modèle "vrai open source" peut marcher, et qu'il y a un public réceptif dans un contexte "B2B".

Pour le moment, on est très loin de vivre de Tracim, mais on gagne un peu d'argent et on a des clients renommés dont des conseils généraux et des syndicats de gestion des réseaux d'eau potable.

Tracim recherche des beta-testeurs

Le code actuel est à un stade "beta". On a besoin d'aide pour tester, en particulier l'authentification LDAP ou le partage de calendriers CalDAV. Nous réalisons des tests de notre côté (notamment en utilisant nous-même nos outils - "eat your own shit"), mais pour sortir une version stable en septembre, plus on a de cas de tests différents plus on fixera de bugs (que ce soit sur l'install ou les aspects fonctionnels).

La communauté Tracim, pourquoi contribuer, et comment

En l'état, la communauté est plutôt réduite. Ceux d'entre vous qui ont lancé des projets libres savent qu'il est difficile d'initier une communauté. Les autres le savent aussi sans doute, d'ailleurs. Mais il faut bien démarrer, alors on démarre. On a 16 étoiles sur GitHub, nous compris ;)

La première bonne raison de contribuer, c'est que ça ne vous coûtera quasiment rien et ça nous apportera énormément. C'est on ne peut plus simple : il suffit de réagir à ce journal en le commentant. On est curieux de votre avis, que vous soyez intéressé(e)s ou pas (du moment qu'on apprend des choses c'est intéressant). On répondra à vos questions et remarques.

La deuxième bonne raison de contribuer, c'est de participer à un projet qui vous intéresse. Cela implique d'être intéressé par le logiciel ;) Dans ce cas, on est preneur de retours à l'installation, à l'utilisation, et en particulier sur les problématiques CalDAV et LDAP. Tout retour de bug est intéressant, tout retour de cas d'utilisation aussi.

Enfin, toutes les contributions sont bonnes à prendre, en code, en tests, en documentation… la communauté est vraiment balbutiante, donc il ne faut pas hésiter.

La pile technique

Historiquement, Tracim était développé en python 3.2 (version officielle de la précédente Debian stable) et tournait avec une base PostgreSQL. On a élargit le spectre puisqu'on support désormais MySQL et quasiment SQLite. En terme de techno, on s'appuie sur python 3.4, Turbogears, Radicale, Bootstrap, jQuery, LDAP.

Quelques captures d'écran

On a essayé de suivre les conseils avisés prodigués par certains d'entre vous dans les colonnes de LinuxFR il y a un peu plus d'un an.

Voici ce que ça donne :

Vue globale de l'interface

Vous pouvez aussi jeter un coup d'oeil à une série de captures d'écrans déposées sur lut.im

Conclusion

L'objectif lié à ce journal est de pouvoir sortir une version stable en septembre, intégrant le support de WebDAV / CalDAV / LDAP / SQLite ainsi que l'ensemble des fonctionnalités actuelles.

Merci de votre attention ; place aux discussions et commentaires :)

Suivre le flux des commentaires

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