library(dplyr)


# Charger les données avec deux colonnes

df_APT<- read.csv("Downloads/Suppl.csv", 
                            sep= ";",
                            encoding = "UTF-8",
                            # header = TRUE,
                            na.strings = T,
                            dec=","
)


## Enlever les lignes et colonnes vides 

fun_enlever_lignes_vides <- function(df) {
  df <-filter(df,!(df$parcelle_id==""))
  
}

df_APT <- df_APT[!apply(is.na(df_APT) | df_APT == "", 1, all), ]
df_APT <- df_APT[, 1:2]
df_APT <- df_APT[!grepl("\\d", df_APT[,2]), ]


## Enlever les accents

df_APT_sans_accents <- df_APT
df_APT_sans_accents[,1] <- iconv(df_APT[,1], "UTF-8", "ASCII", sub = "")
df_APT_sans_accents[,2] <- iconv(df_APT[,2], "UTF-8", "ASCII", sub = "")
df_APT  <- df_APT_sans_accents



## Copier les noms dans la colonne 2 jusqu'à un nouveau nom

df_APT <- df_APT

for (i in 2:nrow(df_APT)) {
  if (df_APT[i, 2] == "") {
    df_APT[i, 2] <- df_APT[i - 1, 2]
  }
}


## Identifier les apprentis et créer 2 df apprentis et initaux car différents

df_APT$apprenti <- NA
df_APT$apprenti[df_APT$X == "Accompagnement des apprentis"] <- "apprenti"
df_APT$apprenti[df_APT$X == "Priodes d'apprentissage en entreprise, semestre 1"] <- "apprenti" # cas des 2A faux apprentis



df_APT <- df_APT %>%
  group_by(X.1) %>%
  mutate(apprenti = ifelse("apprenti" %in% apprenti, "apprenti", apprenti))
df_APT$apprenti <- ifelse(is.na(df_APT$apprenti), "non-apprenti", df_APT$apprenti)


df_APT_apprenti <- df_APT[df_APT$apprenti == "apprenti", ]
df_APT_initiaux <- df_APT[df_APT$apprenti != "apprenti", ]




# Liste des termes à exclure
termes_a_exclure <- c("Ing - 1A", "Intitul du cours", "Approche professionnelle et sectorielle", "Approches des domaines", "Enjeux et dfis des sciences et technologies du vivant et de l'environnement", "Communication", "La recherche d'informations en sciences du vivant")

# Filtrer les lignes qui ne contiennent pas les termes spécifiés dans la colonne "X"
df_final <- df_APT_initiaux %>%
  filter(!X %in% termes_a_exclure)

# Afficher le résultat final
print(df_final)






## Les approches domaines de 1A

index_approches_domaines <- which(df_APT_initiaux[, 1] == "Approches des domaines")
lignes_a_garder <- list()

for (i in index_approches_domaines) {
  lignes_a_garder[[i]] <- c((i - 4):(i - 1))
}

df_APT_final <- df_APT_initiaux[-unlist(lignes_a_garder), ]

## Les MODULE INTEGRATIF de 1A

index_approches_domaines <- which(df_APT_final[, 1] == "MODULE INTEGRATIF")
lignes_a_garder <- list()

for (i in index_approches_domaines) {
  lignes_a_garder[[i]] <- c((i - 12):(i - 1))
}

df_APT_final <- df_APT_final[-unlist(lignes_a_garder), ]


## DOMINANTE

index_approches_domaines <- which(df_APT_final[, 1] == "Ing - 2A")
lignes_a_garder <- list()

for (i in index_approches_domaines) {
  lignes_a_garder[[i]] <- c((i - 44):(i - 1))
}

df_APT_final <- df_APT_final[-unlist(lignes_a_garder), ]




## LES UC à choix 2 A

index_approches_domaines <- which(df_APT_final[, 1] == "UE  choix Semestre 1")
lignes_a_garder <- list()

for (i in index_approches_domaines) {
  lignes_a_garder[[i]] <- c((i - 34):(i - 1))
}

df_APT_final <- df_APT_final[-unlist(lignes_a_garder), ]

## LA SPE 3 A

index_approches_domaines <- which(df_APT_final[, 1] == "Ing - 3A")
lignes_a_garder <- list()

for (i in index_approches_domaines) {
  lignes_a_garder[[i]] <- c((i - 3):(i - 1))
}

test <- df_APT_final[-unlist(lignes_a_garder), ]












