Utilisation Json comme base de données

26 décembre 2013 nakama

Développement

(Cet article a été écrit il y a très longtemps, dans une galaxie très très lointaine)

Aujourd’hui on va voir comment utiliser le Json comme base de données. L’avantage est de ne plus avoir besoin de MySQL.

Cette solution peut être intéressante pour de petits sites qui ne demandent pas trop d’administration.

Cet article va montrer comment utiliser le format Json et quelques points intéressants 🙂 comme par exemple mettre en place une Api qui va stocker dans un fichier Json des utilisateurs.

Ce qu’il faut garder en tête ici, c’est que chaque fichier Json peut être comparé à une table d’une base de données.

Variables et constructeur

– mise en place des variables
– le constructeur va renseigner quelques informations : le nom du fichier Json et txt.
– on termine en vérifiant si les fichiers n’existent pas déjà, si ce n’est pas le cas on fera appel à la méthode qui les créera.

Les méthodes

– la méthode getId() récupère un nouvel identifiant qui est contenu dans le fichier txt
– ligne 10 : on teste bien que le résultat n’est pas null sinon c’est qu’il y a eu un problème lors de la création de l’identifiant
– chaque utilisateur est sauvegardé sous cette forme : {« id »:31, »pseudo »: »Iron Man », »date »:1387821811},

Une simple méthode pour récupérer la valeur qui se trouve dans le fichier, l’incrémenter et ensuite sauvegarder la nouvelle valeur. J’ai repris la méthode du site openclassrooms pour compter le nombre de téléchargement.

Ici l’élément important : c’est que la méthode est en private, cela signifie qu’on va pouvoir y faire appel uniquement à l’intérieur de la class. Du coup on est certain qu’elle ne peut pas être appelé de l’extérieur, donc un identifiant sera créé uniquement quand on l’appellera dans la class elle-même.

– ligne 5 : elle permet de renvoyer directement tous les utilisateurs si la variable est déjà définie. Cela évite de faire plusieurs fois le travail si on appelle cette méthode plusieurs fois dans un même object
– on récupère le contenu encoder en Json, que l’on va décoder pour pouvoir l’utiliser

Cependant, les données sont sauvegardées de cette manière :

Et pour pouvoir décoder le format Json les données doivent être comme cela :

C’est pour cela que j’ajoute les [ ] et que je supprime la dernière virgule (ligne 9).

Il est tout à fait possible de faire autrement, enregistrer directement le tableau des utilisateurs, du coup on aura tout de suite la bonne syntaxe. Cependant, pour chaque ajout il faudrait tout récupérer et ré-écrire à chaque fois … perso je préfère écrire uniquement le nouvel utilisateur ^^

La suppression se passe plus ou moins comme la modification, on regarde si l’id correspond, si oui on le supprime du tableau des utilisateurs et ensuite on ré-écrit le tout dans le fichier.

On n’oublie pas la dernière accolade de la class 🙂

C’est fini

La class permet de créer, de modifier, de supprimer et de lister tous les utilisateurs. Évidemment, elle peut être améliorée 🙂 ici je propose uniquement une base comme exemple 🙂

Mais il ne manque rien ?

Il manque peut-être les appels à la class 🙂 enfin la création de l’object.

Idées d’amélioration ?

– Pseudo et email unique
– Rajouter des champs : mdp, email, date de modification etc.
– Mettre en place une 2e table pour classer les utilisateurs par catégories
– Mettre en place un système d’identification (login/mdp)
– etc.

Mots-clés associés à cet article :

Retrouvez d'autres articles par catégories

tempus ut at vulputate, eget ante. consequat. quis, leo adipiscing mattis