Référence exhaustive en français, basée sur la documentation Obsidian (Bases) et enrichie d’exemples applicatifs. Elle couvre la création/embedding, la structure YAML complète, la logique de filtres (and/or/not), les opérateurs, les fonctions (globales et par type), les types de propriétés (note/file/formula), et les pièges fréquents.
base intégré).Embed :
![[Nom.base]] · Vue spécifique : ![[Nom.base#Nom de la vue]]base avec YAML valide (voir ci‑dessous).Une base décrit filters, formulas, properties, views. Les filtres globaux (section filters) s’appliquent à toutes les vues et se concatènent en AND avec les filtres de vue.
```base
filters:
or:
- file.hasTag("writing/draft")
- and:
- file.hasTag("writing/idea")
- not:
- file.inFolder("Archive")
formulas:
age_days: "((now() - file.ctime) / 86400000).toFixed(0)"
priority_label: "if(priority >= 4, 'Haute', if(priority >= 2, 'Moyenne', 'Basse'))"
properties:
formula.age_days: { displayName: "Âge (jours)" }
formula.priority_label: { displayName: "Priorité" }
views:
- type: table
name: "Backlog"
limit: 50
filters: { and: [ "status != 'done'" ] }
order: [ formula.priority_label, file.mtime ]
```
Trois conjonctions : and (toutes vraies), or (au moins une), not (aucune). Les “statements” acceptent comparaisons, fonctions et propriétés.
file.hasTag('writing/draft'), file.inFolder('Contacts'), file.mtime > now() - "7d", status == 'open'.AND.+ - * / % ( ) — ex. (price / age).toFixed(2)== != > < >= <= — ex. priority >= 4! && || — ex. !(status == 'done')"14d" "1M" "2h" — ex. file.mtime > now() - "14d"Globales (sans type) : if(), now(), today(), link(), image(), icon(), number(), list().
```base
formulas:
formatted_price: "if(price, price.toFixed(2) + ' €')"
badge: "link('[[NomDeNote]]', icon('arrow-right'))"
# Exemples de filtres
# file.mtime > now() - "30d"
# title.contains("Obsidian").and == true # via éditeur avancé
```
Par type :
format('YYYY-MM-DD'), relative(), date().time()contains(), replace(), lower(), title(), trim()round(), toFixed(), abs()contains(), map(), filter(), unique(), join()file.hasLink(), link().asFile(), file.asLink()note.*, file.*, formula.*, thisnote.status, author.file.ext, file.mtime, file.inFolder(), file.tags.formula.priority_label.file.hasLink(this.file).formulas — scindez en formules A → B (pas B → A).file.backlinks massifs — préférez file.links + filtres; limitez limit.Puis‑je trier sur une formula ? Oui : order: [ formula.nom ].
Comment limiter les résultats ? Avec limit au niveau de la vue (ex. 50).
Comment filtrer par période ? file.mtime > now() - "7d", ou utilisez today() pour dates sans heure.
Un bloc base peut remplacer un fichier .base ? Oui, collez la même syntaxe YAML dans le bloc.

Ne laissez plus le chaos vous ralentir. Recevez chaque mardi à 8h les systèmes mentaux pour penser en clair et bâtir votre second cerveau.