|
L'hébergement se fait temporairement chez Heroku le temps que l'infra locale permette de supporter les applis.
Environnement | Herbergeur | URL | |
---|---|---|---|
Recette | Heroku | rec-gram-api-2.herokuapp.com | |
Production | Heroku | gram-api-2.herokuapp.com |
Environnement | Base | Cluster | Nom | User | Port | Remarque |
---|---|---|---|---|---|---|
Recette | Heroku pgsql | |||||
Production | PGSQL gadz.org | pg-gorg-prod-clu | gorg_prod_gram2_api_server | gorg_prod_gram2_api_server |
Suivre la procédure Démarrer/Arrêter une application sur Heroku
Suivre la procédure Accéder aux logs d'une application Heroku
heroku run rails console --app gram-api-2 |
Création de compte GrAM
Pour les comptes existants sur le site Soce mais n'ayant pas de compte GrAM (1 ou 2, sachant que le CAS est relié au GrAM1 donc si pas de GrAM1 pas de CAS, et que le GrAM1 est "esclave" du GrAM2 donc les création doivent être effectuées sur le GrAM2 qui lui va créer les comptes GrAM1...).
Ces comptes spécifiques (dans notre cas) possèdent un ID SOCE et un UUID mais pas de HRUID.
Se rendre sur la fiche du compte Soce, et noter les éléments suivants : Prénom, Nom, ID SOCE sans checksum (la lettre), UUID
Il faudra de plus choisir un password (avec les minimum requis : 8 caractères mini, MAJ+minuscule+chiffre, etc...), et adapter le HRUID (prenom.nom.XXXX (année de promo) ou bien prenom.nom.ext pour les externes ou bien prenom.nom.associe pour les associés)
MasterData::Account.new(firstname: "Prenom", lastname: "Nom", id_soce: "XXXXXX", password: "Passw0rd", hruid: "prenom.nom.XXXX", uuid: "XXX-YYY-XXXXXX-YYYYYY.....").save! |
Méthodes de tests et vérifications :
Champs requis : Prénom, Non, ID SOCE sans checksum, HRUID et UUID
Saisir les commandes suivantes en console Ruby :
require 'securerandom' accounts = [ ['Prénom1', 'Nom1', 'IDSOCE1', 'hruid1', 'uuid1'], ['Prénom2', 'Nom2', 'IDSOCE2', 'hruid2', 'uuid2'], ['Prénom3', 'Nom3', 'IDSOCE3', 'hruid3', 'uuid3'] ] accounts.each do |account| MasterData::Account.new( firstname: account[0], lastname: account[1], id_soce: account[2], password: SecureRandom.hex(13), hruid: account[3], uuid: account[4]).save! end |
Si besoin de supprimer un grand nombre de comptes (par exemple comptes en doublons), exemple de requête en Ruby :
hruids=["HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo"] MasterData::Account.where(hruid: hruids).destroy_all |
Si besoin de supprimer des alias d'un (ou plusieurs) compte :
names=["123456","123456A"] MasterData::Alias.where(name: names).destroy_all |
Pour créer un alias de connexion d'un compte, il faut renseigner le account_id du compte (5 chiffres que l'on peut trouver en regardant les détails des alias sur la fiche du compte GrAM2) et le nom (name) de l'alias (exemple : les 6 chiffres IDSOCE avec ou sans la lettre) :
MasterData::Alias.new(account_id: 12345, name: "123456").save! |
Forcer synchro
LdapDaemon.new.request_account_update(MasterData::Account.find_by(uuid:'TON_UUID')) |
User.find_by_uuid("uuid...").update_from_gram |
Si les synchronisations échouent, il faut accéder aux logs (Accéder aux logs d'une application Heroku) et filtrer par le hruid, le uuid ou bien avec le terme "Completed 422 Unprocessable Entity" (qui indique que la synchro Soce->GrAM2 échoue)
Penser à checker l'adresse mail (elle doit être unique) : la synchro échoue si un autre compte GrAM2 utilise la même adresse mail... |