{"id":21474278,"url":"https://github.com/codingtuto/litejsondb","last_synced_at":"2026-04-07T10:30:55.826Z","repository":{"id":250199312,"uuid":"833814126","full_name":"codingtuto/LiteJsonDb","owner":"codingtuto","description":"A lightweight JSON-based database system designed for simplicity and ease of use. It allows you to manage your data efficiently without the complexity of traditional databases. Code less, be productive.","archived":false,"fork":false,"pushed_at":"2025-01-23T22:11:54.000Z","size":119,"stargazers_count":21,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-31T15:05:40.020Z","etag":null,"topics":["codingteam","database","json","json2db","lightweight","nosql-database","packages","productivity","pypi","python3"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/LiteJsonDb/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codingtuto.png","metadata":{"files":{"readme":"README.fr.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-25T20:04:07.000Z","updated_at":"2025-12-09T04:59:44.000Z","dependencies_parsed_at":"2024-10-24T12:56:03.400Z","dependency_job_id":"ae4d78d1-862c-49df-a8b9-4ff9cb7b7b67","html_url":"https://github.com/codingtuto/LiteJsonDb","commit_stats":null,"previous_names":["codingtuto/json2db-lite","codingtuto/litejsondb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codingtuto/LiteJsonDb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingtuto%2FLiteJsonDb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingtuto%2FLiteJsonDb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingtuto%2FLiteJsonDb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingtuto%2FLiteJsonDb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codingtuto","download_url":"https://codeload.github.com/codingtuto/LiteJsonDb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingtuto%2FLiteJsonDb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31509929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codingteam","database","json","json2db","lightweight","nosql-database","packages","productivity","pypi","python3"],"created_at":"2024-11-23T10:21:38.650Z","updated_at":"2026-04-07T10:30:55.720Z","avatar_url":"https://github.com/codingtuto.png","language":"Python","readme":"# LiteJsonDb : Votre base de données JSON légère de référence\n![illustration](https://telegra.ph/file/374450a4f36c217b3a20b.jpg)\n![Téléchargements PyPi](https://img.shields.io/pypi/dm/LiteJsonDb.svg)\n![Version du package PyPi](https://img.shields.io/pypi/v/LiteJsonDb.svg)\n![Étoiles GitHub](https://img.shields.io/github/stars/codingtuto/LiteJsonDb)\n![Forks GitHub](https://img.shields.io/github/forks/codingtuto/LiteJsonDb)\n\n---\n\n[![Voir la documentation en Français](https://img.shields.io/badge/Documentation-Fran%C3%A7ais-blue)](./README.fr.md)\n[![Wiki](https://img.shields.io/badge/wiki-Documentation-blue.svg)](https://github.com/codingtuto/LiteJsonDb/wiki)\n\n---\n\u003e [!NOTE]\n\u003e Nous venons d'ajouter de nouvelles fonctionnalités géniales à `LiteJsonDb` pour rendre votre codage encore plus fluide. Pour un aperçu rapide et des exemples, consultez notre [wiki](https://github.com/codingtuto/LiteJsonDb/wiki/LiteJsonDb-Utility-Functions) pour tous les détails.\n---\n\n## :eyes: Aperçu\n\nSalut ! Bienvenue sur **LiteJsonDb**, votre base de données conviviale et légère basée sur JSON. Elle est simple et dotée de fonctionnalités telles que le chiffrement, les sauvegardes et une gestion solide des erreurs, le tout sans les aspects contraignants.\n\n## :thinking: Pourquoi LiteJsonDb ?\n\nAvouons-le : parfois, vous n'avez pas besoin d'une configuration de base de données complexe. Peut-être que vous construisez un petit projet, un prototype rapide, ou que vous voulez simplement une façon simple de stocker et de récupérer des données JSON. LiteJsonDb est là pour ces moments-là. C'est simple, efficace, et ça fait le travail sans chichis.\n\n## :hammer_and_wrench: Fonctionnalités\n\n-   **Gestion facile des données** : Ajoutez, modifiez, récupérez et supprimez des données avec seulement quelques lignes de code.\n-   **Chiffrement des données** : Gardez vos données en sécurité grâce au chiffrement optionnel.\n-   **Sauvegarde et restauration** : Sauvegardes automatiques pour garder vos données en sécurité.\n-   **Sous-collections** : Organisez vos données dans des structures imbriquées et ordonnées.\n-   **Gestion conviviale des erreurs** : Messages d'erreur colorés et utiles pour vous guider.\n\n\u003e [!NOTE]\n\u003e LiteJsonDb rend la gestion des données JSON simple et agréable. Que vous construisiez une petite application ou que vous ayez simplement besoin d'une solution de stockage de données légère, LiteJsonDb est là pour vous. Profitez-en !\n\n## :man_technologist: Installation\n\nCommencer est super facile. Il suffit d'installer le package via pip et vous êtes prêt à partir :\n\n\u003cpre\u003e\npip install litejsondb\n\u003c/pre\u003e\n\nUne nouvelle version est disponible, tapez `pip install --upgrade litejsondb` pour mettre à jour\n\n# :crystal_ball: Utilisation\n\n## :white_check_mark: Configuration initiale\n\nTout d'abord, importez la classe `JsonDB` et initialisez votre base de données :\n\n\u003cpre\u003e\u003ccode\u003e\nimport LiteJsonDb\n\n# Initialiser la base de données avec le chiffrement activé\ndb = LiteJsonDb.JsonDB()  # Certains paramètres peuvent être passés ici\n\u003c/code\u003e\u003c/pre\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eCliquez pour voir le code et l'aperçu des paramètres\u003c/summary\u003e\n\n## :gear: Aperçu des paramètres\n\n### Journalisation\nActivez la journalisation pour suivre toutes les opérations de la base de données. Ceci est utile pour le débogage ou la surveillance des activités :\n\n\u003cpre\u003e\u003ccode\u003e\ndb = LiteJsonDb.JsonDB(enable_log=True)\n\u003c/code\u003e\u003c/pre\u003e\n\n### Sauvegardes automatiques\nÉvitez de perdre vos données en activant les sauvegardes automatiques. Un fichier de sauvegarde est créé chaque fois que vous enregistrez des modifications :\n\n\u003cpre\u003e\u003ccode\u003e\ndb = LiteJsonDb.JsonDB(auto_backup=True)\n\u003c/code\u003e\u003c/pre\u003e\n\n### Chiffrement BASE64\nPar défaut, si vous passez `crypted` à `True`, il utilisera le système de chiffrement minimal (Base64)\n\u003cpre\u003e\u003ccode\u003e\ndb = LiteJsonDb.JsonDB(crypted=True)\n\u003c/code\u003e\u003c/pre\u003e\n\n### Chiffrement Fernet\nSécurisez vos données avec le chiffrement Fernet\n\u003cpre\u003e\u003ccode\u003e\ndb = LiteJsonDb.JsonDB(crypted=True, encryption_method=\"fernet\", encryption_key=\"votre-clé-secrète\")\n\u003c/code\u003e\u003c/pre\u003e\nSi aucune clé n'est fournie, le système générera une erreur pour garantir la sécurité de vos données.\n\u003c/details\u003e\n\n## :memo: Exemple récapitulatif\n\nCombinez la journalisation, les sauvegardes automatiques et le chiffrement en un seul flux de travail :\n\n\u003cdetails\u003e\n\u003csummary\u003eCliquez pour voir le code\u003c/summary\u003e\n\n\u003cpre\u003e\u003ccode\u003e\nimport LiteJsonDb\n\n# Initialiser la base de données avec la journalisation, la sauvegarde automatique et le chiffrement\ndb = LiteJsonDb.JsonDB(\n    enable_log=True, \n    auto_backup=True, \n    crypted=True, \n    encryption_method=\"fernet\",\n    encryption_key=\"ma-clé-sécurisée\"\n)\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003c/details\u003e\n\n---\n\n### 🤗 Opérations de base\n\n#### :heavy_plus_sign: Définition des données\n\nL'ajout de données est un jeu d'enfant. Utilisez simplement la méthode `set_data`. Si la clé existe déjà, vous recevrez un rappel amical pour utiliser `edit_data` à la place.\n\n\u003cpre\u003e\n# Définir les données sans données supplémentaires\ndb.set_data(\"posts\")\n\n# Définir les données avec des données supplémentaires\ndb.set_data(\"users/1\", {\"name\": \"Aliou\", \"age\": 20})\ndb.set_data(\"users/2\", {\"name\": \"Coder\", \"age\": 25})\n\u003c/pre\u003e\n\n#### :writing_hand: Modification des données\n\nBesoin de mettre à jour des données ? Pas de problème. Utilisez la méthode `edit_data`. Elle fusionne les nouvelles données avec les données existantes, pour que rien ne soit perdu.\n\n\u003cpre\u003e\n# Modifier les données\ndb.edit_data(\"users/1\", {\"name\": \"Alex\"})\n\u003c/pre\u003e\n\n#### :ballot_box_with_check: Obtention des données\n\nLa récupération des données est on ne peut plus simple. Utilisez la méthode `get_data`.\n\n\u003cpre\u003e\n# Obtenir les données\nprint(db.get_data(\"users/1\"))  # Sortie: {'name': 'Alex', 'age': 20}\nprint(db.get_data(\"users/2\"))  # Sortie: {'name': 'Coder', 'age': 25}\n\u003c/pre\u003e\n\n\u003e [!TIP]\n\u003e Vous pouvez accéder directement à des données spécifiques en utilisant des chemins dans la méthode `get_data`. Par exemple, pour obtenir uniquement le nom de l'utilisateur, vous pouvez faire :\n\u003cpre\u003e\nprint(db.get_data(\"users/1/name\"))\n\u003c/pre\u003e\n\nIci, vous obtenez le nom de l'utilisateur sans récupérer les autres parties des données.\n\n#### :wastebasket: Suppression des données\n\nBesoin de supprimer quelque chose ? La méthode `remove_data` est là pour vous.\n\n\u003cpre\u003e\n# Supprimer les données\ndb.remove_data(\"users/2\")\n\u003c/pre\u003e\n\n#### :package: Récupération complète de la base de données\n\nVous voulez tout voir ? Utilisez la méthode `get_db`. Définissez `raw=True` si vous voulez les données dans un format lisible.\n\n\u003cpre\u003e\n# Obtenir la base de données complète\nprint(db.get_db(raw=True))\n\u003c/pre\u003e\n\n## 🔍 Recherche de données (nouveau)\n\nCette nouvelle fonctionnalité a été intégrée en réponse à la [question](https://github.com/codingtuto/LiteJsonDb/issues/2) soulevée concernant l'amélioration des capacités de recherche de données. Cette fonction vous permet de rechercher des valeurs dans votre base de données, soit dans l'ensemble de la base de données, soit dans une clé spécifique. Cette amélioration rend la recherche de vos données beaucoup plus facile et efficace.\n\n### Comment utiliser\n\nLa fonction `search_data` offre deux modes de recherche principaux :\n\n1.  **Recherche de base** : Recherche une valeur n'importe où dans la base de données.\n2.  **Recherche spécifique à une clé** : Recherche une valeur dans une clé spécifique.\n\n### Intégration\n\n1.  **Utiliser la fonction `search_data`**\n\n    Voici comment vous pouvez utiliser la fonction `search_data` :\n\n    -   **Recherche de base** : Pour rechercher une valeur dans l'ensemble de la base de données, utilisez le code suivant :\n\n        ```python\n        results = db.search_data(\"Aliou\")\n        print(results)\n        ```\n\n        Ceci recherchera la valeur `\"Aliou\"` dans toutes les clés de votre base de données.\n\n    -   **Recherche spécifique à une clé** : Pour rechercher une valeur dans une clé spécifique, utilisez le code suivant :\n\n        ```python\n        results = db.search_data(\"Aliou\", key=\"users\")\n        print(results)\n        ```\n\n        Ceci recherchera la valeur `\"Aliou\"` spécifiquement dans la clé `\"users\"`.\n\n## 📦 Sauvegarde vers Telegram (nouveau)\n\nCette fonctionnalité a été intégrée pour vous aider à sauvegarder facilement vos fichiers, tels que votre base de données, directement dans une conversation Telegram. En utilisant cette méthode, vous pouvez sauvegarder en toute sécurité les fichiers importants automatiquement dans une conversation Telegram.\n\n### Comment utiliser\n\nLa fonction `backup_to_telegram` vous permet de sauvegarder n'importe quel fichier sur Telegram via un bot. Vous aurez besoin de deux informations essentielles : le **token du bot** et l'**identifiant de la conversation** où le fichier sera envoyé.\n\n### Intégration\n\n1.  **Obtenir votre token de bot Telegram**\n    Pour utiliser cette fonctionnalité, vous devez d'abord créer un bot sur Telegram en utilisant [@BotFather](https://t.me/BotFather). Une fois que votre bot est créé, BotFather vous fournira un token que vous utiliserez pour l'authentification.\n\n2.  **Trouver votre identifiant de conversation**\n    Vous pouvez obtenir votre identifiant de conversation en utilisant [@MissRose_bot](https://t.me/MissRose_bot) et en tapant `/id`. Il vous donnera votre identifiant de conversation unique.\n\n3.  **Utiliser la fonction `backup_to_telegram`**\n    Voici comment utiliser la fonction `backup_to_telegram` :\n\n    \u003cpre\u003e\u003ccode\u003epython\n    db.backup_to_telegram(\"votre_token\", \"votre_identifiant_de_conversation\")\n    \u003c/code\u003e\u003c/pre\u003e\n\n    Ceci enverra le fichier de sauvegarde à l'identifiant de conversation spécifié en utilisant votre bot Telegram.\n\n## 📦 Exportation vers CSV (nouveau)\n\nCette fonctionnalité a été intégrée pour vous permettre d'exporter facilement vos données au format CSV. Cela facilite le partage et l'analyse de vos données en dehors de l'application en créant des fichiers CSV qui peuvent être ouverts avec des tableurs comme Excel ou Google Sheets.\n\n### Comment utiliser\n\nLa méthode `export_to_csv` vous permet d'exporter soit une collection spécifique, soit l'ensemble de la base de données. Voici comment l'utiliser :\n\n### Intégration\n\n1.  **Préparer vos données**\n    Assurez-vous que les données que vous souhaitez exporter sont bien structurées. Vous pouvez avoir vos données sous forme de dictionnaires ou de listes de dictionnaires. Par exemple :\n\n    \u003cpre\u003e\u003ccode\u003e\n    # Ajouter des données d'exemple\n    db.set_data(\"users\", {\n        \"1\": {\"name\": \"Aliou\", \"age\": 20},\n        \"2\": {\"name\": \"Coder\", \"age\": 25}\n    })\n    \u003c/code\u003e\u003c/pre\u003e\n\n2.  **Utiliser la méthode `export_to_csv`**\n    Voici comment appeler la méthode pour exporter les données :\n\n    #### Exporter une collection spécifique\n\n    Pour exporter une collection spécifique, vous devez fournir la clé correspondante :\n\n    \u003cpre\u003e\u003ccode\u003e\n    # Exporter une collection spécifique\n    db.export_to_csv(\"users\")\n    \u003c/code\u003e\u003c/pre\u003e\n\n    #### Exporter l'ensemble de la base de données\n\n    Si vous souhaitez exporter toutes les données de la base de données, vous pouvez appeler la méthode sans paramètres :\n\n    \u003cpre\u003e\u003ccode\u003e\n    # Exporter l'ensemble de la base de données\n    db.export_to_csv()\n    \u003c/code\u003e\u003c/pre\u003e\n\n## 🐛 Gestion des erreurs\n\nCette fonctionnalité est expérimentale et peut ne pas prendre en charge tous les formats de données. Si vous essayez d'exporter une collection qui n'existe pas, un message d'erreur s'affichera :\n\nSi vous recevez des erreurs comme celle-ci : `Oups ! Une erreur s'est produite lors de l'exportation CSV : ...`, nous vous recommandons d'ouvrir une issue dans notre dépôt afin que nous puissions y remédier. Vos commentaires sont précieux, et nous apprécions votre patience alors que nous continuons à améliorer cette fonctionnalité !\n\n### :file_folder: Travailler avec les sous-collections\n\n## :file_folder: Sous-collections\n\nDans LiteJsonDb, les sous-collections sont un moyen d'organiser vos données de manière hiérarchique. Considérez-les comme des structures imbriquées qui vous permettent de regrouper les données associées sous une clé parent. Cette fonctionnalité est particulièrement utile lorsque vous souhaitez gérer des relations de données complexes sans perdre la simplicité du JSON.\n\n### :thinking: Que sont les sous-collections ?\n\nLes sous-collections sont essentiellement des collections au sein de collections. Par exemple, si vous avez une collection principale d'utilisateurs, vous pouvez organiser leurs publications dans des sous-collections distinctes. Voici comment vous pouvez travailler avec elles :\n\n-   **Définition des données de sous-collection** : Créez et remplissez une sous-collection sous une clé parent spécifiée.\n-   **Modification des données de sous-collection** : Mettez à jour les éléments existants dans une sous-collection.\n-   **Obtention des données de sous-collection** : Récupérez les données stockées dans une sous-collection.\n-   **Suppression des données de sous-collection** : Supprimez les éléments ou des sous-collections entières.\n\nL'utilisation de sous-collections vous aide à maintenir une structure claire dans vos données, ce qui facilite leur gestion et leur interrogation.\n\n#### :heavy_plus_sign: Définition des données de sous-collection\n\nOrganisez vos données avec des sous-collections. Facile comme bonjour.\n\n\u003cpre\u003e\n# Définir les données de sous-collection\ndb.set_subcollection(\"groups\", \"1\", {\"name\": \"Admins\"})\n\u003c/pre\u003e\n\n#### :writing_hand: Modification des données de sous-collection\n\nModifier des éléments dans une sous-collection ? Pas de problème.\n\n\u003cpre\u003e\n# Modifier les données de sous-collection\ndb.edit_subcollection(\"groups\", \"1\", {\"description\": \"Groupe d'administrateurs\"})\n\u003c/pre\u003e\n\n#### :ballot_box_with_check: Obtention des données de sous-collection\n\nBesoin de récupérer des sous-collections ou des éléments spécifiques ? On s'en occupe.\n\n\u003cpre\u003e\n# Obtenir les données de sous-collection\nprint(db.get_subcollection(\"groups\"))\n\n# Obtenir un élément personnalisé des données de sous-collection\nprint(db.get_subcollection(\"groups\", \"1\"))\n\u003c/pre\u003e\n\n#### :wastebasket: Suppression des données de sous-collection\n\nLa suppression d'éléments de sous-collections est tout aussi simple.\n\n\u003cpre\u003e\n# Supprimer les données de sous-collection\ndb.remove_subcollection(\"groups\", \"1\")\n\u003c/pre\u003e\n\n## :bug: Gestion des erreurs\n\nLiteJsonDb est là pour vous aider. Voici quelques messages d'erreur colorés et conviviaux pour vous guider :\n\n-   **La clé existe** : Si vous essayez de définir des données avec une clé existante, il vous suggérera d'utiliser `edit_data`.\n-   **La clé n'a pas été trouvée** : Si une clé n'existe pas lorsque vous essayez d'obtenir ou de supprimer des données, il vous avertira avec un conseil sur la façon de procéder.\n-   **Problèmes de fichiers** : S'il y a des problèmes de permissions de fichiers, il vous guidera sur la façon de les résoudre.\n\n## :open_file_folder: Exemple de structure de projet\n\nVoici à quoi pourrait ressembler votre projet si vous initialisez `LiteJssonDb` :\n\n\u003cpre\u003e\nprojet/\n│\n├── base_de_données/\n│   ├── db.json\n│   ├── db_backup.json\n│   └── LiteJsonDb.log\n└── votre_code.py\n\u003c/pre\u003e\n\n## :shipit: Exemple `main.py`\n\nMettons tout cela ensemble avec un exemple de fichier `main.py` :\n\n\u003cpre\u003e\nimport LiteJsonDb\n  \n# Initialiser la base de données avec le chiffrement activé\ndb =  LiteJsonDb.JsonDB()\n\n# Ajouter des données initiales\n# Définir les données sans données supplémentaires\ndb.set_data(\"posts\")\n\n# Définir les données avec des données supplémentaires\ndb.set_data(\"users/1\", {\"name\": \"Aliou\", \"age\": 20})\ndb.set_data(\"users/2\", {\"name\": \"Coder\", \"age\": 25})\n\n# Modifier les données existantes\ndb.edit_data(\"users/1\", {\"name\": \"Alex\"})\n\n# Récupérer et afficher les données\nprint(db.get_data(\"users/1\"))\nprint(db.get_data(\"users/2\"))\n\n# Supprimer les données\ndb.remove_data(\"users/2\")\n\n# Effectuer une recherche de base\nresults = db.search_data(\"Aliou\")\nprint(\"Résultats de la recherche de base:\", results)\n\n# Effectuer une recherche spécifique à une clé\nresults = db.search_data(\"Aliou\", key=\"users\")\nprint(\"Résultats de la recherche spécifique à une clé:\", results)\n\n# Récupérer la base de données complète\nprint(db.get_db(raw=True))\n\n# Travailler avec des sous-collections\ndb.set_subcollection(\"groups\", \"1\", {\"name\": \"Admins\"})\ndb.edit_subcollection(\"groups\", \"1\", {\"description\": \"Groupe d'administrateurs\"})\nprint(db.get_subcollection(\"groups\"))\ndb.remove_subcollection(\"groups\", \"1\")\n\n# SI VOUS VOULEZ SAUVEGARDER LA BASE DE DONNÉES SUR TELEGRAM\n# db.backup_to_telegram(\"votre_token\", \"votre_identifiant_de_conversation\")\n\n\"\"\" SI VOUS VOULEZ EXPORTER VOS DONNÉES AU FORMAT CSV\n# Exporter une collection spécifique\ndb.export_to_csv(\"users\")\n\n# Exporter l'ensemble de la base de données\ndb.export_to_csv()\n\"\"\"\n\u003c/pre\u003e\n\n## :memo: Comprendre `set_data` vs. Sous-collections\n\n\u003cdetails\u003e\n\u003csummary\u003eCliquez pour développer\u003c/summary\u003e\n\n### `set_data`\n\nLa méthode `set_data` est utilisée pour ajouter ou mettre à jour des données à un chemin spécifique. Si la clé existe déjà, vous devrez utiliser `edit_data` pour la modifier. Cette méthode est idéale pour les paires clé-valeur simples ou les structures de données directes.\n\n\u003cpre\u003e\n# Définir les données\ndb.set_data(\"users/1\", {\"name\": \"Aliou\", \"age\": 20})\n\u003c/pre\u003e\n\n### Sous-collections\n\nLes sous-collections, d'autre part, sont utilisées pour créer et gérer des structures imbriquées dans votre base de données. Elles vous permettent de regrouper les données associées sous une clé parent, offrant ainsi une manière plus organisée de gérer les relations complexes. Les sous-collections sont essentiellement des collections au sein de collections.\n\n\u003cpre\u003e\n# Définir les données de sous-collection\ndb.set_subcollection(\"groups\", \"1\", {\"name\": \"Admins\"})\n\u003c/pre\u003e\n\n### Principales différences\n\n-   **Structure** : `set_data` est utilisé pour les structures de données plates, tandis que les sous-collections permettent une organisation hiérarchique.\n-   **Utilisation** : Utilisez `set_data` pour les paires clé-valeur simples et `set_subcollection` lorsque vous avez besoin de collections imbriquées.\n-   **Organisation** : Les sous-collections aident à maintenir une structure claire et à regrouper les données associées, ce qui facilite la gestion et l'interrogation des relations complexes.\n\nEn comprenant ces différences, vous pouvez choisir la méthode appropriée pour vos besoins de gestion de données, en assurant une base de données bien organisée et efficace.\n\n\u003c/details\u003e\n\n## 🧾 TODO : Prochaines étapes pour LiteJsonDb\n\nNous nous efforçons toujours d'améliorer LiteJsonDb. Voici ce que nous avons en vue :\n\n-   [x] Ajouter la prise en charge du chiffrement des données pour sécuriser le contenu JSON.\n-   [x] Mettre en œuvre des sauvegardes automatiques pour assurer la sécurité des données.\n-   [x] Améliorer la gestion des erreurs avec des messages conviviaux et colorés.\n-   [x] Ajout de la documentation en français\n-   [x] Mettre en œuvre des sauvegardes automatisées pour envoyer les données à un bot Telegram.\n-   [ ] Corriger tous les bugs découverts pour assurer un fonctionnement sans heurts.\n-   [ ] Atteindre 100 étoiles sur GitHub et célébrer cela en ajoutant d'autres fonctionnalités impressionnantes !\n\n## :hugs: Contributions et communauté\n\nNous accueillons les contributions, les suggestions et les commentaires pour rendre LiteJsonDb encore meilleur ! Si vous avez des idées d'améliorations ou si vous voulez corriger un bug, n'hésitez pas à :\n\n-   **Soumettre une demande d'extraction (PR)** : Contribuez de nouvelles fonctionnalités ou des corrections de bugs en créant une demande d'extraction. Vos modifications aideront à améliorer LiteJsonDb pour tout le monde !\n-   **Signaler les problèmes** : Si vous rencontrez des bugs ou des problèmes, veuillez ouvrir un problème dans le dépôt. Fournissez autant de détails que possible afin que nous puissions y remédier rapidement.\n-   **Suggérer des fonctionnalités** : Vous avez une idée pour une nouvelle fonctionnalité ? Faites-le nous savoir ! Nous sommes toujours ouverts aux suggestions sur la façon d'améliorer LiteJsonDb.\n\n\u003e Vos commentaires et contributions sont grandement appréciés et nous aident à maintenir la croissance et l'amélioration de LiteJsonDb.\n\n## :heart: Dons et soutien : Comment vous pouvez aider\n\nLiteJsonDb est une œuvre d'amour, et votre soutien peut faire une grande différence ! Si vous appréciez le projet et que vous voulez montrer votre gratitude, voici quelques façons dont vous pouvez aider :\n\n### Forkez et mettez une étoile au dépôt\n\nL'une des meilleures façons de soutenir LiteJsonDb est de forker le dépôt et de lui donner une étoile sur GitHub. C'est comme un high-five virtuel et cela nous aide à faire connaître le projet. De plus, cela nous montre que vous appréciez le travail que nous faisons !\n\n### Envisagez un don\n\nSi vous vous sentez particulièrement généreux et que vous souhaitez contribuer financièrement, nous vous en serions incroyablement reconnaissants. Les dons nous aident à couvrir les coûts et à assurer le bon fonctionnement du projet. Vous pouvez nous soutenir des manières suivantes :\n\n-   **PayPal** : Envoyez un don directement à [mon compte PayPal](https://paypal.me/djibson35). Chaque petite contribution aide et est grandement appréciée !\n-   **Bitcoin** : Vous préférez les cryptomonnaies ? Vous pouvez également faire un don en utilisant Bitcoin à l'adresse suivante : `1Nn15EttfT2dVBisj8bXCnBiXjcqk1ehWR`.\n\n\u003e Votre soutien, que ce soit par une étoile, un fork ou un don, contribue à maintenir LiteJsonDb vivant et florissant. Merci d'être génial !\n\nBon code et bonne continuation ! :rocket:\n","funding_links":["https://paypal.me/djibson35"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodingtuto%2Flitejsondb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodingtuto%2Flitejsondb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodingtuto%2Flitejsondb/lists"}