OVH Cloud OVH Cloud

Aide sur l'organisation d'une BDD

24 réponses
Avatar
Mo2
Bonjour,
Je pose une question assez générale sur l'éventuelle utilité de la
conversion de classeur Excel en base de données, mais surtout, comment
organiser ces données.
Je m'explique :
Au boulot nous avons plusieurs fichiers Excel, dans lesquels les données
des ventes sont classées à peu près de la même façon, par ex. le
classeur des ventes annuelles :
- une feuille par année
- sur chaque feuille (année) plusieurs tableaux : un par point de vente,
et par type de chiffres (Chiffre d'affaire, Nombre de commandes, valeur
moyenne, etc.), tout ça par mois (ou semaines sur un autre classeur).
Les problèmes de tous ces tableaux dans une seule feuille :
- l'affichage n'est pas très pratique, les responsables de chaque point
de vente ne sont pas forcément intéressés par les chiffres des autres
(juste pour comparaison, et encore)
- il est en fait inutile d'avoir des données qui remontent à aussi loin
la plupart du temps (de 2001 à 2007 jusqu'ici, les années antérieures
sont encore sur papier, non saisies). On regarde les autres années juste
pour avoir l'évolution
- dans son format actuel, il est assez difficile de faire des tableaux
de comparaison ou des graphes entre deux ou plusieurs années, entre deux
points de vente, quand il le faut, je recopie en fait les données qui
m'intéressent dans un autre tableau, et je fais mon comparatif ou mon
graphique à partir de là.
- le classeur commence à être un peu trop encombré à mon goût...
- il faut envoyer les fichiers par mails chaque fin de mois, ce qui
encombre un peu le serveur de mail car personne n'efface les messages ou
les pièces jointes

