Obtenir Brievora

Guides Démarrer avec Obsidian

Obsidian Bases : le tutoriel complet (vue Kanban 1.14 comprise)

Bases est la fonction d’Obsidian qui affiche vos notes comme une base de données : tableau, galerie ou Kanban, à partir de leurs propriétés. Elle est intégrée à l’application, sans module à installer, et vos notes restent de simples fichiers Markdown.

  • 9 min de lecture
  • Par l’équipe Brievora
Une table Obsidian Bases qui liste les tâches de la semaine avec leur statut et leur délai

Ce qu’est une base, et ce qu’elle n’est pas

Une base est un fichier .base qui ne contient aucune donnée. Il décrit une sélection : quelles notes afficher, quelles propriétés montrer, dans quel ordre. Les valeurs restent dans les notes. Quand vous changez une date dans le tableau, ObsidianUne application de notes gratuite pour Windows, Mac, Linux, iPhone et Android. Vos notes restent des fichiers Markdown sur votre ordinateur. Brievora est un vault, un dossier de notes et de vues que vous ouvrez dans Obsidian.obsidian.md l’écrit dans la propriété de la note concernée.

Prenons la refonte du site d’une boulangerie. Chaque tâche du projet est une note dont l’en-tête porte quatre propriétés :

---
type: task
project: "[[Refonte Boulangerie Martin]]"
status: En cours
due: 2026-10-23
---

Une base filtrée sur type == "task" rassemble toutes ces notes dans un tableau, quel que soit le dossier où elles sont rangées. Une deuxième vue de la même base peut les montrer en colonnes, une par statut.

Ce qu’une base ne fait pas

  • Elle ne lit pas le corps des notes. Les filtres portent sur les propriétés et sur les informations du fichier (nom, dossier, dates, liens, mots-clés). Une case à cocher écrite au milieu d’une note n’apparaît pas dans la base.
  • Elle ne relie pas des tables entre elles comme Notion ou Airtable. Le lien entre une tâche et son projet passe par une propriété qui contient un lien vers la note du projet.
  • Elle ne garde ni historique des modifications ni droits par personne. Le vault reste un dossier de fichiers, sauvegardé avec les outils que vous choisissez.
Une vue Kanban de Bases : une colonne par statut
Une vue Kanban de Bases : une colonne par statut

Créer sa première base en cinq minutes

Partons d’un vaultDans Obsidian, un vault est un dossier de votre ordinateur qu’Obsidian ouvre : vos notes, leurs pièces jointes et vos réglages. Brievora est un vault prêt à l’emploi.help.obsidian.md qui contient déjà quelques notes de tâches comme celle ci-dessus.

  1. Ouvrez la palette de commandes (Ctrl+P, ou Cmd+P sur Mac) et lancez « Bases : Créer une nouvelle base ». Autre chemin : clic droit sur un dossier dans l’explorateur de fichiers, puis « Nouvelle base ».
  2. Renommez le fichier, par exemple Tâches.base. Sans filtre, la base affiche tous les fichiers du vault.
  3. Cliquez sur « Filtre », puis « Ajouter un filtre », et posez la condition type égal à task. Seules les tâches restent.
  4. Cliquez sur « Propriétés » et cochez project, status et due. Chacune devient une colonne.
  5. Cliquez sur « Trier » et choisissez due, ordre croissant. La tâche la plus urgente passe en tête.

Derrière l’interface, le fichier contient ce YAML. Vous pouvez aussi l’écrire à la main dans un éditeur de texte :

filters:
  and:
    - 'type == "task"'
views:
  - type: table
    name: Vue
    order:
      - file.name
      - project
      - status
      - due
    sort:
      - property: due
        direction: ASC

Filtres, tri et regroupement

Une base a deux niveaux de filtres. Les filtres globaux s’appliquent à toutes les vues : c’est là que vous dites « seulement les tâches ». Les filtres de la vue s’ajoutent par-dessus. Une vue « Cette semaine » garde par exemple les tâches non terminées dont l’échéance tombe dans les sept prochains jours.

filters:
  and:
    - 'type == "task"'
    - '!file.inFolder("Modèles")'
views:
  - type: table
    name: Cette semaine
    filters:
      and:
        - 'status != "Fait"'
        - 'due'
        - 'date(due) <= today() + "7d"'

Dans l’interface, and s’affiche « Toutes les conditions suivantes sont vraies », or devient « Au moins l’une des conditions suivantes est vraie » et not « Aucune des conditions suivantes n’est vraie ». La condition due seule écarte les notes qui n’ont pas d’échéance.

Une vue accepte plusieurs tris, mais un seul regroupement. Groupez les tâches par project et chaque projet forme un bloc avec son titre. Depuis la version 1.14, le menu des groupes permet de réordonner et de masquer des groupes, et les groupes se replient dans les vues tableau, galerie et liste.

