Tutoriel Bases

Installer le module Bases

Aller dans Paramètres > Modules principaux > vérifier que le module Bases est activé.

Types d’informations que l’on peut requêter

Les requêtes Bases peuvent porter sur :

  • les propriétés (en-tête YAML)
  • le chemin et le nom des notes
  • les liens entrants (backlinks) et liens sortants (links)
  • la taille des notes (en octets)
  • les dates de création et de modification des notes

Première requête Bases

```base
views:
  - type: table
    name: "Ma table"
```

crée un index de toutes vos notes Obsidian.

Filtrer les notes à afficher

On peut choisir de filtrer sur un champ :

```base
filters:
  and:
    - file.hasTag("tag")
```

"tag" est un mot-clé de la note.

C’est la commande filters qui permet d’exclure les notes qui ne remplissent pas le(s) condition(s) voulue(s).

Champs requêtables

La commande filters s’applique à l’ensemble des champs requêtables, à savoir :

Nom du champ Type de données Description
file.name Texte Le nom de la note.
file.folder Texte Le chemin du dossier dans lequel se trouve la note.
file.path Texte Le chemin complet de la note, y compris le nom du fichier.
file.ext Texte L’extension de la note, généralement md.
file.size Nombre La taille (en octets) de la note.
file.ctime Date avec heure La date à laquelle la note a été créée.
file.mtime Date avec heure La date à laquelle la note a été modifiée pour la dernière fois.
file.tags Liste Une liste de tous les tags uniques dans la note.
file.backlinks Liste Une liste de tous les liens entrants vers cette note, c’est-à-dire toutes les notes contenant un lien vers cette note.
file.links Liste Une liste de tous les liens sortants de cette note, c’est-à-dire tous les liens que la note contient.
file.embeds Liste Une liste de tous les fichiers encapsulés dans la note (images, fichiers PDF…).
file.properties Objet Toutes les propriétés de la note.

Manipulation des dates

Pour manipuler des dates (champs file.ctime, file.mtime) il est généralement utile de les comparer à la date du jour. Par exemple

```base
filters:
  and:
    - file.mtime > now() - "1 week"
```

exclut les notes qui n’ont pas été modifiées dans la semaine écoulée (littéralement : la requête ne garde que les notes dont la dernière modification est postérieure à la date du jour moins 1 semaine).

Toutes les options permettant de manier les dates et les durées sont décrites dans la documentation Bases.

Opérateurs logiques

Il est possible de combiner plusieurs filtres, comme dans l’exemple suivant :

```base
filters:
  or:
    - file.hasTag("tag")
    - and:
        - file.hasTag("livre")
        - file.hasLink("Manuel")
    - not:
        - file.hasTag("livre")
        - file.inFolder("Cours")
```

Dans cet exemple, trois sous-parties sont introduites par un opérateur or, ce qui signifie que les notes doivent remplir au moins un des trois critères suivants :

  • soit file.hasTag("tag")
  • soit file.hasTag("livre") et file.hasLink("Manuel")
  • soit ni file.hasTag("livre") ni file.inFolder("Cours").

Choisir ce qu’on veut afficher

L’affichage des résultats peut prendre deux formes :

  • un tableau
  • des cartes organisées en galerie.

table

La commande table affiche les résultats de la requête sous forme de tableau, avec une ou plusieurs colonnes. Par exemple, la requête ci-dessous affiche la liste des notes sous la forme d’un tableau avec une unique colonne (le nom des notes) :

```base
views:
  - type: table
    name: "Ma table"
```

Pour avoir plusieurs colonnes, il suffit d’utiliser la commande order, qui définit le contenu et l’ordre des colonnes :

```base
views:
  - type: table
    name: "Ma table"
    order:
      - file.name
      - file.ctime
      - file.folder
      - file.tags
```

Il est également possible de modifier l’en-tête des colonnes en utilisant la commande properties :

```base
properties:
  file.name:
    displayName: "Nom"
  file.ctime:
    displayName: "Date de création"
  file.folder:
    displayName: "Dossier"
  file.tags:
    displayName: "Tags"
views:
  - type: table
    name: Table
    order:
      - file.name
      - file.ctime
      - file.folder
      - file.tags
```

cards

Sur le même principe, la requête ci-dessous affiche la liste des notes sous la forme d’une galerie de cartes :

```base
views:
  - type: cards
    name: "Ma galerie"
```

Des paramètres spécifiques à la galerie peuvent s’appliquer :

  • cardSize détermine la largeur des cartes
  • image détermine l’image à afficher en couverture de chaque carte : soit une URL, soit un fichier attaché, soit une couleur
  • imageFit détermine comment l’image doit s’adapter à la taille de la carte (soit contain pour que l’image conserve ses proportions, soit cover pour qu’elle soit rognée et remplisse tout l’espace)
  • imageAspectRatio détermine la proportion de l’image (1.1 pour une image carrée).

Par exemple :

```base
views:
  - type: cards
    name: "Ma galerie"
    image: file.attachment
    imageFit: contain
    cardSize: 100
    imageAspectRatio: 1.7
```

limit

Pour n’afficher que les 5, 10, 20 premiers résultats, il est possible d’utiliser la commande limit de la façon suivante :

```base
views:
  - type: table
    name: "Ma table"
    limit: 10
```

Trier les résultats à afficher

sort

La commande sort permet de trier les résultats à afficher selon un ou plusieurs champs, dans l’ordre des champs (en cas d’ex-aequo).

Le tri peut se faire dans l’ordre croissant (ASC) ou décroissant (DESC) :

```base
views:
  - type: table
    name: "Ma table"
    order:
      - file.name
      - file.ctime
      - file.folder
      - file.tags
    sort:
      - property: file.name
        direction: ASC
      - property: file.ctime
        direction: DESC
```

Rédigé par Antoine Blanchard en octobre 2025