Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
Espace privé pour réviser, planifier sa vie, s'entraîner et travailler sa mémoire
Translation pending
AI summary · revised during review
ProductivityTypeScript · JavaScriptGitHub @RisitasLeGrandOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Application personnelle privée, chiffrée, hébergée gratuitement sur GitHub Pages — dans le navigateur, sans serveur ni compte.
Cyclades se divise en branches, déclarées dans src/lib/branches.ts :
| Branche | Ce qu'elle porte | État |
|---|---|---|
| Révisions | Préparation aux concours : cours, fiches de synthèse, flashcards à répétition espacée, quiz, glossaire, planification, suivi de progression | disponible |
| Odyssée | Pilotage de la vie : domaines, calendrier, tâches, quêtes, revue du soir, relevé de ce qui a eu lieu | disponible |
| Sport | Musculation et cardio : bibliothèque d'exercices, schéma du corps, programmes, séance en direct, suivi de la force | disponible |
La branche Révisions se décline en parcours (src/lib/parcours/registre.ts) :
INSP, DGFiP B, DGFiP A, DGFiP A+. Chaque parcours déclare ses matières, ses
thèmes de planification et le concours qu'il prépare. Seul l'INSP porte du
contenu à ce jour ; les trois autres se naviguent et attendent leur
référentiel officiel, qui ne sera jamais inventé.
Les noms de stockage (base IndexedDB revinsp, clés revinsp.*) gardent leur
préfixe historique : voir docs/cyclades/renommage.md.
Trois commandes suffisent au quotidien :
| Commande | Effet |
|---|---|
npm run dev | Chiffre le contenu puis ouvre le site en local pour le tester |
npm run deploy | Chiffre, construit et publie le site sur GitHub Pages |
npm run hash | Affiche l'empreinte SHA-256 du mot de passe (voir plus bas) |
npm run actualites:cles | Crée la paire de clés de la rubrique Actualités (une seule fois) |
npm run actualites:local | Fabrique des actualités de démonstration pour le mode dev |
npm run actualites:lire | Relit une actualité chiffrée (nécessite le mot de passe) |
npm run actualites:publier | Met la rubrique Actualités en ligne sans reconstruire le site (aucun mot de passe ; normalement fait par GitHub Actions) |
Règle de sécurité fondamentale : le dossier content/ (vos fiches en clair)
et le fichier .env.local (votre mot de passe) ne sont jamais envoyés sur
GitHub. Ils figurent dans .gitignore depuis le premier commit. Seul le
résultat du build — déjà chiffré — est publié.
Prérequis : Node.js version 20 ou plus récente.
# 1. Récupérer le projet
git clone https://github.com/<votre-compte>/<votre-depot>.git
cd <votre-depot>
# 2. Installer les dépendances
npm install
# 3. Créer le fichier de mot de passe (jamais commité)
cp .env.local.example .env.local
Ouvrez .env.local et remplacez la valeur par votre vrai mot de passe :
SITE_PASSWORD=votre-mot-de-passe
Vérifiez que ce mot de passe correspond bien à l'empreinte enregistrée dans
site.config.mjs :
npm run hash
La commande affiche ✓ Correspond déjà… si tout est cohérent. Sinon, suivez la
section Changer le mot de passe.
Enfin, créez le dossier de contenu à partir des exemples fournis :
npm run init:contenu
Les fiches vivent dans content/, organisé en matière → fascicule → fiche :
content/
glossaire.yml
droit-public/
fascicule-1/
fiche-01-hierarchie-des-normes.md
fiche-02-principe-de-legalite.md
questions-internationales/
fascicule-3/
fiche-01-pandemie-relations-internationales.md
Les noms de dossiers n'ont aucune importance technique : la hiérarchie
affichée sur le site est reconstruite à partir du front-matter de chaque
fiche (champs matiere et fascicule). Les dossiers ne servent qu'à vous
retrouver dans vos fichiers.
Matières suggérées pour le concours interne :
Un fichier .md par fiche thématique, composé d'un front-matter (entre
deux lignes ---) et de cinq sections optionnelles.
This is the beginning of the README. Read the rest at the original. Read the full README ↗