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

51
22
juin
2016
Cloud

Tracim est un logiciel de collaboration et de capitalisation des connaissances. Au travers d’espaces 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.

Logo Tracim

Dans Tracim, rien ne se perd, rien ne se crée, tout se transforme. C'est vous qui créez et ajoutez vos données ; Tracim gère le versionnement, 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 ou bases de connaissances.

Sommaire

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 suivantes ont été apportées :

  • refonte de l'interface suite à différents retours utilisateurs et à des conseils avisés prodigués par certains d'entre vous ;
  • prise en charge de PostgreSQL et MySQL (et presque de SQLite) ;
  • prise en charge 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 ;
  • prise en charge de Python 3.3 et 3.4, plateforme privilégiée Debian Jessie, retours utilisateur confirmant une installation fonctionnelle sur Ubuntu et CentOS.

Petit rappel utile : tout est versionné dans Tracim, ce qui signifie que l’on peut supprimer ou remplacer les choses sans que rien ne soit perdu (il peut être difficile de retrouver l’information, 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 ;
  • rôles 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ème :

  • prise en charge des bases de données relationnelles classiques (cf ci-dessus) ;
  • prise en charge de l’authentification centralisée via LDAP ;
  • fichier de configuration documenté proposant un paramétrage aussi granulaire que possible ;
  • prise en charge officielle 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 professionnels 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

  • Prise en charge 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

  • Prise en charge 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éveloppement d’un reader dédié à chaque type de fichier) ;
  • interconnexions avec Mattermost / Slack ;
  • interconnexions avec Gitlab / Redmine ou autre ;
  • prise en charge de l’envoi par email de fichiers. Un cas d’utilisation typique est le suivant : 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 nous aimerions passer en mode "éditeur de logiciel", mais ce n’est pas évident et donc Tracim est développé en parallèle des différentes missions que nous avons.

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ées à votre cas d’utilisation ou co-financement de fonctionnalités cœur).

Nous ne sommes pas certains 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 nous continuerons 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, nous sommes très loin de vivre de Tracim, mais nous gagnons un peu d’argent et avons 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. Nous avons 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êmes nos outils - eat your own shit), mais pour la sortie d'une version stable en septembre, plus nous aurons de cas de tests différents plus nous corrigerons de bugs (que ce soit sur l’installation 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 nous démarrons. Nous avons 16 étoiles sur GitHub, nous compris.

La première bonne raison de contribuer est que ça ne vous coûtera quasiment rien et nous apportera énormément en contrepartie. C’est on ne peut plus simple : il suffit de réagir à ce journal en le commentant. Nous sommes curieux de votre avis, que vous soyez intéressé(e)s ou pas (à partir du moment où nous apprenons des choses, c’est intéressant). Nous répondrons à 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, nous sommes 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 élargi le spectre puisque l’on prend désormais en charge MySQL et quasiment SQLite. En terme de technologie, 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 cette dépêche 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 :)

