Ouverture de territoire: import grille d'affectation - MTES-MCT/histologe GitHub Wiki

L'ouverture d'un territoire sur la plateforme Histologe nécessite un import de la grille d'affectation.

N.B: Effectuer cette opération sur l'environnement pre-production avant de l'effectuer sur l'environnement de production

Téléchargement de la grille

  • Télécharger la grille d'affectation depuis la google sheet 0.Déploiement HISTOLOGE.xlsx au format CSV et la déposer sur le dossier de votre projet histologe data/grid-affectation en respectant la nomenclature suivante: grille_affectation_[code_territoire_2_chiffre].csv

    • Exemple: data/grid-affectation/grille_affectation_07.csv pour le territoire de l'Ardèche.

Pré-requis

Suite au traitement du ticket #842, la commande opère un certain nombre de vérifications et remonte éventuellement des alertes à copier/coller à l'équipe Impact. Tant que la commande remonte des alertes, aucun partenaire ni utilisateur n'est créé, et le territoire n'est pas ouvert.

Il reste néanmoins un petit nettoyage préalable à faire (future évolution ?)

Nettoyage csv

1. Suppression de la première ligne

Supprimer la première ligne vide du CSV puis enregistrer à nouveau image

2. Vérification des rôles

Il est important d'avoir un/des responsable(s) territoire pour la bonne gestion du territoire et en général c'est la DDT

Si ce n'est pas le cas, faites le remonter à l'équipe déploiement.

Pensez à bien sauvegarder vos mises à jour.

AWS client S3

Vérfier que le client aws S3 est bien installé

$ aws --version
aws-cli/1.25.61 Python/3.8.16 Linux/5.15.0-56-generic botocore/1.27.60

Documention installation AWS CLI

Téléversement de la grille

Effectuer la procédure en local dans un premier temps, puis en préprod en définissant le BUCKET de la preprod

  1. Ouvrir un terminal depuis le projet Histologe

  2. Définir variable d'environnement du bucket

$ export BUCKET_URL=my-bucket-name

Il s'agit dans le projet de la variable d'environnement S3_BUCKET de .env.local

  1. Exécuter la commande ci dessous afin de déposer le fichier CSV dans le bucket
$ # ./scripts/upload-s3.sh grid [code_territoire_2_chiffres]
$ ./scripts/upload-s3.sh grid 07

Import de la grille d'affectation en local

[!NOTE]
Options pour notifier aucun ou certains type de partenaires --ignore-notification-partners --ignore-notification-all

Option : Ne pas notifier certains types de partenaires : https://github.com/MTES-MCT/histologe/pull/1401

Option : Ne pas notifier tout types de partenaires : https://github.com/MTES-MCT/histologe/pull/2522

$ make console app="import-grid-affectation 78"

S'il y a des erreurs, les remonter à l'équipe impact pour correction du csv. Par exemple :

-----> Connecting to container [one-off-7278]...  
-----> Process 'php bin/console app:import-grid-affectation 78' is starting...  


                                                                                
 [ERROR] line 19 : Email manquant pour  , partenaire DDETS -                    
         Hébergement/Relogement (compte vide)                                   
                                                                                

:warning: Tester la création d'un signalement en local

Import de la grille d'affectation en preprod

Depuis un terminal, exécuter la commande d'import en passant par la CLI Scalingo

# scalingo -a [nom_application] run php bin/console app:import-grid-affectation [code_territoire_2_chiffres]
$ scalingo -a histologe-staging run php bin/console app:import-grid-affectation 07
-----> Connecting to container [one-off-1764]...  
-----> Process 'php bin/console app:import-grid-affectation 07' is starting...  

 [OK] No error detected in file   

 [OK] 31 partner(s) created, 52 user(s) created, 0 user(s) updated                                 
                                                                                
 [OK] Ardèche has been activated 
                       
 [WARNING] [Esabora] Merci de saisir les identifiants des nouveaux partenaires ARS en cliquant sur le lien              
           http://localhost:8080/bo/partenaires/?territory=24&type=ARS                                                  
                      

NB : En staging il y a des erreurs de type, car les mails ne peuvent pas être envoyés, c'est normal :

{"message":"Request: \"POST https://api.sendinblue.com/v3/smtp/email\"","context":{},"level":200,"level_name":"INFO","channel":"http_client","datetime":"2023-05-11T08:51:19.209388+00:00","extra":{}}
{"message":"Response: \"401 https://api.sendinblue.com/v3/smtp/email\"","context":{},"level":200,"level_name":"INFO","channel":"http_client","datetime":"2023-05-11T08:51:19.233420+00:00","extra":{}}
{"message":"[TYPE_CRON] Unable to send an email: Key not found (code 401).","context":{},"level":400,"level_name":"ERROR","channel":"app","datetime":"2023-05-11T08:51:19.233622+00:00","extra":{}}
08:51:19 ERROR     [app] [TYPE_CRON] Unable to send an email: Key not found (code 401).
                                     

:warning: Tester la création d'un signalement en pré-prod

Si tout est OK, téléverser la grille en mettant à jour la variable d'environnement et exécuter la commande en production

Quand tout est OK, refaire les mêmes manipulations en prod :

$ export BUCKET_URL=my-bucket-name-prod
$ ./scripts/upload-s3.sh grid 07
$ scalingo -a histologe run php bin/console app:import-grid-affectation 07

[!WARNING] Merci de saisir les identifiants des nouveaux partenaires ARS du territoire

Ouverture du territoire confirmée

Une fois l'opération terminé, tous les utilisateurs du territoire reçoivent un e-mail d'invitation d'activation de compte.

Le support reçoit également un mail de confirmation

image

Informer l'équipe en collant la release note sur le channel mattermost histologe---dev-et-ux

### :world_map: Le territoire des Yvelines ( :european_castle: ) est ouvert ! :muscle:

Téléversement d'une nouvelle grille sur un territoire ouvert

Envoi de la nouvelle grille sur bucket S3

Afin de ne pas écraser la grille d'ouverture, ajouter un suffixe d'index afin de versionner les grilles

  • grid-affectation-30 (Grille d'ouverture)
  • grid-affectation-30-1 (Grille d'ajout de compte en version 1)

Pour pousser la nouvelle grille d'affectation en version 1 :

./scripts/upload-s3.sh grid 23-1

Exécution de la commande d'import

[!IMPORTANT]
L'option --file-version permet d'aller chercher la grille versionnée

# scalingo -a [nom_application] run php bin/console app:import-grid-affectation [code_territoire_2_chiffres] --file-version [Numéro de version du fichier]
$ scalingo -a histologe-staging run php bin/console app:import-grid-affectation 07 --file-version 1
                                                                                                                        
 [OK] 257 partner(s) created, 258 user(s) created                                                                       
                                                                                                                        

                                                                                                                        
 [OK] Creuse has been updated                                                                                           
                                                                                                                        

                                                                                                                        
 [WARNING] [Esabora] Merci de saisir les identifiants des nouveaux partenaires ARS en cliquant sur le lien              
           http://localhost:8080/bo/partenaires/?territory=24&type=ARS