Les slugs d'URL dans Forge¶
Ce document décrit le module canonique de génération et de validation de slugs d'URL.
Le fichier de code correspondant est core/http/slug.py.
1. À quoi sert ce module ?¶
Un slug est la forme d'un texte adaptée à une URL : minuscules, sans accent, mots séparés par des tirets.
Ce module est le point canonique de Forge pour produire et valider un slug (ADR-017).
2. L'API¶
from core.http.slug import slugify, is_valid_slug
slugify("Bonjour le Monde !") # "bonjour-le-monde"
is_valid_slug("bonjour-le-monde") # True
| Fonction | Rôle |
|---|---|
slugify(text, *, max_length=180) |
dérive un slug d'URL depuis un texte libre |
is_valid_slug(value, *, max_length=180) |
indique si value est un slug valide |
3. Le contrat¶
slugify est idempotent : slugify(slugify(x)) == slugify(x).
La longueur est bornée par max_length ; le type slug des entités s'appuie sur ce module (ADR-017).
4. Contextes d'utilisation¶
- Type
slugd'entité : génération automatique depuis un champ source. - Routes lisibles : produire un segment d'URL propre.
5. Voir aussi¶
- Le routeur : les motifs de route qui consomment les slugs.