STATISTIQUE GRAPHIQUE (COMPOSANT ARTICHOW)

crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009 - 1 juil. 2008 à 14:55
kingstong Messages postés 4 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 21 octobre 2011 - 21 oct. 2011 à 18:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47171-statistique-graphique-composant-artichow

kingstong Messages postés 4 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 21 octobre 2011
21 oct. 2011 à 18:17
Je retire ma question :)
J'ai suivi les instructions dans le commentaire
Commentaire de coucou747 le 08/08/2008 16:05:00 administrateur CS
et sa MAAAAARCHE :)
Merci
kingstong Messages postés 4 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 21 octobre 2011
21 oct. 2011 à 17:46
Bonjour
J'ai suivi la procédure de yohann034 et cela ne m'affiche que les cadres des images, avec le message "Toutes les images sont chargées !"
J'ai un serveur Ubuntu Php5.3

Une piste :) ?
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
1 août 2011 à 22:44
merci ! franchement pour une fois ça fait plaisir ;)
yohann034 Messages postés 4 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 10 janvier 2012
1 août 2011 à 15:54
Bonjour,

félicitations pour ce script. Je suis sur Windows+PHP Version 5.3.0+MySQL.

J'ai :
- télécharger le zip
- dézippé le dossier
- copier/coller dans le dossier de mon site
- ouvert dans un navigateur, l'index.php à la racine du dossier dézippé

Et ça marche !!

Rien à corriger ! c'est la première fois en 7 ans de développement php, javascript etc.

J'ai pu rapidement intégrer les données provenant de ma base de données.

Programmation très simple et donc rapide à comprendre et rapide à exécuter, que du bonheur !

Un grand merci !!
ghetto95 Messages postés 15 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 17 juin 2011
23 mai 2011 à 19:34
Excellent travail! Juste une question, est-il possible de retirer l'encadré, c-a-d le rectangle qui entoure le tout (camembert+legende+titre)?
Merci d'avance et encore excellent travail. Une très bonne base pour faire d’excellente chose....
cs_mdc888 Messages postés 24 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 3 janvier 2012
5 janv. 2011 à 17:27
Excellent script, bravo !!!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
24 oct. 2010 à 19:50
c un peu le but pasque si c'est pour mettre des valeurs en dur autant faire une belle image avec photoshop !
bboyhlif Messages postés 1 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 24 octobre 2010
24 oct. 2010 à 13:46
bonjour;
Est-ce que c’est possible d’utiliser des données qui arrivent d’une base de donnée mysql
BenamourJr Messages postés 31 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 18 septembre 2010 1
13 avril 2010 à 19:21
Petite question... comment qu'on fait pour supprimer la bordure autour de l'image (pas autour du camembert) ?
BenamourJr Messages postés 31 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 18 septembre 2010 1
13 avril 2010 à 15:13
Un grand merci à l'auteur, il rox son script ! :)
BiBloOo Messages postés 24 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 2 octobre 2015
25 févr. 2009 à 12:33
Artichow est vraiment pratique !!
Sauf que pour savoir l'utiliser, je trouve qu'on manque d'explication ...

J'ai beaucoup de mal, si quelqu'un pouvait m'aider, j'ai créer un post ==>

