Alexandrie — une base de connaissances sur votre propre serveur avec mode hors ligne et Markdown lisible

Le dilemme éternel des bases de connaissances se résume généralement au choix entre le cloud et les fichiers locaux. D'un côté, il y a Notion ou Confluence, où la configuration de l'accès équipe est pratique, mais vos données se trouvent sur les serveurs de quelqu'un d'autre. De l'autre, il y a Obsidian, où tout est stocké en Markdown pur, mais la synchronisation et la collaboration se transforment rapidement en configuration de plugins et en contournements.
J'ai récemment découvert le projet Alexandrie. L'auteur a tenté de combiner l'interface web familière des wikis d'équipe, l'indépendance des solutions auto-hébergées et l'accès hors ligne. Cela donne un outil intéressant que vous pouvez déployer sur votre propre serveur avec une seule commande.
Ce qu'il y a à l'intérieur du projet
Alexandrie est écrit avec Vue / Nuxt côté frontend et Go côté backend. C'est une application web complète stylisée en PWA (Progressive Web App). Vous pouvez l'installer sur votre ordinateur ou téléphone et continuer à ouvrir des notes sans connexion internet.
Le cœur de l'éditeur repose sur CodeMirror 6, amélioré pour l'écriture technique.

L'éditeur propose plusieurs fonctionnalités sympathiques qui manquent souvent aux wikis standards :
- Support des formules LaTeX et un constructeur de diagrammes intégré directement dans le texte.
- Défilement synchronisé entre le panneau source et le panneau d'aperçu.
- Saisie vocale via l'API Web Speech pour dicter rapidement ses pensées.
- Un gestionnaire de snippets pour insérer rapidement des modèles répétitifs de descriptions d'API ou de rapports de bugs.
Structure des espaces de travail et droits d'accès
Pour la collaboration d'équipe, une hiérarchie claire est en place. Un espace est divisé en équipes, espaces de travail, catégories et documents imbriqués.

Le modèle de permissions comprend cinq niveaux : Aucun, Lecture, Écriture, Admin et Propriétaire. Vous pouvez accorder à quelqu'un un accès en lecture seule à une branche de documents spécifique ou partager une page via un lien public unique en externe.
Pour les environnements d'entreprise, l'intégration SSO via OIDC est incluse. Ainsi, lier l'authentification à Keycloak ou Authentik ne posera pas de problème.
Recherche et organisation du travail
La recherche dans les bases de connaissances est généralement soit lente, soit nécessite un cluster Elasticsearch séparé. Alexandrie dispose d'un index full-text intégré avec des résultats de recherche mis en évidence et un classement par pertinence.

Appuyez sur Ctrl + K pour ouvrir la palette de commandes. De là, vous pouvez naviguer entre les pages, déclencher des actions rapides et changer de contexte sans toucher à la souris.

Des tableaux Kanban sont également intégrés dans chaque espace de travail. C'est pratique quand vous avez besoin d'un petit gestionnaire de tâches juste à côté des spécifications et de la documentation technique, sans passer à des trackers tiers.
Stockage des fichiers et sauvegardes
Les images, vidéos et pièces jointes n'alourdissent pas la base de données. L'application peut fonctionner avec un stockage compatible S3, que ce soit MinIO, Garage, RustFS ou des fournisseurs cloud.

L'interface inclut une visionneuse intégrée pour trente formats de fichiers médias, y compris un rendu PDF intégré.
L'export est également simple : à tout moment, vous pouvez télécharger une archive avec tous les documents et métadonnées au format ZIP ou restaurer l'état du système à partir d'une telle archive. Il n'y a pas de verrouillage sur un format propriétaire — vous obtenez des fichiers normaux en sortie.
Comment lancer
L'ensemble de la pile est déployé via Docker Compose en littéralement quelques minutes.
# 1. Скачиваем конфиги
curl https://raw.githubusercontent.com/Smaug6739/Alexandrie/main/.env.example -O .env.example
curl https://raw.githubusercontent.com/Smaug6739/Alexandrie/main/docker-compose.yml -O docker-compose.yml
# 2. Создаем файл переменных окружения
cp .env.example .env
# 3. Запускаем контейнеры
docker compose up -d
Après le démarrage, l'interface est disponible à http://localhost:8200, où l'assistant de configuration initial vous invitera à créer un compte propriétaire.
À qui ce projet est destiné
Si vous avez besoin d'une base de connaissances interne pour une équipe de développement ou d'une archive de notes personnelles sur un serveur à domicile, Alexandrie semble être un candidat solide. Il n'a pas le poids de Confluence ni la dépendance au cloud de Notion.
Bien sûr, le projet est plus jeune que les géants établis, et sa communauté est encore modeste. Mais la combinaison d'une image Docker prête à l'emploi, d'une PWA avec accès hors ligne et du support S3 en fait un outil pratique pour ceux qui valorisent le contrôle sur leurs données.
Projets similaires