G. Statistiques de la classe - uha-fr/endyear_2025_gr11_back GitHub Wiki
charger_tds(tds_path) :
- Lit la liste d’étudiants : [{ nom, repo_url, deadline|deadlines, token }, …]
- Retourne (liste_etudiants, token_communs, deadlines_map)
- Clone dans temp_etudiant__
- Filtre commits samedi : weekday()==5
- Compte par TD (YYYY-MM-DD) :
- commits, ajouts, suppressions, fichiers
- score_TD selon poids
- pourcentage par rapport au total de lignes modifiées
- a_heure si ≤ deadline du TD ou global
- Totaux => total_commits, total_ajouts, …, score_global
- GitHub API :
- Branches, Pull requests (ouverts/fermés/mergés), issues, reviews
- GitHub Actions runs (total, succès, échecs)
- Parcourt chaque étudiant, appelle analyser_etudiant()
- Agrège les résultats dans un dict { nom: stats }
detect_patterns_global(list(repo_urls), snippet_length) :
- Clone chaque repo (temporaire)
- Parcourt tous les fichiers, extrait snippets (AST pour Python, regex pour autres)
- Normalise (indentation, commentaires)
- Compte occurrences sur l’ensemble
- Retourne les plus fréquents (ex. Top 5)