***
[[théorie ancrée]] qui part du principe que l’analyse est ancrée » dans les [[donnée|données]]
il est plus réaliste de considérer qu’aucune analyse n’existe en dehors de la stratégie de recherche, nécessairement subjective, mise en œuvre par un·e chercheur·e ou une équipe. critique de la based théorie (ou théorie ancrée)
## Notes de bas de page
```dataviewjs
// === DONNÉES ===
const page = dv.current();
const file = page.file;
const outlinks = file.outlinks.length;
const inlinks = file.inlinks.length;
const qualite = Math.max(0, Math.min(100, page["qualité"] ?? 0));
// === CALCUL PROGRESSION (0–100) ===
const max_links = 30;
const s_out = Math.min(outlinks / max_links, 1) * 40;
const s_in = Math.min(inlinks / max_links, 1) * 30;
const s_qual = qualite * 0.3;
const total = Math.round(s_out + s_in + s_qual);
// === ICÔNES ===
const iconEmoji =
total <= 25 ? "🌱" :
total <= 50 ? "🌿" :
total <= 75 ? "🌳" :
"🦚";
const iconLabel =
total <= 25 ? "🌱 Graine" :
total <= 50 ? "🌿 Jeune pousse" :
total <= 75 ? "🌳 Arbre mature" :
"🦚 Forêt";
// === MISE À JOUR YAML SANS CRÉER DE NOUVELLES CLÉS ===
const tfile = app.workspace.getActiveFile();
const cache = app.metadataCache.getFileCache(tfile);
// 1. Si pas de frontmatter → on ne touche à rien
if (cache?.frontmatter) {
await app.fileManager.processFrontMatter(tfile, fm => {
// 2. On met à jour seulement si la propriété existe déjà
if (Object.prototype.hasOwnProperty.call(fm, "progression")) {
fm.progression = total;
}
if (Object.prototype.hasOwnProperty.call(fm, "icon")) {
fm.icon = iconEmoji;
}
});
}
// === AFFICHAGE ===
dv.table(
["Liens sortants", "Liens entrants", "Qualité", "Progression"],
[[outlinks, inlinks, `${qualite}/100`, `${iconLabel} — ${total}/100`]]
);
```