Trois erreurs fréquentes

  • Une même valeur écrite de deux façons (« En cours » et « en cours ») donne deux groupes. Fixez vos valeurs une fois, puis tenez-vous-y.
  • Une échéance tapée en texte libre (« 23/10 ») ne se compare pas à today(). Donnez le type Date à la propriété : dans une note, cliquez sur l’icône à gauche de son nom.
  • Vos modèles de notes portent les mêmes propriétés que vos tâches et se retrouvent dans la base. Le filtre !file.inFolder("Modèles") les écarte.

Formules : dates, durées, conditions

Une formule calcule une colonne à partir des autres propriétés. Pour en créer une, cliquez sur « Propriétés », puis « Ajouter une formule », donnez-lui un nom et tapez l’expression. Une coche verte apparaît quand la syntaxe est valide. Une colonne formule se lit, mais ne se modifie pas dans le tableau.

formulas:
  jours_restants: 'if(due, (date(due) - today()).days.round(0), "")'
  en_retard: 'if(due, date(due) < today() && status != "Fait", false)'
  echeance: 'if(due, if(formula.jours_restants < 0, "En retard", "Dans " + formula.jours_restants.toString() + " j"), "")'

Soustraire deux dates donne une durée, pas un nombre. On en tire les jours avec .days, puis on arrondit avec .round(0). Sans l’arrondi, une échéance placée après le passage à l’heure d’hiver, le 25 octobre 2026, peut afficher 25,04 jours au lieu de 25 : l’heure gagnée cette nuit-là compte dans le calcul.

Pour décaler une date, ajoutez une durée entre guillemets : today() + "7d" pour dans sept jours, now() - "14d" pour il y a deux semaines.

Les fonctions qui servent le plus

FonctionUsageExemple
today()La date du jour, à minuitdate(due) < today()
now()La date et l’heure actuellesfile.mtime > now() - "14d"
date()Transforme un texte en datedate("2026-10-23")
if()Une valeur si la condition est vraie, une autre sinonif(due, "Planifiée", "Sans date")
.days et .round(0)Une durée en jours entiers(date(due) - today()).days.round(0)
.format()Affiche une date au format vouludate(due).format("DD.MM.YYYY")
.relative()Une date en langage courant (« il y a 3 jours »)file.mtime.relative()
.contains()Cherche une valeur dans une listetags.contains("urgent")
file.hasTag()Le fichier porte ce mot-clé, sous-mots-clés comprisfile.hasTag("client")
file.inFolder()Le fichier est dans ce dossier ou un sous-dossierfile.inFolder("Projets")
file.hasLink()La note contient un lien vers ce fichierfile.hasLink("Refonte Boulangerie Martin")
.toString()Transforme un nombre en texte, pour l’assembler à des motsformula.jours_restants.toString() + " j"

Les vues : tableau, galerie, liste, Kanban

Une base peut contenir plusieurs vues des mêmes notes. Cliquez sur le nom de la vue en haut à gauche, puis « Ajouter une vue ». Chaque vue a ses propres filtres, colonnes, tris et sa mise en page.

Mise en pageCe qu’elle montreDepuis
TableauUne ligne par note, une colonne par propriété, et des résumés en bas de colonne (somme, moyenne, nombre de cases cochées)1.9
GalerieUne carte par note, avec une image en tête si vous choisissez une propriété d’image1.9
ListeUne liste à puces ou numérotée1.10
KanbanDes colonnes, une par valeur de la propriété de regroupement1.14
Carte géographiqueDes épingles sur une carte, à partir de coordonnées (demande le plugin Maps)1.10

La vue Kanban

La vue Kanban est arrivée avec Obsidian 1.14, sortie le 5 octobre 2026. Chaque colonne correspond à une valeur de la propriété choisie dans « Grouper par ». Glisser une carte d’« À faire » vers « En cours » modifie la propriété status dans la note. Glisser l’en-tête d’une colonne change l’ordre des colonnes.

views:
  - type: kanban
    name: Kanban
    groupBy:
      property: status
      direction: ASC
    groupOrder:
      - À faire
      - En cours
      - En attente
      - Fait
    columnWidth: 260
    order:
      - file.name
      - project
      - due
  • groupOrder donne l’ordre des colonnes. Une valeur absente de cette liste n’a pas de colonne et ses notes disparaissent de la vue : listez toutes les valeurs possibles.
  • Seules les notes Markdown passent d’une colonne à l’autre. Si vous groupez par une formule, les cartes ne bougent plus.
  • columnWidth fixe la largeur des colonnes en pixels. Une carte peut aussi afficher une image de couverture tirée d’une propriété.

Vos tableaux sont encore dans le plugin communautaire Kanban ? Le guide Passer du plugin Kanban à Bases explique comment les déplacer sans rien perdre.

