Production
This commit is contained in:
parent
cd916411ab
commit
8699e89d9e
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# Fichiers de logs
|
||||
*.log
|
||||
|
||||
# Fichiers d'environnement
|
||||
*.env
|
||||
|
||||
# Dossiers temporaires Windows / PowerShell
|
||||
*.tmp
|
||||
*.bak
|
||||
Thumbs.db
|
||||
|
||||
# Ignorer le dossier de logs
|
||||
/logs/
|
||||
237
app.log
237
app.log
@ -1,237 +0,0 @@
|
||||
[2025-12-04 18:33:16] [INFO] Début du script
|
||||
[2025-12-04 18:33:53] [INFO] Début du script
|
||||
[2025-12-04 18:33:53] [INFO] Début du script
|
||||
[2025-12-04 19:02:08] [INFO] Erreur lors de la récupération des utilisateurs du groupe 'GR_DNA_-_Design_graphique_-_LE_HAVRE-1' : Impossible de trouver un objet avec l’identité « GR_DNA_-_Design_graphique_-_LE_HAVRE-1 » sous : « DC=esadhar,DC=local ».
|
||||
[2025-12-04 19:02:08] [INFO] Erreur lors de la récupération des utilisateurs du groupe 'GR_DNA_-_Design_graphique_-_LE_HAVRE-2' : Impossible de trouver un objet avec l’identité « GR_DNA_-_Design_graphique_-_LE_HAVRE-2 » sous : « DC=esadhar,DC=local ».
|
||||
[2025-12-04 19:02:18] [INFO] Erreur lors de la récupération des utilisateurs du groupe 'GR_DNA_-_Design_graphique_-_LE_HAVRE-1' : Impossible de trouver un objet avec l’identité « GR_DNA_-_Design_graphique_-_LE_HAVRE-1 » sous : « DC=esadhar,DC=local ».
|
||||
[2025-12-04 19:02:18] [INFO] Erreur lors de la récupération des utilisateurs du groupe 'GR_DNA_-_Design_graphique_-_LE_HAVRE-2' : Impossible de trouver un objet avec l’identité « GR_DNA_-_Design_graphique_-_LE_HAVRE-2 » sous : « DC=esadhar,DC=local ».
|
||||
[2025-12-04 19:16:46] [INFO] Erreur lors de la récupération des utilisateurs du groupe 'GR. DNA - Design graphique - LE HAVRE-1' : Impossible de convertir « System.Object[] » en type « System.String », requis par le paramètre « ExpandProperty ». La méthode spécifiée n'est pas prise en charge.
|
||||
[2025-12-04 19:16:46] [INFO] Erreur lors de la récupération des utilisateurs du groupe 'GR. DNA - Design graphique - LE HAVRE-2' : Impossible de convertir « System.Object[] » en type « System.String », requis par le paramètre « ExpandProperty ». La méthode spécifiée n'est pas prise en charge.
|
||||
[2025-12-04 19:29:58] [INFO] Erreur lors de la récupération deu mail de l'utilisateur '@{Success=True; Value=System.Object[]}' : Impossible de trouver un objet avec l’identité « @{Success=True; Value=System.Object[]} » sous : « DC=esadhar,DC=local ».
|
||||
[2025-12-04 19:29:58] [INFO] Erreur lors de la récupération deu mail de l'utilisateur '@{Success=True; Value=System.Object[]}' : Impossible de trouver un objet avec l’identité « @{Success=True; Value=System.Object[]} » sous : « DC=esadhar,DC=local ».
|
||||
[2025-12-04 19:32:46] [INFO] samuel.debar@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] zoe.blacharski@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] lizeth.carrenogomez@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] blandine.chouand@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] benoit.dalancon@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] maelle.aubree@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] angele.baldassari@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] ambre.fauquet@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] florine.lambert@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] samara.leprevost@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] alexandru.lungu@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] chloe.podevin@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] alix.riviere@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] lenny.descombes@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] orlane.ouvril@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] keziah.kounkou-kekolo@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] samuel.rochon@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] chloe.duparc--landschoot@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] lou-ann.darmaillac@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] charlotte.menneray@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] chanel.harmier@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] nila.saliba@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] julien.brisset@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] paul.haddad@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] emmanuel.midobalubaki@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] moira.pallavicini@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] clara.fabie@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] boubacarsiddy.diallo@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] lea.legallic@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] anaelle.pyck@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] alicia.frichot@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] tais.gros-desir@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] gaia.cargill@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] clara.leroy@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] emma.ezui@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] angeline.coueffe@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] lilou.haldemann@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] aliyah.jegou@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] lucille.leuridan@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] ulysse.michel@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] soumiya.bouteldja@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] xuehua.huang@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] matheo.godguin@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] jayen.verhee@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] camille.veyrac@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] jenny.yerbe@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] wang.zhihan@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] felix.chauchat@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] pierre.lereste@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] lisa.lelias-louvat@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] sona.kyureghian@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] anastasia.gritzfeld@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] tristan.kraft@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] maria.barseghyan@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] camille.jourdam@esadhar.fr
|
||||
[2025-12-04 19:32:46] [INFO] nazly.adnane@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] samuel.debar@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] zoe.blacharski@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] lizeth.carrenogomez@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] blandine.chouand@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] benoit.dalancon@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] maelle.aubree@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] angele.baldassari@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] ambre.fauquet@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] florine.lambert@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] samara.leprevost@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] alexandru.lungu@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] chloe.podevin@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] alix.riviere@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] lenny.descombes@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] orlane.ouvril@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] keziah.kounkou-kekolo@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] samuel.rochon@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] chloe.duparc--landschoot@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] lou-ann.darmaillac@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] charlotte.menneray@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] chanel.harmier@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] nila.saliba@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] julien.brisset@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] paul.haddad@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] emmanuel.midobalubaki@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] moira.pallavicini@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] clara.fabie@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] boubacarsiddy.diallo@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] @{Nom=GR. DNA - Design graphique - LE HAVRE-1; Id=9}
|
||||
[2025-12-04 19:36:39] [INFO] lea.legallic@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] anaelle.pyck@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] alicia.frichot@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] tais.gros-desir@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] gaia.cargill@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] clara.leroy@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] emma.ezui@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] angeline.coueffe@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] lilou.haldemann@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] aliyah.jegou@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] lucille.leuridan@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] ulysse.michel@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] soumiya.bouteldja@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] xuehua.huang@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] matheo.godguin@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] jayen.verhee@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] camille.veyrac@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] jenny.yerbe@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] wang.zhihan@esadhar.fr
|
||||
[2025-12-04 19:36:39] [INFO] felix.chauchat@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] pierre.lereste@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] lisa.lelias-louvat@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] sona.kyureghian@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] anastasia.gritzfeld@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] tristan.kraft@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] maria.barseghyan@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] camille.jourdam@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] nazly.adnane@esadhar.fr
|
||||
[2025-12-04 19:36:40] [INFO] @{Nom=GR. DNA - Design graphique - LE HAVRE-2; Id=10}
|
||||
[2025-12-05 10:43:34] [INFO] samuel.debar@esadhar.fr
|
||||
[2025-12-05 10:43:34] [INFO] zoe.blacharski@esadhar.fr
|
||||
[2025-12-05 10:43:39] [INFO] lizeth.carrenogomez@esadhar.fr
|
||||
[2025-12-05 10:43:39] [INFO] blandine.chouand@esadhar.fr
|
||||
[2025-12-05 10:43:39] [INFO] benoit.dalancon@esadhar.fr
|
||||
[2025-12-05 10:43:39] [INFO] maelle.aubree@esadhar.fr
|
||||
[2025-12-05 10:43:40] [INFO] angele.baldassari@esadhar.fr
|
||||
[2025-12-05 10:43:40] [INFO] ambre.fauquet@esadhar.fr
|
||||
[2025-12-05 10:43:40] [INFO] florine.lambert@esadhar.fr
|
||||
[2025-12-05 10:43:41] [INFO] samara.leprevost@esadhar.fr
|
||||
[2025-12-05 10:43:41] [INFO] alexandru.lungu@esadhar.fr
|
||||
[2025-12-05 10:43:41] [INFO] chloe.podevin@esadhar.fr
|
||||
[2025-12-05 10:43:42] [INFO] alix.riviere@esadhar.fr
|
||||
[2025-12-05 10:43:42] [INFO] lenny.descombes@esadhar.fr
|
||||
[2025-12-05 10:43:42] [INFO] orlane.ouvril@esadhar.fr
|
||||
[2025-12-05 10:43:43] [INFO] keziah.kounkou-kekolo@esadhar.fr
|
||||
[2025-12-05 10:43:43] [INFO] samuel.rochon@esadhar.fr
|
||||
[2025-12-05 10:43:43] [INFO] chloe.duparc--landschoot@esadhar.fr
|
||||
[2025-12-05 10:43:43] [INFO] lou-ann.darmaillac@esadhar.fr
|
||||
[2025-12-05 10:43:44] [INFO] charlotte.menneray@esadhar.fr
|
||||
[2025-12-05 10:43:44] [INFO] chanel.harmier@esadhar.fr
|
||||
[2025-12-05 10:43:44] [INFO] nila.saliba@esadhar.fr
|
||||
[2025-12-05 10:43:44] [INFO] julien.brisset@esadhar.fr
|
||||
[2025-12-05 10:43:44] [INFO] paul.haddad@esadhar.fr
|
||||
[2025-12-05 10:43:45] [INFO] emmanuel.midobalubaki@esadhar.fr
|
||||
[2025-12-05 10:43:45] [INFO] moira.pallavicini@esadhar.fr
|
||||
[2025-12-05 10:43:45] [INFO] clara.fabie@esadhar.fr
|
||||
[2025-12-05 10:43:45] [INFO] boubacarsiddy.diallo@esadhar.fr
|
||||
[2025-12-05 10:43:46] [INFO] lea.legallic@esadhar.fr
|
||||
[2025-12-05 10:43:46] [INFO] anaelle.pyck@esadhar.fr
|
||||
[2025-12-05 10:43:46] [INFO] alicia.frichot@esadhar.fr
|
||||
[2025-12-05 10:43:46] [INFO] tais.gros-desir@esadhar.fr
|
||||
[2025-12-05 10:43:47] [INFO] gaia.cargill@esadhar.fr
|
||||
[2025-12-05 10:43:47] [INFO] clara.leroy@esadhar.fr
|
||||
[2025-12-05 10:43:47] [INFO] emma.ezui@esadhar.fr
|
||||
[2025-12-05 10:43:47] [INFO] angeline.coueffe@esadhar.fr
|
||||
[2025-12-05 10:43:47] [INFO] lilou.haldemann@esadhar.fr
|
||||
[2025-12-05 10:43:48] [INFO] aliyah.jegou@esadhar.fr
|
||||
[2025-12-05 10:43:48] [INFO] lucille.leuridan@esadhar.fr
|
||||
[2025-12-05 10:43:48] [INFO] ulysse.michel@esadhar.fr
|
||||
[2025-12-05 10:43:49] [INFO] soumiya.bouteldja@esadhar.fr
|
||||
[2025-12-05 10:43:49] [INFO] xuehua.huang@esadhar.fr
|
||||
[2025-12-05 10:43:49] [INFO] matheo.godguin@esadhar.fr
|
||||
[2025-12-05 10:43:49] [INFO] jayen.verhee@esadhar.fr
|
||||
[2025-12-05 10:43:50] [INFO] camille.veyrac@esadhar.fr
|
||||
[2025-12-05 10:43:50] [INFO] jenny.yerbe@esadhar.fr
|
||||
[2025-12-05 10:43:50] [INFO] wang.zhihan@esadhar.fr
|
||||
[2025-12-05 10:43:50] [INFO] felix.chauchat@esadhar.fr
|
||||
[2025-12-05 10:43:50] [INFO] pierre.lereste@esadhar.fr
|
||||
[2025-12-05 10:43:53] [INFO] lisa.lelias-louvat@esadhar.fr
|
||||
[2025-12-05 10:43:53] [INFO] sona.kyureghian@esadhar.fr
|
||||
[2025-12-05 10:43:53] [INFO] anastasia.gritzfeld@esadhar.fr
|
||||
[2025-12-05 10:43:54] [INFO] tristan.kraft@esadhar.fr
|
||||
[2025-12-05 10:43:54] [INFO] maria.barseghyan@esadhar.fr
|
||||
[2025-12-05 10:43:54] [INFO] camille.jourdam@esadhar.fr
|
||||
[2025-12-05 10:43:55] [INFO] nazly.adnane@esadhar.fr
|
||||
[2025-12-05 11:18:08] [INFO] samuel.debar@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de zoe.blacharski@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de lizeth.carrenogomez@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de blandine.chouand@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de benoit.dalancon@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de maelle.aubree@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de angele.baldassari@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de ambre.fauquet@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de florine.lambert@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de samara.leprevost@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de alexandru.lungu@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de chloe.podevin@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de alix.riviere@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de lenny.descombes@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de orlane.ouvril@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de keziah.kounkou-kekolo@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de samuel.rochon@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de chloe.duparc--landschoot@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de lou-ann.darmaillac@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de charlotte.menneray@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de chanel.harmier@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de nila.saliba@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de julien.brisset@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de paul.haddad@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de emmanuel.midobalubaki@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de moira.pallavicini@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de clara.fabie@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de boubacarsiddy.diallo@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de lea.legallic@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de anaelle.pyck@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de alicia.frichot@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de tais.gros-desir@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de gaia.cargill@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de clara.leroy@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de emma.ezui@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de angeline.coueffe@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de lilou.haldemann@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de aliyah.jegou@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de lucille.leuridan@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de ulysse.michel@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de soumiya.bouteldja@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de xuehua.huang@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de matheo.godguin@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de jayen.verhee@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de camille.veyrac@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de jenny.yerbe@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de wang.zhihan@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de felix.chauchat@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de pierre.lereste@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de lisa.lelias-louvat@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de sona.kyureghian@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de anastasia.gritzfeld@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de tristan.kraft@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de maria.barseghyan@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de camille.jourdam@esadhar.fr dans Brevo
|
||||
[2025-12-05 11:18:08] [INFO] Ajout de nazly.adnane@esadhar.fr dans Brevo
|
||||
59
app.ps1
59
app.ps1
@ -31,6 +31,16 @@ if (-not (Get-Module -ListAvailable -Name ActiveDirectory)) {
|
||||
# Définir le fichier de log globalement pour ce module
|
||||
$Global:LogFile = ".\app.log"
|
||||
|
||||
# Charge les variables du fichier .env
|
||||
Get-Content "./config.env" | ForEach-Object {
|
||||
if ($_ -match "^\s*([^#].*?)\s*=\s*(.*)$") {
|
||||
$name = $matches[1]
|
||||
$value = $matches[2]
|
||||
Set-Variable -Name $name -Value $value -Scope Global
|
||||
}
|
||||
}
|
||||
$Global:ApiKey = $API_KEY
|
||||
|
||||
$groupsFile = "groups.json"
|
||||
$groups = Get-Content $groupsFile | ConvertFrom-Json
|
||||
|
||||
@ -51,9 +61,11 @@ foreach ($group in $groups) {
|
||||
else {
|
||||
# Récupère tous les contacts existants sur Brevo
|
||||
$ContactsFromList = GetContactsFromListBrevo -IdListe $($group.Id)
|
||||
$ExistingEmails = $ContactsFromList.contacts | Select-Object -ExpandProperty email
|
||||
#$ExistingEmails = $ContactsFromList.contacts | Select-Object -ExpandProperty email
|
||||
$ExistingEmails = $ContactsFromList.Value.contacts.email
|
||||
|
||||
# Crée un tableau avec tous les emails de tes utilisateurs AD
|
||||
|
||||
# Crée un tableau avec tous les emails utilisateurs AD
|
||||
$ADEmails = @()
|
||||
|
||||
foreach ($user in $GetUsers.Value) {
|
||||
@ -68,27 +80,46 @@ foreach ($group in $groups) {
|
||||
$ADEmails += $GetMail.Value
|
||||
}
|
||||
|
||||
|
||||
# Ajouter les emails manquants
|
||||
foreach ($email in $ADEmails) {
|
||||
if (-not ($ExistingEmails -contains $email)) {
|
||||
Write-Log "Ajout de $email dans Brevo"
|
||||
# Appel de la fonction d'ajout
|
||||
# AddContactToBrevo -Email $email
|
||||
# AddContactBrevoToList -Id $IdContact -IdListe $IdListe
|
||||
|
||||
# Nettoyage
|
||||
$cleanEmail = $email.Trim().ToLower()
|
||||
$cleanExisting = $ExistingEmails | ForEach-Object { $_.Trim().ToLower() }
|
||||
|
||||
if (-not ($cleanExisting -contains $cleanEmail)) {
|
||||
Write-Log "Ajout de $cleanEmail dans Brevo"
|
||||
|
||||
$AddContactToBrevo = AddContactToBrevo -Email $cleanEmail
|
||||
if (-not $AddContactToBrevo.Success) {
|
||||
Write-Log $AddContactToBrevo.Value -Level ERROR
|
||||
}
|
||||
|
||||
$AddContactBrevoToList = AddContactBrevoToList -Email $cleanEmail -IdListe $group.Id
|
||||
if (-not $AddContactBrevoToList.Success) {
|
||||
Write-Log $AddContactBrevoToList.Value -Level ERROR
|
||||
}
|
||||
else {
|
||||
Write-Log "$email déja dans Brevo"
|
||||
Write-Log "Success -> $cleanEmail"
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Log "$cleanEmail déjà dans la liste $($group.Id) Brevo"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Supprimer les emails qui ne sont plus dans AD
|
||||
# Purger les listes
|
||||
foreach ($email in $ExistingEmails) {
|
||||
if (-not ($ADEmails -contains $email)) {
|
||||
Write-Output "Suppression de $email de Brevo"
|
||||
Write-Output "Suppresion de $email dans la liste $($group.Id)"
|
||||
# Appel de la fonction de suppression
|
||||
# RemoveContactFromBrevo -Email $email
|
||||
$RemoveContactFromListBrevo = RemoveContactFromListBrevo -Email $email -IdListe $($group.Id)
|
||||
if (-not $RemoveContactFromListBrevo.Success)
|
||||
{
|
||||
Write-Log $RemoveContactFromListBrevo.Value -Level ERROR
|
||||
}
|
||||
else {
|
||||
Write-Log "Success suppresion -> $email"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
20
groups.json
20
groups.json
@ -1,4 +1,20 @@
|
||||
[
|
||||
{ "Nom": "GR. DNA - Design graphique - LE HAVRE-1", "Id": "9" },
|
||||
{ "Nom": "GR. DNA - Design graphique - LE HAVRE-2", "Id": "10" }
|
||||
{ "Nom": "GR. DNA - Design graphique - LE HAVRE-1", "Id": "7" },
|
||||
{ "Nom": "GR. DNA - Design graphique - LE HAVRE-2", "Id": "11" },
|
||||
{ "Nom": "GR. DNA - Design graphique - LE HAVRE-3", "Id": "12" },
|
||||
{ "Nom": "GR. DNSEP - Design graphique - LE HAVRE-4", "Id": "13" },
|
||||
{ "Nom": "GR. DNSEP - Design graphique - LE HAVRE-5", "Id": "14" },
|
||||
{ "Nom": "GR. DNA - ART - ROUEN-1", "Id": "19" },
|
||||
{ "Nom": "GR. DNA - ART - ROUEN-2", "Id": "20" },
|
||||
{ "Nom": "GR. DNA - ART - ROUEN-3", "Id": "21" },
|
||||
{ "Nom": "GR. DNSEP - ART - ROUEN-4", "Id": "22" },
|
||||
{ "Nom": "GR. DNSEP - ART - ROUEN-5", "Id": "23" },
|
||||
{ "Nom": "GR. DNSEP ART MENTION CREATION LITTERAIRE-4", "Id": "17" },
|
||||
{ "Nom": "GR. DNSEP ART MENTION CREATION LITTERAIRE-5", "Id": "18" },
|
||||
{ "Nom": "GR. DNSEP - ART - LE HAVRE-4", "Id": "15" },
|
||||
{ "Nom": "GR. DNSEP - ART - LE HAVRE-5", "Id": "16" },
|
||||
{ "Nom": "GR. LE HAVRE - ADMINISTRATIFS ET TECHNIQUES MAILS", "Id": "27" },
|
||||
{ "Nom": "GR. ROUEN ADMINISTRATIFS ET TECHNIQUES MAILS", "Id": "28" },
|
||||
{ "Nom": "GR. LE HAVRE PROFESSEURS MAILS", "Id": "29" },
|
||||
{ "Nom": "GR. ROUEN PROFESSEURS MAILS", "Id": "30" }
|
||||
]
|
||||
@ -5,23 +5,179 @@ function GetContactsFromListBrevo {
|
||||
[string]$IdListe
|
||||
)
|
||||
|
||||
$headers = @{
|
||||
"accept" = "application/json"
|
||||
"api-key" = "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"
|
||||
if (-not $Global:ApiKey) {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "La clé API n'est pas définie" }
|
||||
}
|
||||
|
||||
$headers = @{
|
||||
"accept" = "application/json"
|
||||
"api-key" = $Global:ApiKey
|
||||
}
|
||||
|
||||
try {
|
||||
$response = Invoke-WebRequest `
|
||||
-Uri "https://api.brevo.com/v3/contacts/lists/$($IdListe)/contacts?limit=50&offset=0&sort=desc" `
|
||||
-Method GET `
|
||||
-Headers $headers
|
||||
|
||||
return $response.Content | ConvertFrom-Json
|
||||
$data = $response.Content | ConvertFrom-Json
|
||||
|
||||
return [PSCustomObject]@{
|
||||
Success = $true
|
||||
Value = $data
|
||||
}
|
||||
}
|
||||
catch {
|
||||
return [PSCustomObject]@{
|
||||
Success = $false
|
||||
Value = "Erreur lors de la récupération des contacts de la liste $IdListe : $($_.Exception.Message)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# $contacts = GetContactsFromListBrevo
|
||||
# $contacts.count
|
||||
# $contacts.contacts | ForEach-Object { $_.email }
|
||||
function AddContactToBrevo{
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$Email
|
||||
)
|
||||
|
||||
# foreach ($email in $contacts.contacts) {
|
||||
# Write-Output $email.email
|
||||
if (-not $Global:ApiKey) {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "La clé API n'est pas définie" }
|
||||
}
|
||||
|
||||
$headers = @{
|
||||
"accept" = "application/json"
|
||||
"content-type" = "application/json"
|
||||
"api-key" = $Global:ApiKey
|
||||
}
|
||||
|
||||
$Body = @{
|
||||
email = $Email
|
||||
} | ConvertTo-Json -Depth 3
|
||||
|
||||
try {
|
||||
$response = Invoke-WebRequest -Uri 'https://api.brevo.com/v3/contacts' `
|
||||
-Method POST `
|
||||
-Headers $headers `
|
||||
-ContentType 'application/json' `
|
||||
-Body $Body
|
||||
return [PSCustomObject]@{ Success = $true; Value = $response.Content }
|
||||
}
|
||||
catch {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "Erreur lors de l'ajout de l'utilisateur $Email : $($_.Exception.Message)" }
|
||||
}
|
||||
}
|
||||
|
||||
function AddContactBrevoToList{
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$Email,
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$IdListe
|
||||
)
|
||||
|
||||
if (-not $Global:ApiKey) {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "La clé API n'est pas définie" }
|
||||
}
|
||||
|
||||
$headers = @{
|
||||
"accept" = "application/json"
|
||||
"content-type" = "application/json"
|
||||
"api-key" = $Global:ApiKey
|
||||
}
|
||||
|
||||
$Body = @{ emails = @($Email) } | ConvertTo-Json -Depth 3
|
||||
|
||||
try {
|
||||
$response = Invoke-WebRequest -Uri "https://api.brevo.com/v3/contacts/lists/$IdListe/contacts/add" `
|
||||
-Method POST `
|
||||
-Headers $headers `
|
||||
-ContentType 'application/json' `
|
||||
-Body $Body
|
||||
return [PSCustomObject]@{ Success = $true; Value = $response.Content }
|
||||
}
|
||||
catch {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "Erreur lors de l'ajout de l'utilisateur $Email à la liste $IdListe : $($_.Exception.Message)" }
|
||||
}
|
||||
}
|
||||
|
||||
function RemoveContactFromListBrevo{
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$Email,
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$IdListe
|
||||
)
|
||||
|
||||
if (-not $Global:ApiKey) {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "La clé API n'est pas définie" }
|
||||
}
|
||||
|
||||
$headers = @{
|
||||
"accept" = "application/json"
|
||||
"content-type" = "application/json"
|
||||
"api-key" = $Global:ApiKey
|
||||
}
|
||||
|
||||
$Body = @{ emails = @($Email) } | ConvertTo-Json -Depth 3
|
||||
|
||||
try {
|
||||
$response = Invoke-WebRequest -Uri "https://api.brevo.com/v3/contacts/lists/$IdListe/contacts/remove" `
|
||||
-Method POST `
|
||||
-Headers $headers `
|
||||
-ContentType 'application/json' `
|
||||
-Body $Body
|
||||
return [PSCustomObject]@{ Success = $true; Value = $response.Content }
|
||||
}
|
||||
catch {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "Erreur lors de la suppresion de l'utilisateur $Email à la liste $IdListe : $($_.Exception.Message)" }
|
||||
}
|
||||
}
|
||||
|
||||
function RemoveContactFromBrevo{
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$Email
|
||||
)
|
||||
|
||||
if (-not $Global:ApiKey) {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "La clé API n'est pas définie" }
|
||||
}
|
||||
|
||||
$headers = @{
|
||||
"accept" = "application/json"
|
||||
"content-type" = "application/json"
|
||||
"api-key" = $Global:ApiKey
|
||||
}
|
||||
|
||||
try {
|
||||
$response = Invoke-WebRequest -Uri "https://api.brevo.com/v3/contacts/$Email" `
|
||||
-Method DELETE `
|
||||
-Headers $headers `
|
||||
-ContentType 'application/json'
|
||||
return [PSCustomObject]@{ Success = $true; Value = $response.Content }
|
||||
}
|
||||
catch {
|
||||
return [PSCustomObject]@{ Success = $false; Value = "Erreur lors de la suppresion de l'utilisateur $Email à la liste $IdListe : $($_.Exception.Message)" }
|
||||
}
|
||||
}
|
||||
|
||||
#$test = AddContactToBrevo -Email "tris.ta@esadhar.fr"
|
||||
#$test = AddContactBrevoToList -Email "tris.ta@esadhar.fr" -IdListe 9
|
||||
#$test = RemoveContactFromListBrevo -Email "tris.ta@esadhar.fr" -IdListe 9
|
||||
#$test = RemoveContactFromBrevo -Email "toto.tata@esadhar.fr"
|
||||
|
||||
|
||||
# if (-not $test.Success)
|
||||
# {
|
||||
# Write-Output $test.Value -Level ERROR
|
||||
# Write-Output "error"
|
||||
# }
|
||||
# else{
|
||||
# Write-Output $test.Value
|
||||
# Write-Output "ok"
|
||||
# }
|
||||
@ -3,10 +3,28 @@
|
||||
Service de logging pour les scripts PowerShell.
|
||||
.DESCRIPTION
|
||||
Fournit une fonction Write-Log qui logge des messages avec timestamp, niveau et fichier de log.
|
||||
Ajoute une rotation automatique par jour et supprime les logs vieux de plus de 5 jours.
|
||||
#>
|
||||
|
||||
# Définir le fichier de log globalement pour ce module
|
||||
$Global:LogFile = ".\app.log"
|
||||
# Définir le dossier de logs et le nom de fichier de base
|
||||
$Global:LogFolder = ".\logs"
|
||||
$Global:LogBaseName = "app"
|
||||
|
||||
# Crée le dossier de logs s'il n'existe pas
|
||||
if (-not (Test-Path $Global:LogFolder)) {
|
||||
New-Item -Path $Global:LogFolder -ItemType Directory | Out-Null
|
||||
}
|
||||
|
||||
# Nom du fichier de log du jour
|
||||
$Global:LogFile = Join-Path $Global:LogFolder "$($Global:LogBaseName)_$(Get-Date -Format 'yyyy-MM-dd').log"
|
||||
|
||||
# Supprimer les fichiers de log vieux de plus de 5 jours
|
||||
$logFiles = Get-ChildItem -Path $Global:LogFolder -Filter "$($Global:LogBaseName)_*.log" -File
|
||||
foreach ($file in $logFiles) {
|
||||
if ($file.CreationTime -lt (Get-Date).AddDays(-5)) {
|
||||
Remove-Item $file.FullName -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
function Write-Log {
|
||||
[CmdletBinding()]
|
||||
@ -26,7 +44,7 @@ function Write-Log {
|
||||
# Affiche à la console
|
||||
Write-Output $line
|
||||
|
||||
# Écrit dans le fichier de log
|
||||
# Écrit dans le fichier de log du jour
|
||||
try {
|
||||
Add-Content -Path $Global:LogFile -Value $line
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user