Page de statistiques sur les connexions à l'Extranet
Publié : 09 août 2023, 13:41
Bonjour,
Nous réalisons actuellement un suivi des connexions des utilisateurs sur Agora-Project au global (peu importe l'espace).
Suivi assez simple, exécuté par un script shell qui va requêter la base de données avec un compte ayant des grants de lecture restrictifs, puis génère un enregistrement à la fin d'un fichier *.csv sur les statistiques de la veille.
Ce fichier est ensuite absorbé dans Excel via une VBA afin de générer des statistiques sur les connexions.
Excel accessible dans la partie GED de l'outil.
Cela pourrait être intéressant d'avoir une page, dans l'administration Agora-Project, avec des statistiques globales et/ou par espace ? Qu'en pensez-vous.
Quelques éléments techniques, ça peut service à d'autres.
Requête SQL :
Enregistrement généré à la fin du fichier *.csv :
Exemple d'affichage sous Excel :
Cordialement,
Manu
Nous réalisons actuellement un suivi des connexions des utilisateurs sur Agora-Project au global (peu importe l'espace).
Suivi assez simple, exécuté par un script shell qui va requêter la base de données avec un compte ayant des grants de lecture restrictifs, puis génère un enregistrement à la fin d'un fichier *.csv sur les statistiques de la veille.
Ce fichier est ensuite absorbé dans Excel via une VBA afin de générer des statistiques sur les connexions.
Excel accessible dans la partie GED de l'outil.
Cela pourrait être intéressant d'avoir une page, dans l'administration Agora-Project, avec des statistiques globales et/ou par espace ? Qu'en pensez-vous.
Quelques éléments techniques, ça peut service à d'autres.
Requête SQL :
Code : Tout sélectionner
SELECT GROUP_CONCAT(a.date, ';', b.count, ';', c.count, ';', d.count, ';', e.count) AS 'DATE;TOTAL UTILISATEURS ACTIVES;CONNECTES AU MOINS 1 FOIS;JAMAIS CONNECTES;UTILISATEURS CONNECTES SUR LA JOURNEE'
FROM (
(SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS 'date') AS a,
(SELECT COUNT(DISTINCT _idUser) AS 'count' FROM ap_joinSpaceUser) AS b,
(SELECT COUNT(DISTINCT apu._id) AS 'count' FROM ap_user apu INNER JOIN ap_joinSpaceUser apjsu ON apu._id = apjsu._idUser WHERE apu.lastConnection IS NOT NULL) AS c,
(SELECT COUNT(DISTINCT apu._id) AS 'count' FROM ap_user apu INNER JOIN ap_joinSpaceUser apjsu ON apu._id = apjsu._idUser WHERE apu.lastConnection IS NULL) AS d,
(SELECT COUNT(DISTINCT apl._idUser) AS 'count' FROM ap_log apl WHERE action='connexion' AND CONCAT(DATE_FORMAT(apl.date,'%Y-%m-%d')) = CAST((CURDATE() - 1) AS DATE)) AS e
);
Enregistrement généré à la fin du fichier *.csv :
Code : Tout sélectionner
DATE;TOTAL UTILISATEURS ACTIVES;CONNECTES AU MOINS 1 FOIS;JAMAIS CONNECTES;UTILISATEURS CONNECTES SUR LA JOURNEE
2022-08-23;92;90;2;7
2022-08-24;92;90;2;9
...
2023-07-11;99;98;1;6
2023-07-12;99;98;1;9
2023-07-13;99;98;1;20
Exemple d'affichage sous Excel :
Cordialement,
Manu