Skip to content
Snippets Groups Projects
Commit a088f1a7 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

...

parent ea213eef
No related branches found
No related tags found
No related merge requests found
Connecteurs
====
**Mes Formations** est alimenté via des synchronisations exploitant des données exposées dans le SI de l'établissement
qui l'installe.
Ces données sont présentés :
- soient depuis les outils de RH (par exemple *SIHAM*, ...)
- soient depuis un concentrateur de données (par exemple *OCTOPUS* à Caen)
Nous aborderons tout d'abord la composition des vues puis le moyen de déclencher ces synchronisations et finalement
comment adapter les vues et la configuration de la synchronisation.
----
Vues
=====
On retrouve dans quatres catégories des vues :
1. V_MESFORMATIONS_REFERENTIEL : pointant vers le référentiel RH décrivant les emplois, corps...
2. V_MESFORMATIONS_STRUCTURE : décrivant les structures de l'établissement et leur arborescence
3. V_MESFORMATIONS_AGENT : référençant les agents et leur situation
4. V_MESFORMATIONS_HIERARCHIE : référençant les chaine de responsabilités
## Les vues décrivant le référentiel RH
Ces vues peuvent être partagées avec celles décrites pour l'application EMC2.
### V_MESFORMATIONS_CORRESPONDANCE_TYPE
Cette vue présente la liste des types de correspondance utiliser par l'établissement : BAP, CNU, ...
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|---------------|-------------|---------------|
| ID | integer | Oui | Clef primaire |
| CODE | varchar(64) | Oui | |
| LIBELLE_COURT | varchar(256) | Oui | |
| LIBELLE_LONG | varchar(1024) | Oui | |
| DESCRIPTION | text | Oui | |
| DATE_DEBUT | timestamp | Oui | |
| DATE_FIN | timestamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'code';'libelle_court';'libelle_long';'description';'date_debut';'date_fin'
1;BAP;BAP;branches d'activité professionnelle;Le truc standard des ITRF/BIATSS;1983-09-13 09:12:08.000000;
2;BIB;BIB;Bibliothèque;Un truc pour les personnels des BU;1883-09-13 09:13:00.000000;
```
_Note_ :
- Si la date de début est inconnue initialisée celle-ci avec une date suffisamment dans le passé.
- Les dates ne semblent pas avoir un rôle majeur et devraient pour voir être retirée à l'avenir.
### V_MESFORMATIONS_CORRESPONDANCE
Cette vue décrit les correspondances utilisées dans l'établissement.
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|---------------|-------------|----------------------------------------------------|
| ID | integer | Oui | Clef primaire |
| CODE | varchar(64) | Oui | |
| LIBELLE_COURT | varchar(256) | Oui | |
| LIBELLE_LONG | varchar(1024) | Oui | |
| TYPE_ID | integer | Oui | Clef étrangère V_MESFORMATIONS_CORRESPONDANCE_TYPE |
| DATE_DEBUT | timestamp | Oui | |
| DATE_FIN | timestamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'code';'type_id';'libelle_court';'libelle_long';'date_debut';'date_fin'
1;BAP_A;1;SVTE;SCIENCES VIVANT, TERRE ET ENVIRONNEMENT;2000-01-01;
2;BAP_B;1;SCSCM;SCIENCES CHIMIQUES ET DES MATÉRIAUX;2000-01-01;
3;BAP_C;1;SIIS;SCIENCES INGÉNIEUR INSTRUMENTAT. SCIENT;2000-01-01;
```
_Note_ :
- Si la date de début est inconnue initialisée celle-ci avec une date suffisamment dans le passé.
### V_MESFORMATIONS_CORPS
La liste des corps
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|---------------|-------------|---------------|
| ID | integer | Oui | Clef primaire |
| CODE | varchar(64) | Oui | |
| LIBELLE_COURT | varchar(256) | Oui | |
| LIBELLE_LONG | varchar(1024) | Oui | |
| CATEGORIE | varchar(256) | Oui | |
| DATE_DEBUT | timestamp | Oui | |
| DATE_FIN | timestamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'code';'libelle_court';'libelle_long';'categorie';'date_debut';'date_fin'
1;051;AAE;ATTACHE D'ADMINISTRATION DE L'ETAT;A;2013-10-02;
2;942;MAG;MAGASINIER DES BIBLIOTHEQUES;C;2017-01-01;
3;057;ADJAENES;ADJ. ADM DES ADMINISTRATIONS DE L'ETAT;C;2017-01-01;
4;943;ATEC;ADJOINT TECHNIQUE DES ETAB.ENS.;C;2017-01-01;
```
_Note_ :
- Si la date de début est inconnue initialisée celle-ci avec une date suffisamment dans le passé.
### V_MESFORMATIONS_GRADE
La liste des grades
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|---------------|-------------|---------------|
| ID | integer | Oui | Clef primaire |
| CODE | varchar(64) | Oui | |
| LIBELLE_COURT | varchar(256) | Oui | |
| LIBELLE_LONG | varchar(1024) | Oui | |
| DATE_DEBUT | timestamp | Oui | |
| DATE_FIN | timestamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'code';'libelle_court';'libelle_long';'date_debut';'date_fin'
1;1021;I.G.E.N.;INSPECTEUR GENERAL DE L'EDUCAT.NATIONALE;;
2;1011;INSP.ADM.;INSPECTEUR D ADMINISTRATION;;
3;5631;CPE CL N;CONSEILLER PRINC.D'EDUCATION CL.NORMALE;1970-01-01;
4;5632;CPE H CL;CONSEILLER PRINC. D'EDUCATION HORS-CLAS.;1989-09-01;
5;2021;SECR. ETAT;SECRETAIRE D'ETAT;;
```
_Note_ :
- Si la date de début est inconnue initialisée celle-ci avec une date suffisamment dans le passé.
### V_MESFORMATIONS_EMPLOITYPE
La liste des grades
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|---------------|-------------|---------------|
| ID | integer | Oui | Clef primaire |
| CODE | varchar(64) | Oui | |
| LIBELLE_COURT | varchar(256) | Oui | |
| LIBELLE_LONG | varchar(1024) | Oui | |
| DATE_DEBUT | timestamp | Oui | |
| DATE_FIN | timestamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'code';'libelle_court';'libelle_long';'date_debut';'date_fin'
1;E2A41;E_E2A41;Administrateur-trice des systèmes d'information;2023-09-01;
2;A1C46;E_A1C46;Ingénieur-e de recherche en expérimentation;2023-09-01;
3;C2C46;E_C2C46;Ingénieur-e électrotechnicien-ne;2023-09-13;
```
_Note_ :
- Si la date de début est inconnue initialisée celle-ci avec une date suffisamment dans le passé.
## Les vues décrivant l'arborescence des structures
Ces vues peuvent être partagées avec celles décrites pour l'application EMC2.
### V_STRUCTURE_TYPE
Décrit les types de structure
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|--------------|-------------|---------------|
| ID | integer | Oui | Clef primaire |
| CODE | varchar(64) | Oui | |
| LIBELLE | varchar(256) | Oui | |
| DESCRIPTION | text | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'code';'libelle';'description'
1;ETAB;Établissement;Établissement
2;COMP;Composante;Composante
3;SREC;Structure de recherche;Structure de recherche
4;SCEN;Service central;Service central
```
_Note_ :
- Probablement plus d'utilité, si ce n'est à des fin d'affichage et de filtrage.
- Si la date de début est inconnue initialisée celle-ci avec une date suffisamment dans le passé.
### V_MESFORMATIONS_STRUCTURE
Décrit la liste des structures
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|---------------|-------------|------------------------------------------------------------|
| ID | integer | Oui | Clef primaire |
| TYPE_ID | integer | Oui | Clef étrangère référencant V_MESFORMATIONS_STRUCTURE_TYPE |
| CODE | varchar(64) | Oui | |
| SIGLE | varchar(64) | Non | |
| LIBELLE_COURT | varchar(256) | Oui | |
| LIBELLE_LONG | varchar(1024) | Oui | |
| EMAIL_GENERIQUE | varchar(1024) | Non | |
| NIV2_ID | integer | Oui | Clef auto-référencée référencant V_MESFORMATIONS_STRUCTURE |
| PARENT_ID | integer | Oui | Clef auto-référencée référencant V_MESFORMATIONS_STRUCTURE |
| DATE_OUVERTURE | timestamp | Oui | |
| DATE_FERMETURE | timestamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'code';'libelle_court';'libelle_long';'sigle';'type_id';'email_generique';'date_ouverture';'date_fermeture';'parent_id';'niv2_id'
11;DIRCOM;DirCom;Direction de la communication;COM;4;;;;6;11
12;COM'Web;DirCom Web;Pôle Web;COM'Web;4;;;;11;11
13;COM'Eve;DirCom Eve;Pôle Événementiel;COM'Eve;4;;;;11;11
```
_Note_ :
- Beaucoup des données ne doivent servir qu'à des fin d'affichage et doivent pouvoir être retirée. Travail restant à
faire.
- Si la date de début est inconnue initialisée celle-ci avec une date suffisamment dans le passé.
## Les vues décrivant les agents et leur situation
Ces vues peuvent être partagées avec celles décrites pour l'application EMC2.
**Attention** les colonnes t_****** sont des témoins ne pouvant recevoir que deux valeurs 'O' pour Oui et 'N' pour Non.
### V_MESFORMATIONS_AGENT
Identification des agent·es (liste des personnes encadrante ou pouvant suivre des formations)
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|---------------|-------------|---------------|
| ID | varchar(256) | Oui | Clef primaire |
| PRENOM | varchar(1024) | Oui | |
| NOM_USAGE | varchar(1024) | Oui | |
| NOM_FAMILLE | varchar(1024) | Oui | |
| SEXE | varchar(1) | Non | |
| DATE_NAISSANCE | timestamp | Non | |
| LOGIN | varchar(256) | Oui | |
| EMAIL | varchar(1024) | Oui | |
Exemple depuis l'instance de démonstration.
```csv
'id';'prenom';'nom_usage';'nom_famille';'sexe';'date_naissance';'login';'email'
36;Bruno;;;M;;bruno;bruno@mon-etablissement.fr
39;Violette;;;F;;violette;violette@mon-etablissement.fr
40;Grey;;;H;;grey;grey@mon-etablissement.fr
41;Olive;;;F;;olive;olive@mon-etablissement.fr
```
_Note_ :
- Les données de genre et d'âge ne servent que pour les enquêtes ministérielles.
Si votre établissement ne fait pas ces remontés, alors il est recommandé de les laisser vide.
### V_MESFORMATIONS_AGENTAFFECTATION
Remonté des affectations des agent·es.
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|--------------|-------------|-------------------------------------------------------|
| ID | varchar(256) | Oui | Clef primaire |
| AGENT_ID | varchar(256) | Oui | Clef étrangère référençant V_MESFORMATIONS_AGENT |
| STRUCTURE_ID | integer | Oui | Clef étrangère référençant V_MESFORMATIONS_STRUCTURES |
| T_PRINCIPALE | varchar(1) | Oui | |
| T_HIERARCHIQUE | varchar(1) | Oui | |
| T_FONCTIONNELLE | varchar(1) | Oui | |
| QUOTITE | integer | Non | |
| DATE_DEBUT | timetamp | Oui | |
| DATE_FIN | timetamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'agent_id';'structure_id';'t_principale';'t_hierarchique';'t_fonctionnelle';'quotite';'date_debut';'date_fin'
10034;34;3;O;O;O;100;2022-10-01;
10035;35;3;O;O;O;100;2022-01-01;
10036;36;5;O;O;N;100;2020-01-01;
10056;51;12;O;O;N;100;2020-01-01;2022-12-31
10057;52;12;O;O;N;100;2020-01-01;2023-01-15
```
### V_MESFORMATIONS_AGENTGRADE
Remonté des grades des agent·es.
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|--------------|-------------|-----------------------------------------------------------|
| ID | varchar(256) | Oui | Clef primaire |
| AGENT_ID | varchar(256) | Oui | Clef étrangère référençant V_MESFORMATIONS_AGENT |
| STRUCTURE_ID | integer | Oui | Clef étrangère référençant V_MESFORMATIONS_STRUCTURES |
| GRADE_ID | integer | Oui | Clef étrangère référençant V_MESFORMATIONS_GRADE |
| CORPS_ID | integer | Oui | Clef étrangère référençant V_MESFORMATIONS_CORPS |
| CORRESPONDANCE_ID | integer | Oui | Clef étrangère référençant V_MESFORMATIONS_CORRESPONDANCE |
| EMPLOITYPE_ID | integer | Oui | Clef étrangère référençant V_MESFORMATIONS_EMPLOITYPE |
| DATE_DEBUT | timetamp | Oui | |
| DATE_FIN | timetamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'agent_id';'structure_id';'corps_id';'correspondance_id';'grade_id';'emploitype_id';'date_debut';'date_fin'
5;21;6;21;8;260;;2022-03-01;
6;22;6;110;8;34;;2022-03-01;
7;23;6;111;8;31;;2022-03-01;
8;24;6;21;8;260;;2022-03-01;2023-12-31
9;25;6;21;8;260;;2022-03-01;
```
_Note_ :
- Cette table est complexe pour rien, un travail sur le référentiel pourrait permettre une simplification
### V_MESFORMATIONS_AGENTECHELON
Remonté des grades des agent·es.
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|--------------|-------------|--------------------------------------------------|
| ID | varchar(256) | Oui | Clef primaire |
| AGENT_ID | varchar(256) | Oui | Clef étrangère référençant V_MESFORMATIONS_AGENT |
| ECHELON | integer | Oui | |
| DATE_DEBUT | timetamp | Oui | |
| DATE_FIN | timetamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'agent_id';'echelon';'date_debut';'date_fin'
1;16;5;2022-07-01;
```
### V_MESFORMATIONS_AGENTQUOTITE
Remonté des grades des agent·es.
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|---------------|-------------|--------------------------------------------------|
| ID | varchar(256) | Oui | Clef primaire |
| AGENT_ID | varchar(256) | Oui | Clef étrangère référençant V_MESFORMATIONS_AGENT |
| QUOTITE | integer | Oui | |
| MODALITE | varchar(1024) | Oui | |
| DATE_DEBUT | timetamp | Oui | |
| DATE_FIN | timetamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'agent_id';'quotite';'date_debut';'date_fin';'modalite'
1;17;80;2022-03-01 15:13:35.000000;;Temps partiel thérapeutique
```
### V_MESFORMATIONS_AGENTSTATUT
Remonté des grades des agent·es.
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|--------------|-------------|-------------------------------------------------------|
| ID | varchar(256) | Oui | Clef primaire |
| AGENT_ID | varchar(256) | Oui | Clef étrangère référençant V_MESFORMATIONS_AGENT |
| STRUCTURE_ID | integer | Oui | Clef étrangère référençant V_MESFORMATIONS_STRUCTURES |
| DATE_DEBUT | timetamp | Oui | |
| DATE_FIN | timetamp | Non | |
| T_TIULAIRE | VARCHAR(1) | Oui | |
| T_CDI | VARCHAR(1) | Oui | |
| T_CDD | VARCHAR(1) | Oui | |
| T_ADMINISTRATIF | VARCHAR(1) | Oui | |
| T_ENSEIGNANT | VARCHAR(1) | Oui | |
| T_CHERCHEUR | VARCHAR(1) | Oui | |
| T_DOCTORANT | VARCHAR(1) | Oui | |
| T_VACATAIRE | VARCHAR(1) | Oui | |
| T_DETACHE_IN | VARCHAR(1) | Oui | |
| T_DETACHE_OUT | VARCHAR(1) | Oui | |
| T_HEBERGE | VARCHAR(1) | Oui | |
| T_DISPO | VARCHAR(1) | Oui | |
| T_EMERITE | VARCHAR(1) | Oui | |
| T_RETRAITE | VARCHAR(1) | Oui | |
Exemple depuis l'instance de démonstration.
```csv'id';'agent_id';'structure_id';'date_debut';'date_fin';'t_titulaire';'t_cdi';'t_cdd';'t_administratif';'t_enseignant';'t_chercheur';'t_vacataire';'t_doctorant';'t_detache_in';'t_detache_out';'t_heberge';'t_dispo';'t_emerite';'t_retraite'
2;16;6;2022-03-01;;O;N;N;O;N;N;N;N;N;N;N;N;N;N
1;17;6;2022-03-01;;O;N;N;O;N;N;N;N;N;N;N;N;N;N
3;18;6;2022-03-01;;N;O;N;O;N;N;N;N;N;N;N;N;N;N
```
_Note_ :
- Si certains témoins sont non calculable ou non pertinant, alors vous pouvez les initialiser avec la valeur 'N'
## Les vues décrivant la hiérarchie
Ces vues sont importantes.
### V_MESFORMATIONS_STRUCTURE_RESPONSABLE
La liste des responsables de structure
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|--------------|-------------|-------------------------------------------------------|
| ID | integer | Oui | Clef primaire |
| AGENT_ID | varchar(256) | Oui | Clef étrangère référençant V_MESFORMATIONS_AGENT |
| STRUCTURE_ID | integer | Oui | Clef étrangère référençant V_MESFORMATIONS_STRUCTURES |
| FONCTION_ID | integer | Non | |
| DATE_DEBUT | timetamp | Oui | |
| DATE_FIN | timetamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'structure_id';'agent_id';'fonction_id';'date_debut';'date_fin'
5;1;9;;2023-01-29;
6;1;16;;2022-01-27;2022-12-31
7;3;15;;2022-07-01;2023-07-01
8;3;14;;2023-07-01;
```
_Note_ :
- La clef primaire sera remplacée par une chaine de caractères qui est généralement la représentation dans les SIRH
- FONCTION_ID dans l'état est inutile, car manque une table décrivant les fontions et leurs libellés
### V_MESFORMATIONS_AGENT_VALIDEUR
La liste des responsables de structure
| Nom de la colonne | Type | Obligatoire | Commentaire |
|-------------------|--------------|-------------|--------------------------------------------------|
| ID | varchar(256) | Oui | Clef primaire |
| AGENT_ID | varchar(256) | Oui | Clef étrangère référençant V_MESFORMATIONS_AGENT |
| VALIDEUR_ID | varchar(256) | Oui | Clef étrangère référençant V_MESFORMATIONS_AGENT |
| DATE_DEBUT | timetamp | Oui | |
| DATE_FIN | timetamp | Non | |
Exemple depuis l'instance de démonstration.
```csv
'id';'agent_id';'fonction_id';'date_debut';'date_fin'
OCTOPUS-119-120-45255587;119;120;2024-01-01;2024-08-31
OCTOPUS-119-121-9968574;119;121;2024-09-01;
```
Synchronisation grâce à `unicaen/synchro`
=====
La synchronisation des données d'Objectif Réussites utilise une bibliothèque développée à Caen.
Celle-ci permet grâce à un fichier de configuration de déclarer une table de correspondance indiquant quelle colonne
d'un donnée source (TABLE ou VUE) sera recopié dans les tables de l'application.
Il est à noter que la bibliothèque peut récupérer des informations de plusieurs bases de données sources.
À l'avenir, la synchronisation pourra exploiter des Web Services afin d'être utilisé proprement en SaaS.
## Configuration de la biliothèque
### L'accés aux bases de données sources
Les bases de données sources doivent être déclaré comme ORM pour cela, il est nécessaire de les déclarer comme fichier
de configuration local (non synchronisé dans le dépôt).
Dans la suite je présente la configuration faite à Caen exploitant deux bases de données sources :
1. OCTOPUS qui est un concentrateur de données
2. UNIFORMSUP qui regroupe des informations sur les étapes et diplômes
**Ajout de l'ORM pour OCTOPUS**
Dans cet exemple, octopus est une base de donnée pgsql (penser à installer le drivers associé).
Fichier 'config/autoload/database-octopus.local.php'
```php
<?php
use Doctrine\DBAL\Driver\PDO\PgSQL\Driver;
use Doctrine\ORM\Mapping\Driver\XmlDriver;
use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
return [
'doctrine' => [
'driver' => [
'orm_octopus' => [
'class' => MappingDriverChain::class,
'drivers' => [
'Application\Entity\Db' => 'orm_octopus_xml_driver',
],
],
'orm_octopus_xml_driver' => [
'class' => XmlDriver::class,
'cache' => 'apc',
'paths' => [
__DIR__ . '/../src/Application/Entity/Db/Mapping',
],
],
],
'connection' => [
'orm_octopus' => [
'driverClass' => OCI8::class,
'params' => [
'host' => #####,
'user' => #####,
'password' => #####,
'charset' => 'AL32UTF8',
'port' => ####,
'service' => ####,
'servicename' => ####,
],
],
],
'entitymanager' => [
'orm_octopus' => [
'connection' => 'orm_octopus',
'configuration' => 'orm_octopus',
],
],
'configuration' => [
'orm_octopus' => [
'metadata_cache' => 'array',
'query_cache' => 'array',
'result_cache' => 'array',
'hydration_cache' => 'array',
'generate_proxies' => true,
'driver' => 'orm_octopus',
],
],
],
];
```
**Ajout de l'ORM pour UNIFORMSUP**
Dans cet exemple, uniformsup est une base de donnée oracle (penser à installer le drivers OCI8).
Fichier 'config/autoload/database-uniform.local.php'
```php
<?php
use Doctrine\DBAL\Driver\OCI8\Driver as OCI8;
use Doctrine\ORM\Mapping\Driver\XmlDriver;
use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
return [
'doctrine' => [
'driver' => [
'orm_uniform' => [
'class' => MappingDriverChain::class,
'drivers' => [
'Application\Entity\Db' => 'orm_octopus_xml_driver',
],
],
'orm_uniform_xml_driver' => [
'class' => XmlDriver::class,
'cache' => 'apc',
'paths' => [
__DIR__ . '/../src/Application/Entity/Db/Mapping',
],
],
],
'connection' => [
'orm_uniform' => [
'driverClass' => OCI8::class,
'params' => [
'host' => #####,
'user' => #####,
'password' => #####,
'charset' => 'AL32UTF8',
'port' => ####,
'service' => ####,
'servicename' => ####,
],
],
],
'entitymanager' => [
'orm_uniform' => [
'connection' => 'orm_uniform',
'configuration' => 'orm_uniform',
],
],
'configuration' => [
'orm_uniform' => [
'metadata_cache' => 'array',
'query_cache' => 'array',
'result_cache' => 'array',
'hydration_cache' => 'array',
'generate_proxies' => true,
'driver' => 'orm_uniform',
],
],
],
];
```
### Configurer une synchronisation
Le fichier configurant les synchronisations est composé de deux blocs :
1. data_sources la liste des ORM utilisables
2. la liste des synchronisation (les tables de correspondance)
La liste des ORM utilisables est un simple table référencant les ORM précédemment définis.
Le synchronisation on la structure suivante :
```php
'NOM_DE_LA_SYNCHRONISATION' => [
'order' => ORDRE DE PRIORITE,
'source' => LIBELLE DE LA SOURCE (sera copié tel que en base de donnée dans la colonne SOURCE_ID),
'orm_source' => ORM SOURCE (clef définie précédemment orm_octopus ou orm_uniform)
'orm_destination' => 'orm_default',
'table_source' => NOM DE LA TABLE OU VUE SOURCE,
'table_destination' => NOM De LA TABLE DESTINATION
'correspondance' => [
LIBELLE DE LA COLONNE 1 SOURCE => LIBELLE DE LA COLONNE 1 DESTINATION,
LIBELLE DE LA COLONNE 2 SOURCE => LIBELLE DE LA COLONNE 2 DESTINATION
],
'id' => COLONNE A UTILISEE COMME CLEF PRIMAIRE DANS LA SOURCE,
],
```
Les synchronisations utilisées à Caen sont fourni comme exemple :
1. La synchronisation de l'instance de démonstration `config/autoload/synchro.local.php.demo`
2. La synchronisation des instances de préproduction et production `config/autoload/synchro.local.php.octopus`
## Lancer une synchronisation
La synchronisation est lancé en ligne de commande il est possible de lancer l'ensemble des synchronisations ou une
synchronisation
```bash
/var/www/html$ php public/index.php synchroniser-all
/var/www/html$ php public/index.php synchroniser --name=NOM_DE_LA_SYNCHRONISATION
```
Cette même commande peut être lancer via un cron ou un service pour rendre récurrent/automatique celle-ci.
### Astuces
Les synchronisations peuvent être accélérées par un spérateur divisant le volume de données en des morceaux plus petits.
```php
'NOM_DE_LA_SYNCHRONISATION' => [
'order' => ORDRE DE PRIORITE,
'source' => LIBELLE DE LA SOURCE (sera copié tel que en base de donnée dans la colonne SOURCE_ID),
'orm_source' => ORM SOURCE (clef définie précédemment orm_octopus ou orm_uniform)
'orm_destination' => 'orm_default',
'table_source' => NOM DE LA TABLE OU VUE SOURCE,
'table_destination' => NOM De LA TABLE DESTINATION
'correspondance' => [
LIBELLE DE LA COLONNE 1 SOURCE => LIBELLE DE LA COLONNE 1 DESTINATION,
LIBELLE DE LA COLONNE 2 SOURCE => LIBELLE DE LA COLONNE 2 DESTINATION
],
'id' => COLONNE A UTILISEE COMME CLEF PRIMAIRE DANS LA SOURCE,
'separator' => COLONNE SOURCE QUI DIVISERA LES DONNEES,
],
```
...@@ -15,6 +15,16 @@ En offrant une solution complète et dématérialisée, **Mes Formations** optim ...@@ -15,6 +15,16 @@ En offrant une solution complète et dématérialisée, **Mes Formations** optim
**Mes Formations** est développée par l'Université de Caen Normandie dans une démarche collaborative et innovante. **Mes Formations** est développée par l'Université de Caen Normandie dans une démarche collaborative et innovante.
En tant qu'application open-source, elle est distribuée sous la licence CeCILL, garantissant ainsi une utilisation libre, des possibilités d'adaptation, et un partage dans le respect des droits des utilisateurs. En tant qu'application open-source, elle est distribuée sous la licence CeCILL, garantissant ainsi une utilisation libre, des possibilités d'adaptation, et un partage dans le respect des droits des utilisateurs.
# Documentations pour l'installation
## Connecteurs
L'application **Mes Formations** se base sur un ensemble de vue à exposer dans le SI de l'établissement.
Vous retrouverez dans le fichier [connecteurs.md](documentation/docs/connecteurs.md) la description de ceux-ci.
## Installation
# Changements # Changements
## 1.1.0 (XX/12/2024) ## 1.1.0 (XX/12/2024)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment