My Profile Photo

charB66


Mon cyberjournal de bord sans prĂ©tention đŸ€ŸđŸ»


Vos notes Obsidian, partout, tout le temps

Banniere article Dans l'IT et particuliÚrement en cybersécurité il est important de synchroniser ses notes sur tous nos supports, ordinateur, téléphone portable, etc. Il est tout à fait possible de répondre à ce besoin en utilisant Obsidian, son plugin communautaire Git et un repository sur GitHub.

âšĄïž TL;DR

💡 Une prĂ©cision avant de commencer
Le TL;DR s’adresse Ă  ceux qui ont dĂ©jĂ  un repository Git fonctionnel pour la synchronisation de leurs notes. Si c’est votre cas, vous pouvez suivre directement les Ă©tapes rĂ©sumĂ©es ici. En revanche, si vous partez de zĂ©ro ou n’avez pas encore configurĂ© de repository Git, je vous invite Ă  lire l’article en entier, qui explique chaque Ă©tape en dĂ©tail.

Prérequis :

  • Un vault Obsidian existant.
  • Le plugin communautaire Git fonctionnel dans son vault (s’il ne vous manque que ce point, sautez au chapitre 2.7 Configuration de Git dans Obsidian puis revenez-ici 😊)

Étapes :

  1. Créez un token (classic) dans les réglages développeur avec le périmÚtre repo Full control of private repositories.
  2. Clonez le repository sur votre ordinateur avec le protocole HTTPS ; lors de l’authentification, utilisez votre nom d’utilisateur et le token en guise de mot de passe.
  3. Compressez en .zip le dossier du repository.
  4. CrĂ©ez un vault sur l’application mobile Obsidian en le nommant (et en respectant la casse) exactement comme le dossier du repository.
  5. TĂ©lĂ©chargez l’archive .zip sur tĂ©lĂ©phone portable.
  6. Extrayez l’archive .zip et dĂ©placez le dossier extrait dans le dossier de l’application mobile Obsidian (en Ă©crasant le dossier dĂ©jĂ  prĂ©sent). Sur iPhone : Files > On My iPhone > Obsidian.
  7. Dans l’application mobile Obsidian, allez dans Settings > Community plugins > Settings du plugin Git > dĂ©filez vers le bas jusqu’à la section Authentication/Commit Author.
  8. Renseignez votre nom d’utilisateur dans Username et votre token dans Password/Personal access token.

📜 Table des matiùres

  1. đŸ€” POURQUOI ?
    1.1 Bénéfices
  2. đŸ—ïž MISE EN PLACE
    2.1 Création du repository sur GitHub
    2.2 Création et configuration du token
    2.3 Clone du repository
    2.4 Configuration des informations d’utilisateur
    2.5 Configuration du .gitignore
    2.6 Premier commit & push
    2.7 Configuration de Git dans Obsidian
    2.8 Test de bon fonctionnent
    2.9 Compression et téléchargement du vault
    2.10 Création du vault
    2.11 Configuration du vault
    2.12 Test de bon fonctionnement multiplateforme
  3. 🔄 RETOUR D’EXPÉRIENCE
  4. đŸ—ïž EN RÉSUMÉ

1. đŸ€” POURQUOI ?

Il m’est arrivĂ© maintes fois de me perdre dans mes notes stockĂ©es sur une multitude de supports. Le plus frĂ©quent est lorsque je suis en pentest. Le dernier en date, je suis tombĂ© sur une techno rarement utilisĂ©e, je me souvenais avoir mis de cĂŽtĂ© un article ou un outil Ă  son sujet
 mais
 oĂč ? đŸ« . À ce moment prĂ©cis je me suis dit qu’il fallait que je stocke et gĂšre mes notes dans un seul outil !

Dans les mĂ©tiers de l’IT et d’autant plus en cybersĂ©curitĂ©, la masse d’informations Ă  lire, analyser et stocker est Ă©norme ; bien trop dense pour ne pas avoir une judicieuse gestion de ses notes. Et cela commence par l’outil et le stockage de celles-ci.

Outre le fait d’utiliser - le bon outil de prise de note - il est primordial de se simplifier la tñche. Selon-moi il y a 2 critùres vitaux :

  • La prise de note doit ĂȘtre simple.
  • La prise de note doit ĂȘtre rapide.

Un point est commun aux critĂšres ci-dessus : le stockage, et qui dit stockage, dit synchronisation.

1.1 Bénéfices