Intégrer une base dans une note

Une base s’affiche aussi au milieu d’une note. Écrivez ![[Tâches.base]], ou ![[Tâches.base#Cette semaine]] pour ouvrir une vue précise. La commande « BasesLa fonction de base de données intégrée à Obsidian : tableaux, cartes et Kanban construits à partir des propriétés de vos notes. Aucun plugin à installer.help.obsidian.md : Insérer une nouvelle base » crée une base et l’intègre d’un coup dans la note ouverte.

Vous pouvez aussi écrire la base dans la note elle-même, dans un bloc de code base. Elle n’existe alors que dans cette note.

Le mot-clé this rend une base réutilisable. Dans une base intégrée, this désigne la note qui l’accueille. Placez ce bloc dans la note du projet de la boulangerie : il n’affiche que les tâches de ce projet. Copiez-le dans la note d’un autre projet, il affiche celles de l’autre.

```base
filters:
  and:
    - 'type == "task"'
    - 'project == this'
views:
  - type: table
    name: Tâches du projet
    order:
      - file.name
      - status
      - due
```

C’est la méthode qui permet de gérer ses projets clients dans Obsidian : une fiche par projet, et dans chaque fiche, les vues qui le concernent.

Trois bases prêtes à copier

Créez un fichier vide dont le nom se termine par .base, collez le contenu, puis ouvrez-le dans Obsidian. Renommez les propriétés si les vôtres s’appellent autrement. Sous properties, gardez le préfixe note. devant le nom : sans lui, Obsidian ignore le nom d’affichage.

Suivi des tâches

filters:
  and:
    - 'type == "task"'
    - '!file.inFolder("Modèles")'
formulas:
  jours_restants: 'if(due, (date(due) - today()).days.round(0), "")'
  en_retard: 'if(due, date(due) < today() && status != "Fait", false)'
properties:
  note.status:
    displayName: Statut
  note.due:
    displayName: Échéance
  formula.jours_restants:
    displayName: Jours restants
views:
  - type: table
    name: À faire
    filters: 'status != "Fait"'
    order:
      - file.name
      - project
      - status
      - due
      - formula.jours_restants
    sort:
      - property: due
        direction: ASC
  - type: kanban
    name: Kanban
    groupBy:
      property: status
      direction: ASC
    groupOrder:
      - À faire
      - En cours
      - En attente
      - Fait
    order:
      - file.name
      - project
      - due
  - type: table
    name: En retard
    filters: 'formula.en_retard'
    order:
      - file.name
      - project
      - due

Lectures et veille

filters: 'type == "lecture"'
properties:
  note.author:
    displayName: Auteur
  note.status:
    displayName: Statut
views:
  - type: cards
    name: Galerie
    image: note.cover
    filters: 'status != "Abandonné"'
    order:
      - file.name
      - author
      - status
  - type: table
    name: À lire
    filters: 'status == "À lire"'
    order:
      - file.name
      - author
      - file.ctime

Clients à relancer

filters: 'type == "client"'
formulas:
  silence: 'if(last_contact, (today() - date(last_contact)).days.round(0), "")'
properties:
  note.last_contact:
    displayName: Dernier contact
  formula.silence:
    displayName: Jours sans contact
views:
  - type: table
    name: Tous les clients
    groupBy:
      property: status
      direction: ASC
    order:
      - file.name
      - city
      - last_contact
      - formula.silence
  - type: table
    name: À relancer
    filters: 'formula.silence > 30'
    order:
      - file.name
      - last_contact
      - formula.silence
    sort:
      - property: formula.silence
        direction: DESC

Questions

Bases fonctionne-t-il sur téléphone ?

Oui, Bases fait partie d’Obsidian sur iOS et Android. Pour retrouver les mêmes notes sur tous vos appareils, il faut synchroniser le vault, avec Obsidian Sync ou un autre service.

Quelle différence avec le plugin Dataview ?

Dataview est un module complémentaire avec son propre langage de requête. Il lit aussi le texte des notes, mais ses résultats sont en lecture seule. Bases est intégré à Obsidian, se règle à la souris et permet de modifier les propriétés directement dans le tableau.

Peut-on exporter une base vers un tableur ?

Oui. Le menu des résultats, en haut de la vue, propose de copier la vue dans le presse-papiers ou de l’exporter en CSV.

Une base affiche-t-elle aussi les PDF et les images ?

Oui, sans filtre, une base liste tous les fichiers du vault, pièces jointes comprises. Le filtre file.ext == "md" ne garde que les notes.

Brievora est un vault Obsidian construit sur Bases : clients, projets, tâches, briefs, retours et factures y ont déjà leurs vues en tableau et en Kanban, avec les modèles de notes qui vont avec.

Voir Brievora