diff --git a/connecteur.md b/connecteur.md deleted file mode 100644 index 3c88023fda26ce571942b250dbfb546ed94db508..0000000000000000000000000000000000000000 --- a/connecteur.md +++ /dev/null @@ -1,662 +0,0 @@ -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, -], -``` diff --git a/readme.md b/readme.md index 5b266ac2f5d97e7ee8e192c80bea9fa41f0c2d27..76e0b64aab292270aa059c803ee9a12ea2661486 100644 --- a/readme.md +++ b/readme.md @@ -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. 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 ## 1.1.0 (XX/12/2024)