• # paradigme

    Posté par . En réponse au message Fichiers textes et binaires. Évalué à 4.

    Ton besoin est de créer, modifier, lire, détruire (CRUD) des informations.
    C'est la définition d'une base de données.
    Il y a mille solutions pour l'implémenter.
    Le choix dépend beaucoup de comment tu vas organiser tes données et des fonctionnalités que tu souhaites.

    Un système de fichiers est un moyen de stocker de l'information sous forme hiérarchique (un dossier contient des sous-dossiers et des fichiers, un sous-dossier est un dossier qui contient des sous-dossier et des fichiers, etc.).
    L'information se retrouve par le chemin. L'information élémentaire est un fichier. Par exemple un image.

    Par extension, un système de fichiers peut être une base de données clé-valeur. La clé est le chemin, la valeur le contenu du fichier. Par exemple, un fichier peut porter comme nom le nom du client et contenir les informations client (adresse, tel, etc.) dans un format quelconque (JSON, Pickle, MessagePack etc.). Tu peux en effet, créer, lire, modifier et supprimer un fichier. Mais il y a des limitation : un fichier fait au moins 4kB et stocker peu d'information dans chaque fichier conduit à de la perte d'espace. Le nombre de fichier dans un dossier est limité ou rend la consultation lente pour un grand nombre de fichiers (même si il y a des contournement). Et surtout, il n'est pas facile de retrouver rapidement une information (quel client a le numéro 0123456789 ?). Il faut alors indexer l'information avec un autre système (moteur de recherche).

    Un gros fichier seul n'est pas une base de données. Un CSV n'est pas une base de donnée car tu ne peux pas créer, lire, modifier, supprimer un enregistrement sans lire tout le fichier et ré-écrire tout le fichier. C'est un format d'échange de données (Export/Import).

    Un point important lorsque tu choisis un système de base de données est que le langage de programmation que tu utilises puisse y accéder. La grande majorité est compatible avec Python. Et d'ailleurs, je te recommande de commencer ici.