Sur la dernière décennie, le nombre d'organismes de formation, de cursus spécialisés et autres MOOC / POOC / SPOC... a littéralement explosé, mettant le SOOC dans le milieu de la formation. En parallèle, leur audience a, elle aussi, été multipliée par des chiffres que beaucoup d'autres secteurs rêveraient de pouvoir afficher. Pourtant, entre les suites e-Learning d'entreprise (LMS, LcMS, modules "Training" de SIRH...) et quelques rares alternatives un peu trop fouillées comme Moodle (plutôt destiné aux universités & Co, in fine), il n'existe que très peu de plateformes faisant la part belle au peer-learning et à toute la richesse qu'il peut apporter, lorsqu'il est bien utilisé, mis en place et animé.
Du coup, notre projet est simple, basique (cace-dédi à Orel' !) : concevoir, instancier, coder et vous proposer une plateforme à la THP... Mais réalisée par des alumni et proposable en marque blanche à des entreprises ou institutions de formation souhaitant déployer à l'échelle le "Distant Peer-Learning" ou DPL (Et PAF ! Un nouvel acronyme dans le paysage audiovisuel français...Blague télévisuelle inside 📺). Ne voyez là aucune vélléité à la Iznogoud mais plutôt une envie forte et partagée de notre core team d'explorer le sujet "plateforme web d'apprentissage" 😉 plutôt qu'un clône de LBC, Kayak & Co.
Le parcours d'un(e) "apprenant(e)" 👸
, globalement, vous le connaissez puisque vous le vivez encore présentement au quotidien :
- Découverte, via une landing page assortie d'une recherche à filtres, des thématiques, des cursus liés, des modalités pédagogiques et administratives, des conditions tarifaires, etc.
- Inscription (tu sais, le fameux bouton "Sign Up" suivi de ce satané formulaire hyper long et toujours identique à remplir... 😉)
- Connexion (là, on est plus sur le "Sign in" 😄, moins douloureux et qui permet enfin d'accéder au contenu de formation tant convoité)
- Depuis un "dashboard / tableau de bord" de l'apprenant(e), l'utilisateur(trice) peut s'inscrire à certains curriculums, choisir (ou suivre de force) les thèmes qui l'intéressent, passer des quizz en fin de "cours", progresser... ou essayer encore :
Mais, au-delà du (de la) moussaillon(ne), il faut imaginer qu'une énorme part de la plateforme, et donc du code lié, va devoir faciliter la gestion quotidienne de la plateforme par un(e) ou plusieurs administrateur(trice)s 😎
:
- des contenus de formation
- des inscriptions
- et - évidemment - des apprenants... Ces emm*****eur(euse)s... Empécheur(se)s de tourner en rond, qui n'arrêtent pas de poser des questions, remonter des bugs ou demander de nouvelles fonctionnalités qu'ils (elles) n'utiliseront pas.
- Côté technique :
- Une BD postgreSQL parce que c'est quand même un DBMS à la fois puissant et robuste 💪.
- Un back-end basé sur Rails... Pas le plus robuste des frameworks qu'on ait vu, pour le coup, mais avec du bon quand même et, surtout, une communauté qui l'alimente en gems sans cesse renouvelées et ➕ / ➖ maintenues 🐛.
- Un front avec un peu de Bootstrap mais aussi une superbe sur-couche pour ne pas ressembler à toutes les apps Meta.
- Une pincée de Javascript, assurément, pour ajouter de la vie dans la plateforme et éviter les échanges de formulaires et validations un peu relous à base de routage HTTP.
- Sur le pan "business" et processus :
- Des pages "infomerciales", avec les cursus proposés, les tarifs, la philosophie de la plateforme, les tarifs, des contacts, les infos sur la team...
- Quelques exemples de contenus pédagogiques (légers, hein, on a pas 10 mois devant nous !), développés pour l'occasion ou inspirés d'existants intéressants
- Un système de souscription (inscription et paiement, le cas échéant) puis de connexion donnant des accès particuliers aux membres
- En symétrie, côté "back-office", un tableau de configuration et gestion, dédié aux administrateur(trice)s (e.g. création de modules de formation, organisation des modules en cursus, gestion des apprenants, de leur progression, de leurs évaluations...) ; en sus, quelques infos utiles au pilotage (ex. nombres d'apprenants par typologie de contenu, par niveau d'avancement, par cursus... Mais aussi, des "données économiques" : chiffre d'affaire global, par cursus...)
"Décris ici comment tu vois la base de données de l'application ?" Bien pensée, bien remplie, évidemment : pourquoi cette question 😄 ?
Plus sérieusement, le modèle central n'est pas trop compliqué et devrait vous rappeler quelque chose :
- Des "users" :
- certains seront spécialisés en "apprenants" (i.e. users inscrits),
- d'autres seront juste des "prospects" (i.e. infos récupérées via la landing page et que nous ne manquerons pas de spammer avec des offres commerciales bienveillantes 👹)
- d'autres encore auront un rôle de "référent / enseignant" (à voir comment on l'utilisera par la suite...)
- enfin, un petit nombre d'élu(e)s bénéficieraient de l'enviable statut d'administrateur(trice) : le "God Mode" de la plateforme, en quelques sortes 😎.
- Des contenus pédagogiques structurés en cours / modules / cursus ou quelque chose d'approchant
- Des inscriptions qui feront le lien 🔗 entre certains des utilisateurs évoqués et leurs apprentissages
- Des évaluations, une pour chaque 'user' sur chaque 'cours' de chaque 'module' de chaque 'curriculum' (structure non-contractuelle 😉)
- A cela pourrait sûrement s'ajouter quelques "vérues", du genre like et commentaires à propos des cours
Déjà détaillé plus haut, en 3.1 : du Bootstrap revampé, du javascript (vanilla), de belles images avec un camaïeu top hype, une navigation intuitive et le tour est joué !
Hormis Rails et les quelques gems Ruby / RoR déjà étudiées ("devise" pour le sessionning, "dotenv-rails" pour gérer d'éventuelles infos sensibles à stocker, "stripe" pour... permettre les paiements via Stripe, quelque chose pour un éventuel chat entre élèves, etc.) on a pas encore achevé de réfléchir jusqu'à quel point on pourrait / voudrait / saurait / aura le temps de pimper notre PLP... Pardon, Peer Learning Platform.
En gros, on a déjà un noyau d'équipe (un "seed" 😉) constitué de :
- Wilfried PAILLOT, The Code Gardener. Il cultive le code comme on chérit un bonzaï 🌳 ou on bouture des orchidées rares 🌺, le fait grandir 🌱 et sait tout faire pousser 🌸 🌾 🌼 🌴 🌽 🍄, en particulier du PHP, du Ruby et du Bootstrap. La légende dit qu'il peut coder des algos hyper stylés sur des arbres N-aires rien qu'en en effleurant les 🍂.
- Yassine ROCHD, The Cypher. Notre "homme du chiffre", expert en Private Equity 💸 🚀 , en Real Estate 🏠 et, à ses heures perdues, body builder émérite autant que daily coder pour le front desk des Rotschild, JP Morgan & Co. Quand il n'est pas dans les travaux de l'une de ses nombreuses résidences secondaires 🏡, il se balade dans les couloirs du Corail 🚋 Paris - Toulouse dont il affectionne la voiture bar(-chart) 📊.
- Jean-Baptiste VIDAL, The Amstrad Mastermind. Il est tombé dans le code quand il était tout petit (:heart:CPC 6128❤️). Depuis, il n'a pas beaucoup grandi et a dû faire une désyntox' 💉 de 15 ans "no code" 💔. Depuis quelques semaines, THPix, le druide du peer-learning lui a permis de reprendre quelques lampées de prog', The Librarian lui a trouvé 1 ou 2 sites de docs sympas sur Ruby Guides et, jusqu'ici, hormis quelques scaffoldings un peu trop sauvages, tout va bien...
- Victoria FELY, The Creative. A ceci, il ne manquait plus qu’une touche féminine avec la Lara Croft du design ✨. Jumpeuse du print au digital sans jamais s’essouffler 🙆♀️, aventurière jusqu’au bout elle n’a pas peur d’aller sur le « front ». Junior en la matière, mais motivée « as fuck » elle va cependant affronter les obstacles et tenter le tout pour le tout 👊 💥.
Pour la gestion du projet, nous aurons un espace de travail Trello. Discord restera notre outil d'échanges, écrits, visuels et vocaux.
Pour la conception, nous pensons utiliser 2 outils :
- Whimsical pour les aspects wireframing du site (~site map / tree), modélisation de la base de données, etc.
- Figma pour le pan graphique et UI du prototypage
Nous travaillerons essentiellement en sprints quotidiens avec une répartition des tâches permettant à chacun(e) d'entre nous de toucher à la fois au front et au back de l'application, de prendre part à la conception comme à la réalisation. Certaines tâches nécessiteront évidemment aussi que nous épaulions et regroupions nos force / compétences 💪. Aucun(e) d'entre nous ne restera donc bloqué(e) des heures, esseulé(e) jusqu'au désespoir 😭 😩 : nous sommes avant tout une équipe !
Afin de se familiariser avec le code produit par nos collègues, les reviews de test pour validation se feront, en équipe, en début de journée avant la définition du sprint.
Tout ça reste évidemment à préciser à date mais on peut imaginer, au bout de ces quelques jours, d'avoir, en plus d'une "landing page" :
- les pages et fonctionnalités de base de consultation, modification (selon le type de profil), création (idem) et suppression (idem²) des principaux "objets" du modèles (user, courses...)
- quelques pages d'info et d'accroche, lorsqu'on est pas connecté ; par exemple : cursus, tarifs & financements, contact, équipe...
- les utilisateurs des différents types (apprenants, admins)
- les cours assemblés de façon arborescente, en modules et/ou cursus
- les sessions / promotions qui regroupent des modules / cours sur une période donnée et rassemblent des users inscrits
- le système de mails d'information / confirmation qui va avec tout ça
- un tableau de bord pour :
- l'apprenant qui résume les modules suivis, les cours réussis, l'accès au catalogue de formation...
- l'administrateur qui centralise des informations et chiffres en lien avec les apprenants, les chiffres de participation par cours/modules,
Le tout avec un look acceptable qui ne pique pas trop les yeux... Alors, ça vous parle ? Partant(e)s ?
En plus de finaliser les fonctionnalités et le look du MVP de la semaine n°1, on pourrait discuter d'ajouts comme :
- une messagerie interne (instantanée type chat ou asynchrone type forum) ; éventuellement avec une logique de messages privés vs. publics
- des commentaires et/ou likes sur les éléments de cours (avec une possibilité de revue par les administrateurs ?),
- des évaluations (individuelles, via des quizz) ; le tout obligeant possiblement ou offrant de repasser le test quelques heures après un raté (ex. < 80% de bonnes réponses individuelles)
- de l'authoring / CMS simple pour saisir le contenu des cours ; au format MD, par exemple
- des indicateurs de pilotage et/ou KPIs, à destinations des apprenants (ex. temps moyen constaté pour achever un module) et/ou des administrateurs (ex. nombre d'inscrits, etc.).
- Rendre les évaluations plus uniquement individuelles mais "par les pairs" avec des "barrières" adaptées (ex. 80% d'appréciations positives par le ou les correcteurs)
- Logique de "sessions / promotions" plutôt que d'inscription à la volée et individuelle
- Ajouts d'autres types d'utilisateurs (e.g. mentors) avec des fonctionnalités particulières.
"Qui est ton mentor ?" Alors là... Vu le sujet, on pensait humblement s'appuyer sur Félix et/ou Guillaume, voire les deux. Puis on s'est dit qu'ils étaient peut-être un tantinet occupés par autre chose. Nous sommes donc en recherche active 👀 🔭 🔍 d'un(e) mentor qui :
- serait intéressé(e) par cette thématique "Learning"
- saurait nous re-cadrer dans notre gestion du projet quand nécessaire
- voudrait nous apporter toute son expérience / savoir-faire en Ruby/RoR pour nous orienter, nous accompagner et/ou nous corriger lorsque nous nous mettrons à coder avec les pieds! 😓 👞 👠
Et ça y est : en ce mardi 8 mars 2022, avant que ne sonnent 14 heures, Camille LE LAN - TOSON a solennellement accepté d'être notre mentor ! Croiser les doigts 🍀 et prier 🙏 porte donc ses fruits 😉 !
Si tu es emballé(e) par ce projet, notre état d'esprit, et que tu aimes transmettre tes connaissances, n'hésites pas à envoyer un MP sur Discord à l'un(e) d'entre nous
- Wilfried PAILLOT | Wilfried_P#3138
- Victoria FELY | Victoria Fely#4229
- Yassine ROCHD | YARO#3338
- Jean-Baptiste VIDAL | GibbZ#4997
A très bientôt !
Que tu sois moussaillon(ne) - candidat(e) ou pas à nous rejoindre -, pirate, corsaire ou membre du staff, nous sommes preneurs de ton avis, tes suggestions, etc. N'hésite donc pas à nous aborder (et pas saborder, hein...) sur Discord pour nous donner ton avis, ta vision, des idées, etc !
