Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/06/2007, à 18:18

alexis_poussin

base de données / database

Bonjour,

Il serait bon que pour mon travail, je réalise une base de données, mais je n'ai jamais fait cela et lorsque je cherche à me documenter, je suis confronté à des concepts qui me sont un peu trop étrangers pour que je puisse faire des choix raisonnables (p.ex. ooBase ou MySQL: qu'est-ce que cela implique?).

Le fait est que cette base de données ne devrait pas, dans sa version minimale, être très compliquée:
(1) je veux pouvoir entrer une dizaine de champs (auteur, date de naissance, de décès, principales publications, problèmes majeurs à résoudre, concepts, liens cliquables vers des fichiers contenus dans mon ordinateur oudans mon site ou dans d'autres sites; liens cliquables vers d'autres entrées de la DB).
(2) Je voudrais pouvoir effectuer des requêtes (si mon vocabulaire est bon), c'est-à-dire chercher par mots-clés soit dans un champ, soit dans tous les champs de la DB.
(3), mais vous allez peut-être me dire que si je ne suis pas pro je rêve un peu, je voudrais pouvoir "mettre" cette DB sur mon site, de manière à pouvoir y accéder de chez moi comme du bureau comme de n'importe où.  Donc je voudrais soit que la DB soit directement accessible et modifiable via internet soit qu'elle soit créée sur un ordinateur et qu'elle soit "uploadable" sur mon site.

Enfin,
(4) Je voudrais que cette DB soit capable "d'imprimer" des listes. P.ex. je voudrais pouvoir demander une liste des auteurs de 1640 à 1730 avec leurs principales publications mais pas leurs principaux concepts, et que cela crée une jolie liste chronologique ou encore alphabétique.


Voilà la question. Si je comprends bien, ce que je demande, c'est quelque-chose de très pointu, mais en même temps je n'en suis pas certain et n'ayant pas vu de documentations d'introduction aux bases de données suffisamment didactique pour mon ignorance du sujet, je pose la question ici... wink

Des conseils, des idées?

Merci !

PS: Je suis tout à fait prêt à recevoir une réponse du style: "il faut t'y faire, les DB, ça n'est pas facile du tout et cela demande un apprentissage relativement long." Mais au moins, s'il me faut passer par un apprentissage tel que celui proposé là: http://dev.mysql.com/doc/refman/5.0/fr/index.html , je le ferai peut-être mais je préfère être sûr de ne pas me compliquer inutilement la vie...

Dernière modification par alexis_poussin (Le 20/06/2007, à 18:23)

Hors ligne

#2 Le 20/06/2007, à 23:40

Gatsu

Re : base de données / database

Salut alexis_poussin

Je ne me suis pas trop renseigné, mais il doit surement exister des programmes déjà faits qui te conviendraient, quitte à sensiblement les modifier pour qu'ils te satisfassent.

----

Sinon, si tu veux vraiment faire le travail par toi-même, que celui-ci soit accessible sur internet et qu'il fasse exactement ce que tu souhaites, tu peux t'orienter vers l'apprentissage de PHP + MySQL.

Tu pourras trouver des bons tutos accessibles aux débutants par ici :
-> http://www.siteduzero.com/tuto-3-4-0-un-site-dynamique-avec-php.html

Mais si tu ne connais pas le langage HTML, il te faudra d'abord passer par ici :
-> http://www.siteduzero.com/tuto-3-6-0-apprenez-a-creer-votre-site-web.html

----

Dernière solution. Tu installes un wiki sur ton site internet.
Le principe n'est pas réellement celui que tu décris, mais avec quelques adaptations, tu pourrais peut-être t'en sortir plus rapidement qu'avec la solution précédente. Tout dépend de tes priorités.

----

Voilà, j'espère ne pas avoir répondu à côté de la plaque tongue

Dernière modification par BebeFoetus (Le 20/06/2007, à 23:41)

Hors ligne

#3 Le 21/06/2007, à 00:19

gostatino

Re : base de données / database

bon
les bases de données ce n'est pas si compliqué que cela (enfin, ce que tu demandes est assez aisé à réaliser, sans grandes connaissances). Voici une manière de démarrer (enfin, la manière dont j'ai commencé à jouer avec les BD)

Déjà installe tout le matériel, c'est-à-dire par exemple un serveur local apache/mysql/php (pour tester tout cela avant de le mettre en ligne) : vérifie dans synaptic, mais il est fort probable que le tout soit déjà installé.
Peut-être même est-il déjà en route. L'adresse d'accès à tes fichiers web en local devrait être (dans ton navigateur) :
http://localhost/
si ce n'est pas le cas, vérifie que les paquets susnommés sont bien installés, et tape en console (en mode sudo):

sudo /etc/init.d/apache2 restart