Aller plus loin

  • # installation de Tracim

    Posté par  . Évalué à 2.

    Pas d'installation simple pour les hébergements mutualisés ?

    • [^] # Re: installation de Tracim

      Posté par  (site web personnel, Mastodon) . Évalué à 8.

      La plateforme technique de Tracim requiert certains aspects techniques :

      • possibilité de déployer une application python 3 / WSGI
      • possibilité de faire tourner un service "threadé" (pour l'intégration des calendriers partagés via Radicale, pour l'envoi des notifications par email)
      • possibilité d'ouvrir des ports (pour Radicale)

      Malheureusement les hébergeurs mutualisés ne proposent pas ce genre de possibilité.

      Tout ceci est disponible sur un VPS qui peut se louer chez OVH à partir de 2.99€ HT/mois ce qui est très raisonnable.

  • # gestion des conflits d'édition

    Posté par  . Évalué à 1.

    Comment est géré par Tracim le cas d'un document (PDF, Word, …) édité en même temps par 2 personnes ?
    Y a-t-il un système de réservation (verrou) ?

    • [^] # Re: gestion des conflits d'édition

      Posté par  (site web personnel, Mastodon) . Évalué à 5.

      Bonne question :) Deux réponses :

      Actuellement non

      Il n'y a aucun mécanisme de réservation. Si deux utilisateurs modifient le même document en parallèle, Tracim l'acceptera.

      En partant d'une révision R,

      • le premier qui mettra le document a jour verra ses modifications en R+1
      • le second qui mettra le document à jour verra ses modifications en R+2

      Un utilisateur venant chercher le document trouvera par défaut la dernière révision (R+2). Il gardera la capacité de parcourir les versions précédentes (donc R+1), mais ça ne résoud pas le problème, c'est un pseudo contournement.

      Dans la version prévue pour Septembre oui

      Le problème du verrou avait été évoqué par un prospect mais pas encore fixé. Son implémentation technique arrive avec le support de WebDAV ; on aura donc dans la prochaine version le support de ce mécanisme.

      A noter qu'il existe 2 types de verrous :

      • les verrous exclusifs qui sont donc exclusif à un unique utilisateur ; c'est ce qui sera implémenté dans un premier temps car c'est le verrou le plus simple à gérer
      • les verrous partagés qui permettent à plusieurs utilisateurs de modifier un document. Techniquement on supporte ce genre de verrou, mais on n'est pas encore clair sur les mécanismes à mettre en place d'un point de vue ergonomie. Donc ces verrous-là ne seront (probablement) pas supportés dans la prochaine version
  • # document d'installation

    Posté par  . Évalué à 2. Dernière modification le 23 juin 2016 à 15:26.

    Je ne vois nulle part une doc d'installation qui parle de mysql/mariadb.

    Ayant testé par le passé Tracim et voulant retenter le coup avec la dernière version, le stagiaire à qui j'ai donné ce travail galère un peu car la doc semble parler uniquement de PostgreSQL et ayant déjà une base maria en place je préfère l'utiliser.

    Ou peut on trouver une documentation adaptée ?
    Merci et j'attends avec impatience l'intégration DAV.

    • [^] # Re: document d'installation

      Posté par  (site web personnel, Mastodon) . Évalué à 4. Dernière modification le 23 juin 2016 à 18:29.

      Effectivement, je constate que la doc n'est pas à jour…

      Historiquement on ne supportait que PostgreSQL c'est pourquoi la doc ne parle que de PostgreSQL.

      La première chose à faire est de créer la base de données et un compte utilisateur associé (ou tu te connectes en "root"… tout dépend de l'objectif de l'installation et de la maîtrise de MySQL de ton stagiaire).

      Ensuite par rapport à la doc actuelle, ce qu'il faut c'est :

      Installer le driver MyQL :

      virtualenv -p /usr/bin/python3 tg2env
      source tg2env/bin/activate
      cd tracim && python setup.py develop && cd -
      pip install -r install/requirements.txt
      pip install https://launchpad.net/oursql/py3k/py3k-0.9.4/+download/oursql-0.9.4.zip

      (on installe oursql à la fin du processus de setup de virtualenv)

      Configurer Tracim pour utiliser une base MySQL :

      sqlalchemy.url = postgresql://tracimuser:tracimpassword@127.0.0.1:5432/tracimdb?client_encoding=utf8
      

      à remplacer par

      sqlalchemy.url = mysql+oursql://tracimuser:tracimpassword@127.0.0.1:3306/tracimdb
      

      Pour le reste, la procédure reste identique.

      Je tâche de mettre la doc rapidement à jour.

  • # Site/réseau de partage de compétences… des bêta testeurs potentiels

    Posté par  (site web personnel) . Évalué à 1.

    À l'heure où nombre de libristes, amateurs ou professionnels, peuvent se sentir dépassés par le nombre des projets tous plus attrayants les uns que les autres, et passer finalement leur chemin devant des appels à contribution, existe en parallèle un monde professionnel encore relativement neuf vis-à-vis du libre.

    Je te suggère d'aller aussi sur skiller.fr pour poser une question sous une forme du style “Que pensez-vous de mon application collaborative libre et gratuite ?” (et continuer par des questions type, retours souhaités, que pensez-vous de l'UX ? Que feriez-vous pour l'améliorer ? Verriez-vous d'autres fonctionnalités qui vous seraient utiles… etc).

  • # Modèle d'entreprise

    Posté par  (site web personnel) . Évalué à 1.

    Pour le moment, nous sommes très loin de vivre de Tracim

    Avez-vous envisagé de proposer une offre prête à l'emploi hébergée chez vous pour le grand public ? Un peu comme le fait piwigo ou piwik.

  • # telecharger les documents ?

    Posté par  . Évalué à 1.

    je viens de passer sur la démo et je suis pas sûr d'avoir tout perçu
    est-il possible de télécharger une page créée sur tracim et dans quel format ?

    • [^] # Re: telecharger les documents ?

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Bonne question :) Deux réponses :

      • Actuellement non
      • Avec l'interface WebDAV oui. On aura un fichier HTML dispo par page

      Un export plus général sous forme de PDF est envisagé, mais sans qu'aucun utilisateur n'ait remonté le besoin précisément.

      Dans quel cas imagines-tu avoir besoin de cette fonctionnalité ? Quel format d'export voudrais-tu ? Quelles informations mettrais-tu idéalement dans cet export ?

      • [^] # Re: telecharger les documents ?

        Posté par  . Évalué à 1.

        Un cas que j’utilise à titre perso est de pouvoir exporter une doc (typiquement, une spec) au format pdf pour pouvoir l’envoyer à un partenaire / client. Aujourd’hui, je fais ça à partir du module pdf export de trac (du coup, je mets nos specs/docs dans le wiki trac), ça fonctionne assez bien.

        Mes commentaires sont en wtfpl. Une licence sur les commentaires, sérieux ? o_0

Suivre le flux des commentaires

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