http://www.phpcs.com/forum/sujet-BESOIN-AIDE-ARTICHOW-URGENTE_1274833.aspx
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
23 déc. 2008 à 18:01
Intéressant... mais impossible à faire tourner dans mon environnement : toutes les images me font des erreurs 404 (j'ai mis les droits sur le cache répertoires à 777 et j'ai gd2) :-(
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
20 nov. 2008 à 18:39
GD2 nécessaire, droits d'écriture sur le dossier cache....

fichier zip valide, voir problèmes de téléchargement ou de dézippage...
cds0671 Messages postés 18 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 17 novembre 2009
18 nov. 2008 à 14:18
Bonjour,
Ta source me parait vraiment interressant, malheureusement lorsque je tente de télécharger le zip il m'indique que certains fichiers sont corompu et je ne parviens donc pas à les récupérer!!!!!
Merci.
geogeo_cutcut Messages postés 5 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 23 octobre 2008
23 oct. 2008 à 09:34
Bonjour,
Je suis sur MAC et j'utilise MAMP.
Cette source à l'air d'être super intéressante et je voudrais l'utiliser pour la partie stat de mon site.
Le problème c'est que je ne voit aucun graphe qui s'affiche en utilisant ton exemple.
J'ai bien les cadres mais aucun graph à l'intérieur, juste une petit icone image.

Avec vous une idée ?

j'ai pas vérifié que la library GD2 était bien activée
Est ce que ça peut venir de cela ?

Merci d'avance pour vous réponse.
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
13 oct. 2008 à 14:17
bon pas moyen de reproduire le problème ni de trouver d'ou ça peut venir...
est-ce que quelqu'un utilise cette source sous IE6 ???
Merci pour les réponses ! ;)
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
13 oct. 2008 à 11:35
pfffffffff merci IE !!!!
bon je regarde avec IE ce qui lui va pas....
merci pour la note !!!

;D
didite49 Messages postés 5 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 13 octobre 2008
13 oct. 2008 à 11:29
Effectivement pour mon test j'avais omis de mettre le session_start(); , cela résout l'affichage dans Mozilla, mais pas mes erreurs dans IE, dsl.

Voilà pour la note lol
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
13 oct. 2008 à 11:22
ok donc ma question était pas si bête puisque c'est bien ton dev qui plante et non mes exemples !!! :p

met session_start(); en premiere ligne de ton code et ça roule !!!

et met une note tant que tu y es !!!

;D
didite49 Messages postés 5 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 13 octobre 2008
13 oct. 2008 à 11:11
Je viens de refaire l'essai avec des données brutes, pour voir si cela ne viendrait pas effectivement de mon code (on ne sait jamais lol)

Donc sous mozilla, il ne m'affiche pas de graphique alors qu'il dit image chargée, et sous IE6 erreurs.

voici mon code :
<?php
// Permet de lancer un traitement lorsque toutes les images sont chargées...
$checkStatImagesOnAllComplete = 'alert("Toutes les images sont chargées !");';

// Include avec toutes mes fonctions qui vont bien...
include ("artichow-1.1.0/statistiques_include.php");

$title = "Repartition Hommes Femmes :";
$width = 500;
$height = 300;
$legend = array('Hommes','Femmes');
$color = array('#006666','#9966FF');
$data = array(60,40);

// On crée l'image
insertStatImage(1,$width,$height,$title,$legend,$data,$color,'',FALSE);
?>

puis voici la première erreur :
Ligne : 37
Car : 2
Erreur : Erreur de syntaxe
Code : 0
Url : www.url.com/test.php

Puis la deuxième :
Ligne : 65
Car : 3
Erreur : 'statImages' est indefini
Code : 0
Url : www.url.com/test.php

merci
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
13 oct. 2008 à 10:54
ben le problème c que j'ai ré-essayé sous IE6 mais j'arrive pas à reproduire l'erreur alors c un peu dur de déboguer.....

pourrais-tu mettre le message d'erreur exact STP ?
didite49 Messages postés 5 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 13 octobre 2008
13 oct. 2008 à 10:51
Effectivement j'aurai pu :D, mais je n'en ai rien fait.

Donc toi non plus tu n'as pas d'idées...
je vais chercher encore, et si je trouve le pourquoi du comment, j'en ferais part ici, au cas où d'autres auraient le soucis.

Mais si jamais quelqu'un a une idée... n'hésitez pas à me l'indiquer.

à bientot
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
13 oct. 2008 à 10:46
tu aurais pu avoir besoin de toucher au javascript !!!

