Skip to main content

Système de Design Français (ou DSFR) sous forme de thème MkDocs

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

📘 MkDocs DSFR

gitlab-pipeline-status pypi pyversions downloads license

MkDocs DSFR est un portage du Système de Design Français (ou DSFR) sous forme de thème MkDocs.

⚠️ Utilisation interdite en dehors des sites Internet de l'État

Il est formellement interdit à tout autre acteur d’utiliser le Système de Design de l’État (les administrations territoriales ou tout autre acteur privé) pour des sites web ou des applications.

Le Système de Design de l’État représente l’identité numérique de l’État. En cas d’usage à des fins trompeuses ou frauduleuses, l'État se réserve le droit d’entreprendre les actions nécessaires pour y mettre un terme.

👉 Voir README du DSFR ici.

⚡ Démarrage rapide

# 1. Créer un nouveau projet MkDocs sans installation globale
uvx --from mkdocs mkdocs new mon-projet
cd mon-projet

# 2. Ajouter le thème MkDocs DSFR (recommandé : uv)
uv pip install mkdocs-dsfr-men
# Alternative : pip install mkdocs-dsfr-men

# 3. Configurer le thème dans mkdocs.yml
cat > mkdocs.yml << EOF
site_name: Mon Projet

theme:
  name: dsfr
  header:
    service_title: Mon Service
    service_tagline: Description de mon service
EOF

# 4. Lancer le serveur de développement avec le thème
uvx --from mkdocs-dsfr-men mkdocs serve

Votre site est maintenant accessible sur http://localhost:8000

📁 Structure du projet

mkdocs-dsfr/
├── src/             # Code source du thème MkDocs DSFR
├── docs/            # Documentation du thème
├── tests/           # Tests unitaires Python (Pytest) et end-to-end (CodeceptJS)
├── pyproject.toml   # Configuration du package
└── README.md        # Ce fichier

🚀 Installation

Prérequis

  • Python >= 3.9
  • uv (recommandé)
  • pip (optionnel si vous préférez rester sur pip)

Installation avec uv (recommandée)

uv pip install mkdocs-dsfr-men

Pour installer une version spécifique depuis le dépôt Git :

# Branche principale
uv pip install git+https://gitlab.mim-libre.fr/digital-commons/world/european-union/france/administration/education-nationale/projet/produit/mkdocs-dsfr.git

# Branche ou tag spécifique
uv pip install "git+https://gitlab.mim-libre.fr/digital-commons/world/european-union/france/administration/education-nationale/projet/produit/mkdocs-dsfr.git@nom-de-branche"

Astuce : uvx --from mkdocs-dsfr-men mkdocs serve permet de lancer MkDocs avec le thème sans installation globale supplémentaire.

Installation via pip (alternative)

pip install mkdocs-dsfr-men

# Branche principale
pip install git+https://gitlab.mim-libre.fr/digital-commons/world/european-union/france/administration/education-nationale/projet/produit/mkdocs-dsfr.git

# Branche ou tag spécifique
pip install "git+https://gitlab.mim-libre.fr/digital-commons/world/european-union/france/administration/education-nationale/projet/produit/mkdocs-dsfr.git@nom-de-branche"

Installation en mode développement

Pour contribuer au projet ou tester des modifications locales :

# Cloner le dépôt
git clone https://gitlab.mim-libre.fr/digital-commons/world/european-union/france/administration/education-nationale/projet/produit/mkdocs-dsfr.git
cd mkdocs-dsfr

# Installer en mode éditable (recommandé : uv)
uv pip install
# Alternative : pip install

Le mode éditable (-e) permet de modifier le code source et de voir les changements immédiatement sans réinstallation.

⚙️ Configuration

Configuration minimale

Dans le fichier de configuration mkdocs.yml :

site_name: Mon Site

theme:
  name: dsfr
  header:
    service_title: Titre de mon service
    service_tagline: Baseline de mon service

Configuration complète

Pour un exemple de configuration complète, consultez le fichier mkdocs.yml de ce dépôt.

Plugins disponibles

Le thème fournit également un plugin MkDocs pour des fonctionnalités avancées :

plugins:
  - search
  - dsfr-plugin  # Plugin DSFR pour fonctionnalités supplémentaires

📚 Documentation

  • Documentation du thème : Consultez docs/ pour la documentation complète du thème
  • Tests : Voir tests/codeceptjs/README.md pour la documentation des tests E2E

🧪 Tests

Toutes les commandes doivent être exécutées depuis la racine du dépôt et passent par le Taskfile.

Préparer l’environnement

task dev:up

Lancer la suite complète (build + déploiement + Pytest + CodeceptJS)

task devsecops

ou

task test:tdd

Lancer uniquement les tests unitaires

task test:pytest

Lancer uniquement les tests end-to-end

task test:codeceptjs

Pour plus de détails sur les tests E2E, consultez la documentation dédiée.

🤝 Contribuer

Consultez le guide CONTRIBUTING.md pour savoir comment contribuer au projet.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs_dsfr_men-0.4.1.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_dsfr_men-0.4.1-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

Details for the file mkdocs_dsfr_men-0.4.1.tar.gz.

File metadata

  • Download URL: mkdocs_dsfr_men-0.4.1.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Linux/6.8.0-87-generic

File hashes

Hashes for mkdocs_dsfr_men-0.4.1.tar.gz
Algorithm Hash digest
SHA256 e331a2c7a673a5efc97a255a998f46f19c1a217507206509f17829995f58ebb8
MD5 6403dbe68040b141075a8ae10680202f
BLAKE2b-256 ff7e3e35ef94daa5668550f9a422a7232fedc8bad9ebcb380ab1d5515b7404d7

See more details on using hashes here.

File details

Details for the file mkdocs_dsfr_men-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: mkdocs_dsfr_men-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Linux/6.8.0-87-generic

File hashes

Hashes for mkdocs_dsfr_men-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0a3fe12864a7c266a5a8c973cbce06465dacd6618abd7be926ea91f770d576e3
MD5 1422bbe23b155ff548d6dee3d020900c
BLAKE2b-256 8ea1c831297cdfdb774000a143fc8263fdcddd0ea9a69c17960f51e029c65012

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page