Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Besoin d'aide?
Vous avez débuté votre aventure vidéoludique, mais vous êtes bloqué(e) en cours de jeu ? Ou vous ne trouvez pas la solution d'un chapitre du grimoire ? Sur cette page, vous trouverez la solution de l'aventure icaRius, découpée en vidéos qui vous présentent les différents niveaux du jeu vidéo. Les réponses au grimoire sont également présentées au moment où ces dernières doivent être saisies dans le jeu.
Attention Spoiler, les vidéos ci-dessous vont donc vous dévoiler toute la trame de l'histoire
La maison d’icaRius (chapitre 1 du grimoire), la rencontre avec la princesse Statia, le village de Kokoro (chapitre 2) et votre premier combat contre un être maléfique (Rune n°1)
Le village de GrissGrass, la rencontre du chef Xeilhac et des fermiers (chapitres 3 et 4), le combat contre Tartaros (rune n°2)
Le château de Statis, le chef des armées Parlyus, la rencontre du cuistot Batreb (chapitre 5), la fake news avec Essespéus (chapitre 6), premier affrontement contre SaSSoS (rune n°3).
L'entrée dans le désert et le passage du labyrinthe avec Delagarde (chapitre 7), la plume d'Igor (chapitre 8).
Village de Sandia, rencontre de Mam'Grouxi (chapitre 9), temple de la roche et affrontement de Monolith (rune n°4), salle de l'impossible (chapitre 10), bouclier Konami.
Rencontre avec l'automate TeoC (chapitre 11), temple de l'ombre et affrontement de l'œil de SaSSoS
Rencontre avec l'oiseau FebeleR (chapitre 12), nage à travers le datalake, temple de la glace et affrontement de Confusius
La forêt mystérieuse, rencontre avec aSa la gueRnouille (chapitre 13), temple de SaSSoS et affrontement final
La trame pédagogique du Funcamp R a fait l'objet d'une élaboration collective portée par le groupe de conception de cette expérience d'apprentissage vidéoludique. Elle a été imaginée en ayant à l'esprit un public de novice en R, avec plusieurs profils possibles :
public novice en R, sans pratique antérieure de SAS, en poste dans un environnement faiblement lié aux logiciels statistiques (par ex, fonctions administratives)
public novice en R, avec une pratique antérieure de SAS, a priori en poste dans des environnements utilisant des logiciels statistiques
public novice en R, sans pratique antérieure de SAS, a priori en poste dans des environnements utilisant des logiciels statistiques
Autres acteurs concernés, ceux ayant un niveau d'appropriation plus élevé en R, en distinguant d'une part ceux ayant des fonctions de formateurs, et ceux qui, avec une maîtrise intermédiaire du domaine, pourraient jouer une fonction d'accompagnateurs ou de tuteurs à l'occasion du Funcamp, puis dans les activités locales assurées par les communautés.
Les différentes séquences du parcours pédagogique sont fondées sur un objectif de mise en situation : les joueurs sont ainsi appelés à pratique eux-mêmes la "langue des runes" sur des cas pratiques, pour avoir une manipulation effective de données et réaliser des traitements. Pour cela, les tutoriels sont interactifs : ils nécessitent à chaque fois des actions du joueurs, soit via une console qui permet de coder en R de façon assistée, soit via des quizz. La résolution active du tutoriel par le stagiaire est d'ailleurs nécessaire pour débloquer l'étape suivante dans le jeu vidéo, qui à son tour conduit le joueur jusqu'au prochain tutoriel...
Tout en restant volontairement à un niveau simplifié, les différents tutoriels couvre une palette relativement large d'opérations, proche de couvrir un traitement statistique complet : chargement de données, exploration via quelques statistiques descriptives, opérations élémentaires de transformation, calcul d'indicateurs, représentations graphiques ou tabulées des résultats... Le funcamp comporte également des modules optionnels, pour permettre d'aller plus loin pour les stagiaires / joueurs les plus motivés (par exemple, manipulation de vecteur, notions d'appariement, notions de documentation du code).
Packages, fonctions, arguments... Le jargon d'un langage de traitement comme R peut facile décourager un public novice. Pour renforcer l'adhésion, et pour préserver l'expérience de jeu, nous utilisons au mieux l'habillage narratif proposé par l'univers d'icarius. Il est ici question de mages, aidant le jeu héros à découvrir la langue des Runes. C'est ainsi que les fonctions cèdent la place aux sortilèges, que les packages s'effacent au profit des chapitres du grimoire IGoR, ce dernier accompagnant icaRius au fur et à mesure que les pages de l'histoire s'écrivent.
Cet habillage narratif s'autorise quelques facéties, à l'instar de l'appelation pour le terrible sorcier SaSSoS... mais il permet aussi d'introduire des notions fondamentales. Ainsi, la statistique reproductible est mise en scène dans le dernier pan de l'aventure, via ce curieux personnage qu'est l'automate TeoC, de même que les fondamentaux de la documentation (l'oiseau febeler), ou l'usage de Rmarkdown (la gueRnouille aSa). A chaque fois, l'acquisition de la notion est récompensée par l'obtention d'un item dans le jeu vidéo, qui matérialise les progrès accomplis par le joueur / stagiaire, de même qu'il apporte de nouvelles capacités au personnage icaRius.
Collection de packages fondée sur une philosophie commune et introduite par Hadley Wickham, le Tidyverse est au coeur de l'expérience d'apprentissage proposée dans le parcours du funcamp. A peine ont-ils appris à lancer de premiers sortilèges (ie, utiliser des fonctions) que les joueurs / stagiaires sont amenés à les composer, en utilisant ce signe cabalistique qu'est le pipe %>%. De même, le parcours privilégie les approches intégrées et simplifiées : en témoigne la découverte des graphiques via le package ggformula, pour permettre d'atteindre rapidement des résultats très satisfaisant de traitement graphique.
L'aventure vidéoludique que nous vous proposons de suivre via le Funcamp R se compose de deux éléments :
un jeu vidéo (oui, comme quoi, on peut jouer pendant qu'on travaille)
des tutoriels R (oui, comme quoi, on peut se former pendant qu'on joue).
Pour le Funcamp, il vous faudra utiliser les deux environnements. Ces derniers peuvent soit être installés directement sur votre poste de travail, soit être utilisés en ligne.
Nous allons vous guider pour accéder à ces éléments.
Simple et rapide !
Vous pouvez tout d'abord télécharger le jeu sur votre poste de travail, ou sur une clef USB : c'est rapide et léger (seulement 30 mo, moins de 5 minutes). Rien à craindre pour la sécurité de votre poste - d'ailleurs, c'est une version dite "portable" du jeu, qui n'installe rien sur votre système d'exploitation. Voici comment procéder :
le fichier téléchargé s'appelle : icaRius-windows.zip
dézipper le contenu à l'endroit de votre choix (par exemple, dans "Mes documents", ou même sur une clé USB) : vous aurez alors un répertoire appelé icaRius-windows.
à la fin de l'installation, allez dans le répertoire icaRius-windows, puis double-cliquez sur l'icône START_icarius, qui lancera automatiquement une page d'accueil.
La page d'accueil comporte une introduction et le lien vers le jeu : laissez-vous guider !
Explorez le funcamp en ligne sur le SSPCloud. C'est l'idéal pour les tutoriels !
Ouvrez le menu pour accéder au catalogue de formation
Sélectionnez le parcours Funcamp R.
Le dossier est composé de toutes les étapes du parcours : le jeu icaRius d'abord et un item pour chaque chapitre du grimoire (chaque tutoriel). Pour lancer un tutoriel depuis votre navigateur Internet, cliquez sur le chapitre correspondant avec l'icone en forme d'engrenage.
Dans le panneau qui s'ouvre, cliquez simplement sur "créer votre service"
Patientez pendant les quelques secondes de chargement. Une fois cette étape achevée, ouvrez le grimoire en cliquant sur l'icone en forme de fléche. Attention : même si le grimoire semble disponible, il faut le plus souvent attendre 40 à 50 secondes de plus pour qu'il soit effectivement accessible sur Internet. Ne soyez pas inquiet de voir, au début, un message d'erreur indiquant que le service n'est pas disponible (patience...).
Pour lancer les autres tutoriels à chaque étape du jeu, reproduisez la même démarche pour chaque chapitre du grimoire.
Cette méthode est une solution de secours par rapport au téléchargement du jeu sur votre poste. En effet, en ligne, vous pourrez avoir des ralentissements, et vous ne pourrez pas profiter de la musique du jeu ! Snif...
Voici néanmoins le mode opératoire :
Ouvrez le menu pour accéder au catalogue de formation et sélectionnez Funcamp R.
Le dossier est composé de toutes les étapes du parcours : le jeu icaRius d'abord et un item pour chaque chapitre du grimoire (chaque tutoriel)
Pour lancer le jeu icaRius depuis votre navigateur Internet, cliquez sur le jeu
dans le nouveau panneau, cliquez sur "créer votre service".
Pendant les quelques secondes de chargement, copiez votre mot de passe d’accès aux services à partir de l’icône en forme de clef.
Il ne reste qu’à lancer le jeu dans votre navigateur internet, en cliquant sur l'icône avec une flèche et de coller votre mot de passe
Dans cet environnement virtuel, double-cliquez sur l'icône du jeu icaRius, et jouez !
Bon, c'est beaucoup plus simple à faire qu'à lire - la preuve en vidéo :
Attention, il faut de la place : près de 2 Go ! Cette méthode vous permet d'avoir toutes les ressources, ludiques et pédagogiques, directement sur votre poste de travail ou sur une clef USB.
ça va prendre un peu de temps : patience (environ 500 mo à télécharger)
Dézippez le contenu à l'endroit de votre choix : vous aurez alors un répertoire appelé funcampr-allinone.
il faut un peu de place, désolé pour l'encombrement (1,5 go environ)
À la fin de l'installation, allez dans le répertoire funcampR, puis double-cliquez sur l'icône START_grimoire, qui lancera automatiquement une page d'accueil.
La page d'accueil comporte le lien vers chaque chapitre du grimoire, et aussi vers le jeu : laissez-vous guider !
Attention, il faut veiller à ce que le chemin d'installation de votre répertoire ne comporte pas d'espace blanc. Par exemple, F:\MonRepertoire\funcampr fonctionnera, mais pas F:\Mon Repertoire\funcampr
Une expérience vidéoludique d'apprentissage de R
Soyez le/la bienvenu(e) au Funcamp R. Ce site rassemble l'ensemble des supports pédagogiques et ludiques relatifs à la formation que vous vous apprêtez à suivre. Pardon : cette page ouvre le grimoire IGoR, qui vous accompagnera dans l’épopée statistico-ludique dont vous êtes le héros / l’héroïne. Vous y trouverez, distillée au fur et à mesure des chapitres enluminés, toute la sagesse accumulée par ces mages qui, dans l’ombre, ont imaginé les épreuves que vous aurez à franchir.
Parcourir ce grimoire vous permettra d’apprendre, pas à pas, le langage des Runes, nécessaire pour aider le jeune icaRius, votre alter-ego numérique, à sauver le royaume de Statis de la menace qui le guette. Au cours de cette aventure, il vous sera ainsi demandé de résoudre des énigmes, dont la solution vous permettra d’avancer un peu plus loin dans les terres de Statis. Ces énigmes sont autant d’étapes pour découvrir les possibilités (magiques!) offertes par R. La solution sera ensuite à renseigner dans l’écran du jeu icaRius, prévu à cet effet.
Le Funcamp R s'adresse avant tout à celles et ceux qui, petits et grands débutants en R, souhaitent inscrire leur apprentissage dans une démarche amusante, avec une alernance de phases de jeu et de tutoriels R. Il a été conçu pour les agents du système statistique public, qui retrouveront dans l'aventure d'icaRius quelques clins d'oeil à leur environnement professionnel - tous peuvent néanmoins s'essayer à ce parcours pédagogique, même sans travailler à l'Insee ou dans un service statistique ministériel. La composante dédiée aux techniques statistiques est délibèrement très restreinte : il s'agit surtout d'apprendre à maîtriser le cadre général de l'environnement R, d'autres formations plus avancées répondant aux besoins des statisticiens avertis.
Cet espace propose également, pour les esprits curieux, des informations complémentaires:
Dans cette partie, nous vous proposons une aide à la prise en main du jeu icaRius : les actions que vous pouvez effectuer, les paramétrages du jeu (écran, musique...) et d'autres astuces encore !
Vous voilà au début de votre aventure, et vous découvrez le personnage, icaRius, dans une "vue du dessus". Comment faire pour manipuler ce personnage ?
Pour déplacer le personnage, utilisez les flèches directionnelles de votre clavier (flèches du haut ou du bas pour monter ou descendre, flèches gauche ou droite pour prendre ces directions)
Pour dialoguer avec un autre personnage, mettez vous bien en face de lui et appuyez sur la touche espace.
Pour interagir avec un élément du décor (un coffre, une porte), mettez vous bien en face et appuyez sur la touche espace.
Pour utiliser votre épée (que vous obtiendrez peu après l'énigme n°1), utilisez la touche c.
Un peu plus tard dans l'aventure, vous obtiendrez de nouveaux équipements. Pour y accéder, appuyez sur la touche d du clavier. Un menu apparaît, avec plusieurs informations
en bas, les runes que vous avez obtenues (en grisée lorsqu'elles sont encore à obtenir, en bleu une fois obtenue) et le nombre de "quart de coeur" obtenu en attendant d'augmenter votre réserve de vie.
partie en haut à droite, quelques statistiques (eh oui) sur votre partie : point de vie, force, défense, temps de jeu...
partie en haut à gauche, un panneau de sélection des équipements. Vous pouvez vous déplacer dans ce panneau avec les flèches directionnelles du clavier. Placez le curseur de sélection (un cercle qui clignote) sur un équipement de votre choix. Appuyez sur la touche x pour sélectionner cet équipement : un cercle entoure l'équipement pour confirmer votre choix.
Pour quitter ce menu, appuyez sur la touche d du clavier. Vous voilà de nouveau dans le jeu. Appuyez sur la touche x pour vous servir de votre équipement.
Vous voulez réduire le volume de cette insupportable musique ? Couper les bruitages ? Modifier le rendu visuel du jeu ? Ca se passe ici...
Pendant votre partie, appuyez sur la touche d du clavier pour faire apparaître le menu. Par défaut, vous voyez le panneau avec l'inventaire des équipements et les statistiques du héros. Avec les flèches "gauche" ou "droite" du clavier, vous pouvez changer de panneau : appuyez sur la touche de gauche, jusqu'à voir apparaître le menu "Options du jeu". Ici, vous pouvez modifier trois éléments :
l'affichage vidéo : vous pouvez agrandir la résolution du jeu, ou encore lisser les pixels pour un rendu "dessin animé".
la musique : vous pouvez baisser le niveau sonore (de 100, niveau maximal, à 0, son coupé)
les bruitages : vous pouvez baisser le niveau sonore (de 100, niveau maximal, à 0, son coupé)
A chaque fois, déplacez vous en utilisant les flèches haut et bas du clavier, puis une fois le curseur de sélection en face de l'option à modifier, appuyez sur la touche espace pour chaque changement.
A la fin des modifications, appuyez sur la touche d pour quitter le menu. A noter, la modification est gardée en mémoire, même si vous redémarrez le jeu. Pratique !
A tout moment dans le jeu, il est possible de mettre sur pause en appuyant sur la touche "esc. / écha." de votre clavier. Vous avez alors le choix entre : reprendre le jeu après cette pause, sauvegarder la partie et revenir à l'accueil du jeu, revenir à l'accueil du jeu sans sauvegarder.
Attention : la sauvegarde vous permet de revenir à un point proche de votre parcours, en gardant en mémoire les Runes obtenues et les ennemis vaincus, mais pas toujour exactement au moment où vous vous êtes arrêtés (la partie peut reprendre, par exemple, au début du monde concerné).
Au fur et à mesure de l'aventure, icaRius devra explorer des donjons renfermant bien des surprises. Si les premiers donjons sont limités à quelques pièces, les suivants peuvent être alambiqués. Pour certains d'entre eux, vous pourrez récupérer une carte - cela vous sera précisé en cours de jeu. Pour consulter la carte du donjon, appuyez sur la touche D pour faire apparaître le menu contextuel. Puis déplacez vous avec les flèches Gauche ou Droite du clavier par parvenir à l'écran où la carte apparaît.
téléchargez tout d'abord le jeu icaRius en cliquant sur
Accédez via votre navigateur Internet, sur la plateforme SSPCloud pour vous inscrire sur
Accédez via votre navigateur Internet, sur la plateforme SSPCloud pour vous inscrire sur
Téléchargez le grimoire et le jeu (Le fichier téléchargé s'appelle : funcampr-allinone.zip)
Désireux de vous lancer dans l'aventure d'icaRius ? Consulter la page , qui vous présente les différentes façons d'accéder au jeu et aux tutoriels R.
la , son histoire, ses acteurs... et son possible devenir !
pour les formateurs, un espace dédié aux et à la présentation de la .
pour les développeurs, un ensemble de ressources pour du et du .
l'identité des : la présentation de l'équipe de conception du Funcamp R, et des acteurs qui nous ont aidés.
Le grimoire (appelé grimoire IGoR dans le jeu icaRius) se constitue d'une collection de tutoriels établis en Rmarkdown, eux-mêmes réunis sous la forme d'un package FuncampR. La quasi totalité des tutoriels utilisent le package learnr pour proposer des exercices appliqués, dans lequel le stagiaire accède à une console pour apprendre la syntaxe R et exécuter du code en ligne. Certains d'entre eux utilisent en outre le package parsons, pour apprendre à composer les segments d'un traitement en R en les assemblant comme les pièces d'un puzzle. Les tutoriels avec learnr et parsons sont orchestrés en runtime:shiny_prerendered.
A noter qu'un tutoriel fait exception : dédié à l'apprentissage des méthodes de documentation d'un code, il mobilise le package shinyAce et se trouve orchestré en runtime:shiny (voir chapitre 12).
Le package est structuré de la façon suivante :
répertoire inst
: il est lui même composé du sous-répertoire learnr
regroupant l'ensemble des tutoriels, et du sous-répertoire data
regroupant les fichiers de données utilisées pour les tutoriels. Chaque tutoriel est présenté comme un "chapitre" du grimoire (et se trouve positionné dans un sous-répertoire de type chapitreXX
).
répertoire R
: s'y trouve le programme code.R, qui permet :
-- de scanner l'ensemble des fichiers Rmd éligibles à être proposés comme tutoriel (fonction tous_les_programmes()
)
-- de lancer un support Rmd (fonction launch_learn()
)
répertoire man
: documentation des fonctions citées supra.
L'utilisation du package learnr permet de proposer des exercices interactifs, avec une console R intégrée, pour laquelle il est possible de faire apparaître une solution en aide au stagiaire
Des quizz sont également proposés : à la fin de chaque tutoriel, ils permettent de vérifier que le stagiaire a résolu l'énigme, et de lui confirmer la réponse à renseigner dans le jeu icaRius.
Enfin, le package parsons propose des exercices sous forme de "puzzle", mettant l'accent sur le bon ordonnancement des briques d'un traitement.
A l'image des deux environnements qu'il propose aux joueurs/stagiaires avec le jeu icaRius d'une part et le grimoire IGoR d'autre part, le projet Funcamp-R comporte deux volets pour lesquels il est possible de contribuer :
le code source du jeu icaRius, développé avec le moteur Solarus
le code source des tutoriels R, regroupés sous la forme d'un package.
Pour porter ces environnements en mode Cloud, chaque volet est par ailleurs orchestré par un système de containers docker :
le jeu icaRius est empaquetté dans une image virtuelle d'un Ubuntu dans lequel le moteur de jeu Solarus a été pré-installé, puis est proposé en accès web via une interface Vnc
le grimoire IGoR est empaquetté dans une image virtuelle d'un serveur R-Shiny, enrichi de l'ensemble des dépendances nécessaires pour faire fonctionner les tutoriels, en particulier les packages Learnr et Parsons.
Enfin, le site documentaire que vous consultez actuellement est réalisé avec Gitbook.
funcamp-r : site documentaire présentant le projet.
funcamp-r-grimoire : le code-source pour le package R correspondant au grimoire avec l'ensemble des tutoriels. Ce package a été réalisé avec l'appui précieux et apprécié (au moins 50 rubis à la mode icarius) de la société ThinkR.
funcamp-r-dock : système d'orchestration docker du package pour proposer de suivre en ligne les tutoriels. Ce dispositif a été réalisé avec l'expertise magique de la société ThinkR et de la division Innovation et instruction technique de l'Insee.
funcamp-r-neverending : dernier chapitre du grimoire, correspondant à un environnement R-studio avec un projet associé, avec édition simplifié de Rmd (utilisation de xaringan). Ecrit avec la plume de la société ThinkR.
funcamp-r-icarius : le code source du jeu, correspondant à une "quête" développée dans le moteur de jeu Solarus.
funcamp-r-ubuntu-solarus : système d'orchestration docker du jeu pour proposer une expérience en mode Cloud. Ce dispositif a été réalisé avec l'aide inextinguible (> 10 coeurs) de la division Innovation et instruction technique de l'Insee.
funcamp-r-windows-solarus : mise à disposition du runner Solarus et de la quête icaRius, pour l'environnement Windows. Téléchargeable et installable en mode portable sur une clé USB
funcamp-r-windows-grimoire-launcher : dispositif d'empaquettage de l'ensemble des ressources - vidéoludiques et pédagogiques - pour suivre le funcamp en mode portable, en installant ces ressources sur une clé USB pour un poste windows. Un frontend est inclus pour permettre au stagiaire de lancer facilement chaque étape du funcamp.
Vous souhaitez contribuer ? Proposer une amélioration ou correction sous forme d'issue ? Rendez-vous sur l'un des espaces concernés :
Repository
Description
R (learnr) tutorials
Base docker image for learnr tutorials
Last chapter
Zip archive to run the icaRius game on Windows
Ressources to set up a local drive with all the resources for Windows
Toutes les ressources sont structurées sous forme de dépôts dans le compte Github InseeFrLab, à l'adresse . Y figurent les dépôts suivants :
Serious game (requires the )
Docker image of ubuntu-desktop-lxde-vnc
including the
Un créateur de quête n'a pas à implémenter ces algorithmes. Au contraire, il peut se concentrer sur la définition de la logique du jeu. Le créateur, par des scripts Lua, décrit le comportement des ennemis, les interactions sur une carte de jeu (une map). Il peut aussi créer des menus, des animations, un HUD (informations à l'écran comme le nombre de vies de la partie en cours, l'équipement du héros...).
Les deux parties (le moteur en C++ et les scripts en Lua) communiquent grâce à l'API Lua de Solarus. La communication fonctionne dans les deux sens : le créateur de quête peut appeler des fonctions du moteur (par exemple : déplacer un personnage) et le moteur appellera les propres fonctions du créateur de quête (par exemple : être informé quand un ennemi est tué).
Solarus est un moteur de jeu Open Source, spécifiquement conçu pour créer des "role playing games" (RPG) en 2D, à l'image de The Legend of Zelda: A Link to the Past ou Secret of Mana sur Super Nintendo. Le site permet d’accéder à l'ensemble des ressources nécessaires pour programmer avec le moteur Solarus : le moteur de jeu, les packs de ressources (ensemble de graphismes appelés tilesets, exemples de script), les tutoriels...
Le moteur Solarus est codé en C++, avec la bibliothèque SDL et un backend OpenGL. Les jeux faits avec Solarus sont appelés des quêtes et sont faits en Lua. Pour "jouer" les quêtes, il suffit de télécharger le . Mais pour développer sa propre quête ou pour contribuer à l'édition d'une quête dans une optique communautaire, il vous faudra installer le
Mais avant d'utiliser l'API Lua de Solarus, il faut apprendre les bases du Lua (un langage simple et minimal, mais très puissant). Les sont un bon moyen pour débuter, expliquant étape par étape comment construire les éléments classiques : maps, menus, cinématiques, énigmes, donjons, ennemis, etc. La de Solarus est là où vous devez chercher dès que vous avez une question sur l'utilisation de cette API.
Vous avez vu les bases en lua ? Vous connaissez l'organisation d'ensemble d'une quête Solarus et les fonctions de l'éditeur de quête ? Vous pouvez désormais contribuer au développement du jeu icaRius, directement via le dépôt github avec le code source de la quête correspondante.
Le système d'information statistique à l'Insee et dans les services statistiques ministériels (SSM) s'inscrit dans une riche histoire de pratique du logiciel SAS, longtemps au centre des travaux de traitement et d'étude de la donnée, quand les autres solutions statistiques sont restées limitées à des usages spécifiques (comme Stata ou Matlab) ou n'ont pas été retenues comme référence dans l'environnement numérique de travail (comme SPSS). Les dernières années ont toutefois vu l'émergence de suites statistiques alternatives, bénéficant d'un large soutien d'une communauté d'utilisateurs qui ont rapidement enrichi les fonctionnalités offertes. Ainsi, R et le poste de développement Rstudio occupent désormais une place de premier rang dans le paysage des logiciels et des langages de traitement du chiffre.
À l'horizon 2025, l'Insee prévoit de diversifier son socle d'outils statistiques en s'appuyant sur les solutions relevant du domaine du libre, et plus particulièrement, sur R et l'éco-système qui l'accompagne (la richesse des packages développés par la communauté des utilisateurs). Cette préoccupation est partagée par l'ensemble des services statistiques ministériels. Elle répond également aux attentes des jeunes recrues au sein du système statistique public, pour lesquelles le langage R a une place significative au sein de leur formation initiale, et qu'ils souhaitent pouvoir utiliser dans le cadre de leur activité.
Les SSM ont également investis dans les démarches d'accompagnement des agents du système statistique public dans l'apprentissage de l'environnement R :
des applications facilitant la découverte de la grammaire R : exemple de Rgonomics au SSP
des packages pour faciliter les principaux traitements réalisés par les agents, comme "Ressources en R à la Drees" (rdress).
et bien d'autres initiatives, que nous ne saurions ici recenser...
Tout en appartant le socle d'un accompagnement réussi de l'ensemble des agents de la statistique publique, ces différentes actions à l'Insee comme en SSM rencontrent deux limites principales :
la capacité à mobiliser une communauté de formateurs pouvant faire face à l'ampleur du dispositif de formation mis en place dans chaque structure, et en particulier à accompagner dans la durée les agents qui s'engagent dans un parcours d'apprentissage.
le niveau d'accessibilité du cursus de formation qui, même s'il s'appuie sur des modules introductifs voulus ouverts au plus grand nombre, peine à couvrir l'ensemble du public novice sur R. En particulier, deux publics peuvent être plus difficiles à toucher : (i) d'une part, des agents maîtrisant un autre logiciel de traitement du chiffre, qu'il s'agisse d'un logiciel statistique (SAS) ou d'un tableur (Calc), pour lesquels changer d'environnement est surtout perçu comme un coût (ii) d'autre part, des agents moins à l'aise avec les outils de traitement de chiffre et pouvant être confrontés à une barrière psychologique à l'idée de se former en R.
Le projet de funcamp R vise à apporter un levier d'action sur ces deux difficultés, en couvrant en priorité un public débutant en R d'une part, en visant à dégager des synergies au sein des différents réseaux de formateurs R au sein du SSP d'autre part.
S'inspirant de l'élan événementiel qu'apporte un hackathon, mais davantage axé sur la pédagogie et le jeu que sur la compétitition et l'expertise, le funcamp R se définit comme un dispositif ludique réunissant un large nombre d'acteurs dans des activités mêlant découverte, défis collectifs et transfert de connaissance. Le projet initial a visé à mettre en place des parcours initiatiques suivis en petits groupes en présentiel, avec un accompagnement apporté par des formateurs du SSP et des tuteurs mobilisés parmi les communautés d'entraide R existant dans nos réseaux. L'occasion d'avoir un temps de rencontre entre l'Insee, les SSM et/ou leurs services déconcentrés, dans un esprit d'apprentissage collectif. Dans cette idée, le funcamp R était avant tout imaginé comme un évènement à organiser sur une journée, jouant de la proximité entre des stagiaires et des tuteurs, dans des interactions originales liées au jeu icaRius.
Tout en restant une modalité d'organisation visée à moyen terme, l'arrivée du COVID19 a conduit à adapter le projet, pour proposer à court terme une expérience de formation à distance, jouable par un stagiaire en télétravail. Une approche qui nécessite un effort particulier pour guider le stagiaire, à la fois dans son parcours d'apprentissage mais aussi dans sa découverte du jeux vidéo icaRius !
Le pari est-il réussi ? A vous d'en juger, en vous rendant sur la page "Jouer (et apprendre)" !
Toutefois, tous les agents n'ont pas bénéficié d'une formation initiale en R, et sont légitimement en attente d'un parcours adapté. L'accompagnement des agents est ainsi la pierre angulaire de la promotion de R dans l'institut et dans le système statistique public. De multiples actions ont été engagées en ce sens. Dans le cas de l'Insee, il faut citer en particulier le projet Palettes, qui comprend notamment la construction d'un parcours de montée en compétences sur R, via la conception d'une offre de formation, la création d'un réseau de formateurs, le soutien des commmunautés locales et la mise en place d'ateliers de partages de pratique. D'autres actions ont pu prendre place, comme l'élaboration d'une documentation R à l'usage des agents de l'Insee (voir ) ou des formations conçues par des agents de l'institut (par exemple )...
des parcours de formation dédiés ont été mis en place : exemple du fondée sur un noyau commun (premier programme en R et préparation des données) puis des modules d'approfondissement à la carte
Les contrôleurs stagiaires à la découverte de R
Dans une ambiance de compétition détendue autour du logiciel R s’est déroulé un Funcamp R au Cefil le 30 mai 2023. C'est la première fois que le Cefil déployait une formation R à destination des contrôleurs promus au choix dits "contrôleurs B2".
Les 41 contrôleurs stagiaires, promus au choix ou lauréats du concours interne spécial, répartis en 7 villages, ont pu défier les différents arcanes et autres pièges se cachant dans les logiciels de statistiques pour aider le jeune Icarius à libérer la belle princesse Statia des mains de l’ignoble SASsos.
Cette innovation tant pédagogique que technique a eu un succès certain auprès des aventuriers cefiliens qui se sont pris au jeu assez rapidement. Même si un seul binôme a réussi à libérer la princesse après de longs combats acharnés, l’essentiel n’est pas là. Cette escapade icarienne sous une journée estivale caniculaire a été émaillée d’un buffet froid permettant de continuer les échanges.
- 1 journée de répétition générale par l'équipe pédagogique du Cefil appuyée par Valérie Baltz et Laure Genebes le 29 mars 2023
- Le jour J : le 30 mai 2023 de 09 H 00 à 17 H 00
- 7 villages de 2 ou 3 équipiers
Le Cefil est prêt pour une nouvelle aventure avec les contrôleurs en 2024 !
- Les aventuriers étaient réunis dans une grande salle et regroupés en 'villages' : il a fallu prévoir un grand stock de rallonges et chargeurs
Attention spoiler : la trame pédagogique est présentée de concert avec l'habillage narratif :-)
objectifs pédagogiques
Présenter R (open source, multi-plateforme) et ses possibilités (graphiques, calculatoires, web, SIG...)
Présenter la programmation avec R comme un dialogue avec la console ; décrire la boîte de dialogue
-Faire des opérations arithmétiques et manipuler un objet
cadre narratif Début de l’aventure dans la maison d'icaRius. Découverture du grimoire IgoR et de la langue des Runes
(l’aventure continue…) Exploration des plaines de Statis. Rencontre de Statia, qui offre à icaRius son épée et lui demande de retrouver les 6 Runes. Entrée dans le village de Kokoro
objectifs pédagogiques
Savoir importer un fichier sous différent format
Appréhender la notion de chemin vers une ressource et un répertoire
Afficher des données et en avoir une première exploration (nombre de lignes, de colonnes, premiers enregistrements)
cadre narratif Dans le village de Kokoro, icaRius aide la fermière et le fermier à recomposer le livre des pontes pour trouver la meilleure poule pondeuse En récompense, le mage Tourep lui offre un bouclier
(l’aventure continue…) Le soldat laisse passer icaRius et sortir du village Kokoro 1er boss (le papillon géant) et obtention d’une première Rune. Entrée dans le village de GrissGrass
objectifs pédagogiques Apprendre à utiliser une fonction parmi celles chargées dans l’environnement R Comprendre la notion d’argument dans une fonction Utiliser une fonction de statistique descriptive sur un jeu de données Lire des indicateurs de distribution (moyenne, médiane...)
cadre narratif Le chef du village de GrissGrass demande à icaRius de trouver quelle est l’exploitation la plus productive en herbe de Mandragore.
(l’aventure continue…) Le chef du village demande à icaRius de percer le mystère de l’exploitation du fermier Galia
objectifs pédagogiques Introduction du %>%
notion de grammaire avec verbe(sujet, complément)
devient sujet %>% verbe(complément)
cadre narratif Le fermier Galia aide icaRius à retrouver la recette de la culture de la Mandragore
(l’aventure continue…) Le chef du village offre à icaRius un jus de Mandragore. Ce dernier lui permet de franchir le cimetière du village. 2ème boss du jeu (l’homme enterré) et d’obtenir la 2ème Rune. IcaRius rejoint le château de Statis. Il rencontre le chef de armées (qui est un sbire du sorcier SaSSoS)
objectifs pédagogiques comprendre les notions de couches graphiques Maîtrise les fonctions associées à ggformula tracer un nuage de point, une courbe, un diagramme en barre
cadre narratif Se faisant passer pour un soldat de l’armée de SaSSoS, icaRius fait croire au chef des armées qu’il va attraper le traitre Essespéus. Pour libérer ce dernier, il doit d’abord obtenir la confiance du cuistot Batreb
(l’aventure continue…) Batreb donne la clef à icaRius, qui retrouve Essespéus dans une partie secrète du château (la cave à Ambroisie)
objectifs pédagogiques Appréhender la personnalisation des couches graphiques (couleurs, formes) Maîtriser les éléments connexes d’un graphique (titre, légende...)
cadre narratif Essespéus et icaRius vont créer une Fake News pour tromper les armées de SaSSoS. Pour cela, ils doivent identifier quel est le royaume le mieux armé et le plus éloigné, en faisant ensuite croire qu’il s’agit au contraire du territoire le plus faible et le plus proche, afin d’y diriger les troupes ennemies pour gagner du temps.
(l’aventure continue…) Le chef des armées prend pour argent comptant la fake news. Il quitte le château pour attaquer ce territoire prétendument proche, et laisse icaRius accèder à la salle de commandement, où se trouve le sorcier SaSSoS. Au cours du combat entre icaRius et SaSSoS, la princesse Statia vient aider le héros… qui triomphe. Il obtenient la 3ème Rune. Mais ce n’était qu’un simulacre de SaSSoS, une projection du sorcier qui défie icaRius de venir le vaincre en personne.
objectifs pédagogiques comprendre la notion de vecteur Manipuler des vecteurs et des éléments de vecteur Utiliser la position des éléments dans des calculs
cadre narratif Une fois sortie du château, icaRius rencontre le Mage Delagarde. Ce dernier lui propose un défi (optionnel) pour obtenir les bonnes directions lui permettant de gagner du temps dans le labyrinthe. A noter côté jeu : une épreuve optionnelle pour débloquer un mode « pacman ».
(l’aventure continue…) IcaRius franchit le labyrinthe, puis se trouve devant un passage bloqué par une pierre qu’il lui faut soulever. Le mage Zilap vient l’aider
objectifs pédagogiques Découvrir la notion de package Prendre connaissance de l’ensemble de packages liées au Tidyverse
cadre narratif Pour soulever la pierre qui bloque le passage, icaRius doit apprendre de nouveau sortilège. Le mage Zilap lui explique comment ajouter des chapitres à son grimoire IgoR (chaque package étant un nouveau chapitre).
(l’aventure continue…) Zilap offre à icaRius la plume du tidyverse. Cette dernière a le pouvoir de rendre léger les obstacles qui semblaient insurmontables : icaRius peut désormais soulever des pierres sur son passage.
objectifs pédagogiques Découvrir des fonctions de dplyr pour manipuler les données Utiliser filter(), arrange(), mutate() Composer des fonctions sur un jeu de données
cadre narratif IcaRius arrive dans le village de Sandia. Mam’Grouxi lui narre les innombrables naissances qu’elle a vu au fil des ans (des siècles?). Elle lui demande de retrouver, dans le registre des naissances, le nom d’une jeune fille dont le Mana (la force vitale et magique) est le plus élevé.
(l’aventure continue…) IcaRius trouve le nom de la mystérieuse jeune fille (qui se trouve être la princesse Statia). Mam’Grouxi lui offre des bombes en cadeau. Ces dernières lui permettent de découvrir un passage secret dans la paroi d’une falaise. IcaRius explore des grottes, jusqu’à vaincre un nouveau boss et obtenir la 4ème Rune.
objectifs pédagogiques (i) sauvegarder les objets dans l'environnement R, avec save() (ii) exporter les résultats en dehors de l'environnement R : exporter un tableau de données avec export(), sauvegarder un graphique avec ggsave(), garder trace des résultats des calculs publiés dans R avec sink()
cadre narratif Dans ses pérégrinations, icaRius se trouve pris au piège dans une "forêt magique". Késako ? il s'agit d'un endroit avec plusieurs sorties possibles ; quand le héros prend une sortie, il arrive dans un endroit… exactement identique ! Il doit en fait enchaîner plusieurs directions dans un ordre précis pour sortir de ce lieu enchanté. Comment trouver la sortie ? S'échapper de ce piège ? En apprenant à garder la mémoire de ce que l'on fait, de la direction que l'on vient de prendre… D'où le tutoriel "Save Me", pour trouver la bonne sortie. Et la combinaison de directions sera indiquée dans le graphique exporté.
objectifs pédagogiques sensibiliser à la dimension reproductible : pouvoir « rejouer » le code facilement Expliciter la notion d’éléments variables Apprendre à écrire soi-même une fonction pour factoriser son code
cadre narratif Dans une maison-arbre, icaRius croise un étrange personnage : l'automate TeoC. Ce dernier lui demande s'il connaît la "Voie du Reproductible". Mauvaise réponse d'icaRius, qui n'a aucune idée du sujet… L'automate déraille, et par la même occasion, envoie icaRius au point de départ : la toute première scène du réveil dans la chambre !!! Les personnages d'origine (le mage Zilap, le mage Regor) sont tous remplacés par des répliques de TeoC. Et ce dernier demande de chercher la copie du grimoire IGoR, à partir de laquelle va se lancer le tutoriel 1(1) (réplique du tutoriel 1). Quand il aura réussi l'épreuve, icaRius sera heureusement renvoyé dans le présent. En récompense, il gagnera un objet qui revient sans cesse au point de départ (métaphore du reproductible) : le boomerang ! Ce dernier lui permet d'atteindre des cibles éloignées, et par la même occasion de débloquer un passage dans le jeu pour aller plus loin.
(l’aventure continue…) IcaRius débloque l’entrée d’un nouveau donjon. A l’issue du donjon, il combat « l’oeil de SaSSoS » qu’il parvient à vaincre. Obtention de la Rune n°5.
objectifs pédagogiques -sensibiliser à l’importance de la documentation d’un programme, quel qu’il soit
découvrir une grammaire pour documenter ses fonctions
découvrir les principes (très simplifiés) sur la construction d’un package
cadre narratif IcaRius arrive au bord du grand lac de Statia… aussi appelé le DataLake. Mais il ne sait pas nager, et ne peut le traverser pour rejoindre l’île qui se situe en plein milieu. Un drôle d’oiseau, FebeleR, féru de littérature statisienne et de grimoires, lui propose de lui apprendre un nouveau sortilège, le sortilège palme()… mais encore faut-il en connaître le mode de fonctionnement. Et donc savoir documenter un sortilège.
(l’aventure continue…) IcaRius arrive sur une île, avec le dernier donjon : le palais de la glace. A l’issue du donjon, il combat « le brouillard du code embrouillé » qu’il parvient à vaincre. Obtention de la Rune n°6
objectifs pédagogiques
faire la transition depuis le monde d'apprentissage du Funcamp vers le monde "réel" d'apprentissage de R à la fin de la journée.
donner un premier aperçu de l'IDE Rstudio,
découvrir Rmarkdown comme solution centrale pour marier un traitement statistique et le produit attendu (un rapport, une note de synthèse, un graphique commenté…).
cadre narratif A la toute fin de l'aventure, icaRius doit écrire lui même le dernier chapitre de l'histoire. C'est dans cette ultime page qu'il doit raconter comment il a vaincu SaSSoS. Vertu performative de la langue runique : le fait de l'écrire conduit à réaliser ce qu'elle mentionne, et le monde de Statis est sauvé !
(l’aventure continue… et se termine !) IcaRius écrit comment il parvient à vaincre les terribles proc de SaSSoS. Aussitôt cette page écrite, le joueur se dirige vers l'antre de SaSSOs, qu'il combat pour libérer Statia… et mystère quand à la dernière scène du jeu, il vous faudra jouer pour la découvrir :-)
Les acteurs du projet
Un groupe de joyeux lurons, assurément ! Mais aussi, à l'occasion, des statisticiens, géomaticiens, économistes et autres "datascientists" intéressés par les questions de pédagogie...
Insee, DSI, Unissi : Arnaud Degorre, arnaud.degorre@insee.fr
Insee, DSI, projet Palettes : Jean-Luc Lipatz, jean-luc.lipatz@insee.fr
MTES, Sylvie Didier-Perot, sylvie.didier-perot@developpement-durable.gouv.fr
MTES, DREAL Pays-de-la-Loire, Maël Theulière, mael.theuliere@developpement-durable.gouv.fr
MTES, Jérôme Baret , jerome.baret@developpement-durable.gouv.fr
MTES, Olivier Chantrel, olivier.chantrel@developpement-durable.gouv.fr
Insee, CEFIL, Julien Nicolas, julien.nicolas@insee.fr
Insee, DR Nouvelle Aquitaine, Laure Genebes, laure.genebes@insee.fr
Insee, DR PACA, Pascal Eusébio, pascal.eusebio@insee.fr
Insee, DR Centre Val de Loire, Sébastien Terra, sebastien.terra@insee.fr
Insee, DR Hauts de France, Fabrice Danielou, fabrice.danielou@insee.fr
ThinkR - Diane Beldame, diane@thinkr.fr
ThinkR - Vincent Guyader, vincent@thinkr.fr
Un aperçu d'une partie de l'équipe, à l'occasion d'une Webconf pendant la période de confinement :
Nous remercions l'ensemble des acteurs qui nous ont fait confiance dans la réalisation de ce projet, et qui nous ont épaulé dans cette aventure.
Au sein de l'Insee, la démarche a été pilotée par la Direction du système d'information au sein de l'Unité Innovation et stratégie du SI. Elle a été suivie et soutenue par un groupe d'acteurs associant le directeur du projet Insee 2025, les acteurs de formation continue (le CEFIL, Centre de formation de l'Insee à Libourne, et la division Formation) et des directions régionales (Nouvelle-Aquitaine, Provence Alpes Côte d'Azur, Haut-de-France, Centre Val de Loire). Le projet a d'emblée profité de la participation du ministère de la Transition écologique et solidaire, avec le Commissariat général au développement durable (CGDD) et le Service de la donnée et des études statistiques (SDES).
La société ThinkR, spécialisée dans la formation R en France, nous a accompagnés tout au long du périple d'icaRius. Développeurs et consultants expérimentés, passionnés et contributeurs open source, les formateurs thinkR ont apporté à la fois leur sensibilité pédagogique et leur expertise technique. Les contenus de leurs formations font la part belle à la pratique, dans un état d'esprit « learning by doing » que l'on retrouve également dans la philosophie du funcamp R. En particulier, thinkR promeut une approche dite « cake first », qui consiste à outiller aussi rapidement et efficacement que possible les stagiaires en s’affranchissant de détails techniques ou superflus - ce que nous avons également retenu pour construire les chapitres du grimoire IGoR.
Nous remercions également la communauté Solarus pour son accueil et son aide. Grâce à la richesse des ressources proposées en ligne, avec des packs de ressources, des tutoriels vidéos, un forum très actif, l'appropriation des bases du moteur de jeu "from scratch" a pu se faire dans le calendrier du projet. Merci en particulier à christopho, l'auteur du moteur Solarus, et Diarandor, pour leurs premiers conseils. A l'issue de ce premier prototype de funcamp, un travail partenarial pourra être proposé à la communauté Solarus, désormais structurée sous forme d'association, pour améliorer le code du jeu et en proposer une version complètement open source.
Pour en savoir plus sur thinkR :
Pour en savoir plus sur Solarus :
Le lundi 26 avril 2021, les acteur·rice·s du système statistique public de la Nouvelle-Aquitaine ont uni leurs forces pour se lancer dans l'aventure du FuncampR et tenter de vaincre le terrible SaSSoS. Une cinquantaine de participant·e·s ont participé à l'aventure vidéo-ludique d'IcaRius.
Insee, Srise, Direccte, Dreal, ... L'ensemble des différents établissements concernés étaient au rendez-vous.
Un séance préparatoire d'enrôlement (1H pour découvrir l'environnement du jeu, l'utilisation spécifique de Zoom et découvrir votre village)
Une journée (9h00-12h00 et 13h30-16h30) en Zoom pour progresser ensemble.
Fin des inscriptions : vendredi 19 mars 2021
Sessions d'enrôlement des participant·e·s :
Jeudi 01/04 de 14h00 à 15h00
Mercredi 07/04 de 14h00 à 15h00
Jeudi 15/04 de 09h30 à 10h30
Le FuncampR en Nouvelle-Aquitaine : lundi 26 avril de 9h00-12h00 et 13h30-16h30
Pour en savoir plus, n'hésitez pas à contacter : funcamp-r@insee.fr