gantt
title Calendrier prévisionnel du projet
dateFormat YYYY-MM-DD
axisFormat %d %b
section Cadrage
Sujet et problématique :2026-12-01, 2026-12-18
Recherche bibliographique :2026-12-03, 20d
section Données et analyses
Collecte et préparation des données :2026-12-15, 20d
Statistiques descriptives :2027-01-05, 45d
Interprétation des résultats :2027-02-01, 2027-03-26
Méthodes statistiques :2027-02-15, 45d
section Rédaction
Rédaction :2027-01-15, 25d
Rapport intermédiaire :milestone, 2027-02-12, 0d
Rédaction du rapport :2027-02-22, 2027-04-02
Rapport V1 :milestone, 2027-04-02, 0d
Corrections et finalisation :2027-04-19, 2027-05-05
Relecture :2027-05-04, 3d
Rapport final :milestone, 2027-05-07, 0d
section Présentation
Préparation de la soutenance blanche :2027-04-05, 2027-04-16
Soutenance blanche :milestone, 2027-04-16, 0d
Préparation de la soutenance :2027-05-03, 2027-05-14
Soutenance :milestone, 2027-05-14, 0d
section Vacances
Noël :crit, 2026-12-19, 15d
Hiver :crit, 2027-02-20, 7d
Paques :crit, 2027-04-17, 7d
TP Bien démarrer son projet
🚧 En cours d’écriture
Objectifs
- S’organiser en équipe
- Initialiser votre dépôt de code
- Importer et nettoyer vos données
- Mener les premières analyses
- Initier votre rapport de projet
Vous allez utiliser les données du Loto pour essayer de devenir millionaire.
Introduction
Qu’est-ce qu’un projet ?
Un projet peut être présenté comme un travail organisé, réalisé par une équipe, pour atteindre un objectif défini et produire un ou plusieurs livrables.
Un projet comporte notamment :
- une équipe : les personnes qui travaillent sur le projet
- un sujet : ce sur quoi porte le projet
- des objectifs : ce que l’on cherche à accomplir
- des données : les informations nécessaires au projet
- du code : les traitements et analyses réalisés
- des méthodes : les choix méthodologiques permettant d’atteindre l’objectif
- des livrables : les productions attendues à la fin du projet
- un calendrier : les différentes étapes et échéances
- une organisation : la répartition des tâches et le suivi de leur avancement
Démarrer un projet
Avant de commencer, prenez le temps de faire connaissance avec les membres de votre groupe et de définir votre organisation.
Discutez notamment :
- des forces et compétences de chacun : programmation, statistiques, rédaction, organisation
- des appétences de chacun : quelles tâches aimez-vous particulièrement ?
- de vos éventuelles contraintes d’organisation
- de vos modes de communication : outils utilisés, fréquence des échanges, réunions
- de la répartition des rôles et des premières tâches
- d’une première version macro de votre calendrier
Les rôles ne sont pas nécessairement fixes : ils peuvent évoluer au cours du projet. L’objectif est que chacun participe aux différentes dimensions du projet et que le travail ne repose pas sur une seule personne.
Calendrier et livrables
Un diagramme de Gantt permet de visualiser là où vous en êtes et quelles sont les prochaines échéances. Il est rapide à réaliser et très utile.
Suivre les tâches
🚧 - Backlog - Gantt - Carnet de bord - Kanban - Ecrire un mail - Préparer une réunion (de suivi) - Gérer son temps
Au cours d’un projet, de nombreuses tâches doivent être réalisées. Il est facile d’en oublier certaines ou de ne plus savoir précisément ce qui a été fait, ce qui est en cours et ce qu’il reste à faire.
Une liste de tâches ou un Kanban permet de centraliser le suivi du projet et de donner à toute l’équipe une vision commune de son avancement.
Un Kanban simple peut par exemple comporter les colonnes suivantes :
🚧 Schéma
À faire → En cours → À relire → Terminé
Chaque tâche est représentée par une carte que l’on déplace au fur et à mesure de son avancement.
Cet outil permet notamment de :
- ne pas oublier les tâches à réaliser ;
- savoir qui travaille sur quelle tâche ;
- visualiser rapidement l’avancement du projet ;
- identifier les tâches bloquées ;
- répartir le travail au sein du groupe.
Les outils du projet
Un projet statistique mobilise plusieurs outils, chacun répondant à un besoin particulier. Il est important de savoir où réaliser chaque tâche et où stocker chaque ressource.
| Besoin | Outil |
|---|---|
| Environnement de travail | SSP Cloud |
| Logiciel (IDE) | RStudio / VSCode / Jupyter |
| Code | R / Python / SQL |
| Versionner le code | Git |
| Dépôt distant | GitHub |
| Stocker les données | S3 |
| Produire des documents et rapports | Quarto / Typst |
| Suivre les tâches | GitHub / Kanban |
Ces outils sont complémentaires. L’objectif du projet sera de les utiliser ensemble pour construire un travail organisé, collaboratif et reproductible.
1 Données
Commençons par une partie facile, déposons nos données dans un endroit sûr.
Vous allez ensuite vous connecter au Datalab pour le déposer sur votre stockage S3.
🚧 Lien vers partage de données :
- diffusion : lecture seule
- partage de fichier : 1 semaine max
- rendre public un dossier : ecriture ?
Vous avez maintenant vos données prêtes à être utilisées.
2 Créer et organiser son dépôt
Passons maintenant à la gestion de votre code.
2.1 Dépôt distant
Le remote est le dépôt commun à toute l’équipe. Il permet de vous synchroniser.
Votre code sera stocké dans un dépôt GitHub.
-
- Repository name : ensai-projet-stat-1a
- Description: Projet statistique de première année
- Visibility Level : Private
- ☑ Cochez Add a README file
- Add .gitignore : R
- Choose a license : MIT Licence
- Cliquez sur
Ceci n’est à faire qu’une seule fois.
2.2 Dépot local
Avant de créer votre dépôt local (code sur lequel vous allez travailler), il faut créer votre environnement de travail.
-
- Vérifiez que votre Token est présent
- Renseignez l’url de votre dépôt GitHub
Si tout s’est bien passé, un clone de votre dépôt a été créé dans votre service. Vous voyez apparaitre votre dépôt et ses fichier dans l’explorateur en bas à droite.
Dans le terminal de votre service, clonez manuellement en utilisant le token :
git clone https://$GIT_PERSONAL_ACCESS_TOKEN@github.com/<username>/<repo_name>.git
2.3 Rappels Git
Vous allez commencer par vérifier que vous arrivez bien à envoyer du code vers le remote.
Toutes les actions ci-dessous sont à faire dans Rstudio.
Pas besoin d’être bilingue pour comprendre l’idée.
Ce fichier est très important. Il doit comporter :
- une brève présentation de votre projet
- les instructions pour utiliser vos programmes (mode utilisateur)
- les instructions pour complétez votre code (mode développeur)
🚧 Exo pratique de gestion de conflit
2.4 renv
Lorsque plusieurs personnes travaillent sur un même projet, il est important que tout le monde utilise les mêmes packages et les mêmes versions.
renv permet de créer un environnement R isolé et propre au projet et d’enregistrer les packages utilisés ainsi que leurs versions.
Cette commande crée un dossier renv/ et un fichier renv.lock (qui stocke la version de R utilisée, les packages nécessaires et leurs versions).
Ne les supprimez pas !
Le fichier renv.lock doit être versionné dans Git.
Commandes utiles :
renv::install("<package>")pour installer un packagerenv::dependencies(): quels sont les packages utilisés dans le coderenv::status(): pour voir les différences entre les packages installés et renv.lockrenv::snapshot(): enregistre l’état des packages dans renv.lockrenv::restore(): applique renv.lock i.e. désinstalle les packages en trop, installe les packages manquants
Vous allez avoir besoin des packages suivants :
- dplyr : manipulation de données (pipes, mutate, select…)
- stringr : manipulation de chaînes de caractères
3 Charger et apurer
3.1 Charger les données brutes
Commençons par charger le fichier.
Dans un dépôt git, il ne faut pas laisser tout trainer à la racine, sinon cela devient rapidement le bazar.
Les fichiers contenant du code sont à placer dans un dossier src (sources).
-
- Vous trouverez comment faire sur cette page
En projet stat, pour charger un fichier .rds, utilisez la fonction readRDS.
Si lors du chargement, vous rencontrez une erreur 403 (Forbidden), il est probable que vos credentials S3 soient expirés.
La solution est expliquée sur la même page que ci-dessus.
3.2 Mettre les données au propre
Certaines colonnes ne nous interessent pas, certaines données sont mal formatées. Il faut mettre tout cela au propre avant de commencer les analyses.
A partir du dataframe loto_raw, vous allez créer un nouveau dataframe propre que vous nommerez loto
Vous avez maintenant un jeu de données propre.
4 Une première analyse
🚧
En R :
- Stats desc
- Une figure
5 Préparer les livrables
🚧
- Quarto
- petit schéma simple : qmd -> quarto -> pdf, html…
- TP à venir en Stats avec R
5.1 Initialiser son rapport
Vous allez utiliser Quarto et Typst pour rédiger votre rapport. Un modèle vous est fourni.
Vous trouverez sur ce site un exemple de rapport.
Vous remarquerez dans le code du rapport qu’il y a une partie du code rédigée directement en Typst.
C’est nécessaire pour avoir une page de garde et une table des matières propre. Ce code utilise un fichier model.typ qui vous est fourni. Vous avez simplement à renseigner quelques infos : titre, membres de l’équipe…
Initions maintenant votre rapport :
- Je m’y mets au dernier moment. Avec un peu de chance, les autres auront déjà fait une partie de mon boulot.
- Je demande à une IA de me l’écrire : je ne veux pas rater mon cours d’aqua-poney.
- Introduction : je n’utilise pas d’accroche, je ne présente ni problématique ni plan.
- Je ne me préoccupe pas de la cohérence du rapport, ni sur le fond ni sur la forme.
- Je ne fais pas de phrases de transition entre mes parties et sous-parties. De toute façon, mes parties ne suivent aucun ordre logique.
- Je n’utilise pas de titres informatifs. « 1. Contexte, 2. Analyse, 3. Résultats », ça ira très bien.
- J’utilise « on » et la forme passive : « on a noté », « on a vu », « on a remarqué que », etc. C’est ce qu’on m’a dit en techniques rédactionnelles. Ou c’était l’inverse !? Bref, je me souviens plus y’avait Chartres la veille.
- J’essaie de battre le record de la phrase la plus longue. Ça permet au lecteur de s’entraîner pour l’apnée.
- Je ne soigne pas mes figures (pas de titre, ni de source, ni de note de lecture). Les lecteurs n’ont qu’à deviner.
- Je ne commente pas mes figures. Je les dépose simplement au milieu de nulle part : ça fait une demi-page de moins à rédiger.
- J’oublie les statistiques descriptives. De toute manière, une moyenne ça ne veut rien dire.
- Je fais une ACP sans préciser pourquoi j’ai choisi ces variables et ces individus. De toute façon, le logiciel sait ce qu’il fait.
- Je lance un clustering sans trop réfléchir. Il paraît qu’on a eu un cours là-dessus, alors autant s’en servir !
- Je ne me soucie pas de la mise en page. Les titres seuls en bas de page, les figures coupées et les pages presque vides donnent du caractère au document.
- Je ne relis pas ce qui a été rédigé par les autres. D’ailleurs, je ne relis pas non plus ce que j’ai rédigé.
- Conclusion : je demande à l’IA de reformuler mon introduction. Facile ! Je ne parle ni des limites ni des pistes d’amélioration.
- Je ne cite aucun article de la bibliographie dans le rapport. D’ailleurs, je n’ai pas lu ce qui a déjà été fait sur le sujet.
5.2 Présentation
Optionnel, à faire plus tard en autonomie
- Avec RevealJS
- Répéter avant
- Backup
- Numéroter ses diapo
- Avoir son rapport ouvert s’il y a des questions