D'où l'idée de réorganiser tout ça, et je me suis penché sur une base de
données, lue dans une feuille de calcul, ou dans les champs par ex. on
pourrait sélectionner l'année, le point de vente, le type de données à
lire, et tout s'affiche, ou une consultation extrasite en se connectant
sur la base de données, mais je ne sais pas trop comment l'organiser
sans faire de doublons (ma première table était en fait un énorme
tableau reprenant tous les champs des tableaux, encore moins pratique).
Le type de donnée ressemble à :
Année - Mois - point de vente - chiffre (CA, nb de commandes ou moyenne).
Jusque là j'ai :
- une table année, avec un seul champ (2001, 2002, etc.)
- une table mois (numero du mois, nom du mois)
- une table POS (points de ventes), indiquant les différents points de
ventes
- une table CA (chiffre d'affaires) avec un champ année, lié à la table
année, un champ mois, lié à la table mois, un champ POS, lié au point de
vente, et evidemment un champ CA, dans lequel je rentre les ventes.
La liaison avec la table POS est évidente, mais pour la date (année et
mois), l'utilité me semble discutable finalement.
Ma table CA ressemble à ma première mouture :
toujours la même année, on tourne les mois, un POS, et le chiffre.
Ensuite on change l'année, mois même POS, etc. Ensuite, je recommence en
changeant le point de vente, etc... Ce qui me fait au final un énorme
tableau.
Donc je me demandais si mon organisation était correcte dans le cadre
d'une base de données, ou si je devais faire une table par point de
vente (champs années, mois, CA, Commandes...)
ou encore une table par année (ce qui revient à mon classeur excel)
ou une table par point de vente et par année.

Evidemment un professionnel pourrait nous faire ça, mais moyens limités,
et l'idée n'est pas prioritaire pour le patron, et j'aimerais apprendre
tout ça. Logiciels utilisés : Access, Excel, OpenOffice (Base et Calc),
éventuellement MySQL. Mon choix n'est pas encore arrêté, je voudrais
déjà savoir organiser et construire ma base avant.
Désolé pour la longueur du message, et merci pour toute aide que vous
pourriez m'apporter (si vous avez réussi à me suivre dans tout mon bla-bla).

Mo2.

4 réponses

1 2 3
Avatar
Jean-Marc Molina
Côme de Christen wrote:
- choisir une base Sql de stockage (autant rester dans les
classiques connues fiables et ouvertes)



Je vote pour MySQL même si j'adore PostgreSQL mais ce dernier SGBD est
peut-être trop évolué pour leurs petits besoins.

- choisir un front-end simple capable de construire fomulaire,
état et requêtes visuellement (la perle rare, je ne trouve pas
malheureusement l'équivalent de Paradox modernisé)



Filemarker c'est pas mal non ? Il propose même des applications de BDD clé
en main pour répondre aux besoins le plus commun, dont la gestion financière
si mes souvenirs sont bons.

- utiliser les tableurs en bout de chaine pour des présentations
libres et les graphes



En effet dans ce cas les documents Excel semblent être utilisés comme "pot
pourri" : BDD, rapports...

L'évolution "appli web" que nous constatons a eu jusqu'ici plutôt
tendance à compliquer le développement qu'à le simplifier (mélange de
langages et de syntaxe notamment) Il faut espérer que cela change et
que l'on puisse échapper aux énormes framework usines à gaz à la mode
actuellement.



Mais tout l'intérêt des "frameworks" est justement de proposer des briques
aux développeurs. Il suffit alors de les assembler pour développer son
application. Je ne vois pas en quoi PEAR et Ruby on Rails sont des usines à
gaz par exemple. Sans compter qu'ont peut largement limiter le mélange des
langages en se tournant vers XML et ses dérivés.

Puisque tu évoquais Php (un langage au succès bien
mérité là aussi de part sa simplicité d'accès) on commence à
percevoir des outils qui vont dans la bonne direction comme qStudio
aujourd'hui transformé en Delphi for Php, un IDE qui permet de
construire ses formulaires visuellement rapidement. Cela reste
néanmoins beaucoup plus compliqué à mettre en route qu'un Access ou
un Paradox et cela ne résoud pas le problème important des états (Les
techniciens purs ont tendance à laisser de côté les états pourtant
très importants pour l'utilisateur !).



En effet mais il faut prendre en considération que PHP est encore une techno
très immature comparée à Java par exemple. Manque d'outils de développement,
de "frameworks" véritable standard d'une industrie, aussi d'une présence
dans le milieu professionnel même si cela a beaucoup changé ces dernières
années. Les poids lourds du marché qui n'ont plus rien à prouver restent
Java et .NET, largement en tête. Après ça n'est pas à moi qu'on apprend que
ce sont tous les défauts de PHP qui en font tout le charme :). Puis des IDEs
comme Zend Studio et Eclipse/PHP n'ont pas forcément à rougir face aux
autres ténors du marché.
Avatar
Jean-Marc Molina
Mo2 wrote:
J'ai jeté un oeil à Crystal Reports. Ce genre d'outil semble
parfaitement réaliser ce que j'ai en tête, même si un peu complexe,
sans parler du prix de la licence (ouch). J'ai du coup regardé les
solutions open source, et il faut également un certain niveau de
compétences. En fait le problème principal que j'ai avec ces outils
de rapports open source est la connexion à la base de données
(impossible de se connecter, pilote odbc ou mysql absent, etc.). Je
présume que ce genre de problème est résolu dans les solutions
commerciales.



Quels solutions est-ce que tu as "regardées" ? Je connais pas grand chose à
part JasperReports en fait.

Sinon je pense que c'est une erreur de considérer que le développement
maison est moins onéreux que le coût d'une licence, même dans le cas Crystal
Reports. Après ça dépend des priorités de votre entreprise...

Suite discussion ce matin avec le big boss, je fais un petit dossier
d'explications, de coûts, et d'exemples pour voir ce qu'il est
possible de faire, et s'il est convaincu, on met ça en place pour que
tout soit opérationnel l'année prochaine au 1er janvier au plus tard.
Ceci étant avec tout ce que vu sur internet (forums, etc.), le monde
des bases de données ressemble à la 4e dimension :)



Mais j'ai du mal à comprendre sa logique. Il est prêt à financer le
développement d'une solution maison pendant 6 mois mais pas à payer une
licence Crystal Reports. Vraiment bizarre comme logique. Ou alors vous
travaillez gratuitement pour lui :)

Si on poursuit dans cette voie pour les formulaires/requêtes plus
complexes, ça va commencer à être sérieux et difficile à mettre en
oeuvre, sans compter qu'à chaque fois qu'on voudra faire une demande
un peu différente de ce qui est programmé, il faudra en fait
programmer un nouveau script php.



