Question:
Créer une base de données locale ?
2012-03-26 03:14:38 UTC
Je souhaite trouver une solution (industrielle) pour le problème suivant :

Je travaille sur des répertoire partagés.
Je souhaite créer une base de données stockée sur le serveur local :

1. Une base de données des ouvrages : localisation, nom de l'ouvrage, fréquence de surveillance, longueur.
2. Un journal de passage : nom du contrôleur, nom de l'ouvrage, date de passage

Puis, un reporting sur ces bases de données :

1. Un affichage du réalisé (sous forme de planning?)
2. Une interface de saisie du passage (qui remplit la base de donnée "journal de passage")
3. Un reporting sur le réalisé et le taux de réalisation (mensuel, annuel...)

Je ne sais pas quel langage utiliser :

1. PHP/MYSQL : impossible vu que je ne peux pas fonctionner via un serveur.
2. Excel : le format actuel mais diviser en 28 secteurs (et donc chiant à modifier de manière généralisée)
3. Acces : mais il me semble qu'il faut que tous les utilisateurs aient une license Access (ce qui n'est pas possible pour des raisons de coûts)
4. Le bon vieux fichier texte avec un programme en C/C++ mais je sens que l'interface graphique va être difficile à mettre en place ?

Bref, si vous avez une solution ? J'aurais aimé une sorte d'HTML sur le répertoire partagé avec lien vers les 2 fichiers base de données, mais je ne trouve pas de méthode pour faire l'interface...

Ah oui : c'est un accès multi-utilisateurs ...

Merci pour vos réponses !
Trois réponses:
Galadin
2012-03-26 09:18:03 UTC
Salut,



Créer une base de données n'est généralement pas pour les amateurs, surtout pour le multi tables.

Si tu ne maitrise pas les concepts, autant te cantonner à quelque chose de simple en mono table que tu peu maitriser comme par exemple sous Excel.



Si tu veux te mettre aux base de données le plus simple c'est Access.



Si tu veux te lancer dans les véritables base de données SQL comme MySQL la il faut que tu devienne un informaticien, que tu maitrise le concept du multi table et que tu apprenne le langage SQL.



Tu trouvera tout ce qu'il te faut pour les SGBD (cours SGBD, cours SQL, tutoriels, faq, forum...) ici : http://sgbd.developpez.com/
t_cordonnier
2012-03-27 08:14:10 UTC
Si ça doit pouvoir être accédé par plusieurs utilisateurs en même temps, il te faut absolument un client/serveur, sinon tu n'arriveras jamais à gérer les accès concurrents proprement. Donc on oublie Excel et même Access.

Donc moi aussi je dirais Php/Mysql. Si tu ne peux pas le faire sur la même machine (genre si c'est un NAS que tu n'accèdes qu'en FTP/CIFS) tu peux le faire ailleurs, genre récupère un vieux PC que ta société n'utilise plus et mets un Linux LAMP dessus.



PS. SQLite, citée plus haut, ne supporte qu'un seul utilisateur à la fois. Si quelqu'un arrive alors qu'un autre utilisateur est déjà connecté, le deuxième arrivé sera bloqué automatiquement (tu n'as rien à programmer il se débrouille) pendant toute la durée du travail du premier arrivé... s'il pense à fermer sa session proprement!
PEBDD
2012-03-26 12:30:55 UTC
Bonjour,



Je ne comprends pas pourquoi tu ne peux pas utiliser PHP/MySQL.

Si ton fichier actuel est placé sur un "serveur local", qu'est-ce qui t'empêche d'y installer wamp (ou autre) et d'accepter toute requête du réseau local sur le port 80 ?



C'est pourtant de loin la méthode la plus efficace et la plus simple.



Détails supplémentaires

Alors si tu n'es pas administrateur du serveur, ça complique pas mal les choses. Mais tes versions portables de PHP/MySQL ne suffisent pas ?



Sinon, comme tu dis, un fichier texte avec un programme en C/C++ est une solution, mais en ce qui concerne l'interface graphique, ce sera effectivement assez ch****. Mais il existe d'autres langages tels que le C#, qui te permetteront de créer une interface graphique de manière ultra simple.

Si c'est cette solution que tu choisis, tu peux prendre une base de données telle que SQLite plutôt qu'un fichier plat, ça t'épargnera beaucoup de temps.

Pour développer en C# => Visual C# Express : http://msdn.microsoft.com/fr-fr/express/aa700756

Pour utiliser SQLite avec C# => Par exemple : SQLite.net : http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki



@t_cordonnier : Il est vrai que SQLite n'accepte pas plusieurs requêtes d'écriture en même temps, mais aucun problème pour des select. ( http://www.sqlite.org/faq.html#q5 ).

Quand il y a des écritures, la base (et donc l'application) ne répondra pas pendant quelques millisecondes, rien de dramatique. Et ce n'est pas à l'utilisateur mais au développeur de fermer la connexion après l'exécution d'une requête.

Et en ce qui concerne MS Office, ça accepte les accès concurrents, mais ça ne règle pas le problème des licenses.


Ce contenu a été initialement publié sur Y! Answers, un site Web de questions-réponses qui a fermé ses portes en 2021.
Loading...