Coding Learn
4.73K subscribers
279 photos
109 videos
47 files
199 links
Canal de partage de contenus sur la programmation et sur l'informatique

📬 Pour suggérer venez sur @codingsupport_bot
Download Telegram
🚀 LiteJsonDb : Simplifiez votre vie avec JSON !

Vous en avez marre de...
- Écrire du code compliqué pour accéder à des données imbriquées ?
# JSON natif 😫
if 'users' in data and '1' in data['users'] and 'settings' in data['users']['1']:
notification_status = data['users']['1']['settings'].get('notifications', False)

# LiteJsonDb 😊
notification_status = db.get_data("users/1/settings/notifications", default=False)


- Gérer manuellement les fichiers JSON ?
# JSON natif 😫
with open('data.json', 'r') as f:
data = json.load(f)
data['users']['1']['settings']['theme'] = 'dark'
with open('data.json', 'w') as f:
json.dump(data, f)

# LiteJsonDb 😊
db.set_data("users/1/settings/theme", "dark")


- Vérifier constamment si les données existent ?
# JSON natif 😫
try:
user_data = data['users']['1']
except KeyError:
user_data = {}

# LiteJsonDb 😊
user_data = db.get_or_default("users/1", default={})


🎯 La solution : LiteJsonDb !

Installation rapide
pip install litejsondb

🔥 Pourquoi LiteJsonDb révolutionne la gestion JSON

1. Paths simplifiés vs JSON natif
# Accès aux données imbriquées
# JSON natif 😫
data['users']['1']['profile']['settings']['notifications']['email']

# LiteJsonDb 😊
db.get_data("users/1/profile/settings/notifications/email")


2. Manipulation intelligente des données
# Mise à jour partielle
# JSON natif 😫
if 'users' in data and '1' in data['users']:
data['users']['1'].update({'name': 'Alex'})
with open('data.json', 'w') as f:
json.dump(data, f)

# LiteJsonDb 😊
db.edit_data("users/1/name", "Alex"})


3. Sécurité intégrée
# Chiffrement
# JSON natif 😫
# Nécessite une implémentation manuelle complexe...

# LiteJsonDb 😊
db = JsonDB(crypted=True) # C'est tout ! en BASE64


💡 Fonctionnalités qui changent tout

Accès intelligent aux données
- Paths intuitifs : users/1/name au lieu de ['users']['1']['name']
- Des utilité : Plus de productivité !
- Création automatique des chemins intermédiaires

Protection des données
- Chiffrement automatique
- Sauvegarde locale ou Telegram
- Protection contre l'écrasement accidentel

Manipulation simplifiée
- Fusion automatique lors des mises à jour
- Création récursive des structures
- Suppression propre des données

👥 Parfait pour :

1. Développeurs de bots
# Configuration simple
db.set_data("bot/settings", {
"prefix": "!",
"welcome_message": "Bonjour {user}!"
})


2. Applications Web
# Stockage utilisateur
db.set_data("users/1", {
"profile": {"name": "Alex"},
"preferences": {"theme": "dark"}
})


3. Scripts d'automatisation
# Suivi des tâches
db.set_data("tasks/daily", {
"last_run": "2024-03-20",
"status": "success"
})


🚀 Exemple complet d'utilisation

from litejsondb import JsonDB

# Initialisation
db = JsonDB(crypted=True)

# Création de structure complexe
db.set_data("app/users/1", {
"name": "Alex",
"settings": {
"notifications": True,
"theme": "dark"
}
})

# Modification facile
db.edit_data("app/users/1/settings", {
"language": "fr" # Ajoute sans écraser
})

# Accès simple
theme = db.get_data("app/users/1/settings/theme")


📈 Performance et fiabilité
- Optimisé pour les petites et moyennes bases de données
- Parfait pour remplacer les fichiers de configuration
- Idéal pour le stockage local de données structurées

🔄 Mise à jour facile
pip install --upgrade litejsondb


🌟 Ce que disent les développeurs
> "Plus besoin de me battre avec les dictionnaires imbriqués !"
> "Le système de paths est un game changer"
> "Enfin une solution simple pour mes bots Discord"

En savoir plus: https://www.codingteam.fr/2024/09/litejsondb-le-guide-ultime-pour-devenir.html

#Python #JSON #Database #Developer #OpenSource #Productivity