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.
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.
Installer les dépendances :
composer install --no-dev
Installer les dépendances web (inutile pour la partie import) :
npm install -production
npm run build-prod
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 :
mysql -h HOST -P PORT -D DATABASE -u USER -p < data/frequentation_portail_structure.sql
A la racine du projet, ajouter un dossier cache er lui donner les bon droits :
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
.
Extensions nécessaires :
- PDO
- PDO_mysql
- Xml
- MBstring
- ldap
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
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.
Le portail s’appuie sur l’utilisation d’un certificat SSL mis en place par l’hébergeur.
Le portail s’appuie sur une authentification via le protocole CAS.
Le portail utilise ldap pour déterminer les droits de l'utilisateur
L’accès à la base de données est défini dans le fichier /include/config.php
dans la section db
.
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.
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.
Il est possible, mais pas obligatoire, de définir l'emplacement des fichiers d'import dans le fichier /include/config.php
dans la section importDir
.
-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.
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 :
php import.php
Dans le cas d’un traitement automatique, le programme importe automatiquement, le mois en cours.
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
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 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.
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 vue
L'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é.
L'utilisateur membre du groupe esco:admin:Indicateurs:central verra tous les lycées.
L'utilisateur membre du groupe clg%DEP%:admin:Indicateurs:central verra tous les collèges du département %DEP%.
L'utilisateur membre du groupe agri:admin:Indicateurs:central verra tous les lycées et cfa agricole.
L'utilisateur membre du groupe cfa:admin:Indicateurs:central verra tous les cfa.
L'utilisateur membre du groupe ef2s:admin:Indicateurs:central verra tous les ef2s.