;D
didite49 Messages postés 5 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 13 octobre 2008
13 oct. 2008 à 10:42
Il s'agit bien de l'exemple fourni, puisque l'erreur se produit au niveau du javascript...
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
13 oct. 2008 à 10:37
ça c pas de bol pasque chez moi ça marche sous IE6, IE7, Firefox 3, Google Chrome !!!

c'est tes devs qui marchent pas ou l'exemple fourni tel quel sans y toucher ???
didite49 Messages postés 5 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 13 octobre 2008
13 oct. 2008 à 10:24
Bonjour,

Merci pour ce code, cela m'a bien servi.

J'ai juste un soucis que je n'arrive pas à résoudre. J'ai testé sous IE6 et... erreur... les images ne se chargent pas. J'ai une erreurs de syntaxe et des StatImages indéfini...

voici le code qui pose apparemment problème pour l'erreur de syntaxe :

else if(statImagesReplaced[i]=='oui'){
document.getElementById('divStatImageLoading'+i).style.display = 'none';
document.getElementById('divStatImage'+i).style.display = 'inline';
statImagesReplaced[i] = 'chargee';
nbLoadedImagesStat ++;
}

Il me met l'erreur à la ligne précédent la fin d'accolade, quoique je mette devant.
Quelqu'un aurait-il une idée pour résoudre cela... Je seche completement.

Cordialement,

Didite49
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
9 sept. 2008 à 16:39
225 téléchargements et seulement 3 votes !!!

...