Mais est-ce que vous ne vous écartez pas un peu de votre domaine d'expertise
? D'après ce que vous nous dîtes c'est un peu comme si on demandait à un
développeur de tenir la comptabilité d'une entreprise de 250 personnes. J'ai
du mal à comprendre votre démarche en fait et le bénéfice pour l'entreprise,
d'où mes sonnettes d'alarme car c'est un problème récurrent.
Avatar
Jean-Marc Molina
Côme de Christen wrote:
Et bien juste pour info une licence Paradox avec le runtime illimité
(si tu veux développer une solution et l'installer sur d'autres
postes) c'est 150 Euros TTC !
Bon c'est pas open source et Corel/Borland (les co-détenteurs) ne
font pas évoluer le produit. Tout juste s'ils le supportent :-(. Lui
te permet de te connecter à MySql (ou autre) en 5 mn.



Hum j'entends jamais parler de Paradox. C'est pas un peu "mort" comme projet
? Je trouverai ça risquer d'opter pour une solution qui n'est plus mise à
jour. Après je ne remets pas en cause le fait que c'est sans doute un très
bon outil.
Avatar
Mo2
Jean-Marc Molina a écrit :
Côme de Christen wrote:
Et bien juste pour info une licence Paradox avec le runtime illimité
(si tu veux développer une solution et l'installer sur d'autres
postes) c'est 150 Euros TTC !
Bon c'est pas open source et Corel/Borland (les co-détenteurs) ne
font pas évoluer le produit. Tout juste s'ils le supportent :-(. Lui
te permet de te connecter à MySql (ou autre) en 5 mn.



Hum j'entends jamais parler de Paradox. C'est pas un peu "mort" comme projet
? Je trouverai ça risquer d'opter pour une solution qui n'est plus mise à
jour. Après je ne remets pas en cause le fait que c'est sans doute un très
bon outil.






Oula! Ca en fait des réponses en une journée! :)
Bon je vais pour ma part répondre à tous vos posts dans un seul :
- Comprendre le problème des coûts :
Chacun de nos points de vente est en fait une entité indépendante (une
société), et le bureau (où je travaille) n'existe en fait que pour
gérer, faire la compta, les paies, etc, et n'a pas de budget propre (par
ex. moi je suis en fait salariée d'un des points de vente). Donc pour
trouver une solution à mon problème actuel, il faut être sûr de notre
coup. De toutes façons, il est hors de question de me substituer à un
professionnel pour développer ou simplement mettre en place un système
autre que nos classeurs Excel, à moins que mon patron me paie avant une
formation pendant deux ou trois ans en informatique :)
Il n'est pas du tout exclu d'acheter une licence pour des outils
commerciaux, mais évidemment, nous cherchons tout de même le meilleur
rapport qualité/prix (ou plutôt services/prix). Alors si Crystal Reports
présente beaucoup d'intérêt, je me renseigne si on ne peut pas avoir la
même chose pour moins cher.
Ce qui est exclu, c'est d'avoir un salarié qui ne fasse que la
maintenance de notre nouveau système comptable (parce qu'il est aussi
exclu que cet expert informatique nous fasse en même temps la compta, ce
serait trop beau...). J'ai déjà contacté quelques sociétés qui peuvent
nous mettre en place une solution plus ou moins adaptée à notre
situation (certaines ne proposent d'ailleurs que des logiciels tout
prêts, sans aucune personnalisation des rapports ou des requêtes), puis
des maintenances au coup par coup suivant les besoins ou les problèmes.
Nous cherchons une solution pour du long terme, il n'est pas question de
devoir changer tous les cinq ans de logiciel.
D'ailleurs pour reprendre l'exemple de Crystal Reports, on est même prêt
à payer une boîte pour nous mettre ça en place (parce que créer les
rapports n'est pas vraiment simple), en plus de la licence, mais il faut
que cela reste raisonnable. Nous ne sommes pas une grande boîte, le
chiffre d'affaire des points de vente se note en milliers d'euros par
an, pas en millions, le simple fait d'acheter un nouveau photocopieur
l'année dernière à impacter assez fortement le budget commun.
Tout ça pour dire que nous sommes totalement "open", mais vigilants :)

- Qui va faire ça?
Je m'occupe de la compta, et j'ai lancé l'idée (et insisté lourdement)
pour qu'on se penche sur un changement plus ou moins radical. Donc pour
le moment, je m'en occupe mais surtout pour rassembler les idées,
trouver les différents moyens, etc, en montant un petit dossier. Tout ça
sera discuté et analysé sous toutes les coutures par le patron et le
superviseur, avant décision finale. Les délais (lancement au 1er
janvier) sont courts, mais bon le patron marche comme ça : cela signifie
surtout qu'il est disposé à un changement. Franchement, cela
m'étonnerait que tout soit fait à cette date...
Comme je cherche les différentes solutions existantes, je construis et
teste quelques exemples à montrer au patron. Si dans ma quête je réussis
à trouver quelque chose de pas cher qu'on peut faire nous même alors ce
sera parfait, mais comme dit plus haut, ce n'est pas le but, c'est
largement en dehors de mon domaine de compétence, mais je trouve ça
intéressant, c'est pour ça que je m'investis dedans. Apprendre à
utiliser plus ou moins à fond les logiciels, trouver des solutions,
apprendre de nouvelles choses...