La synchronisation automatique des notes Ă©vite la multiplication des applications et/ou supports de notes. En n’ayant pas Ă  rechercher sur quel support vous avez stockĂ© votre note (sur mon tĂ©lĂ©phone ou mon ordinateur ?) ni dans quelle application (Obsidian ? Notion ? Mon application notes ? Un papier ?), l’accĂšs Ă  l’information est fluide et rapide. Cette fluiditĂ© est importante car il est vital de pouvoir se concentrer sur le contenu de la note et non la “logistique” autour. Il n’est dĂ©jĂ  Ă©vident de prendre une note, il faut analyser l’information, la synthĂ©tiser
 alors si Ă  cela, vous ajoutez du “bruit” Ă  votre pensĂ©e, vous vous Ă©loignez de l’essence mĂȘme du principe de prise de note.

Gain de productivité

Pour les mĂȘmes raisons listĂ©es dans le gain de temps, la productivitĂ© de vos prise de notes se voit grandement amplifiĂ©e. Celle-ci sont plus rapides Ă  rĂ©diger, Ă  retrouver, Ă  modifier. Puis, une nouvelle fois, ne plus rĂ©flĂ©chir Ă  la gestion des notes favorise la clartĂ© de penser et donc la pertinence du contenu.

Sécurité et fiabilité

La synchronisation via un repository GitHub est un excellent choix pour plusieurs raisons. Vous retrouvez les mĂȘmes notes, Ă  jour, partout. Vos notes sont versionnĂ©es avec de nombreux commits, ce qui vous permets Ă  tout moment de revenir en arriĂšre en cas de mauvaise modification, suppression par erreur


Disponibilité constante

L’avantage d’utiliser GitHub pour la synchronisation est que vos notes sont disponibles partout, tout le temps. Vous y avez accĂšs sur tous vos supports, fixes, mobiles
 et si vous n’avez pas accĂšs Ă  ceux-ci - par exemple en dĂ©placement - vous pouvez les retrouver depuis n’importe quel navigateur web, directement sur le site de GitHub !


🚀 Je dĂ©taille dans cet article comment synchroniser sur son ordinateur et son tĂ©lĂ©phone portable ses notes prises avec Obsidian.

2. đŸ—ïž MISE EN PLACE

Je veillerai Ă  ĂȘtre aussi complet que possible dans mes explications, tout en Ă©vitant les informations superflues.

2.1 Création du repository sur GitHub

Commençons par la création du repository sur GitHub. Le premier point sur lequel il est intéressant de vous pencher est sa visibilité : privé ou publique ?
Supposons que ce repository soit pour une prise de note personnelle, il se peut qu’il contienne des donnĂ©es Ă  caractĂšre personnel (DCP) ; respectons donc le Zero Trust en crĂ©ant un repository privĂ©.

2.2 Création et configuration du token

L’application Obsidian mobile ne gùre pas le protocole SSH, la solution de contournement la plus propre est d’utiliser le protocole HTTPS et un token GitHub.
La gestion des tokens se fait dans la section Developer settings des comptes GitHub. Parce que je suis sympa, voici le lien d’accùs (je vous en prie les feignants 🙃).
Ensuite, cliquez sur Generate new token > Generate new token (classic) puis renseignez :

  • Le nom du token dans le champ Note.
  • Une date d’expiration.
    • Personnellement j’ai choisi No expiration car ce token ne servira que pour Obsidian et ne sera jamais partagĂ©. Pour plus de sĂ©curitĂ© il serait judicieux de dĂ©finir une expiration au bout d’un an. En revanche cela implique d’en gĂ©nĂ©rer un nouveau puis de le mettre Ă  jour dans l’application mobile Obsidian (oui, cette fois-ci c’est moi le feignant đŸ˜Ș).
  • Le pĂ©rimĂštre : quel sera le rĂŽle de votre token ? GĂ©rer le repository des notes via l’application Obsidian.
    • repo Full control of private repositories est parfait pour cela.

Enfin, défilez en bas de page puis cliquez sur Generate token.

⚠ Le token ne sera plus visible une fois la page courante fermĂ©e, il est impĂ©ratif de le sauvegarder et de prĂ©fĂ©rence dans un gestionnaire de mot de passe (KeePass, Bitwarden, Vaultwarden, Proton Pass, Enpass
).

2.3 Clone du repository

DorĂ©navant, tout est prĂȘt ! 👏
C’est le moment de cloner le repository sur votre ordinateur. Rendez-vous sur la page du repository tout juste créé, sĂ©lectionnez le protocole HTTPS puis copiez l’url.
Clonez le repository en ligne de commande :

git clone https://github.com/charB66/notes_blog_demo.git

Une authentification est nĂ©cessaire, il vous sera demandĂ© de renseigner votre nom d’utilisateur GitHub et votre mot de passe. Le mot de passe Ă  utiliser est votre token GitHub que vous venez de gĂ©nĂ©rer.