:(
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
3 sept. 2008 à 17:06
Merci !
c'est toujours sympa de savoir que sa source a été compris facilement et est utilisée !!!
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
3 sept. 2008 à 17:03
Franchement, je n'y connais rien en php, mais je dois modifier un intranet pour, entre autre, y mettre de jolis graphs de statistiques.
Ta source va m'être très utile.
Bravo, parce que j'ai regardé la doc c'est pas évident de s'y retrouver.
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
21 août 2008 à 15:30
Merci !

Mais tu peux aussi noter pour de vrai en cliquant sur les étoiles situées juste au dessus de la zone de commentaire !....
foobar470 Messages postés 7 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 17 janvier 2009
21 août 2008 à 14:36
Bonjour,

Ce code est excellent, très bien commenté et très facile à reprendre.
De plus, les résultats sont de toute beauté.

Félicitations.
10/10
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
8 août 2008 à 21:28
ah ok trés bien je vais essayer comme ça.....

sinon pour avoir le message d'erreur artishow il suffit de mettre le debug sur true dans l'include......
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 août 2008 à 18:29
j'aurais bien voulu t'aider, mais chez moi, ton code ne fonctionne pas, et n'affiche pas de message d'erreur... (j'imagine que l'install de debian de php-gd ne plait pas a artichow, sauf que de base, artichow nous renvoie un message d'erreur...)

ton code ne correspond pas au mien non... regarde de plus pres les fins d'accolades

unset($color); // useless
if(isset($_SESSION['color'.$imageID]))
{
$color = $_SESSION['color'.$imageID];
unset($_SESSION['color'.$imageID]); // useless
if(is_array($color)){
...
...
}
...
}
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
8 août 2008 à 17:53
Donc j'ai testé en faisant les modifs que ut me conseille, et..... ça marche pas !!! il ne prend pas la couleur pas défaut et m'affiche de moches camemberts tout rouges (les 3 premiers camemberts ou on ne passe pas de couleur en parametre) !!!!

Voici le code concerné au cas ou j'ai mal compris:

//unset($color);
if(isset($_SESSION['color'.$imageID])){
$color = $_SESSION['color'.$imageID];
//unset($_SESSION['color'.$imageID]);
}

//if(isset($color) && is_array($color)){
if(is_array($color)){
...
....
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 août 2008 à 17:32
et j'en suis ravi.

if(isset($_SESSION['color'.$imageID]))
ce isset la est bon, il faut toujours faire ce genre d'isset pour $_GET, $_POST, $_COOKIE, $_FILES, $_SERVER, $_SESSION, etc...

if(isset($color) && is_array($color)){
ici, par contre, tu fais isset sur une variable "locale" (par opposition aux superglobales)
quand tu programmes dans un langage comme le C, tu peux recuperer des variables d'environements ou des parametres, avec des fonctions qui peuvent faire penser a isset, mais pour la variable locale, c'est debile...

le fait de savoir quelles variables existent, quelles sont leurs portees, leurs types, ce sont des choses d'importantes en programmation, meme dans des langages faiblement types genre php.

faire isset sur une variable locale, ca peut se justifier dans de rares cas (quand on fait de la POO sale mais souple, ca arrive d'avoir besoin de ce genre de choses, quand on fait de l'introspection, etc...). Dans ton cas, ca ne se justifie pas du tout.

Comme tu peux le voir dans mon code (cd 4 commentaires plus haut), le isset sur la variable locale n'existe plus.
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
8 août 2008 à 16:29
Donc je ne pense pas être quelqu'un qui ne souhaite pas s'améliorer ou qui ne souhaite pas améliorer sa source.

Donc j'avais bien prévu que des balaises viendraient regarder mon code avec dédain et que je prendrais les critiques constructives
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
8 août 2008 à 16:25
PETIT RAPPEL:

#
Commentaire de crazygogo le 10/07/2008 12:20:01

oui c'est clair, c'est surtout qu'ils vont aller voir le source et dire: c'est nul il faut faire du php5, de l'objet, c'est pas propre etc....
je conçois volontiers que mon source a besoin de beaucoup d'améliorations, si il était parfait je n'aurais pas besoin de demander vos conseils !!! après tout dépend de comment ils sont faits... car certains sont spécialisés dans le "cassage de newbies" !!!!

#
Commentaire de GillesWebmaster le 10/07/2008 12:26:31

en effet!!!

#
Commentaire de opossum_farceur le 10/07/2008 19:23:45

Salut,
Bravo pour cette source et la librairie sur laquelle elle repose, qui a le mérite de mettre en oeuvre la mystérieuse fonction "imageantialias". Une question : cette fonction ne serait-elle pas responsable du temps important mis par le script pour générer chaque camembert?
Bye++

#
Commentaire de crazygogo le 11/07/2008 09:27:19

C'est fort possible... dans ce cas j'ai fais une erreur de l'activer par défaut... il faut que je modifie ma source pour permettre d'activer ou non l'antialias pour chaque graphique que l'on veut générer.

Merci pour l'idée.

#
Commentaire de GillesWebmaster le 11/07/2008 09:36:31

Bonne idée!

#
Commentaire de crazygogo le 11/07/2008 10:10:00

C'est fait !
Merci pour l'idée parce que bêtement je n'y avais même pas pensé alors que c'est sur que les calculs d'antialiasing sont la partie du code qui prenait le plus de temps d'execution.... c'est exactement pour ça que je poste mon code ici !!!
Par défaut il est activé mais il suffit de passer 'false' en dernier parametre de la fonction insertStatImage pour le désactiver...
insertStatImage($imageType,$width,$height,$title,$legend,$data,$color,$lblAbs=NULL,$antiAlias=TRUE)

Voir exemple de camembert N°1....

#
Commentaire de GillesWebmaster le 11/07/2008 10:17:16

En effet le code est nettement plus rapide!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
8 août 2008 à 16:15
=> en leur montrant un code sale ?

désolé mais si toi en débutant tu faisais déja du code top propre et irréprochable moi je ne suis pas aussi doué et comme tu as pu le constater ce n'est pas mon cas.

=> quand on est debutant, on fait des erreurs de debutant, c'est normal. mais est-ce-qu'on doit laisser ces erreurs pour autant ? et toi, quand t'es debutant, tu refuses de t'ameliorer parce-que t'es debutant ?

non, c'est pourquoi j'ai noté ce que j'avais compris de tes remarque (comme le count dans la boucle par exemple) afin d'améliorer ma source, et je t'ai même remercier pour ce conseil

=> pour ton code, tu peux eviter le if isset, et c'est ca que je te reproche.
unset($color); // useless
if(isset($_SESSION['color'.$imageID]))
{
$color = $_SESSION['color'.$imageID];
unset($_SESSION['color'.$imageID]); // useless
if( is_array($color)){
...
...
}
...
}

tu aurais pu mettre ce que tu proposes à la place du isser pasque la je comprends pas, désolé je ne suis qu'un newbie

pour tes "useless" je suis d'accord mais il faut quand même que je vérifie pasque je ne fais pas ça d'habitude et la je crois que l'ai fé pasque j'avais de soucis....

Je trouve ta façon de prodiguer tes conseils auprès des débutants pas très pédagogique mais bon...
Tu apprendras que dans la vie il y'a différentes façon de transmettre aux autres son savoir
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 août 2008 à 16:05
"c'était juste pour essayer d'aider mes collègues débutants comme moi" => en leur montrant un code sale ?

quand on est debutant, on fait des erreurs de debutant, c'est normal. mais est-ce-qu'on doit laisser ces erreurs pour autant ?

et toi, quand t'es debutant, tu refuses de t'ameliorer parce-que t'es debutant ?

pour ton code, tu peux eviter le if isset, et c'est ca que je te reproche.

unset($color); // useless
if(isset($_SESSION['color'.$imageID]))
{
$color = $_SESSION['color'.$imageID];
unset($_SESSION['color'.$imageID]); // useless
if( is_array($color)){
...
...
}
...
}
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
8 août 2008 à 15:59
Merci coucou747 mais a part essayer de pinailler sur de nouveaux trucs que tu t amusé à trouvé tu ne réponds pas du tout aux différents points de mon message précédent....

- juste avant le if isset, tu n'as pas forcement de valeur pour $color, et c'est un peu domage

je croyais que c'était justement le but des isset, tester si une variable est définie ???!!!!........

- ici, tu devrais sortir le count de la boucle (idem pour beaucoup de tes boucles d'ailleur)

merci, je me suis renseigné et il semble que le count est évalué a chaque passage, donc c'est vrai que ce n'est pas une bonne idée de le mettre dans la boucle, merci pour ce bon conseil

- dans le fichier fstatistiques_include.php, ton code html est sale.

je te l'ai déja dit : je suis crade !!!....... je l'ai même mis dans la description de ma source (que tu n'as pas du lire non plus d'ailleurs) : "...ma source est pas propre,..", j'avais même prévu que tu passerais sur cette source et que tu mettrais tes commentaires : "Certains vont dire que ma source est pas propre, que j'aurais du faire de l'objet, du PHP5 etc...etc..."
je l'avais même mis en débutant pour bien montrer qu'un pro comme toi ferait surement mieux et que c'était juste pour essayer d'aider mes collègues débutants comme moi
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 août 2008 à 15:40
# unset($color);
# if(isset($_SESSION['color'.$imageID])){
# $color = $_SESSION['color'.$imageID];
# unset($_SESSION['color'.$imageID]);
# }
#
# if(isset($color) && is_array($color)){

juste avant le if isset, tu n'as pas forcement de valeur pour $color, et c'est un peu domage.

# for($k=0;$k<count($color);$k++){
# // on convertit en rvb et en objet 'Color'
# $color[$k] = hexa2rvb($color[$k]);
# }

ici, tu devrais sortir le count de la boucle (idem pour beaucoup de tes boucles d'ailleur)

global $sid,$debug,$imageCount;
les globales, c'est mal.

dans le fichier fstatistiques_include.php, ton code html est sale.

dans ton code javascript, tu utilises des variables globales (var i;) du coup, si tu fais deux fois cette erreur, tu te trouves avec un bug.
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
8 août 2008 à 15:00
- pourquoi tu ne vérifies pas l'existence de ce $_GET['imagetype'] ?

pasque je suis faignant et que le développeur est censé passer le type d'image qu'il veut obtenir, après c'est sur que ce serait mieux.... et si on veut on peut vérifier des tonnes de truc, il faut aussi vérifier que c'est un entier et pour le moment je gère que deux types d'images donc il faut vérifier aussi que c'est égal à 1 ou 2 etc... etc... ensuite les couleurs il faut vérifier que c'est bien des codes couleurs valides etc... on peut aussi mettre des valeurs par défaut etc.... je plaide coupable ! mais je suis parti du principe que le code est bien commenté alors le développeur va pas mettre des valeurs de débiles dans les paramètres....

-un truc qui me choque aussi : avant de declarer $imageFileName, tu supprimes la variable... et tu ne vérifies pas que $_SESSION['imageFileName'.$imageID] existe...

désolé de te choquer mais je supprime la variable locale (je sais plus trop pourquoi d'ailleurs mais y'a surement une raison !) puis j'y met la valeur de la variable en session puis je supprime la variable en session.... je ne teste pas si la session existe puisque c'est mon programme qui la crée juste avant d'appeler cette fonction !!!!!

- les rares fois que tu mets un if (sset(...)) alors tu ne mets pas de valeur pas default, c'est crade...

les rares fois ou je met un isset c'est pour la couleur (qui prend une valeur par défaut si elle est pas renseignée) :
// Jeu de couleurs par défaut
$color = PIE_EARTH;

ou pour le libellé des abscisses qui n'a pas à prendre de valeur par défaut si il n'est pas renseigné...

de toute façon: je suis crade !!!.......

>:->
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 août 2008 à 14:14
remplace :
} elseif($bool==TRUE) {
pat
} else if($bool) {

$imageType = round($_GET['imageType']);

pourquoi tu ne verifies pas l'existence de ce $_GET['imagetype'] ?

un truc qui me choque aussi : avant de declarer $imageFileName, tu supprimes la variable... et tu ne verifies pas que $_SESSION['imageFileName'.$imageID] existe...

# unset($imageFileName);
# $imageFileName = $_SESSION['imageFileName'.$imageID];
# unset($_SESSION['imageFileName'.$imageID]);

les rares fois que tu mets un if (sset(...)) alors tu ne mets pas de valeur pas default, c'est crade...
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
6 août 2008 à 18:03
ok, ben heureusement que t'as trouvé pasque je l'aurais pas eu celui la moi !!!

;-D
nlejeune Messages postés 5 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008
6 août 2008 à 16:41
Erf en local ça marche nickel mais sur mon serveur sous ubuntu j'ai:
missing imageantialias() function.
Après qq recherche à priori ça vient de la manière de compiler mon php5, pour contourner le problème faut modifier le script :

artichow/php5/inc/drivers/gd.class.php.

Il faut remplacer la ligne 162

} else {

par

} elseif($bool==TRUE) {
nlejeune Messages postés 5 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008
6 août 2008 à 13:47
erf il faut aussi mettre le start_session dans l'include...
là ça marche :)
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
6 août 2008 à 13:18
si tu les utilise tel quel, est-ce qu'un de mes fichiers exemple fonctionne ?
nlejeune Messages postés 5 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008
6 août 2008 à 13:16
J'ai pourtant les session_start();
Vraiment space.
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
6 août 2008 à 11:58
as-tu bien le session_start(); au début de tes scripts ?
ou est-ce que mon fichier d'exemple ne fonctionne pas du tout ?

désolé je suis sous PHP4 et ne peut pas tester sous PHP5....
nlejeune Messages postés 5 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008
6 août 2008 à 11:55
Bon ça doit être ma session qui ne marche pas ^^
nlejeune Messages postés 5 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008
6 août 2008 à 11:49
Excellent ton script, je me débattais avec artichow et ça m'a enlevé une épine du pied. Cependant j'ai un message d'erreur (debug actif) qui me dit:

Undefined index : imageFileName1 in G:\wamp\www\site\artichow\statistiques_genere_image.php on ligne 26.

Je suis en PHP5 avec la librairie Artichow pour PHP 4 & 5 version 1.1.0

ça correspond à la ligne:
$imageFileName = $_SESSION['imageFileName'.$imageID];
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
3 août 2008 à 15:23
Moi j'utilise DATE et je le convertis en String avant la suite du code !
Bon c'est contourner le problème...
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
15 juil. 2008 à 15:23
Alors comme je l'ai dit malheureusement je ne peux que développer en PHP4, il semble que cette erreur soit liée à PHP5 (pouvez vous confirmer que vous utilisez bien PHP5 ?)

Dans le cas de PHP5 voici ce que j'ai trouvé (en anglais désolé pas le temps de traduire):

ERROR MESSAGE: date() [function.date]: It is not safe to rely on the system's timezone settings

If you receive the above error message, this is due to latest PHP5 date() function rewrite.

To solve this issue, simply edit your php.ini file and set your date.timezone value:

date.timezone = "Europe/Paris"

You can view supported timezone values at the PHP.net Website

After you set the date.timezone value, you will need to restart your web server.

Voila j'espère que ça corrige le problème chez vous ???...
cseagle Messages postés 99 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 5 août 2009
15 juil. 2008 à 15:03
Bonjour,

Pour ma part en local voici le message d'erreur dont parlait opossum_farceur en activant le debug :

date() [function.date]:
It is not safe to rely on the system timezone setting the TZ environnement variable Or the date_default_timezone_set() function.
statistiques_genere_image.php ligne 191
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
14 juil. 2008 à 17:01
ben vu que c un serveur de développement local, essayer de donner le "contrôle total" à "tout le monde" dans les options de sécurité sur ce dossier...
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
14 juil. 2008 à 16:26
certainement mais le CHMOD sour Windows... ?!?!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
14 juil. 2008 à 16:03
essaye en activant le debug dans les premières lignes du fichier statistiques_include.php tu le met sur true :

// Activer le debug
$debug = true;

et la tu verras le message d'erreur normalement....
la différence entre l'ancienne version et celle-ci c'est que maintenant au lieu que le flux du png soit envoyé par une page php, un vrai png est généré dans le dossier cache puis envoyé au navigateur, pour moi si rien n'est créé dans le dossier cache c'est forcément lié à un problème de droits....
opossum_farceur Messages postés 147 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 14 novembre 2009
14 juil. 2008 à 15:49
@crazygogo,

Je dev en local sous Windows et avec WampServer, et il n'y a pas de problèmes de droits d'écriture dans ce répertoire "cache"; ce dernier contenait à l'origine tout un tas de fichiers (que l'on voit dans le zip) que j'ai supprimés depuis, ce qui m'a permis de constater que ton script n'y crée pas de fichiers...
Un message, écrit sur une image, s'affiche furtivement, sans que j'ai le temps de le lire.
Ton ancienne version fonctionne.

a++
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
13 juil. 2008 à 10:12
Comme je l'avais marqué dans les notes de mise à jour, la différence est que maintenant : "Attention le dossier 'cache' situé dans le dossier 'artichow-1.1.0' doit avoir les droits d'écriture (c'est la que les png sont générés)" par exemple sous linux il faut faire un chown apache sur le dossier 'cache'
dis-moi si cela résout ton problème ...
opossum_farceur Messages postés 147 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 14 novembre 2009
13 juil. 2008 à 00:48
Salut,
J'ai testé ta nouvelle version pour voir; chez moi, elle ne marche pas du tout (cas avec ou sans aa) : au cours de l'éxécution un message apparait furtivement (j'ai pas le temps de le lire), remplacé aussi sec par une boîte de dialogue "Toutes les images sont chargées" alors qu'il n'y en a aucune qui s'affiche!
a++
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
11 juil. 2008 à 10:17
En effet le code est nettement plus rapide!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
11 juil. 2008 à 10:10
C'est fait !
Merci pour l'idée parce que bêtement je n'y avais même pas pensé alors que c'est sur que les calculs d'antialiasing sont la partie du code qui prenait le plus de temps d'execution.... c'est exactement pour ça que je poste mon code ici !!!
Par défaut il est activé mais il suffit de passer 'false' en dernier parametre de la fonction insertStatImage pour le désactiver...
insertStatImage($imageType,$width,$height,$title,$legend,$data,$color,$lblAbs=NULL,$antiAlias=TRUE)

Voir exemple de camembert N°1....
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
11 juil. 2008 à 09:36
Bonne idée!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
11 juil. 2008 à 09:27
C'est fort possible... dans ce cas j'ai fais une erreur de l'activer par défaut... il faut que je modifie ma source pour permettre d'activer ou non l'antialias pour chaque graphique que l'on veut générer.

Merci pour l'idée.
opossum_farceur Messages postés 147 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 14 novembre 2009
10 juil. 2008 à 19:23
Salut,
Bravo pour cette source et la librairie sur laquelle elle repose, qui a le mérite de mettre en oeuvre la mystérieuse fonction "imageantialias". Une question : cette fonction ne serait-elle pas responsable du temps important mis par le script pour générer chaque camembert?
Bye++
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
10 juil. 2008 à 12:26
en effet!!!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
10 juil. 2008 à 12:20
oui c'est clair, c'est surtout qu'ils vont aller voir le source et dire: c'est nul il faut faire du php5, de l'objet, c'est pas propre etc....
je conçois volontiers que mon source a besoin de beaucoup d'améliorations, si il était parfait je n'aurais pas besoin de demander vos conseils !!! après tout dépend de comment ils sont faits... car certains sont spécialisés dans le "cassage de newbies" !!!!
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
10 juil. 2008 à 12:09
Moi je trouve proche de la perfection (d'où mon dix sur dix)
mais disons que les autres membres... sont plus ... "exigeants"!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
10 juil. 2008 à 12:08
ah ? pourquoi ? c'est sur qu'elle ne peut pas monter !!! mais de la à descendre fortement... c'est si nul que ça ?...
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
10 juil. 2008 à 12:01
De toute façon, si quelqu'un rajoute un commentaire, la note risque fortement de descendre...
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
10 juil. 2008 à 11:54
Plus de 80 téléchargements et seulement une personne a donné son avis...

Je rappelle que je prends toutes les critiques constructives et les propositions d'amélioration !

:p :p :p
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
7 juil. 2008 à 18:55
moi aussi!!!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
7 juil. 2008 à 18:52
Merci, il faut encore améliorer tout ça, beaucoup de valeurs sont en dur dans les fichiers include, il faut que j'offre la possibilité de les paramétrer... enfin c'est un bon début !
Le plus dur ça a été de mettre à jour la capture d'écran !!! (firefox m'affichait toujours l'ancienne... problème de cache...)

;D
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
7 juil. 2008 à 18:47
C'est plus du 10/10 mais 100/10!!!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
7 juil. 2008 à 18:44
Merci. J'ai ajouté les courbes et amélioré le preload.
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
7 juil. 2008 à 09:50
Sans avoir vu le code: la perspective de ton image est bonne: ton camembert est penché vers l'avant; ouf!
Après au niveau code: c'est pas un peu lourd de faire de l'orienté objet?
Bref le résultat est là donc 10/10!
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
1 juil. 2008 à 14:55
Je prends toutes les critiques constructives et les propositions d'amélioration !
Rejoignez-nous