- les logiciels :
En tout premier lieu, j'en avais marre de taper plusieurs fois de suite
les mêmes données dans différents classeurs sous le tableur. Ma première
idée était d'utiliser éventuellement Access, qui était installé sur mon
pc pour faire une base commune, et de là, j'ai commencé à monter la base
de données. Et comme notre matériel est vieux, que ça rame
lamentablement, j'ai continué à faire ça chez moi, sur mon pc, sur
lequel j'ai open office uniquement (qui me suffit largement à titre
personnel, et que j'avais suggéré comme alternative à moindre frais en
vue du remplacement de notre matériel informatique, car pourquoi payer
une licence MSOffice par poste, alors que ces logiciels sont largement
sous exploités (ou pas exploités du tout)).
Le problème de Ooo, notamment de Base, c'est que mes formulaires ne
marchent pas des masses. Access est plus facile à utiliser pour ce genre
de choses, mais en fait j'ai peur de me trouver limitée dans ce qu'il
est possible de faire (à moins d'être un pro du formulaire, avec les
macros, et compagnie...).
En réfléchissant un peu (aïe), je me suis tournée vers une vraie base de
données, et MySql, parce que c'est assez simple à installer, et à
utiliser pour une utilisation (très) basique, parce cela me semblait
plus logique un seul serveur que des fichiers sur chaque poste, avec
gestion des droits (modification de données, consultation seule, etc.).
D'ailleurs pour une raison inconnue, j'ai eu du coup moins de
difficultés à faire mes formulaires depuis (plutôt à obtenir enfin les
bonnes données), en lançant des requêtes Sql directement (je ne connais
pas trop, il s'agit juste de select). Le problème d'une base de données
c'est qu'en soit, c'est inutile si on ne peut rien faire de ces données,
et j'en suis à chercher un frontend simple à utiliser pour consulter,
modifier les données, et faire des rapports, des comparaisons, etc. (cf
Crystal Reports par ex.).
J'ai essayé de faire tout ça avec Access/Excel ou Base/Calc
(récupérations de données dans le tableur, et création de graphes ou de
comparaison).
Pour être un peu plus claire, je voyais à l'origine ça comme ça :
- la base contient les données (évidemment)
- un formulaire pour entrer les nouvelles données
- modification de données éventuelles
- dans le tableur on pouvait choisir de consulter par. ex. en
sélectionnant un point de vente, une ou toutes les années (une période
en fait), et le type de données (CA, nb de commandes...). De là, à
partir de ces chiffres, on crée (automatiquement) un graphe, car c'est
plus rapide de visualiser une courbe, ou d'autres...
En attendant de savoir le faire automatiquement (je ne désespère pas),
je peux au moins manuellement récupérer des données de la base pour
faire des rapports (chose qu'on faisait très difficilement avant).

Pas pratique...
Comme je l'ai dit dans un message précédent, il y avait aussi l'idée
d'une interface web (interrogation de la base en php), qui m'avait plue,
mais à développer, et peut-être trop rigide.
Donc solution : frontend (logiciel) tout prêt.

En effet, je me suis un peu trop enthousiasmée au début, et j'ai vite vu
les limites (les miennes surtout pour commencer), et de fait les
solutions toutes prêtes ou presque sont plus raisonnables, et efficaces,
de même que faire appel à une tierce personne, même si j'ai envie de
suivre le développement final, puisque ça m'intéresse.

Finalement, j'ai fait une liste de ce qu'il nous faudrait, comment ça
doit marcher, enfin une petite charte, et d'ici la semaine prochaine, je
montre ça à des boîtes pour qu'ils nous disent ce qu'ils peuvent nous
proposer de façon claire.


Je suis prête à écouter toute suggestion, rien n'est décidé, et puis en
marge de ça, je vais continuer à faire mon idée de bdd avec un tableur,
juste pour apprendre.

Merci.

Mo2
1 2 3