From af81c2b9d2f2b64a1d9cb644c6d6c11f14ab9801 Mon Sep 17 00:00:00 2001
From: LE DURAND Matteo <matteo.le-durand@developpement-durable.gouv.fr>
Date: Tue, 18 Mar 2025 16:17:56 +0100
Subject: [PATCH] ajout du package fuzzjoin, on retire la table de
 correspondance pour que ca soit au max automatique

---
 global.R | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/global.R b/global.R
index 3643d78..f9d2c93 100644
--- a/global.R
+++ b/global.R
@@ -21,6 +21,7 @@ library(shinyWidgets)
 library(textclean)
 library(stringi)
 library(readr)
+library(fuzzyjoin)
 # chargement des données (résultat du script "dev/script_chargement_rdata.R")
 load("github.RData")
 load("gitlab_forge.RData")
@@ -32,18 +33,21 @@ email_table <- read_csv("annuaire/email_total.csv")
 
 annuaire <- read_csv("annuaire/annuaire.csv")
 annuaire$Messagerie <- tolower(annuaire$Messagerie)
-annuaire <- annuaire %>% rename( email = Messagerie)
+annuaire <- annuaire %>% rename( mail = Messagerie)
 annuaire <- annuaire %>%  filter( str_detect(Unité,"CSD" ) )
-annuaire <- annuaire %>% mutate(auteur = paste(Prénom, Nom))%>% select(email, auteur)
+annuaire <- annuaire %>% mutate(auteur = paste(Prénom, Nom),
+                                mail_clean = str_remove(mail, "@.*") )%>% select(mail_clean, auteur)
 
 all_data <- bind_rows(all_data_gitlab, all_data_forge, combined_data)
 all_data$updated_at <- as.POSIXct(all_data$updated_at, format = ("%Y-%m-%dT%H:%M:%S"))
-all_data <- all_data %>% mutate(message = paste0(type,sep = "  : ",message))
+all_data <- all_data %>% mutate(message = paste0(type,sep = "  : ",message),
+                                email_clean = str_remove(author, "@.*"))
 
-all_data <- all_data %>% left_join(email_table) # nettoyage de certaine adresse mail invalide
-all_data <- all_data %>% left_join(annuaire) # ajout de auteur des membre du SCTE via l'annuaire
+all_data <- all_data %>% stringdist_left_join(annuaire,by = c("email_clean" = "mail_clean"), method = "jw", max_dist = 0.25) # ajout de auteur des membre du SCTE via l'annuaire
 
 all_data <- all_data %>% dplyr::mutate(etiquette = paste(groupe,topics,sep = ","))
+df <- all_data %>% filter(!is.na(auteur)) %>% select(author,auteur)
+distinct(df)%>% datatable()
 
 # transformation re_code ----
 traduction <- c(
-- 
GitLab