Outils pour l’enseignement de la statistique et science des données
Cette section rassemble divers outils conçus ou présentés pour soutenir l’enseignement de la statistique et de la science des données, en particulier dans un contexte universitaire. Vous y trouverez des packages R développés localement, des ressources utiles ainsi que des suggestions pour intégrer GitHub efficacement dans vos cours.
📦 Package UlavalSSD
Dépôt GitHub : AurelienNicosiaULaval/UlavalSSD
Ce package a été conçu pour :
- Rassembler des jeux de données pédagogiques utilisés à l’Université Laval;
- Proposer des fonctions R utiles pour les enseignants;
- Faciliter l’adoption de bonnes pratiques de reproduction en enseignement avec R et Quarto.
🚀 Installation
# installation depuis GitHub
::install_github("AurelienNicosiaULaval/UlavalSSD") remotes
Github
Qu’est-ce que GitHub ?
GitHub est une plateforme de gestion de versions et de collaboration basée sur Git, permettant aux développeurs et aux équipes de travailler ensemble sur des projets de code source. Elle offre des fonctionnalités telles que le suivi des modifications, la gestion des problèmes (issues), les demandes de tirage (pull requests) et l’intégration continue.
GitHub est largement utilisé dans le développement logiciel, mais il est également très utile pour l’enseignement et la collaboration en science des données.
Pourquoi utiliser GitHub ?
GitHub est un outil puissant pour :
Gérer le code source de vos projets R et R Markdown.
Collaborer avec d’autres personnes sur des projets de science des données.
Suivre les modifications apportées à vos scripts et documents.
Partager facilement vos travaux avec d’autres, que ce soit pour des projets de recherche, des cours ou des présentations.
🔗 Connexion de RStudio à GitHub
1. Créer un compte GitHub
- Aller sur https://github.com/
- Configurer votre nom complet et votre courriel
2. Configurer Git dans RStudio
::use_git_config(user.name = "Ton Nom", user.email = "ton.email@ulaval.ca") usethis
3. Générer une clé SSH
Dans l’onglet Terminal de RStudio :
ssh-keygen -t ed25519 -C "ton.email@ulaval.ca"
Appuyer sur Entrée aux questions. La clé est stockée dans ~/.ssh/
4. Ajouter la clé publique à GitHub
cat ~/.ssh/id_ed25519.pub
Puis : GitHub > ⚙️ Settings > SSH and GPG keys > New SSH key > coller la clé
5. Cloner un projet depuis GitHub (SSH)
- Copier l’URL SSH depuis GitHub (
git@github.com:...
) - Dans RStudio :
File > New Project > Version Control > Git
6. Tester la connexion
Dans le terminal :
ssh -T git@github.com
👤 Travailler individuellement avec Git
1. Sauvegarder ses modifications
- Faire des changements dans les fichiers
.R
,.Rmd
,.qmd
, etc. - Dans l’onglet Git :
- Cocher les fichiers modifiés
- Ajouter un message de commit
- Cliquer sur Commit
2. Envoyer sur GitHub : Push
- Après un commit, cliquer sur Push pour synchroniser avec GitHub
3. Récupérer les changements : Pull
- Cliquer sur Pull pour récupérer les dernières modifications (surtout si on travaille à plusieurs)
🤝 Bonnes pratiques pour le travail collaboratif
1. Créer une organisation GitHub (facultatif)
- Permet de regrouper les projets de cours ou de recherche
- Gérer les autorisations par équipe
2. Créer un dépôt partagé
- Inclure un
README.md
,.gitignore
(R), éventuellement une licence - Ajouter les collaborateur·rices dans les paramètres du dépôt
3. Cloner le dépôt avec SSH
::create_from_github("org/projet", protocol = "ssh") usethis
4. Créer une branche pour travailler
::pr_init("nom-branche") usethis
5. Travailler dans la branche
- Modifier, sauvegarder, commit, puis push
6. Créer une Pull Request (PR)
- Dans GitHub : Pull requests > New pull request
- Comparer la branche à
main
, proposer les changements
7. Revue de code entre coéquipiers
- Laisser des commentaires
- Approuver ou suggérer des modifications
8. Fusionner la PR dans main
- Cliquer sur Merge pull request
- Supprimer la branche si elle n’est plus utile
9. Mettre à jour sa copie locale
git pull origin main
Ou via RStudio : Git > Pull
🐙 Utiliser GitHub en classe
Pourquoi utiliser GitHub avec vos étudiant·es ?
- Pour initier vos étudiant·es aux bonnes pratiques de collaboration en science des données.
- Pour structurer le travail d’équipe dans un environnement réel.
- Pour suivre facilement les livrables, le code et les contributions de chacun.
Créer une organisation GitHub pour votre cours
Créer une organisation permet de centraliser et sécuriser les dépôts étudiants.
Étapes :
- Connectez-vous à GitHub.
- Accédez à https://github.com/organizations/new
- Choisissez un nom d’organisation (ex :
Cours-STT-XXXX
). - Sélectionnez un plan gratuit pour les projets open source ou éducatifs.
- Invitez des collaborateurs (autres enseignants ou étudiant·es).
🔗 Documentation officielle : Créer et gérer des organisations GitHub
💡 Vous pouvez aussi demander l’accès au programme GitHub Education : education.github.com
📚 Mini cours : la librairie ghclass
La librairie ghclass
en R permet de gérer efficacement une organisation GitHub, en particulier dans un contexte pédagogique.
🔧 Installation
install.packages("ghclass")
🔐 Authentification
Il est recommandé d’utiliser une clé SSH ou un token GitHub avec les permissions appropriées. Pour cela :
L’authentifier avec
ghclass::gh_auth()
ou configurer votre clé SSH avecusethis::use_git_config()
etusethis::create_github_token()
📂 Fonctions essentielles de ghclass
🔹 Créer des dépôts pour les étudiant·es
::org_create_repo(
ghclassorg = "Cours-STT-XXXX",
repo = "devoir1",
private = TRUE
)
🔹 Cloner un dépôt dans l’organisation
::repo_clone("Cours-STT-XXXX/devoir1") ghclass
🔹 Ajouter des membres
::org_invite("Cours-STT-XXXX", users = c("etudiant1", "etudiant2")) ghclass
🔹 Ajouter des collaborateurs à un dépôt
::repo_add_collaborator("Cours-STT-XXXX/devoir1", user = "etudiant1") ghclass
🔹 Gérer des équipes
::org_create_team("cours-stt-XXXX", team = "groupe-A")
ghclass::org_add_team_member("cours-stt-XXXX", team = "groupe-A", user = "etudiant1") ghclass
🔹 Suivre l’activité des étudiant·es
::repo_commits("Cours-STT-XXXX/devoir1")
ghclass::repo_issues("Cours-STT-XXXX/devoir1") ghclass
📘 Ressources supplémentaires
- Documentation officielle ghclass
- Guide complet pour l’enseignement avec GitHub
- Exemple d’organisation pédagogique avec RStudio
👥 Besoin d’aide ou d’accompagnement ?
Vous êtes enseignant·e et souhaitez intégrer GitHub dans votre cours ou utiliser les outils mentionnés ici ? N’hésitez pas à me contacter — je peux vous accompagner dans la mise en place ou proposer une formation rapide adaptée à vos besoins.
🤝 Contribuer
Vous souhaitez proposer un nouveau jeu de données ou une fonction utile ? N’hésitez pas à proposer une issue ou un pull request sur le dépôt GitHub !