Bonjour,

J'utilise l'outil JpGraph afin de créer des indicateurs grâce à la base de données de GLPI.
Je voudrai améliorer l'outil mais ne sais pas comment m'y prendre.

Voila ce que je fais grâce a l'outil JpGraph :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
// ********************************************************************
// PARTIE : Includes et initialisation des variables
// ********************************************************************
 
// Inclusion de la librairie JpGraph
include ("../jpgraph.php");
include ("../jpgraph_pie.php");
 
// Constantes (connection mysql)
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'bddglpi');
 
// Tableaux de données destinées à JpGraph
$tableauStatus = array();
$tableauNombreTickets = array();
 
// ********************************************************************
// PARTIE : Production des données avec Mysql
// ********************************************************************
 
$sql = <<<EOF
	SELECT  
		`status` AS STATUS,
		COUNT(ID) AS NBR_TICKETS 
	FROM `glpi_tickets`
	GROUP BY `status`
EOF;
 
// Connexion à la BDD
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
 
// Sélection de la base de données
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
 
// Requête
$mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');
 
// Fetch sur chaque enregistrement
while ($row = mysql_fetch_array($mysqlQuery,  MYSQL_ASSOC)) {
	// Alimentation des tableaux de données
	$tableauStatus[] = '' . $row['STATUS'];
	$tableauNombreTickets[] = $row['NBR_TICKETS'];
}
 
// ********************************************************************
// PARTIE : Création du graphique 
// ********************************************************************
 
// On spécifie la largeur et la hauteur du graphique conteneur 
$graph = new PieGraph(600,450);
 
// Titre du graphique
$graph->title->Set("Pourcentage de ticket par status");
 
// Créer un graphique secteur (classe PiePlot)
$oPie = new PiePlot($tableauNombreTickets);
 
// Légendes qui accompagnent chaque secteur, ici chaque année
$oPie->SetLegends($tableauStatus);
 
// position du graphique (légèrement à droite)
$oPie->SetCenter(0.4); 
 
$oPie->SetValueType(PIE_VALUE_PER);
 
// Format des valeurs de type entier
$oPie->value->SetFormat('%d');
 
// Ajouter au graphique le graphique secteur
$graph->Add($oPie);
 
// Provoquer l'affichage (renvoie directement l'image au navigateur)
$graph->Stroke();
?>
Le graph créé dépend donc de la requête SQL, je voudrai maintenant rendre l'utilisation de cet outil facile pour un utilisateur basique (pas d’accès au code).

Il choisirait simplement le type d'indicateur (ici "Pourcentage de ticket par status") et il aurait un calendrier afin de sélectionner la période sur laquelle il veut les indicateurs.

Après avoir fait le choix de la période, la requête le prend en compte puis le graph s'affiche.

Je ne sais pas si j'ai été clair et si vous comprenez ce que je veux dire.

Dans un premier temps merci de me dire si cela est faisable pas trop difficilement ? ( Je ne suis pas développeur).

Merci à tous ceux qui ont lu et à ceux qui prendront le temps de répondre.