Ensuite, pour gérer tes bases de données en mode graphique (sur ton navigateur), tu peux installer phpmyadmin (dans les dépots aussi)
Pour y accéder, une fois installé :
http://localhost/phpmyadmin/
et là, tu crées une base de donnée, une table dans cette base, et c'est parti. Un manuel ou un guide online te renseignera sur les types de données à choisir selon les informations que tu souhiates entrer dans tes tables. En quelques jours ou quelques semaines, tu auras acquis l'essentiel.
Ensuite à toi le plaisir de bâtir des requêtes subtiles pour afficher les infos dont tu as besoin. Il te faudra aussi acquérir un minimum de html et de php pour l'affichage des résultats dans une page web.. Un éditeur te sera nécessaire (moi j'utilise bluefish)

(et si tu as besoin de conseils, n'hésite pas à me mailer)

Dernière modification par gostatino (Le 21/06/2007, à 00:20)

Hors ligne

#4 Le 21/06/2007, à 17:55

alexis_poussin

Re : base de données / database

Merci à vous deux pour ces réponses intéressantes. Je visiterai les liens et j'essayerai de voir ce que je peux faire.

Simplement une question sur la relation entre la DB et le site internet. Si je comprends bien, il y a trois "choses":

(a) Le serveur qui héberge le site (dans mon cas c'est comme pour la plupart des gens un serveur qui n'est pas mon ordinateur);
(b) Le site internet dont je maîtrise le contenu;
(c) la DB, qui se trouve sur le serveur (en effet à partir de la page d'administration de mon site, je peux aller administrer ma base MySQL sur le serveur).

Mais il y a quelque-chose qui m'échappe. Donc voici un exemple:

Dans le cas de mon site internet, mettons que j'installe une structure "spip", du coup, ai-je raison de dire qu'il y a:
(a) Le serveur qui héberge le site;
(b) Le site internet;
(c) la DB de spip, qui se trouve sur le serveur et qui recueille les infos que je mets à partir de l'admin spip sur mon site;
(d) et donc qu'il y a aussi un logiciel qui assure l'interface entre la DB et son rendu php qui n'est autre que mon site.

Donc en fait il y a non pas trois mais quatre "choses", la quatrième étant un logiciel qui interprète la DB et la rende visible (sous une forme quelconque) quelque-part, par exemple sur un site internet. Pour autant que j'aie raison, est-ce que ce logiciel est fourni avec la DB? Ou est-ce que spip, pour garder cet exemple, est seulement une série de tables dont l'agencement fait qu'elles se présentent ensuite en php sur un site internet?

Enfin, est-ce que ce logiciel est phpMyAdmin? Si oui, en effet, il va falloir quelque temps pour apprendre car la rencontre avec une table présentée sous phpMyAdmin est un peu "brutale". smile

En tout cas merci de vos conseils, clarifications et pistes.

Hors ligne

#5 Le 21/06/2007, à 22:25

Gatsu

Re : base de données / database

Dans le cas de SPIP, il y a:
(a) Le serveur qui héberge le site (fichiers .php, .html, .css, .jpg, ...)
(b) Le serveur qui héberge la DB

sur le site, il y a des fichiers .php qui interrogent le serveur de DB, récupèrent les résultats, les convertissent en page .html lisible et les envoient au navigateur internet.

Ces explications, tu les trouveras directement sur les 2 liens que je t'ai donnés.
Ce site a pour avantage de partir de zéro, c'est à dire quand on y connait strictement rien wink
Il peut te paraitre long à voir comme çà, mais l'écriture est claire et compréhensible, et donc on avance vite! big_smile

Hors ligne

#6 Le 21/06/2007, à 22:43

Julian

Re : base de données / database

Salut,

Sans hésitation je te dirai de prendre une base sqlite.

Beaucoup moins lourd à gérer qu'une base mysql ou postgresql, sqlite est (quasiment) aussi puissante et utilise le même language sql que celles-ci.

Au final ta base tient dans un simple fichier (qui peut faire jusqu'à 2 To quand même wink ), donc c'est super simple à sauvegarder, à importer, à exporter sur le serveur, etc....
Sqlite peut très bien fonctionner pour un site web ou bien pour un logiciel sur ta bécane.
Et cerise sur le gateau, php5 gère cette base nativement désormais.

http://www.sqlite.org/


julian@jabber.fr

Hors ligne

#7 Le 21/06/2007, à 23:10

alexis_poussin

Re : base de données / database

Oui, j'ai commencé à lire le site du Zéro juste après avoir posté ma réponse... et j'ai un peu regretté mes questions puisqu'elles sont devenues inutiles. C'est en effet extrêmement didactique et je penche du coup pour la solution SQL.

Même si les subtilités sont plus difficiles d'accès (si j'en juge par les documentations proposées ici: http://dev.mysql.com/doc/) mon but étant dans l'immédiat de stocker des données et de pouvoir les visualiser sous formes de tables imprimables en divers formats (ps et autres, dont export au format latex), ce dont phpMyAdmin est capable "online" comme je viens de m'en apercevoir, je suis plutôt satisfait.

En tout cas merci beaucoup pour les infos, fort précieuses.

Pour SQLite, je verrai peut-être... C'est toujours bon de connaître les alternatives.

Hors ligne