Outline
Outline est un logiciel open source de prise de notes et de documentation collaborative, pensé pour les équipes. Il se présente comme une alternative libre à Notion ou Confluence, permettant de structurer et partager facilement des documents, pages et bases de connaissances.
Il est conçu pour être simple d’utilisation, rapide, élégant et surtout auto-hébergeable. Cela en fait une solution idéale pour les organisations qui souhaitent garder le contrôle de leurs données tout en bénéficiant d’un outil moderne de documentation.
Présentation
Qu’est-ce que Outline ?
Outline est un logiciel open source de prise de notes et de documentation collaborative, pensé pour les équipes. Il se présente comme une alternative libre à Notion ou Confluence, permettant de structurer et partager facilement des documents, pages et bases de connaissances.
Il est conçu pour être simple d’utilisation, rapide, élégant et surtout auto-hébergeable. Cela en fait une solution idéale pour les organisations qui souhaitent garder le contrôle de leurs données tout en bénéficiant d’un outil moderne de documentation.
À quoi sert Outline ?
Outline sert principalement à organiser et centraliser la documentation d’une équipe ou d’un projet. Il peut être utilisé pour :
-
Créer une base de connaissances interne,
-
Documenter des procédures, guides, notes techniques ou fonctionnelles,
-
Partager des documents collaboratifs entre membres d’une équipe,
-
Structurer des idées ou des projets dans un espace clair et hiérarchisé.
Il est particulièrement apprécié dans les contextes professionnels, techniques (DevOps, IT, projets), mais peut aussi servir dans l’enseignement ou pour la documentation communautaire.
Comment fonctionne Outline ?
Outline fonctionne avec une interface web fluide et minimaliste, inspirée des outils modernes comme Notion. Il permet de créer des espaces de travail (appelés "collections"), dans lesquels on ajoute des pages, hiérarchisées en sections.
Il prend en charge la collaboration en temps réel, l’édition markdown riche (titres, tableaux, images, liens, blocs de code, etc.) et les droits d’accès finement réglables (lecture, écriture, admin…).
Outline peut s’intégrer avec d’autres outils comme Slack, Google Drive ou GitHub, et permet l’authentification via SSO (Google, OIDC, SAML…).
Pourquoi utiliser Outline ?
Outline est une excellente alternative à Notion si tu veux garder la maîtrise de tes données, sans dépendre d’un service cloud externe.
En tant que logiciel libre, il peut être auto-hébergé sur un serveur personnel ou professionnel, avec des performances solides et une interface moderne.
Il répond parfaitement aux besoins d’organisation documentaire pour les équipes techniques ou pluridisciplinaires. De plus, sa prise en charge du Markdown en fait un outil apprécié des développeurs et rédacteurs techniques.
Cas d’usage courants
Outline est utilisé pour :
-
Structurer la documentation interne d’une entreprise ou d’un service,
-
Maintenir une base de connaissances à jour pour les nouveaux arrivants (onboarding),
-
Documenter des projets DevOps, des procédures systèmes, ou des guides d’utilisation,
-
Travailler à plusieurs sur des documents clairs et versionnés,
-
Créer un wiki d’équipe auto-hébergé.
En résumé
Outline est une alternative open source à Notion, pensée pour les équipes qui veulent organiser, documenter et collaborer efficacement, tout en gardant le contrôle sur leur infrastructure.
Il offre une expérience moderne, fluide et collaborative, avec des fonctionnalités robustes pour tous les usages de documentation interne.
Installation
Fichier docker-compose
Dans cette procédure, nous allons utiliser Docker. Une documentation préalable à ce sujet est disponible ici.
Commençons par créer un fichier docker-compose.yaml, adapté à nos besoins :
services:
# Service principal : Outline (wiki collaboratif auto-hébergé)
outline:
image: outlinewiki/outline:latest # Image officielle Outline
depends_on:
- postgres # Nécessite la base PostgreSQL
- redis # Nécessite Redis
environment:
URL: https://outline.domaine.com # URL publique d'accès à l'instance Outline
FORCE_HTTPS: "true" # Redirige automatiquement les requêtes HTTP vers HTTPS
DATABASE_URL: postgres://outline:outline@postgres:5432/outline # Connexion à PostgreSQL : user:mdp@hôte:port/base
REDIS_URL: redis://redis:6379 # Connexion à Redis
SECRET_KEY: clé-1 # Clé secrète interne (sessions, sécurité...)
UTILS_SECRET: clé-2 # Clé secrète utilisée pour des opérations internes diverses
FILE_STORAGE: local # Stockage des fichiers sur disque local (vs. S3 ou autres)
ENABLE_UPDATES: "false" # Désactive la vérification automatique des mises à jour
PGSSLMODE: disable # Désactive SSL entre Outline et PostgreSQL (local uniquement)
# Authentification via OpenID Connect (OIDC) avec Keycloak
OIDC_CLIENT_ID: outline
OIDC_CLIENT_SECRET: client-secret
OIDC_DISCOVERY_URL: https://sso.domaine.com/realms/LDAP/.well-known/openid-configuration
# URL de découverte OIDC fournie par Keycloak
OIDC_AUTH_URI: https://sso.domaine.com/realms/LDAP/protocol/openid-connect/auth
OIDC_TOKEN_URI: https://sso.domaine.com/realms/LDAP/protocol/openid-connect/token
OIDC_USERINFO_URI: https://sso.domaine.com/realms/LDAP/protocol/openid-connect/userinfo
OIDC_USERNAME_CLAIM: preferred_username # Champ OIDC utilisé pour le nom d'utilisateur dans Outline
OIDC_DISPLAY_NAME: Connexion Keycloak # Nom affiché pour le bouton de connexion
OIDC_SCOPES: "openid profile email" # Scopes demandés à Keycloak
OIDC_EMAIL_REQUIRED: "true" # Requiert une adresse mail pour la connexion
OIDC_AUTO_PROVISION: "true" # Crée automatiquement les utilisateurs à la première connexion
ports:
- 3000:3000 # Expose le port 3000 d’Outline sur le même port de l’hôte
restart: always # Redémarre toujours en cas d'échec ou au redémarrage de l'hôte
# Base de données PostgreSQL pour Outline
postgres:
image: postgres:14 # Version compatible recommandée pour Outline
environment:
POSTGRES_DB: outline # Nom de la base
POSTGRES_USER: outline # Utilisateur de la base
POSTGRES_PASSWORD: outline # Mot de passe
volumes:
- outline_postgres:/var/lib/postgresql/data # Persistance des données PostgreSQL
restart: always
# Service Redis (utilisé pour le cache et les files d’attente par Outline)
redis:
image: redis:alpine # Image légère de Redis
restart: always
# Volume Docker pour la base de données PostgreSQL
volumes:
outline_postgres:
Démarrage
Une fois le fichier docker-compose.yaml créé, nous pouvons lancer Outline avec la commande suivante :
docker compose up -d