IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Structure et fichier, base de données, Lua ?


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Structure et fichier, base de données, Lua ?
    Bonjour,
    Je souhaiterais développer un petit programme afin de m'entraîner, dans celui ci j'aurais besoin de rechercher pour sortir de manière aléatoire un élément que j'aurais stocker.
    Par exemple : je sort de manière aléatoire une voiture (rouge, 3 portes , etc..).
    En sachant qu'après je voudrais sortir de manière aléatoire un modèle de voiture "rouge" ou "3 portes".

    Je me demandais comment je pouvais stocker cela ? Je ne sais pas vraiment vers quoi m'orienter.
    Faire une structure voiture avec les différentes caractéristiques et les écrire dans un fichier ?
    Utiliser une API de base de données ?
    On ma parlé de Lua aussi.

  2. #2
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Tout dépend de ce que tu cherches à faire, c'est tout le défi d'une phase de conception. Peux-tu nous donner plus de détails ?

    Voici les questions que l'on pourrait se poser concernant ces listes de caractéristiques :

    • y'a-t-il beaucoup d'entrées à stocker ?
    • Évoluent-elles au cours du développement du programme ?
    • L'utilisateur doit-il pouvoir les modifier ?
    • Évoluent-elles au cours de l'exécution du programme ?
    • Quelle est la fréquence d'interrogation de ces listes ?
    • Etc..


    En fonction des réponses apportées, on pourrait ensuite choisir de stocker ces informations :

    • en dur ;
    • dans un fichier binaire ;
    • dans un fichier texte et sous quel format (yaml..) ;
    • sur un serveur distant ;
    • etc..


    ..puis pendant l'exécution du programme, choisir une structure de données adaptée.


    Soit dit en passant, il faut vraiment avoir beaucoup de données pour justifier de la mise en place d'une base (à la limite via SQLite, et encore..).

    Quand à Lua, à ma connaissance il s'agit d'un langage de programmation donc d'un outil pour définir des comportements, pas super adapté à la description de données (je peux me tromper, je connais très peu).

  3. #3
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Ca dépend du niveau d'aléatoire, et du besoin réel que tu choisis.

    Une base de donnée est une forme de stockage de données (possiblement avec des controles d'intégrité). Cela permet de stoquer des données en dehors d'une exécution d'un programme.
    Utilisée par un seul programme, c'est à peu près un fichier plus simple à lire et mieux rangé.

    Lua est un moteur de script, qui permet de rendre une partie de l'exécution du programme controlable depuis l'extérieur (via des scripts)

    Une structure de voiture est un moyen interne au programme de regrouper les informations qui lui correspondent.

    Les questions que tu dois te poser, c'est plutot:
    Que pourrait générer ton programme? Uniquement des voitures?
    Est-ce que tu veux générer du texte aléatoire, ou des choses manipulables?

    Je t'invite à jeter un œil sur le site donjon.bin.sh, qui contient beaucoup de générateurs de contenus aléatoires, et surtout, l'explication de leur fonctionnement (et leur code sources perl ou javascript).
    Par exemple, il y en a un qui se résume à:
    afficher 10 fois "{guerrier, mage, soldat, voleur, ranger} {humain, elfe, nain, orc} niveau {3, 4, 5}"
    Où chaque bloc {...} correspond à un choix aléatoire.

    Commence par un système simple, sans base de données, ni script lua, ni fichier de configuration des règles d'aléatoire.
    Puis ajoute un morceau de plus quand tu auras défini clairement ce qu'il doit faire (par écrit, donc).

    Et n'oublie pas la théorie
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Matt_Houston Voir le message
    • y'a-t-il beaucoup d'entrées à stocker ?
    • Évoluent-elles au cours du développement du programme ?
    • L'utilisateur doit-il pouvoir les modifier ?
    • Évoluent-elles au cours de l'exécution du programme ?
    • Quelle est la fréquence d'interrogation de ces listes ?
    • Etc..

    En fonction des réponses apportées, on pourrait ensuite choisir de stocker ces informations :
    Alors je vais répondre dans l'ordre, ce serais un logiciel à mon usage personnel en fait.

    Oui il y en a plus d'une centaines d'entrées différentes, avec de multiples caractéristiques par entrées je ne ferais mes recherches que sur ces caractéristiques couleur, nombre ou autre.
    Les données ne seront pas modifiés, peut être que j'en supprimerais ou en ajouterais mais sa seras tout.
    A l’exécution du programme je n'y toucherais pas. Je ne ferais que des tirages.
    Et mon programmes ne feras que les interrogés, quand je lui demanderais.

    Du coup, vu que c'est personnel et pas à des fins commerciales ou autres.
    C'est plutôt un challenge pour moi même. Je pensais à la base de données, j'en ai vu les bases, ce que je compte faire n'est pas extrêmement compliqué à faire.
    Je trouve que c'est plutôt bien organiser en BDD et sa me parles plus.

    En revanche j'ai installer la lib mysql, et je vois qu'il faut se connecter avec mysql_real_connect(); et donc il faut installer mysql server si je raconte pas de conneries? ( en tout cas sa fonctionnes bien chez moi ). Mais du coup pour interroger une BDD il me faut absolument mysql server?

    Citation Envoyé par ternel Voir le message
    Les questions que tu dois te poser, c'est plutot:
    Que pourrait générer ton programme? Uniquement des voitures?
    Est-ce que tu veux générer du texte aléatoire, ou des choses manipulables?
    Ton site correspond plutôt a ce que je souhaite faire, mais par exemples, quand il te propose 9 monstres différents "on the road" et bien moi je voudrais pouvoir rajouter des critères de sélections en plus.
    Mais le tirage aléatoire ne me dérange pas j'ai déjà une idée de comment m'y prendre, c'est plutôt comment stocker.

  5. #5
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Pour quelques centaines d'entrées la solution choisie n'aura pas d'incidence. Si tu te sens plus à l'aise avec une base fais-toi plaisir (regarde aussi du côté de SQLite et ses exemples).

  6. #6
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    A priori, tu peux regarder du cote de sqlite
    C'est une base de donnée sql (un peu simplifiée) en un seul fichier, et surtout sans serveur.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ok les amis, je vais voir cela ! merci

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Hey, petit up de mon sujet.
    J'ai abordé mon problème autrement et je pensais un tableau dans lequel je mettrais une structure avec toutes mes données.
    J'imaginais stocker mes données dans un fichier texte.
    Compter le nombre d'entrées que j'aurais, faire un malloc pour mon tableau et une boucle pour remplir mon tableau ( enfin ma structure ).
    Je voulais savoir si ce n'est pas trop gourmand ? Sa risque de prendre du temps au démarrage et l'opération seras à répéter a chaque démarrage de l'application.

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/03/2010, 21h28
  2. structure d'une base de donnée
    Par Invité dans le forum SQL Procédural
    Réponses: 19
    Dernier message: 09/04/2006, 19h21
  3. [Wamp] Récupérer la structure d'une base de données
    Par osopardo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 22/02/2006, 23h34
  4. Importer la structure d'une base de donnée dans un combobox
    Par hanines dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/09/2005, 22h41
  5. lire la structure d'une base de données
    Par ilyassou dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 31/08/2005, 07h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo