Tutoriels
TutorielDéveloppeurCréer son premier DocType Frappe
Un DocType versionné dans une application Frappe : champs, slug unique, permissions, puis une méthode whitelistée.
Un DocType est le modèle d'un document Frappe. Pour un blog, Article porte le titre, le slug, le statut et le contenu. Le slug est unique : c'est lui qui construit l'URL publique.
Le minimum utile
Déclarez les champs dans le JSON du DocType, puis validez le slug côté serveur. Une contrainte uniquement dans le formulaire ne suffit pas.
def validate_slug_doc(doc, method=None):
doc.slug = (doc.slug or "").strip().lower()
if frappe.db.exists(doc.doctype, {"slug": doc.slug, "name": ["!=", doc.name]}):
frappe.throw("Ce slug est déjà utilisé.")Exposer le document au site
Le frontend ne lit pas MariaDB. Il appelle une méthode whitelistée qui ne renvoie que les articles au statut Published.
@frappe.whitelist(allow_guest=True)
def get_article(slug):
...Permissions
Le rôle System Manager administre. Un rôle éditorial écrit les articles. L'invité n'a aucune permission sur le DocType : l'API filtre elle-même les documents publiés.
Ce qu'il faut éviter
Ne modifiez pas l'application frappe pour ajouter un champ. Créez une application dédiée, ici erpnext_blog, et migrez-la avec bench migrate.
FAQ
Questions fréquentes
- Où vit le code du DocType ?
- Dans l'application personnalisée, sous le module, pas dans une personnalisation non versionnée du site.
Continuer
Articles associés
Guides
Installer ERPNext en production
Les choix qui comptent vraiment le jour de la mise en production : bench isolé, base dédiée, workers limités, sauvegardes.
Guides
Résoudre une erreur ERPNext
Une méthode courte pour lire une erreur Frappe sans redémarrer les services des autres applications du serveur.
Comparatifs
ERPNext vs Odoo
Deux ERP open source, deux modèles. Ce qui change pour une équipe francophone qui veut héberger et faire évoluer l'outil.
Guides
Guide ERPNext pour débutants
Une première carte d'ERPNext : ce que le logiciel couvre, par où commencer, et ce qu'il vaut mieux ne pas configurer trop tôt.
Pour aller plus loin
Un projet ERPNext ou Frappe à cadrer ?
Les guides restent libres d’accès. Le contact sert à poser une question précise, pas à vendre une licence.
