diff --git a/dev/gitlab_forge.R b/dev/gitlab_forge.R
index ff2f64125e4cab68babb5c1367649e84fe81932b..3ac686a0b4f38a932bb81baf6ca43b2a2db65b9b 100644
--- a/dev/gitlab_forge.R
+++ b/dev/gitlab_forge.R
@@ -286,14 +286,24 @@ all_data_forge <- all_data_forge %>%
   mutate(origine ="Gitlab_Forge")
 all_data_forge <- left_join(all_data_forge, projects_topics, by = c("project_name" = "id"))
 
-#data.frame avec les groupes et le nom pour left join -----
+#data.frame avec les groupes et le nom pour left join-----
 response_df <- data.frame(
   name = response$name,
+  name2 = response$path, #name2 car si le projet à changé de nom alors la jointure ne se fait plus par le nom mais par le passage d'origine ce qui corrige grandement le manque d'information
   groupe = response$namespace$path
 )
 # Joindre les deux jeux de données
 all_data_forge <- all_data_forge %>%
-  left_join(response_df, by = c("project_name" = "name"))
-
-# sauvegarde du jeu de donnée -----
+  left_join(response_df, by = c("project_name" = "name")) # Faire un premier left_join() sur la colonne name
+all_data_forge <- all_data_forge %>% # Compléter les lignes non appariées avec un second left_join() sur la colonne name2
+  left_join(
+    response_df %>%
+      select(name2, groupe),  # On ne conserve que les colonnes utiles
+    by = c("project_name" = "name2"),
+    na_matches = "never" # Empêche l'association des NA
+  ) %>%
+  mutate(groupe = coalesce(groupe.x, groupe.y)) %>%  # Priorité au 1er join
+  select(-groupe.x, -groupe.y)  # Nettoyage des colonnes temporaires
+
+# sauvegarde du jeu de donnée-----
 save(all_data_forge, file = "gitlab_forge.RData")