https://github.com/gip-recia/frequentation_portail
Statistiques de fréquentation du portail
https://github.com/gip-recia/frequentation_portail
Last synced: 3 months ago
JSON representation
Statistiques de fréquentation du portail
- Host: GitHub
- URL: https://github.com/gip-recia/frequentation_portail
- Owner: GIP-RECIA
- License: apache-2.0
- Created: 2022-01-17T16:30:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-18T10:01:41.000Z (8 months ago)
- Last Synced: 2025-01-13T07:11:47.166Z (5 months ago)
- Language: PHP
- Size: 390 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Statistiques ENT - frequentation portail
## Prérequis technique
Le portail nécessite les prérequis techniques suivants :
* OS : Linux (Debian ou Centos, de préférences)
* Apache ou Nginx
* PHP 7.2
* Mysql / MariaDB 5.x
* RAM 2 Gb min.## Étapes d’installation
### Installation des fichiers
#### Dans tous les cas
Copier les fichiers du dépôt git dans le dossier `/var/www/[APPLICATION]`.
Renommer le fichier `include/config-dist.php` en `include/config.php` et y placer les bonnes informations.
#### Installation de l'import et de la partie web au même endroit ou de la partie web web seulementInstaller les dépendances :
```
composer install --no-dev
```Installer les dépendances web _(inutile pour la partie import)_ :
```
npm install -production
npm run build-prod
```### Installation de la base de données
L'installation de la base de données s'effectue via l'import du dump SQL suivant : `/data/frequentation_portail_structure.sql`.
La commande suivante permet d'importer la base de données :
```bash
mysql -h HOST -P PORT -D DATABASE -u USER -p < data/frequentation_portail_structure.sql
```### Installation du cache twig
A la racine du projet, ajouter un dossier cache er lui donner les bon droits :
```bash
sudo mkdir cache
sudo chown www-data:www-data cache
sudo chmod g+w cache
```Puis vérifier que ce dossier correspond bien a celui spécifié dans la conf pour la clé `twig/cacheDir`.
## Étapes de paramétrage du serveur
### PHP
Extensions nécessaires :
* PDO
* PDO_mysql
* Xml
* MBstring
* ldap### MariaDB
Le fichier de configuration MySQL est modifié pour augmenter la taille des paquets traités.
A cet effet, la valeur suivante :
`max_allowed_packet = 128M`
Est définie au sein du fichier :
`/etc/my.cnf`### Apache
Le fichier de configuration PHP est situé à cet emplacement :
`/etc/httpd/sites-enabled/[A PRECISER]`
Le paramétrage fournit par défaut par l’hébergeur permet une utilisation performante du portail.### Certificat de sécurité (HTTPS)
Le portail s’appuie sur l’utilisation d’un certificat SSL mis en place par l’hébergeur.
### Authentification CAS
Le portail s’appuie sur une authentification via le protocole CAS.
### ldap
Le portail utilise ldap pour déterminer les droits de l'utilisateur
## Étapes de paramétrage de l’application
### Base de données
L’accès à la base de données est défini dans le fichier `/include/config.php` dans la section `db`.
### CAS Recia
La configuration du cas est défini dans le fichier `/include/config.php` dans la section `cas`.
La configuration cas n'est pas nécessaire pour la partie import toute seule.### ldap
La configuration du cas est défini dans le fichier `/include/config.php` dans la section `ldap`.
La configuration cas n'est pas nécessaire pour la partie import toute seule.
### Emplacement des fichiers d'importIl est possible, mais pas obligatoire, de définir l'emplacement des fichiers d'import dans le fichier `/include/config.php` dans la section `importDir`.
## Import des données
### Liste des paramètres
* `-d` pour **date**, optionnel au format YYYY/MM (prioritaire sur le `-y`)
* `-c` pour **chemin**, optionnel en format absolu
* `-v` pour avoir des logs plus verbeux
* `-y` pour importer à la date d'hier
Des messages d’erreurs s’afficheront si le dossier n’existe pas.### Traitement automatique
Il convient d’installer une tâche CRON pour l’import des données.
L’import s’appuie sur des données mensuelles.
Il est possible d’appeler le programme 1 fois par jour. Dans ce cas, les informations du mois importé se complètent au fur et à mesure.
La commande à appeler :
```bash
php import.php
```Dans le cas d’un traitement automatique, le programme importe automatiquement, le mois en cours.
### Traitement manuel
Il est possible d’importer manuellement un mois donné (cas d’un import de mois précédents).
La commande à appeler :php import.php -d 2020/05
### Traitement dans un dossier précis
Par défaut, le dossier utilisé est celui précisé dans la conf.
Il est possible de surcharger cette valeur en la spécifiant dans la ligne de commande.
La commande à appeler :
```
php import.php -d 2020/05 -c /chemin/vers/dossier
```## Les droits dans l'application
### Utilisateur ayant un attribut ESCOSIRENCourant
Les utilisateur ayant un attribut **ESCOSIRENCourant** ne pourront accéder qu'aux statistiques de cet établissement.
La liste de sélection d'établissement sera donc désactivée, et la vue établissement n'affichera que l'établissement en question.
### Utilisateur ayant le role National_DIR
Les utilisateurs ayant le role **National_DIR** dans le champ **ENTPersonProfils** ne verront que leur établissement, les champs de sélections suivants seront donc masqués :
* établissement
* type
* mois
* sélecteur du type de vueL'affichage de statistiques se fera donc pour **Tous les mois** et non pour un mois précis et sur la vue **services**.
De plus l'affichage **TOP** sera masqué.
### Utilisateur membre du groupe esco:admin:Indicateurs:central
L'utilisateur membre du groupe **esco:admin:Indicateurs:central** verra tous les lycées.
### Utilisateur membre du groupe clg%DEP%:admin:Indicateurs:central
L'utilisateur membre du groupe **clg%DEP%:admin:Indicateurs:central** verra tous les collèges du département %DEP%.
### Utilisateur membre du groupe agri:admin:Indicateurs:central
L'utilisateur membre du groupe **agri:admin:Indicateurs:central** verra tous les lycées et cfa agricole.
### Utilisateur membre du groupe cfa:admin:Indicateurs:central
L'utilisateur membre du groupe **cfa:admin:Indicateurs:central** verra tous les cfa.
### Utilisateur membre du groupe ef2s:admin:Indicateurs:central
L'utilisateur membre du groupe **ef2s:admin:Indicateurs:central** verra tous les ef2s.