---
title: "Administration"
weight: 30
description: "Gestion des documents, projets et vérifications système depuis l'interface d'administration."
---

# Administration

L'interface d'administration est accessible à l'adresse `/admin/` de votre instance. Seul le mot de passe administrateur configuré dans `config.local.php` est requis pour s'y connecter.

## Connexion

Accédez à `/admin/` et entrez le mot de passe administrateur. La session reste active jusqu'à la déconnexion ou l'expiration.

![Écran de connexion à l'interface d'administration](screenshots/admin-connexion.webp)

## Tableau de bord

Le tableau de bord affiche l'ensemble de vos documents organisés par projets (dossiers). Une arborescence sur la gauche permet de naviguer dans la structure des fichiers.

![Tableau de bord d'administration avec l'arborescence des projets et la liste des documents](screenshots/admin-tableau-bord.webp)

### Informations affichées

Pour chaque document, le tableau affiche :

| Colonne | Description |
|---------|-------------|
| Chemin | Emplacement relatif du fichier dans `data/documents/` |
| Hash | Identifiant unique de 32 caractères pour l'accès public |
| Statut | Actif (accessible) ou inactif |
| Annotations | Nombre d'annotations sur ce document |
| Actions | Voir, modifier, versions, annotations, supprimer |

Les documents non encore indexés apparaissent en gris dans l'arborescence.

## Gestion des projets

### Créer un projet

Cliquez sur **Nouveau projet** dans la barre d'actions. Donnez un nom au dossier : il sera créé dans `data/documents/`.

### Supprimer un projet

Cliquez sur l'icône de suppression dans l'arborescence. Une confirmation vous sera demandée.

> **Attention** : La suppression d'un projet supprime le dossier et tous les fichiers qu'il contient.

## Gestion des documents

### Téléverser un document

1. Cliquez sur **Téléverser** dans la barre d'actions
2. Sélectionnez un fichier `.md`
3. Choisissez le projet (dossier) de destination
4. Le document est automatiquement indexé

### Indexer un document existant

Si vous avez copié des fichiers manuellement dans `data/documents/`, ils apparaissent dans l'arborescence en gris (non indexés). Cliquez sur un document pour l'indexer : MarginaliaMD lui attribue un hash public et le rend accessible.

En mode documentation ou hybride, l'indexation se fait aussi automatiquement lors de la navigation publique.

### Indexation en masse (CLI)

Pour indexer tous les documents d'un coup :

```bash
php cli/index-documents.php
```

Ce script parcourt récursivement `data/documents/`, analyse le front matter YAML de chaque fichier `.md` et met à jour la base de données et l'index de recherche.

### Copier le lien de partage

Cliquez sur l'icône de copie dans le tableau des documents. Le lien public est copié dans le presse-papier. En mode revue, ce lien contient le hash du document. En mode documentation, c'est une URL propre basée sur le chemin du fichier.

### Activer / désactiver un document

Le statut actif/inactif contrôle l'accessibilité publique du document. Un document inactif reste visible dans l'administration mais n'est plus accessible aux visiteurs.

### Supprimer un document

L'icône de suppression retire le document de la base de données. Vous avez le choix de supprimer aussi le fichier physique sur le disque.

## Versions

Chaque modification du contenu d'un document crée automatiquement une nouvelle version. Le détail des versions est accessible via l'icône de versions dans le tableau des documents.

![Page des versions d'un document avec l'historique et le nombre d'annotations par version](screenshots/admin-versions.webp)

La page des versions affiche :

- La date de création de chaque version
- Le hash de contenu (SHA256)
- Le nombre d'annotations liées à chaque version

Les annotations sont toujours associées à la version du document sur laquelle elles ont été créées.

## Protection par mot de passe

Vous pouvez protéger l'accès à un document individuel avec un mot de passe. Cette protection s'ajoute au mécanisme de hash : même avec le lien, le visiteur doit entrer le mot de passe pour consulter le contenu.

La protection par mot de passe se configure via l'API de mise à jour du document (endpoint PUT). Le mot de passe est stocké en hash bcrypt.

## Vérifications système

La page **Vérifications** (`/admin/checks.php`) contrôle l'état de votre installation :

![Page de vérifications système avec l'état de PHP, des extensions, des répertoires et de la base de données](screenshots/admin-verifications.webp)

| Vérification | Détail |
|-------------|--------|
| Version PHP | PHP 8.0 ou supérieur requis |
| Extensions PHP | `pdo`, `json`, `mbstring`, `pdo_sqlite` ou `pdo_mysql` |
| Répertoire de données | `DATA_PATH` accessible en lecture |
| Répertoire des documents | `DOCUMENTS_PATH` accessible en écriture |
| Répertoire des versions | `VERSIONS_PATH` accessible en écriture (créé automatiquement si absent) |
| Base de données | Connexion opérationnelle |

## Paramètres du site

Accessible via le menu **Paramètres du site**, cette page permet de configurer le nom du site, le message de bienvenue, les liens du pied de page et l'attribution. Voir la page [Configuration](/marginaliamd/configuration) pour le détail des paramètres.
