diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..5983708 --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +ES_TOKEN = "" diff --git a/.gitignore b/.gitignore index 9e8b459..16d8e91 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ credentials.info html/.htpasswd html/.htaccess +.env +geckodriver.log +html/ressources/stats diff --git a/html/apropos.php b/html/apropos.php index 47ce79a..a1870a4 100644 --- a/html/apropos.php +++ b/html/apropos.php @@ -189,6 +189,10 @@ à leur arrêt définitif de manière imprévue, sans organiser et faciliter au préalable la migration des utilisateurices vers une autre instance ou plateforme.
Enfin, ce site web semble indispensable à la présentation de GNOUS, et n'est par conséquent pas non plus destiné à disparaître inopinément.

+

Une page est dédiée aux statistiques d'utilisation des services et donne des vues à la journée, à la semaine, au mois et à l'année. + Les graphiques sont actualisés quotidiennement vers minuit. +

+

Tous les services proposés par GNOUS ne sont pas référencés sur ce site web, leur usage pouvant être personnel ou réservé à un public restreint. Les utilisateurices sont cependant invité·es à nous contacter si ils ou elles ont besoin d'un service particulier (sans pour autant aucune garantie quant à leur déploiement).

@@ -206,60 +210,6 @@ Mattermost ne soit pas trop importante (du moins pour l'instant). - - - Chiffres (mis à jour en temps réel) : - - - - - - - - - - - - - - - - - - - -
Utilisateurices
Équipes
Canaux
Messages
- -Statistiques momentanément indisponibles."; -} -?> -

Nextcloud

Le logiciel libre Nextcloud est le troisième service (le second étant ce site) mis en place avec GNOUS. @@ -268,58 +218,6 @@ if ($status_code==200) { les fichiers qu'on envoie habituellement par mail, et alléger ainsi toute l'infrastructure du mail.

- - - - Chiffres (mis à jour en temps réel) : - - - - - - - - - - - - - - - -
Utilisateurices
Fichiers
Partages de fichiers
- -Statistiques momentanément indisponibles."; -} -?> -

Mailcow

Depuis mars 2021 GNOUS dispose d'un serveur de mail basé sur la solution libre Mailcow. Ce service permet d'envoyer et de recevoir des mails avec une adresse en @gnous.fr, ou tout autre domaine administré par GNOUS. Les mails sont également consultables au moyen d'un webmail.

diff --git a/html/includes/menu.php b/html/includes/menu.php index 19fd414..458950a 100644 --- a/html/includes/menu.php +++ b/html/includes/menu.php @@ -1,6 +1,7 @@
+ + Cette page vous donne quelques chiffres sur l'utilisation des services.

+ +
+ + + NOTA : Les graphiques sont actualisés quotidiennement vers minuit (heure de Paris). + +

Sommaire

+ + + +

Mattermost

+

Dernières 24h

+
+

Dernière semaine

+
+

Dernier mois

+
+

Dernière année

+
+ +

Nextcloud

+

Dernières 24h

+
+

Dernière semaine

+
+

Dernier mois

+
+

Dernière année

+
+ + + + diff --git a/print_stats.py b/print_stats.py new file mode 100755 index 0000000..27d012f --- /dev/null +++ b/print_stats.py @@ -0,0 +1,33 @@ +#!/usr/bin/python3 + +import os +from time import sleep +from dotenv import load_dotenv +from seleniumwire import webdriver +from seleniumwire.webdriver import FirefoxOptions + +os.chdir(os.path.dirname(os.path.abspath(__file__))) +load_dotenv() + +opts = FirefoxOptions() +opts.add_argument("--headless") +browser = webdriver.Firefox(options=opts,executable_path="/usr/local/bin/geckodriver") +browser.set_window_size(3000, 1120) + +def interceptor(request): + request.headers['Authorization'] = 'Basic '+os.environ["ES_TOKEN"] +browser.request_interceptor = interceptor + +for duration in ["24h", "7d", "1M", "1y"]: + browser.get("https://mon.gnous.fr/app/dashboards#/view/380099d0-4944-11ec-81a9-95d7ffa23468?embed=true&_g=(filters%3A!()%2CrefreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-"+duration+"%2Cto%3Anow))&hide-filter-bar=true") + sleep(30) + if duration == "24h": + sleep(15) + browser.get_screenshot_as_file("html/ressources/stats/mm"+duration+".png") + +for duration in ["24h", "7d", "1M", "1y"]: + browser.get("https://mon.gnous.fr/app/dashboards#/view/ef70de60-4947-11ec-81a9-95d7ffa23468?embed=true&_g=(filters%3A!()%2CrefreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-"+duration+"%2Cto%3Anow))&hide-filter-bar=true") + sleep(30) + browser.get_screenshot_as_file("html/ressources/stats/nc"+duration+".png") + +print('done')