Guide Obsidian Bases — Démarrer et réussir
Obsidian Bases transforme vos notes en bases de données visuelles. En quelques minutes, vous créez des tableaux et des cartes qui listent automatiquement vos notes, avec filtres, tris et colonnes calculées. Résultat : vous pilotez votre contenu, vos projets et votre savoir sans scripts ni configurations complexes.
Dans ce guide, vous allez activer le plugin, créer votre première base, configurer des vues utiles, ajouter des formules simples — et repartir avec des modèles prêts à l’emploi pour aller vite.
- Transformez vos notes en tableaux et cartes interactives — sans code.
- Créez une base, ajoutez des vues (table/cartes), filtrez par tags/dossiers/propriétés, et enrichissez avec quelques formules utiles.
- Modèles inclus : pipeline éditorial, CRM léger, Read‑it‑later, Bookshelf.
Pour qui, pour quoi
- Pour qui : créateurs, entrepreneurs, marketeurs, knowledge workers, équipes produit.
- Pour quoi : suivre l’avancement (Idée → Brouillon → Publié), gérer prospects/clients, prioriser, centraliser et exploiter vos actifs.
1) Prérequis (2 minutes)
- Activez « Bases » : Réglages → Core plugins → Bases.
- Recommandé : activez « Properties » (métadonnées) pour vos champs YAML.
2) Créer votre première base (3 chemins)
- Palette de commandes → « Bases: Create new base » (ou « Insert new base » pour l’embarquer dans la note).
- Explorateur de fichiers → clic droit dossier → « New base ».
- Ruban vertical → « Create new base ».
Dans une note : ![[NomDuFichier.base]] ou ![[NomDuFichier.base#Nom de la vue]].
En bloc base : collez la syntaxe YAML (voir §6).
3) Vues (Table ou Cartes)
- Table : chaque fichier = une ligne, colonnes = propriétés (frontmatter/calculées).
- Cartes : chaque fichier = une carte. Option « image property » (URL ou fichier local), réglages contain/cover + ratio.
- Configurer/renommer : cliquez le nom de la vue (haut‑gauche) → « Configure view » → glissez pour réordonner.
Exemple : base « Contenus » avec vues « Idées / Brouillons / Publiés » filtrées par writing/idea, writing/draft, writing/published.
4) Filtrer et choisir les colonnes
- Filtres : bouton « Filters » → ajoutez des conditions « Property / Operator / Value ».
- Portée : « All views » (global) ou « This view » (spécifique à la vue).
- Logique :
and,or,not(groupes imbriqués possibles). - Propriétés clés :
file(ex :file.hasTag(\"writing/draft\"),file.inFolder(\"Articles\")), frontmatter (ex :author,status,priority). - Colonnes : bouton « Properties » → cochez les champs utiles (dates, folder, priorité…). Certaines sont éditables inline (tags, checkbox), d’autres non (chemin).
5) Formules & Fonctions (puissant, sans coder)
- Formules : réutilisables pour toutes les vues d’une base.
- Fonctions par type : globales (
if,now,link,image…),date,string,number,list,file,link,object,regexp. - Références :
note.prop(frontmatter),file.ext/file.mtime/file.tags(propriétés de fichier),formula.nom(autres formules, sans boucle).
```base
formulas:
formatted_price: 'if(price, price.toFixed(2) + " €")'
ppu: "(price / age).toFixed(2)"
# Exemples d'expressions
# if(isModified, "Modifié", "Non modifié")
# file.hasTag("writing/draft")
# link("[[NomDeNote]]", icon("arrow-right"))
```
On définit deux formulas (prix formaté, prix/âge) réutilisables dans toutes les vues. Les lignes en commentaire montrent des expressions typiques utilisables en filtres ou formules (if, file.hasTag, link).
6) Syntaxe « Bases » (YAML) et bloc base
Une base .base contient filters, formulas, properties, views (toutes réutilisables). Vous pouvez coller la même syntaxe dans un bloc base au sein d’une note.
Minimal (filtrer un tag + table) :
```base
filters:
and:
- file.hasTag("writing/idea")
views:
- type: table
name: "Idées à développer"
order:
- file.name
- file.mtime
```
Filtre les notes taguées writing/idea, puis les affiche en table triée par nom puis date de modification.
Plus avancé (formules + filtres multi‑conditions) :
```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
order:
- formula.priority_label
- file.mtime
```
Affiche les brouillons ou les idées hors dossier Archive. Deux formules utiles : âge en jours et étiquette de priorité. Vue « Backlog » limitée à 50, tri par priorité puis dernière modification.
7) Réutiliser et embarquer vos bases
- Les
.basesont des fichiers texte : partageables entre coffres. - Embarquez en note/volet latéral : glisser‑déposer ou
![[Nom.base#Vue]].
Filtrez file.hasLink(this) dans une base embarquée en sidebar pour lister les notes qui lient la note active — avec les colonnes qui comptent pour vous.
8) Cas d’usage (modèles prêts)
1) Pipeline éditorial (Idée → Brouillon → Publié)
```base
filters:
or:
- file.hasTag("writing/idea")
- file.hasTag("writing/draft")
- file.hasTag("writing/published")
views:
- type: table
name: "Idées"
filters: { and: [ "file.hasTag('writing/idea')" ] }
- type: table
name: "Brouillons"
filters: { and: [ "file.hasTag('writing/draft')" ] }
- type: table
name: "Publiés"
filters: { and: [ "file.hasTag('writing/published')" ] }
```
Centralise le pipeline de contenus avec trois vues (Idées, Brouillons, Publiés), chacune filtrée sur un tag d’état.
2) CRM léger (contacts/entreprises/prospects)
```base
filters:
and:
- file.inFolder("Contacts")
views:
- type: table
name: "Prospects"
filters: { and: [ "stage == 'prospect'" ] }
- type: table
name: "Clients"
filters: { and: [ "stage == 'client'" ] }
```
Limite aux fichiers du dossier Contacts et segmente par stage (prospect/client) via deux vues.
3) Read‑it‑later (à lire / lus)
```base
filters:
and:
- file.inFolder("Clippings")
views:
- type: table
name: "À lire"
filters: { and: [ "read != true" ] }
- type: table
name: "Lus"
filters: { and: [ "read == true" ] }
```
Deux vues sur vos captures (Clippings) : éléments à lire vs. déjà lus, selon la propriété booléenne read.
4) Bookshelf (bibliothèque + année)
```base
filters:
and:
- file.hasTag("books")
views:
- type: table
name: "Tous les livres"
- type: table
name: "Année en cours"
filters: { and: [ "note.year == today().year" ] }
```
Filtre sur le tag books, puis propose une vue annuelle basée sur note.year et la fonction today().year.
9) Bonnes pratiques & performance
- Standardisez vos propriétés (noms, types, enum/checkbox) pour des vues propres.
- Préférez
file.linksàfile.backlinks(plus léger). - Évitez les formules lourdes sur de très grands ensembles ; limitez
results. - Nommez clairement vos vues : préfixes « Édito/ », « SEO/ », « CRM/ ».
- Centralisez des modèles
.basedans/_Basespour ré‑usage.
10) Erreurs fréquentes / Dépannage
- Rien n’apparaît : vérifiez vos filtres (tag/folder exacts) et la portée (« All views » vs « This view »).
- Colonnes vides : la propriété n’existe pas partout ou le type n’est pas homogène.
- Lenteur : évitez
file.backlinks, limitez les résultats, simplifiez les formules. - Image en cartes : la propriété doit pointer vers une image (URL/attachement) et l’option d’affichage être définie.
11) Conclusion — Passer à l’action (15 min)
- Activez Bases et Properties (2 min).
- Créez une base « Contenus » (1 min).
- Ajoutez 3 vues : Idées / Brouillons / Publiés (3 min).
- Réglez 1–2 filtres et 4–6 colonnes utiles (5 min).
- Sauvegardez cette base comme modèle et embarquez‑la en sidebar (4 min).
Prochaines étapes : standardisez 3–5 propriétés (ex : status, priority, owner, deadline), créez une base « CRM » et « Clippings », ajoutez une ou deux formules (âge en jours, étiquette de priorité).