Un message avertissant que votre repository est vide devrait apparaütre, c’est normal, vous pouvez l’ignorer.

Avant de continuer, il faut s’assurer que le repository a bien Ă©tĂ© clonĂ© avec le protocole HTTPS, pour cela il faut regarder l’url distante configurĂ©e dans le .git.

Depuis le dossier du repository :

grep url .git/config

Cette commande cherche les occurrences du mot url dans le fichier .git/config, qui est le fichier de configuration du repository actuel.
Celle-ci devrait retourner :

url = https://github.com/charB66/notes_blog_demo.git

Le scheme https en dĂ©but d’url doit ĂȘtre prĂ©sent comme ci-dessus.

Il est aussi possible de vérifier la bonne configuration avec la commande git remote :

git remote -v  
origin  https://github.com/charB66/notes_blog_demo.git (fetch)  
origin  https://github.com/charB66/notes_blog_demo.git (push)

2.4 Configuration des informations d’utilisateur

Pour fonctionner correctement quelques informations de l’utilisateur Git doivent ĂȘtre configurĂ©es.

Configuration de votre nom d’utilisateur :

git config user.name "<pseudo>"

Configuration de votre email :

git config user.email "<email>"

2.5 Configuration du .gitignore

Afin d’éviter de passer votre temps Ă  gĂ©rer les conflits git (et je sais de quoi je parle), il est fortement conseillĂ© de configurer le .gitignore. Ce fichier permet d’ajouter des exceptions qui ne seront pas synchronisĂ©es dans le repository.
Dans le contexte de repository utilisĂ© avec Obsidian, il s’agit du workspace de ce dernier qui pose “problĂšme”. Les fichiers .obsidian/workspace.json et .obsidian/workspace-mobile.json sauvegardent l’espace de travail afin de retrouver - entre autre - les mĂȘmes onglets ouverts Ă  chaque lancement.
Bref, ce n’est pas indispensable et ces fichiers gĂ©nĂšrent beaucoup de conflits Git.

En étant dans le dossier du repository, exécutez simplement cette commande :

echo ".obsidian/workspace.json\nworkspace-mobile.json" > .gitignore

Et voici de nombreux cheveux blancs Ă©vitĂ©s (trop tard me concernant). 🙃

2.6 Premier commit & push

Avant d’activer et utiliser le plugin Obsidian, il est prĂ©fĂ©rable de faire les premiers essais en ligne de commande.

Vous devez réaliser le premier commit et le premier push sur le repository distant (GitHub).

Depuis le dossier du repository :

git add .
git commit -m "Premier commit !"
git push

2.7 Configuration de Git dans Obsidian

Dans Obsidian, ouvrez un dossier en tant que vault.

Sélectionnez le dossier du repository puis créez une note en guise de test.

Le repository est configurĂ© et utilisĂ©, mais pour le moment Obsidian ne gĂšre pas lui mĂȘme les commits, push, pull
 il convient donc d’ajouter le plugin communautaire Git dans Obsidian.

Rendez-vous dans les réglages et activez les Community plugins.

Cliquez sur Browse puis recherchez le plugin Git.

SĂ©lectionnez le plugin et cliquez sur Install, attendez l’installation puis cliquez sur Enable. Une fois l’activation terminĂ©e, cliquez sur Options. Je conseille d’activer la synchronisation automatique, cela simplifie l’usage, en particulier dans l’application mobile.

💡 Si vous ĂȘtes arrivĂ© ici depuis le TL;DR je vous invite Ă  y cliquer ici pour reprendre votre lecture 😉

2.8 Test de bon fonctionnent

Pour s’assurer du bon fonctionnement il est judicieux de modifier une note puis de pousser la mise à jour sur GitHub.

Une petite astuce pratique pour suivre le statut du repository est d’utiliser le panneau latĂ©ral Source control (sur la droite ci-dessous).

Pour l’afficher, faites le raccourci clavier CTRL + P puis saisir control view :

Ce panneau permet de suivre les fichiers staged, pushed et pulled. Mais surtout via les commande situées dans la partie supérieure, de manuellement push, pull etc.

Enfin, modifiez une note puis poussez manuellement la modification.

Pensez à également vérifier sur GitHub que la note a bien été mise à jour.

2.9 Compression et téléchargement du vault

Enfin la concrĂ©tisation ; place Ă  vos notes sur votre tĂ©lĂ©phone portable ! đŸ“Č

Depuis le dossier de votre vault Obsidian :

zip -r notes.zip <votre_dossier>

