Docmost - logiciel open source de documentation collaborative et de wiki, similaire à Confluence & Notion
(github.com/docmost)- Docmost est un projet de wiki collaboratif open source et de logiciel de documentation conçu pour permettre aux équipes de rédiger et gérer des documents ensemble
- Ses principales fonctionnalités incluent la collaboration en temps réel, les Spaces, la gestion des permissions, les groupes, les commentaires, l’historique des pages, la recherche et les pièces jointes
- La documentation comprend des diagrammes basés sur Draw.io, Excalidraw et Mermaid, des intégrations embarquées comme Airtable, Loom et Miro, ainsi qu’une fonction de traduction dans plus de 10 langues
- Pour commencer, vous pouvez consulter la documentation officielle ou essayer la version cloud
- Le cœur de Docmost est sous licence AGPL 3.0, tandis que les fonctionnalités Enterprise et les fichiers de répertoires spécifiques relèvent de la licence Docmost Enterprise
Présentation de Docmost
- Docmost est un logiciel open source de wiki collaboratif et de documentation
- Le projet propose un Website, une Documentation officielle et un compte Twitter / X
- Pour démarrer, vous pouvez consulter la documentation ou essayer la version cloud
Collaboration et fonctionnalités documentaires
- Prise en charge de la collaboration en temps réel
- Fonction Spaces pour séparer les espaces documentaires
- Gestion des permissions et des groupes
- Prise en charge des commentaires et de l’historique des pages
- Fonctionnalités de recherche et de pièces jointes incluses
Diagrammes, intégrations embarquées et traduction
- La fonctionnalité Diagrams prend en charge Draw.io, Excalidraw et Mermaid
- Les Embeds incluent Airtable, Loom, Miro, etc.
- La traduction prend en charge plus de 10 langues
Structure de licence
- Le cœur de Docmost est proposé sous licence open source AGPL 3.0
- Les fonctionnalités Enterprise sont fournies sous la licence Enterprise Edition
- Tous les fichiers des répertoires suivants relèvent de la licence Docmost Enterprise définie dans
packages/ee/Licenseapps/server/src/eeapps/client/src/eepackages/ee
Développement et mentions de remerciement
- Les contributeurs peuvent consulter la documentation de développement
- Crowdin fournit l’accès à la plateforme de localisation
- Algolia fournit la recherche full-text pour la documentation
3 commentaires
Au bureau, Notion n’est pas autorisé et Obsidian est également bloqué... J’essaie de l’utiliser, et ça me semble être une bonne alternative.
Après l’avoir essayé, c’est un outil bien conçu qui ressemble à Notion.
Mais justement parce qu’il ressemble beaucoup à Notion, il peut aussi créer des gênes sur des points où il diffère de Notion.
J’espère qu’il continuera à bien évoluer.
Avis sur Hacker News
L’accessibilité de Notion comme de Confluence est vraiment catastrophique
Je me demande si cet aspect a été pris en compte lors de la création de Docmost. Avec l’ADA aux États-Unis et l’EAA qui entrera bientôt en vigueur dans l’UE, c’est un facteur assez important pour l’adoption en entreprise, et j’aimerais bien qu’un produit ait enfin fait correctement ses devoirs sur l’accessibilité. Je peux y jeter un œil si besoin. Pour contexte, je suis utilisateur natif de lecteur d’écran, aveugle, développeur et auditeur en accessibilité
Par exemple, l’arborescence des pages dans la barre latérale prend en charge la navigation au clavier. La bibliothèque UI que nous utilisons, Mantine, suit aussi les bonnes pratiques d’accessibilité et fournit une prise en charge complète du clavier. Il reste encore beaucoup à faire, mais le support s’étoffera au fil de l’avancement du projet. J’avais auparavant créé @threadvoice, un bot Twitter permettant d’écouter des fils Twitter en audio, et l’accessibilité faisait déjà partie de mes motivations à l’époque
https://twitter.com/Philipofficial9/status/11899711858004869...
Petit retour : j’avais envie d’essayer le produit, et le site était propre et prometteur, mais la page d’installation m’a fait peur au point que j’ai failli partir
Les premières instructions concernaient l’installation de Docker. Je sais que la section s’appelle « Prerequisites », mais si Docker est le seul mode d’installation, je m’attendais plutôt à voir de la documentation sur docker-compose et les variables. La section « Installation Steps » commence aussi par mkdir, cd, curl, vi, pour finir par dire « utilisez ce docker-compose ». Les prérequis peuvent être importants pour beaucoup de gens, et si vous considérez que c’est un problème, il y a plusieurs façons de le résoudre. Les développeurs et les personnes à l’aise avec la technique sautent tout le reste pour aller directement aux commandes de terminal ou au code. Il ne faut donc pas mettre trop haut, en haut du README du dépôt, des choses à « ne pas faire », parce que c’est ce que nous allons copier-coller en premier. Ce n’est pas une critique, le travail a l’air excellent, mais c’est le retour d’un expérimentateur lambda que vous pourriez perdre sur cette page
https://docmost.com/docs/installation
Par ailleurs, pour gérer les variables d’environnement, il vaudrait mieux utiliser un fichier .env plutôt que demander de modifier le fichier docker compose. Beaucoup de gens risquent de versionner le fichier yaml, donc y mettre des secrets en clair n’est pas une bonne idée
https://docs.docker.com/compose/environment-variables/set-en...
Utilisez runit, mettez la base de données, redis et l’app dans le même conteneur, puis ajoutez un gros répertoire de données. Pour la plupart des petites équipes capables d’exécuter un conteneur, ce sera suffisant, et l’expérience « essayer rapidement » devient simplement
docker runNous utilisons encore Confluence on-premise derrière un VPN. Pour migrer, il nous faudrait l’export PDF, un éditeur de diagrammes intégré comme Gliffy, l’historique et les diffs
Jusqu’ici, Outline était ce qui s’en rapprochait le plus, mais nous ne sommes pas pressés, donc je vais aussi suivre l’évolution de ce projet
XWiki est un logiciel de wiki open source lancé à peu près à la même époque que Confluence, et il possède toutes les fonctionnalités mentionnées. Nous proposons aussi de l’aide à la migration et du conseil ; l’outil de migration essaie de préserver autant que possible le contenu et les fonctionnalités, et nous travaillons aussi sur des macros de compatibilité. N’hésitez pas à nous contacter si besoin
https://xwiki.com
http://xwiki.org
Il est important de regrouper le wiki avec la documentation générée depuis la base de code, comme les README du code, sphinx, mkdocs ou swagger. Pour les éditeurs de diagrammes intégrés, standardiser sur des abstractions documentation-as-code comme Mermaid ou Kroki permet d’utiliser du code de diagrammes diffable et plusieurs éditeurs open source. Il existe aussi plusieurs implémentations dans des extensions VSCode, et si vous choisissez Mermaid, les mêmes diagrammes fonctionneront à la fois dans l’outil de wiki, GitHub, et des outils de formats de contenu local-first ouverts comme Foam, Dendron ou Obsidian.md, ce qui est appréciable
Il prend en charge l’export PDF, OAuth2, les révisions, l’historique, les permissions, le WYSIWYG/Markdown/diagrammes, etc.
https://www.bookstackapp.com/
Les diagrammes sont aussi prévus, et la prochaine étape sera MermaidJs. D’autres fournisseurs de diagrammes comme Draw.io et Excalidraw pourront être ajoutés après avoir défini une manière efficace de stocker et récupérer les données sources. L’historique des pages est pris en charge, mais il n’y a pas encore de comparaison des différences
Dans mon entreprise, nous évaluons des outils de documentation, et notre environnement réglementaire est particulier : la personne qui crée un document n’est pas celle qui le relit et l’approuve.
À cause de cela, le concept de merge request pour documents pourrait être une fonctionnalité différenciante. Quelqu’un crée un document, une autre personne le modifie, puis soumet les changements sous forme de demande de relecture. GitBook le propose, mais il lui manque d’autres aspects essentiels pour nous.
Je ne veux pas qu’un autre système gère l’édition, la review et le merge. Je veux envoyer les documents depuis Git et faire du déploiement continu vers un système qui héberge correctement les fonctionnalités documentaires dont on a besoin.
Résultat, les résultats de recherche sont pollués et cela devient vite désordonné.
J’aime beaucoup les wikis et certaines façons précises de les utiliser en entreprise.
En revanche, j’aime moins certains logiciels de wiki qui semblent tirés vers la vente aux entreprises face à des clients qui ne comprennent pas les wikis. Un point qu’un produit d’entreprise faisait plutôt bien était l’intégration d’un outil de dessin. Tout le monde dans l’entreprise n’en a pas besoin, mais certains utilisateurs oui, et cela permet de consigner des supports visuels très utiles qui, autrement, n’auraient pas été conservés.
Les deux plus gros problèmes de la plupart des logiciels de documentation sont les suivants.
Premièrement, tout est enfermé. Il faut pouvoir exporter ou sauvegarder facilement ses notes. Deuxièmement, la tarification donne trop l’impression de gratter de l’argent sur des détails : passer à l’offre supérieure dès que l’arborescence documentaire dépasse 100 nœuds, ou devoir refaire un choix d’achat à chaque ajout de personne à un projet. Ce serait bien si tu pouvais expliquer davantage comment Postgres et Redis sont utilisés.
Redis sert aux files d’attente, à la synchronisation de l’état de l’éditeur collaboratif entre serveurs et à la synchronisation WebSocket entre serveurs. Les deux dernières fonctions sont importantes lorsqu’on exécute le logiciel sur plusieurs nœuds ou réplicas.
Je travaille chez XWiki. Ça fait plaisir de voir des collègues créer des alternatives open source, et plus il y a d’initiatives de ce type, mieux c’est.
Construire quelque chose de comparable à Confluence demande énormément de travail, et XWiki est présent dans ce domaine depuis ses débuts. Je me demande comment vous positionnez Docmost par rapport à XWiki, et pourquoi vous avez choisi de ne pas unir vos forces.
https://xwiki.org
Je me demande s’il existe un ensemble d’extensions recommandées qui le rendrait plus acceptable pour les personnes recherchant une expérience proche de Confluence.
J’aimerais avoir ce genre de fonctionnalités.
Pouvoir utiliser l’éditeur de son choix, gérer les pages en texte brut dans Git ou un autre système de gestion de versions, et committer des pages sans passer par le navigateur. Les pages pourraient être écrites dans un langage de balisage quelconque ; comme Markdown manque d’expressivité dans certains domaines, les pages simples pourraient indiquer qu’elles sont en Markdown via leur extension de fichier, tandis que le wiki pourrait aussi accepter des formats plus puissants et extensibles par l’utilisateur, comme reStructuredText. Il faudrait aussi pouvoir rendre les pages côté serveur et les mettre facilement en cache. Si une page est un fichier, il est facile de valider le cache via une somme sha ; elle pourrait donc s’afficher presque instantanément, contrairement à Confluence, qui est lent et médiocre.
Il trouve un bon équilibre : il permet d’utiliser la plupart du temps du Markdown classique, tout en pouvant descendre vers des composants React quand c’est nécessaire. Avec un déploiement continu vers GitHub Pages après merge dans main, l’expérience est plutôt bonne.
Ou alors, l’idée est-elle de publier la documentation avec un workflow adapté aux développeurs, puis de la faire consulter par le reste de l’équipe non développeuse ? En général, je considère que c’est une très mauvaise idée. Si vous imposez à l’équipe un MVP auto-hébergé, probablement plein de bugs, tout en évitant vous-même la couche d’interface utilisée par tout le monde, c’est la recette parfaite pour provoquer un rejet et un remplacement de l’outil. J’ai vu des fondateurs techniques faire cette erreur très souvent. Le même phénomène se produit avec les CMS de sites marketing : ils découvrent que site statique + Markdown + Git ne passe pas à l’échelle avec des non-développeurs, puis se rendent compte que le CMS headless qu’eux-mêmes n’utilisent pas est médiocre au quotidien.
Cela fonctionne très bien et prend aussi en charge les diagrammes Mermaid, MathML, etc.
Markdown convient aux documents simples, mais il est très faible pour les wikis, où les liens entre pages sont essentiels. Personnellement, je trouve que le balisage Creole est bien meilleur pour rédiger un wiki. Il vaut mieux ne pas stocker le format de fichier dans l’extension, et conserver les métadonnées comme de vraies métadonnées. L’application voudra de toute façon probablement gérer bien plus de métadonnées, donc il faudra tôt ou tard un système de stockage des métadonnées. Je me considère comme un croisé solitaire pour retirer les métadonnées des noms de fichiers.
Confluence a été, parmi les logiciels d’entreprise que j’ai utilisés jusqu’ici, peut-être le plus lent, à l’exception de l’énorme Jira
Chez PayPal, « attendre Confluence » était devenu une expression idiomatique du genre « mon monorepo est en train de télécharger toutes ses dépendances ». On pouvait prendre une longue pause, traverser la rue pour aller boire un café, le temps qu’un document situé à l’autre bout du quartier se charge. Et je n’essayais même pas de le mettre à jour, donc tout ce qui fait mieux est préférable. Ce n’est presque pas une exagération
C’est un très chouette projet. Je me demande s’il existe un moyen de le soutenir
J’ai aussi vu que la documentation utilisait Docusaurus, mais ce serait bien d’y utiliser Docmost lui-même. Cela ferait office d’environnement de démo, même en lecture seule, et ce serait en même temps une façon de développer en l’utilisant soi-même