Vault de prise de note
Project description
znote : Client de prise de notes sécurisé
znote est une application de prise de notes en ligne de commande fonctionnant sur un modèle client-serveur. L'accent est mis sur la sécurité, avec un chiffrement de bout-en-bout des communications et des données, garantissant que seul l'utilisateur peut accéder au contenu de ses notes.
Fonctionnalités
- Sécurité Renforcée : Chiffrement de bout-en-bout (E2EE) avec une architecture hybride RSA-4096/AES-256.
- Signatures Numériques : Chaque message est signé pour garantir son intégrité et son authenticité.
- Gestion Complète des Notes : Créez, éditez, consultez, listez et supprimez des notes.
- Éditeur Intégré : Un éditeur de texte simple est intégré directement dans le terminal pour une expérience fluide.
- Workspaces (Espaces de travail) : Organisez vos notes dans des espaces de travail distincts.
- Synchronisation de Fichiers : Envoyez (
push) un fichier local pour créer une note, ou téléchargez (pull) une note dans un fichier. - Channels de Diffusion : Partagez et synchronisez des fichiers sur plusieurs postes via des "channels".
- Protection par Mot de Passe : Protégez l'accès à des notes spécifiques avec un mot de passe.
- Recherche : Retrouvez du contenu rapidement grâce à une fonction de recherche dans toutes vos notes.
- Stockage en base : Pour l'instant les notes sont stockées en clair dans la base. A voir pour rajouter le support du chiffrement côté serveur.
Installation
Assurez-vous d'avoir Python et pip installés. Le projet est disponible sur Pypi.
pip install zpp_note
Côté serveur
Le serveur est le cœur de l'application. Il gère les comptes utilisateurs, stocke les données chiffrées et répond aux requêtes des clients.
Premier Lancement
-
Initialiser le serveur : Cette commande vous guidera pour créer le fichier de configuration
config.toml.znote_server --init -
Créer un utilisateur :
znote_server --create_user --username mon_user --password "mon_mot_de_passe"
-
Lancer le serveur :
znote_server
Utilisation du Serveur
Lancement du serveur : Pour démarrer le serveur en mode normal, exécutez simplement :
znote_server
Le serveur tournera en arrière-plan, en attente de connexions.
Options de Lancement du Serveur
| Option | Description | Exemple d'utilisation |
|---|---|---|
--init |
Lance un assistant interactif pour configurer le fichier config.toml du serveur. |
znote_server --init |
--config <chemin> |
Spécifie un chemin personnalisé pour le fichier de configuration. | znote_server --config /etc/znote/server.toml |
--create_user |
Un drapeau pour activer la création d'un nouvel utilisateur. Doit être utilisé avec username et password. |
znote_server --create_user --username admin --password "secret" |
--username <nom> |
Spécifie le nom d'utilisateur pour la création. | ... --username admin |
--password <mdp> |
Spécifie le mot de passe pour la création. | ... --password "un_mot_de_passe_solide" |
Côté client
Le client est l'interface en ligne de commande pour interagir avec vos notes.
Premier Lancement
-
Initialiser le client (dans un autre terminal) :
znote --initAssurez-vous que les informations du serveur (host, port) correspondent.
-
Connectez-vous :
znote login
Options Générales du Client
| Option | Description | Exemple d'utilisation |
|---|---|---|
--init |
Lance un assistant interactif pour configurer le config.toml du client. |
znote --init |
--config <chemin> |
Spécifie un chemin personnalisé pour le fichier de configuration. | znote --config ~/.znote_perso.toml |
--info |
Affiche les informations de connexion de base (host, port) sans se connecter. | znote --info |
Commandes du Client
La syntaxe générale est znote <commande> [arguments...].
| Commande | Description | Exemple d'utilisation |
|---|---|---|
login |
Ouvre une session sécurisée avec le serveur. Demande le nom d'utilisateur et le mot de passe. | znote login |
logout |
Met fin à la session actuelle et invalide le token. | znote logout |
status |
Affiche l'état de la connexion, le workspace actif et le nombre de notes. | znote status |
list |
Liste toutes les notes dans le workspace actuel. | znote list |
add <nom_note> |
Crée une nouvelle note et ouvre l'éditeur de texte intégré. | znote add "Ma première note" |
edit <nom_note> |
Ouvre une note existante dans l'éditeur de texte. | znote edit "Ma première note" |
view <nom_note> |
Affiche le contenu d'une note directement dans le terminal. | znote view "Courses à faire" |
remove <nom_note> |
Supprime une note de manière permanente. | znote remove "Vieille note" |
info <nom_note> |
Affiche les métadonnées d'une note (date de création/modification, créateur, etc.). | znote info "Ma première note" |
find "<pattern>" |
Recherche un mot ou une phrase dans le contenu de toutes les notes du workspace. | znote find "réunion importante" |
protect <nom_note> |
Définit un mot de passe pour une note spécifique. L'accès à la note nécessitera ce mot de passe. | znote protect |
pull <nom_note> [fichier] |
Télécharge le contenu d'une note et le sauvegarde dans un fichier local. Si le nom de fichier n'est pas donné, il est déduit du titre. | znote pull "Rapport" rapport.txt |
push <fichier> [nom_note] |
Envoie le contenu d'un fichier local pour créer une nouvelle note. Si le nom de la note n'est pas donné, il est déduit du nom de fichier. | znote push rapport_final.md "Rapport Final" |
workspace |
Affiche la liste des workspaces disponibles et indique celui qui est actif. | znote workspace |
workspace <nom_ws> |
Change le workspace actif. | znote workspace "Projets" |
workspace <nom_ws> --create |
Crée un nouveau workspace. | znote workspace "Archives" --create |
workspace <nom_ws> --remove |
Supprime un workspace. | znote workspace "Archives" --remove |
Commandes des Channels
La fonctionnalité de "channel" permet de synchroniser des fichiers entre plusieurs postes.
| Commande | Description | Exemple d’utilisation |
|---|---|---|
channel |
Liste tous les channels disponibles sur le serveur. | znote channel |
channel <nom> --detail |
Affiche les informations détaillées d'un channel (hash, date de modification...). | znote channel mon-canal --detail |
channel <nom> --tree |
Affiche l'arborescence et la liste des fichiers contenus dans le channel. | znote channel mon-canal --tree |
publish <channel> <fichier> |
Publie un fichier sur un channel. Si le fichier existe déjà , il est mis à jour. | znote publish mon-canal ./rapport.pdf |
publish <channel> --purge |
Supprime les fichiers du channel qui ne sont pas présents dans la publication actuelle. | znote publish mon-canal --purge |
fetch <channel> (<path>) |
Récupère (télécharge) tous les fichiers d'un channel dans le répertoire local. | znote fetch mon-canal |
fetch <channel> --force |
Force le téléchargement et l'écrasement des fichiers locaux même s'ils existent déjà . | znote fetch mon-canal --force |
fetch <channel> --purge |
Supprime les fichiers locaux qui ne sont pas présent dans le channel. | znote fetch mon-canal --purge |
diff <channel> |
Compare le répertoire local avec le contenu du channel et affiche les différences (fichiers nouveaux, modifiés ou à supprimer). | znote diff mon-canal |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file znote-1.1.0.tar.gz.
File metadata
- Download URL: znote-1.1.0.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: nexus/0.5.0 CPython/3.12.10 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ec11726d2f09160733ab7a470fb6ffb759ba8c025a81e260083ccfcf7080aad
|
|
| MD5 |
5268078b7aaee717e86df9bb5b99b911
|
|
| BLAKE2b-256 |
dd261ecd848e3945c9ada6fd82c67a3b467c3d2e215dddb637d0ec6f0c5f90a7
|
File details
Details for the file znote-1.1.0-py3-none-any.whl.
File metadata
- Download URL: znote-1.1.0-py3-none-any.whl
- Upload date:
- Size: 33.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: nexus/0.5.0 CPython/3.12.10 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55d627547939706ea0f6ee6990ff14a05b02ab3f8d089593ee2ebd2ffa1a9b3f
|
|
| MD5 |
d2aa0c7ce4b77b85985352cb8458dd37
|
|
| BLAKE2b-256 |
6965e6dae9447bb4765bb028c6a079e30dd59fca880710a2940c33cdf0c8ccdc
|