Cette commande crĂ©e une archive .zip, tĂ©lĂ©chargez lĂ  sur votre tĂ©lĂ©phone portable. Vous pouvez vous l’envoyer par courriel, ou mĂȘme vous faire un python web server (python3 -m http.server). đŸ„·

Certaines des instructions suivantes sont effectuĂ©es depuis un iPhone ; je vous laisse le soin de les adapter pour Android. 😉

2.10 Création du vault

En premier lieu, il convient de crĂ©er le vault Obsidian dans l’application mobile.
Celui-ci doit avoir exactement le mĂȘme nom que le dossier du repository de vos notes sur votre ordinateur. Si votre dossier se nomme notes_perso, votre vault Obsidian doit se nommer notes_perso.


Appuyez sur Create new vault puis, dans l’écran suivant saisissez le nom et laissez dĂ©cochĂ©e la case Store in iCloud.

DĂ©compressez l’archive .zip.

DĂ©placer le dossier du repository dans le dossier de l’application mobile Obsidian (Files > On My iPhone > Obsidian). Si le nom est correct, un message vous avertissant qu’un dossier du mĂȘme nom existe dĂ©jĂ  ; choisissez “Replace”.

2.11 Configuration du vault

Rendez-vous dans les réglages : Settings > Community plugins.

DĂ©filez en bas de l’écran et appuyez sur Turn on community plugins.
Appuyez sur Browse puis recherchez Git. Sélectionnez le premier de la liste, appuyez sur Install > Enable puis Options.

Un nouvel Ă©cran apparaĂźt vous demandant votre username, renseignez votre nom d’utilisateur GitHub. Une fois validĂ© un autre Ă©cran apparaĂźt vous demandant votre Password/Personal access token, renseignez votre token (classic) créé prĂ©cĂ©demment.

2.12 Test de bon fonctionnement multiplateforme

Il est temps de tester le bon fonctionnement de la synchronisation entre l’application mobile et celle de votre ordinateur.

Modifier une note dans l’application mobile puis pousser les changements sur votre repository GitHub.
Pour cela je vous conseille de passer par le panneau source control view. Afin d’afficher la Command palette sur l’application vous devez swiper de haut en bas (pour rappel CTRL + P sur le client lourd de votre ordinateur).

  1. Backup : permet de sauvegarder et pousser vos modifications sur votre repository distant (git add ; git commit ; git push).
  2. git push : permet de pousser vos modifications sur votre repository distant.
  3. git pull : permet de mettre à jour votre repository local en récupérant les derniers changements depuis votre repository distant.

Et voici, vous avez vos notes automatiquement synchronisĂ©es sur vos diffĂ©rents supports. 👏

3. 🔄 RETOUR D’EXPÉRIENCE

J’ai trouvĂ© peu de ressources concernant les possibilitĂ©s de synchronisation des notes sans passer par l’option payante d’Obsidian. Avec un peu de recherche, j’ai trouvĂ© quelques informations sur des forums, des threads Reddit, le plus pertinent est ce post sur le forum officiel Obsidian, mais cela reste succinct. Voici l’origine de ma volontĂ© de vulgariser la procĂ©dure.

AprĂšs 1 mois d’utilisation je suis conquis. Je prends plus de notes qu’auparavant, je m’y retrouve beaucoup plus facilement. Toutefois, je vous conseille d’augmenter Ă  5 ou 10 mins l’interval de synchronisation automatique, sans quoi, vous aurez trop souvent les notifications du plugin Git lors de la lecture de vos notes, et cela n’est vraiment pas pratique. Pour ma part, j’ai rĂ©glĂ© Ă  10 mins, puis, je push et pull manuellement via le panneau source control view.

Je tiens Ă  prĂ©ciser que la facilitĂ© de prise de note peut mener Ă  une surcharge informationnelle. Vous pouvez accumuler trop de donnĂ©es sans les structurer ni les prioriser. Une accumulation excessive des notes peut engendrer un encombrement cognitif, rĂ©duisant votre capacitĂ© Ă  hiĂ©rarchiser et exploiter efficacement les donnĂ©es. Cela tombe bien, un article sur la mĂ©thodologie de prise de notes est en cours de rĂ©daction. 😉

4. đŸ—ïž EN RÉSUMÉ

Le procĂ©dĂ© n’est pas facile au premier abord et il convient d’ĂȘtre Ă  l’aise avec la manipulation de votre tĂ©lĂ©phone portable et de Git. Une fois ce “gap” technique passĂ©, les avantages sont notables et valent le coup d’investir des efforts Ă  l’acquisition des connaissances techniques.

N’hĂ©sitez pas Ă  me faire vos retours (en commentaire ou via mes contacts sur ma page about) sur la mise en place et l’utilisation de cette mĂ©thode !

comments powered by Disqus