OSIRIS : Différence entre versions

De Wiki_DR13
Aller à : navigation, rechercher
(Accès à l'application)
(Environnements)
 
(15 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 6 : Ligne 6 :
  
 
== Environnements ==
 
== Environnements ==
 +
 +
* Pour avoir accès aux différents environnements, voir Julien ou Alexis, il faut avoir un enregistrement dans l'IDP local.
  
 
* dev
 
* dev
Ligne 40 : Ligne 42 :
 
* la racine du site /index ne nécessite pas d'authentification, elle permet de choisir son mode d'authentification (connexion fédération ou connexion spécifique -> réservée aux personnes qui ne peuvent pas avoir d'authentification via la fédération d'identité, normalement cela doit être très à la marge)
 
* la racine du site /index ne nécessite pas d'authentification, elle permet de choisir son mode d'authentification (connexion fédération ou connexion spécifique -> réservée aux personnes qui ne peuvent pas avoir d'authentification via la fédération d'identité, normalement cela doit être très à la marge)
  
*  Seuls les SuperAdmins dont l'adresse mel est renseigné dans le fichier de conf .env.local à la racine du code source peuvent avoir accès sans être au préalable être enregistré dans l'application.
+
*  Seuls les SuperAdmins dont l'adresse mel est renseigné dans le fichier de conf .env.local à la racine du code source peuvent avoir accès sans être au préalable être enregistré dans l'application. Cela permet d'avoir accès au module des droits d'accès pour enregistrer une personne et lui donner des rôles.
 +
 
 +
* Pour toute autre personne, il est nécessaire d'être référencée dans l'application pour pouvoir se connecter et d'avoir un rôle pour accéder aux différents menus de l’application en fonction du rôle attribué.
  
 
== Schémas BD ==
 
== Schémas BD ==
  
 
[[Média:Osiris_schema_general.pdf | Schéma général]]
 
[[Média:Osiris_schema_general.pdf | Schéma général]]
 +
 +
 +
== Procédures référentiels ==
 +
 +
=== Partenaires ===
 +
 +
Copier les tables organisme et partenaire depuis webcontrat en attendant d'avoir les webservices.
 +
récuperer la table établissements (à cause de champs spécifique) de la prod vers osiris-dev
 +
 +
Puis sur osiris-dev, les mettre à jour avec les requêtes suivantes :
 +
 +
INSERT INTO `organismes` (`identifiantOrg`, `siren`, `categorieEconomique`, `categorieJuridique`, `libelleCategorieEconomique`, `sigle`, `nomCourt`, `nomLong`, `codeType`, `libelleType`, `situation`, `libelleSituation`, `codePays`, `codePays3`, `libellePays`, `codeValidite`, `libelleValidite`, `dateCreation`, `dateValidation`, `date_insert`)
 +
SELECT `id`, `siren`, `idCategorieEconomique`, `idCategorieJuridique`, `libelleCategorieEconomique`, `sigle`, `nomCourt`, `nomLong`, `codeType`, `libelleType`, `situation`, `libelleSituation`, `codePays`, `codePays3`,`libellePays`,`codeValidite`, `libelleValidite`, `dateCreation`, `dateValidation` , NOW()
 +
FROM `organisme`
 +
ON DUPLICATE KEY UPDATE
 +
`sigle` = `organisme`.`sigle`,
 +
`nomCourt` = `organisme`.`nomCourt`,
 +
`nomLong` = `organisme`.`nomLong`,
 +
`codeValidite` = `organisme`.`codeValidite`,
 +
`libelleValidite` = `organisme`.`libelleValidite`,
 +
`dateValidation` = `organisme`.`dateValidation`,
 +
`date_update` = NOW() ;
 +
 +
INSERT INTO `etablissements`(`identifiantEta`, `identifiantOrg`, `sigle`, `nomCourt`, `nomLong`, `codeNaf`, `siret`, `codeType`, `libelleType`, `siegeSocial`, `codeSituation`, `libelleSituation`, `adresse1`, `adresse2`, `adresse3`, `adresse4`, `commune`, `codePostal`, `codePays`, `codePays3`, `libellePays`,`codeValidite`, `libelleValidite`, `dateCreation`, `dateValidation`, `date_insert`)
 +
SELECT `id`,`idOrganisme`, `sigle`, `nomCourt`, `nomLong`,  `naf`, `siret`, `codeType`, `libelleType`, `siegeSocial`, `situation`, `libelleSituation`, `adresse1`, `adresse2`, `adresse3`, `adresse4`, `commune`, `codePostal`, `codePays`, `codePays3`, `libellePays`, `codeValidite`, `libelleValidite`, `dateCreation`, `dateValidation`, NOW()
 +
FROM `partenaire`
 +
ON DUPLICATE KEY UPDATE
 +
`sigle` = `partenaire`.`sigle`,
 +
`nomCourt` = `partenaire`.`nomCourt`,
 +
`nomLong` = `partenaire`.`nomLong`,
 +
`codeValidite` = `partenaire`.`codeValidite`,
 +
`libelleValidite` = `partenaire`.`libelleValidite`,
 +
`dateValidation` = `partenaire`.`dateValidation`,
 +
`date_update` = NOW();
 +
 +
DELETE FROM `etablissements` WHERE (`identifiantOrg` = 0 OR `identifiantOrg` IS NULL );
 +
 +
vérifier qu'il n'y a pas d'établissements avec un périmètre et un idOrg null ou à 0
 +
 +
Puis les copier dans osiris-dev dans recette_valo_referentiel et formation_valo_referentiel et dans osiris-prod
 +
 +
=== Structures de recherche ===
 +
 +
Aller sur le site du ministère RNSR
 +
https://data.enseignementsup-recherche.gouv.fr/explore/dataset/fr-esr-repertoire-national-structures-recherche/export/
 +
 +
récupérer le CSV
 +
Sur dev osiris, vider la table referentiels.extractionStructuresRecherche
 +
Importer le CSV dans la table. Ne pas prendre la première ligne, décocher vérification clé étrangère, séparateur ;
 +
 +
A partir ce cette table créer le table structuresRechercheNew à partir du la table extractionStructuresRecherche, si elle existe déjà, la supprimer.
 +
Ajouter le champ id en début de table.
 +
 +
Puis lancer les requêtes :
 +
UPDATE `structuresRechercheNew` SET `id`= SUBSTR(`numNational`, 1, 9)
 +
UPDATE `structuresRechercheNew` SET `anneeFermeture`=null WHERE `anneeFermeture`=0 OR `anneeFermeture`=""
 +
UPDATE `structuresRechercheNew` SET `anneeSuccession`=null WHERE `anneeSuccession`=0 OR `anneeSuccession`=""
 +
UPDATE `structuresRechercheNew` SET `codeTypeStructure`=null WHERE `codeTypeStructure`=0 OR `codeTypeStructure`=""
 +
UPDATE `structuresRechercheNew` SET `codeNiveauStructure`=null WHERE `codeNiveauStructure`=0 OR `codeNiveauStructure`=""
 +
UPDATE `structuresRechercheNew` SET `codeNiveauStructure`=null WHERE `codeNiveauStructure`=0 OR `codeNiveauStructure`="
 +
 +
les années doivent être des int(4) anneeCreation anneeFermeture
 +
codeTypeSuccession et codeNiveauStructure en int
 +
 +
Mettre à jour cette table dans les différents environnements
 +
transférer cette table dans les différents environnements et mettre à jour :
 +
 +
INSERT INTO `structuresRecherche` (`id`, `numNational`, `libelle`, `sigle`, `etat`, `anneeCreation`, `anneeFermeture`, `codeTypeStructure`, `typeStructure`, `codeNiveauStructure`, `numSuccesseur`, `anneeSuccession`, `codeTypeSuccession`, `typeSuccession`)
 +
SELECT `id`, `numNational`, `libelle`, `sigle`, `etat`, `anneeCreation`, `anneeFermeture`, `codeTypeStructure`, `typeStructure`, `codeNiveauStructure`, `numSuccesseur`, `anneeSuccession`, `codeTypeSuccession`, `typeSuccession`
 +
FROM `structuresRechercheNew`
 +
ON DUPLICATE KEY UPDATE
 +
`sigle` = `structuresRechercheNew`.`sigle`,
 +
`etat` = `structuresRechercheNew`.`etat`,
 +
`anneeFermeture` = `structuresRechercheNew`.`anneeFermeture`,
 +
`numSuccesseur` = `structuresRechercheNew`.`numSuccesseur`,
 +
`anneeSuccession` = `structuresRechercheNew`.`anneeSuccession`,
 +
`codeTypeSuccession` = `structuresRechercheNew`.`codeTypeSuccession`,
 +
`typeSuccession` = `structuresRechercheNew`.`typeSuccession`;

Version actuelle datée du 22 mars 2024 à 15:59

Serveurs[modifier]

Schéma serveurs

Environnements[modifier]

  • Pour avoir accès aux différents environnements, voir Julien ou Alexis, il faut avoir un enregistrement dans l'IDP local.
  • dev
 serveur 10.33.3.10 
 url https://dev.osiris.cnrs.fr (accès via l'idp_local)
 source /var/www/html/dev
 bds sur localhost valo_appli, valo_auth, valo_referentiel 
 
  • recette
 serveur 10.33.3.10 
 url https://recette.osiris.cnrs.fr (accès via l'idp_local)
 source /var/www/html/recette
 bds sur localhost recette_valo_appli, recette_valo_auth, recette_valo_referentiel
  • formation
 serveur 10.33.3.10 
 url https://formation.osiris.cnrs.fr (accès via l'idp_local)
 source /var/www/html/formation
 bds sur localhost formation_valo_appli, formation_valo_auth, formation_valo_referentiel
  • prod
 serveur 10.33.1.10 
 url https://osiris.cnrs.fr (accès via la fédération d'identité)
 source /var/www/html/prod
 bds sur 10.33.2.10 valo_appli, valo_auth, valo_referentiel

Accès à l'application[modifier]

  • la racine du site /index ne nécessite pas d'authentification, elle permet de choisir son mode d'authentification (connexion fédération ou connexion spécifique -> réservée aux personnes qui ne peuvent pas avoir d'authentification via la fédération d'identité, normalement cela doit être très à la marge)
  • Seuls les SuperAdmins dont l'adresse mel est renseigné dans le fichier de conf .env.local à la racine du code source peuvent avoir accès sans être au préalable être enregistré dans l'application. Cela permet d'avoir accès au module des droits d'accès pour enregistrer une personne et lui donner des rôles.
  • Pour toute autre personne, il est nécessaire d'être référencée dans l'application pour pouvoir se connecter et d'avoir un rôle pour accéder aux différents menus de l’application en fonction du rôle attribué.

Schémas BD[modifier]

Schéma général


Procédures référentiels[modifier]

Partenaires[modifier]

Copier les tables organisme et partenaire depuis webcontrat en attendant d'avoir les webservices.
récuperer la table établissements (à cause de champs spécifique) de la prod vers osiris-dev
Puis sur osiris-dev, les mettre à jour avec les requêtes suivantes :
INSERT INTO `organismes` (`identifiantOrg`, `siren`, `categorieEconomique`, `categorieJuridique`, `libelleCategorieEconomique`, `sigle`, `nomCourt`, `nomLong`, `codeType`, `libelleType`, `situation`, `libelleSituation`, `codePays`, `codePays3`, `libellePays`, `codeValidite`, `libelleValidite`, `dateCreation`, `dateValidation`, `date_insert`) 
SELECT `id`, `siren`, `idCategorieEconomique`, `idCategorieJuridique`, `libelleCategorieEconomique`, `sigle`, `nomCourt`, `nomLong`, `codeType`, `libelleType`, `situation`, `libelleSituation`, `codePays`, `codePays3`,`libellePays`,`codeValidite`, `libelleValidite`, `dateCreation`, `dateValidation` , NOW()
FROM `organisme`
ON DUPLICATE KEY UPDATE 
`sigle` = `organisme`.`sigle`, 
`nomCourt` = `organisme`.`nomCourt`,
`nomLong` = `organisme`.`nomLong`,
`codeValidite` = `organisme`.`codeValidite`, 
`libelleValidite` = `organisme`.`libelleValidite`,
`dateValidation` = `organisme`.`dateValidation`, 
`date_update` = NOW() ;
INSERT INTO `etablissements`(`identifiantEta`, `identifiantOrg`, `sigle`, `nomCourt`, `nomLong`, `codeNaf`, `siret`, `codeType`, `libelleType`, `siegeSocial`, `codeSituation`, `libelleSituation`, `adresse1`, `adresse2`, `adresse3`, `adresse4`, `commune`, `codePostal`, `codePays`, `codePays3`, `libellePays`,`codeValidite`, `libelleValidite`, `dateCreation`, `dateValidation`, `date_insert`)
SELECT `id`,`idOrganisme`, `sigle`, `nomCourt`, `nomLong`,  `naf`, `siret`, `codeType`, `libelleType`, `siegeSocial`, `situation`, `libelleSituation`, `adresse1`, `adresse2`, `adresse3`, `adresse4`, `commune`, `codePostal`, `codePays`, `codePays3`, `libellePays`, `codeValidite`, `libelleValidite`, `dateCreation`, `dateValidation`, NOW()
FROM `partenaire`
ON DUPLICATE KEY UPDATE 
`sigle` = `partenaire`.`sigle`, 
`nomCourt` = `partenaire`.`nomCourt`,
`nomLong` = `partenaire`.`nomLong`,
`codeValidite` = `partenaire`.`codeValidite`, 
`libelleValidite` = `partenaire`.`libelleValidite`,
`dateValidation` = `partenaire`.`dateValidation`, 
`date_update` = NOW();
DELETE FROM `etablissements` WHERE (`identifiantOrg` = 0 OR `identifiantOrg` IS NULL );
vérifier qu'il n'y a pas d'établissements avec un périmètre et un idOrg null ou à 0
Puis les copier dans osiris-dev dans recette_valo_referentiel et formation_valo_referentiel et dans osiris-prod

Structures de recherche[modifier]

Aller sur le site du ministère RNSR
https://data.enseignementsup-recherche.gouv.fr/explore/dataset/fr-esr-repertoire-national-structures-recherche/export/
récupérer le CSV
Sur dev osiris, vider la table referentiels.extractionStructuresRecherche
Importer le CSV dans la table. Ne pas prendre la première ligne, décocher vérification clé étrangère, séparateur ;
A partir ce cette table créer le table structuresRechercheNew à partir du la table extractionStructuresRecherche, si elle existe déjà, la supprimer.
Ajouter le champ id en début de table.
Puis lancer les requêtes :
UPDATE `structuresRechercheNew` SET `id`= SUBSTR(`numNational`, 1, 9) 
UPDATE `structuresRechercheNew` SET `anneeFermeture`=null WHERE `anneeFermeture`=0 OR `anneeFermeture`=""
UPDATE `structuresRechercheNew` SET `anneeSuccession`=null WHERE `anneeSuccession`=0 OR `anneeSuccession`=""
UPDATE `structuresRechercheNew` SET `codeTypeStructure`=null WHERE `codeTypeStructure`=0 OR `codeTypeStructure`=""
UPDATE `structuresRechercheNew` SET `codeNiveauStructure`=null WHERE `codeNiveauStructure`=0 OR `codeNiveauStructure`=""
UPDATE `structuresRechercheNew` SET `codeNiveauStructure`=null WHERE `codeNiveauStructure`=0 OR `codeNiveauStructure`="
les années doivent être des int(4) anneeCreation anneeFermeture 
codeTypeSuccession et codeNiveauStructure en int
Mettre à jour cette table dans les différents environnements
transférer cette table dans les différents environnements et mettre à jour :
INSERT INTO `structuresRecherche` (`id`, `numNational`, `libelle`, `sigle`, `etat`, `anneeCreation`, `anneeFermeture`, `codeTypeStructure`, `typeStructure`, `codeNiveauStructure`, `numSuccesseur`, `anneeSuccession`, `codeTypeSuccession`, `typeSuccession`)
SELECT `id`, `numNational`, `libelle`, `sigle`, `etat`, `anneeCreation`, `anneeFermeture`, `codeTypeStructure`, `typeStructure`, `codeNiveauStructure`, `numSuccesseur`, `anneeSuccession`, `codeTypeSuccession`, `typeSuccession`
FROM `structuresRechercheNew`
ON DUPLICATE KEY UPDATE 
`sigle` = `structuresRechercheNew`.`sigle`, 
`etat` = `structuresRechercheNew`.`etat`,
`anneeFermeture` = `structuresRechercheNew`.`anneeFermeture`,
`numSuccesseur` = `structuresRechercheNew`.`numSuccesseur`, 
`anneeSuccession` = `structuresRechercheNew`.`anneeSuccession`,
`codeTypeSuccession` = `structuresRechercheNew`.`codeTypeSuccession`, 
`typeSuccession` = `structuresRechercheNew`.`typeSuccession`;