|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
bonjour à tous
j'aurai aimé savoir comment je peut faire des graphes avec des stats dans Artichow en effet j'ai ce script PHP (qui se trouve dans les exemples fournis avec Artichow) Code :
j'ai donc voulus l'adapter pour permettre au script de récupérer des données depuis un fichier CSV afin qu'il puisse tracé son graphe j'ai donc chopé ce script sur le net : Code :
d'ailleurs j'ai un autre soucis qui est que la librairie GD2 ne se lance plus sur EasyPHP donc pas moyen d'afficher les graphes j'ai d'ailleurs posté ici pour ceux que ça intéresse : http://www.developpez.net/forums/sho...58#post1599658 en fait mon projet est simple: récupérer des données au format CSV (il peuvent etre aussi au format .txt c'est au choix) les traiter pour pondre des graphes avec Artichow. |
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Comment est structuré ton csv ?
__________________
Get your motor runnin' Head out on the highway... |
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
Code :
comme ça j'ai préféré te poster un extrait plus tôt que de t'expliquer car ça évite les contre sens en gros pour tout te dire j'ai plusieurs colonnes je dois trier celle qui s'appelle : Line et trier que par nom identique (en gros ici Bez3GgsnNok01 par exemple) ensuite rajouter une colonne heure (de 00h00 à 00h00, tout les 1/4 d'h, soit un quart d'h par ligne) et faire le graphes entre la colonne heure et la colonne Nb de Create PDP , pour le premier graphes et pour le second graphes entre la colonne Nb T-PDU Roaming In et celle de l'heure .... faut toutes les faire soit l'heure en abscisse et le reste en ordonné ainsi de suite un petit tableau pour comprendre : Line | Nb de Create PDP | Nb T-PDU Roaming In | Heures | All | 684 | 45 | 00h00 | All | 455 | 85 | 00h15 | (j'espere que mon tableau est claire, car y a un décalage quand je poste) donc en gros je supose que le poste traitetement cad trier la colonne Line et rajouter la colonne heure (qui n'est pas d'origine) je peut pas le faire en php (ah moins que y ait moyen ?) se serait plus du VB. par contre je supose que y a moyen dans le script php d'Artichow de lui indiquer les colonnes qu'il doit prendre pour lui donner les points à mettre en abscisse et en ordonné ?? merci d'avance pour votre aide. |
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Php est tout à fait capable de répondre à ton besoin
__________________
Get your motor runnin' Head out on the highway... |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
ok merci tu me rassure
car je suis en train de migrer entierement sur Linux donc VB m'enchante pas trop par contre je vois pas trop comment faire tout ça aurait tu des tuto ou des conseils? |
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Code :
Ensuite tu peux travailler dessus comme tout tableau qui se respecte et extraire les informations nécessaire à tes graphes...
__________________
Get your motor runnin' Head out on the highway... |
||
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
ok merci beaucoup
je vais taffer sur ce script pour comprendre comment il fonctionne donc en gros je stocke toutes mes variables dans un tableau et à partir de là je peut faire des tries et prendre que ce qui m'intéresse ? par contre l'autre question que je me pose c'est de savoir si ce genre de traitement de données ainsi que Artichow sont capable de supporter la création de plusieurs 1000 de graphes (tous fait meme en temps vers minuit) ? car avec VB j'avais ce soucis, il m'ouvrait plusieurs centaine de fois Excel à chaque fois que j'avais des données à traiter et ça planter tres vite |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Citation:
est ce que c'est plusieurs 1000 requêtes vers ton script ou est ce que c'est ton script qui va construire les plusieurs 1000 de graphes ? PS: par contre je te déconseille de modifier la fonction parse_csv_file que je t'ai fournie (tirée d'ailleurs de http://php.net/fgetcsv ) puisqu'elle marche. Je sais pas pourquoi mais je te sentais parti pour la modifier... L'idée est qu'elle te fournie le contenu de ton csv sous forme de tableau, à toi de travailler avec après...
__________________
Get your motor runnin' Head out on the highway... |
|
|
|
00
|
|
|
#9 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
plusieurs milliers de graphes
je me suis mal exprimé mais je pense que Artichow devrait suporter la charge c'est du script léger en php pas du boulet en VB merci pour la correction du script j'avais meme pas fait gaffe (fin de semaine par contre j'aurai une dernière question technique concernant ce projet : j'ai une arborescence assez complexe à gérer de navigation (celle qui me permettra de me diriger sur le site et d'allé à la peche au graphes, c'est le cas de le dire vus le nombre) et en fait mon soucis c'est que cette arborescence peut etre amené à évoluer. Cad en gros que je peut etre amené à y rajouter des dossier voire sous dossier, voire sous sous dossier ... le gros soucis c'est que j'avais chopé un script en php sur le net qui me permettait de créer une arborescence type arbre (à la windows) mais le soucis c'est qu'il fallait ce tapper le comptage des noeuds un par un pour savoir comment placer les sous dossier , par exemple : pour localiser la place d'un sous dossier il fallait rentrer en php les valeurs du numéro du noeud du dossier parents ... difficile à faire quand une arborescence n'est jamais finis donc voilà en gros comment réussir à créer une arborescence qui pourrait se générer toute seule, je m'explique : en gros tu as des serveurs et des sous serveurs (tout ça te donnant l'arborescence) et un beau jour un serveur ce rajoute, je voudrai alors que le script en php le rajoute automatiquement dans l'arbre, sans tout me retapper la création de l'arbre à la main !! j'espere que je me suis bien exprimé |
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Tes dossiers/serverus sont stockés sous forme de dossiers sur la système de fichiers ? ou sont stockés dans une base ?
__________________
Get your motor runnin' Head out on the highway... |
|
|
00
|
|
|
#11 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
ben justement en fait la question que je me pose c'est de savoir si j'aurai pas besoin d'une base de données pour gérer cette arborescence
par contre quand je parle des dossier ce sont les noms des différentes classes de l'arborescence, bon pour faire plus simple voilà un exemple de ce à quoi l'arborescence ressemble : DATA |GlobalSFR ||All |||gn ||||GGSN |||||All ||||||Bez3GgsnNok01 ||||||Bez3GgsnNok02 |||gi ............... ............................... et apres ici par exemple dans Bez3GgsnNok02 tu retrouve les fameux graphes : Nb PDP Request Nb PDP UnSuccess Ratio PDP Fail Service option temp out of order en fonction de l'heure à chaque fois et comme ça tu en as plein, tu en as d'autre apres GloblaSFR ... en fait j'ai sur une page web qui correspond ici par exemple à Bez3GgsnNok02 sur lequel j'ai deux graphes à avoir : l'un qui représente ce que je t'ai dit plus haut (l'heure en fonction des trucs) et un deuxieme graphe qui devra l'heure en fonction de la somme du Nb PDP Request sur une semaine par exemple (là je vais devoir stocké cette somme comme une variable dans un tableau donc surement la gestion d'une autre base de donnée derrière) voilà je voudrai vérifier si mon raisonnement est bon ou si je part pas en vrille car j'avoue que ce projet est assez costaux dans son ensemble mais faisable je pense. |
|
|
00
|
|
|
#12 | ||||
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
De toutes façons tes graphes une fois construits devront bien être stockés sur ton filesystem. (Tu peux les stocker en bd, mais c'est pas trop recomander)
Donc soit tu gère ton arborescence dans ton fs et tu ranges les graphes dans les bons dossiers, soit tu gère ton arborescence dans une bd et il faudra alors trouver un système pour stocké tes "plusieurs 1000" graphes... Dans un seul répertoires ce n'est pas pensable pour des raisons de perfs, il te faut éclater en plusieurs répertoires et répartir les fichiers de façon uniforme... Code :
Code :
Tu peux pas choisir une solution come ça en faisant plouf-plouf. Il faut que ça réponde à tes besoins et que le choix d'une architecture ne soit pas pénalisante par la suite. Le plus simple est d'utiliser le filesystem, mais si par exemple un jour un de tes serveur/dossier doit être déplacé d'un parent vers un autre parent, alors c'est tout de suite moins marrant. Car avec une arborescence réelle tu devras soit copier récursivement les fichier, soit appeler une commande shell pour faire un mv... Alors qu'avec une bd, il te suffit de modifier le lien entre parent et enfant et c'est fini, le filesystem n'ayant pas besoin d'être touché... Bref à toi de bien évaluer chacune des solution avant de faire un choix et de ne pas le regretter (comme partout d'ailleurs)
__________________
Get your motor runnin' Head out on the highway... |
||||
|
|
00
|
|
|
#13 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
en fait les CSV du départ cad les données brutes
elle sont produites tous les soir à minuit par un pc spécifique et donc à partir de là je fias mes graphes mais en fait les graphes ne seront jamais stocké car sur 24h ils seront écraser donc je peut créer une arborescence sur windows qui ressemblera à celle du site web le seul soucis étant que cette arborescence windows devra évolué dés qu'un nouveau serveur apparaitra et donc qu'un script ¨PHP modifie l'arborescence du site web en conséquence (un genre d'effet mirroir si tu vois ce que je veut dire) en fait en réfléchissant faudrait que je créer un script (en quoi je me demande bien, en C peut etre) qui lirai les données brutes cherchant un nouveau serveur éventuelles (en comparant par rapport à sa base existante, une boucle en C devrait faire l'affaire) et qui créerai alors le dossier windows en conséquence (du nom du nouveau serveur ) où sera stocké temporairement le tableau en PHP (issue du trie dont on parlai tout à l'heure) et donc pouvoir permettre la création du graphes comme prévus et d'un autre côté un autre script (purée on dirait de la POO) qui lui scannerai tout l'arborescence windows à la recherche de nouveau serveur à inclure dans l'arborescence web et enfin le script dont on parle en ce moment qui lui ne fait que produire les graphes (il faudrai que j'inclue dedans la ligne permettant de faire la somme à chaque journée, pour la création du graphe à la semaine) un par un, par contre là il va falloir lui demandé de scanné tout les dossier de l'arborescence windows pour créer les graphes en conséquences. purée je vais fumé trois joint et je reviens j'ai la tete en compote ma logique est elle bonne où je me tire une balle tellement ça parre en vrille de partout ce truc
|
|
|
00
|
|
|
#14 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Arrête la drogue, c'est mal
Question à tout hasard : le csv ne contiendrait-il pas déjà les nouveaux serveurs ?
__________________
Get your motor runnin' Head out on the highway... |
|
|
00
|
|
|
#15 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
le CSV contient déjà une partie des serveurs mais rien n'empeche que d'autre soit rajouté apres
en fait pour tout t'expliquer j'ai des CSV qui sont scheduler (cad exporter auto tout les soirs à un temps précis ) et ils contiennent des données global (comme celle que je t'ai posté en extrait) et là dedans j'ai le nom des différents serveurs, donc comme avec le pc qui sert à scheduler ces CSV ont peu faire plein de CSV différents (ils ont tous la meme base mais des noms peuvent se rajouter dans la colonne Line) je dois prévoir le coup et permettre une gestion automatique en fait je suis obligé de me tapper tous ça alors qu'il y a déjà un outils dans la boite qui me permet de pondre des graphes à partir des CSV produit mais manque de bol il ne permet pas des exportations (satanné produit proprio) et pas moyen de le paramatré comme on veut (à vive les GPL !! au moins on peut faire ce qu'on veut) en gros voilà je peut déjà créer une base avec le nom des serveurs existants et le faire complété auto par la suite : j'avais pensé à une base de données du style : une table serveur, avec id_serveur, nom_serveur ... une table requette, avec id_requette ... (correspondant au Nb PDP Request ... si tu me suit) bien que je me demande si seul la table serveur est utile, car l'autre ne servirai pas à grand chose (j'ai pas de formulaire php à faire derrière donc pas de requette à générer du style : combien y a t'il de PDP réussi sur tel serveur ...) |
|
|
00
|
|
|
#16 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
A un instant t tu as trois serveurs dans un csv
Donc dans tes repertoires tu as stocker les graphes correspondant à ces trois serveurs. Le lendemain, un serveur s'ajoute dans le csv : donald quand tu vas vouloir enregistrer les graphes pour donald, tu va bien voir qu'il manque son repertoire et tu le créeras à ce moment là... non ?
__________________
Get your motor runnin' Head out on the highway... |
|
|
00
|
|
|
#17 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
si c'est exactement ça
j'avais pas compris ta question, les noms des serveurs sont effectivement bien dans les CSV par contre je me demandai ce qui est le mieux entre un exports de mes données d'origine : le format CSV ou le format .txt ? je voulais que tu vérifie également (si possible) si mon raisonnement que je t'ai indiqué plus haut (les différents script à utiliser) est logique ou si je plante completement ? |
|
|
00
|
|
|
#18 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Il me semble qu'un seul script est nécessaire : celui qui construit les graphes est capable :
- de créer des graphes - de créer les dossiers pour les nouveaux serveurs Ce n'est pourtant pas faute de me répéter
__________________
Get your motor runnin' Head out on the highway... |
|
|
00
|
|
|
#19 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
ok merci pour ton aide et désolé de t'avoir fait répéter
|
|
|
00
|
|
|
#20 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 95 ![]() |
salut
j'ai trouvé une solution super simple pour pas me prendre la tete : j'ai trouvé un script qui m'upload les CSV directement dans une base SQL comme ça avec Artichow j'effectue des requettes SQL directement sur la base (selctionnez tous les champs correspondant à all ...) et je me créer une table heures (elles est constante donc au pire elle sera toujours là) et hop ma requette SQL intégré à Artichow via php me pond les graphes et pour l'histoire du menu de navigation je reste dans le meme ordre d'idée j'aurai une table backup de tous les serveurs existants et avec une requette sql il vérifira quelle est à jour et un petit script me gérera le menu de navigation sur le site en conséquence et hop voilà le tour est joué mais bon pour la forme je veut bien un cours sur les traitement des tableaux en php (filtrage, selection de champ ...) car j'ai trop de lacune de ce côté là (j'ai pas trouvé de cours d'ailleurs à ce sujet) et j'ai plus de connaissance sur les requettes SQL merci d'avance pour ton aide !! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com