Skip to content
Snippets Groups Projects
global.R 2.53 KiB
# global -----
# les packages nécessaire
library(stringr)
library(gitlabr)
library(DT)
library(shiny)
library(tidyverse)
library(ggplot2)
library(plotly)
# remotes::install_github("spyrales/shinygouv")
library(shinygouv)
# remotes::install_github("spyrales/gouvdown")
library(gouvdown)
library(purrr)
library(httr)
library(jsonlite)
library(utils)
library(lubridate)
library(bizdays)
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")
load("gitlab.RData")
load("date_MAJ.RData")
load("path_annuaire.RData")

annuaire <- readr::read_csv(path_annuaire,col_types = "c")
annuaire$Messagerie <- tolower(annuaire$Messagerie)
annuaire <- annuaire %>% dplyr::rename( mail = Messagerie)
annuaire <- annuaire %>%  dplyr::filter( stringr::str_detect(Unité,"CSD" ) )
annuaire <- annuaire %>% dplyr::mutate(auteur = paste(Prénom, Nom),
                                mail_clean = stringr::str_remove(mail, "@.*") )%>% dplyr::select(mail_clean, auteur)

all_data <- dplyr::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 %>% dplyr::mutate(email_clean = stringr::str_remove(author, "@.*"))
all_data <- all_data %>% fuzzyjoin::stringdist_left_join(annuaire,by = c("email_clean" = "mail_clean"), method = "jw", max_dist = 0.265) # ajout de auteur des membre du SCTE via l'annuaire, 75% des auteurs sont du csd

all_data <- all_data %>% dplyr::mutate(etiquette = paste(groupe,topics,sep = ","))
all_data <- all_data %>% dplyr::mutate(message = paste(type,sep = "  : ",message,auteur),
                                auteur = tidyr::replace_na(auteur,"autre"))

# transformation re_code ----
traduction <- c(
  "commit" = "Code",
  "DiffNote" = "Code",
  "DiscussionNote" = "Gestion de projet",
  "issue" = "Gestion de projet",
  "Issue" = "Gestion de projet",
  "Note" = "Gestion de projet",
  "WikiPage::Meta" = "Documentation",
  "joined" = "Gestion de projet" ,
  "WorkItem" = "Gestion de projet" ,
  "MergeRequest" = "Code" , # ajouter un "item" merge ?
  "Milestone" = "Gestion de projet"
)
all_data <- all_data %>% dplyr::mutate(re_code = dplyr::recode(type , !!!traduction))
all_data <- all_data %>% dplyr::rename(project_name = name)

#transformation message
all_data$message <- all_data$message %>% tolower()
min_all_data <- all_data %>% dplyr::filter(stringr::str_detect(message,'commit  : initial commit'))