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 sonvault
(sâil ne vous manque que ce point, sautez au chapitre 2.7 Configuration de Git dans Obsidian puis revenez-ici đ)
Ătapes :
- Créez un
token (classic)
dans les réglages développeur avec le périmÚtrerepo Full control of private repositories
. - Clonez le repository sur votre ordinateur avec le protocole
HTTPS
; lors de lâauthentification, utilisez votre nom dâutilisateur et letoken
en guise de mot de passe. - Compressez en .zip le dossier du repository.
- Créez un
vault
sur lâapplication mobileObsidian
en le nommant (et en respectant la casse) exactement comme le dossier du repository. - TĂ©lĂ©chargez lâarchive .zip sur tĂ©lĂ©phone portable.
- 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
. - Dans lâapplication mobile
Obsidian
, allez dansSettings
>Community plugins
>Settings
du pluginGit
> dĂ©filez vers le bas jusquâĂ la sectionAuthentication/Commit Author
. - Renseignez votre nom dâutilisateur dans
Username
et votretoken
dansPassword/Personal access token
.
đ Table des matiĂšres
- đ€ POURQUOI ?
1.1 BĂ©nĂ©fices - đïž 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 - đ RETOUR DâEXPĂRIENCE
- đïž 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 mobileObsidian
(oui, cette fois-ci câest moi le feignant đȘ).
- Personnellement jâai choisi
- Le périmÚtre : quel sera le rÎle de votre
token
? GĂ©rer le repository des notes via lâapplicationObsidian
.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).
Backup
: permet de sauvegarder et pousser vos modifications sur votre repository distant (git add
;git commit
;git push
).git push
: permet de pousser vos modifications sur votre repository distant.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 !