Logo Cinquin Andy Signature

Générateur de groupes de classe

Développeur Freelance - Logo

Le projet en image

Résumé du projet

Introduction

Récemment, ma petite sœur m'a confié un défi passionnant : concevoir un générateur de groupes pour sa classe, capable de mixer de manière aléatoire les élèves de CE1 et de CE2. L'objectif était de faciliter la création de groupes hebdomadaires variés pour ses 7 tables, dans un souci d'équité et de dynamisme pédagogique. Dans cet article, je vous invite à découvrir les coulisses de ce projet modeste mais ô combien significatif, réalisé avec amour, créativité et un brin de technologie moderne.

Le Défi Posé

La demande était claire : développer une solution simple permettant d'assigner aléatoirement 4 élèves (2 de CE1 et 2 de CE2) à quatre tables, et 3 élèves (1 de CE2 et 2 de CE1) aux trois tables restantes, avec une nouvelle configuration chaque semaine. Ce système devait aussi permettre de saisir le niveau des élèves pour affiner les groupements.

Choix Technologiques et Outils Utilisés

Pour relever ce défi, j'ai opté pour une pile technologique moderne et efficace :
  • Next.js (14.0.0) : pour un rendu côté serveur rapide et une expérience utilisateur fluide.
  • React (18.2.0) & React-DOM (18.2.0) : pour construire une interface utilisateur réactive.
  • Zustand (4.4.4) : un gestionnaire d'état simple pour React, évitant la complexité de Redux ou Context API.
  • DaisyUI (3.9.4) et TailwindCSS (3.3.5) : pour un design élégant sans sacrifier la personnalisation.
  • AOS (2.3.4) : pour des animations de scroll attractives.
  • Prettier (3.0.3) avec le plugin TailwindCSS (0.5.6) pour un code propre et formaté selon les standards.
Les dépendances de développement comprenaient également ESLint, TypeScript, et divers plugins pour garantir la qualité du code. L'ensemble du projet était versionné sur GitHub, avec des pipelines CI/CD pour un déploiement automatique via Docker sur un serveur CapRover, assurant une mise en production sans accroc.

Conception et Développement

Le développement a commencé par la conception de l'interface sur Figma, où j'ai esquissé un design intuitif permettant une saisie facile des élèves et de leur niveau. L'interface devait être ludique et accessible, même pour les enseignants moins à l'aise avec la technologie.
Grâce à DaisyUI et TailwindCSS, j'ai rapidement stylisé l'application sans écrire des tonnes de CSS. Zustand a facilité la gestion de l'état des élèves et des groupes, rendant le mélange et l'assignation des élèves un jeu d'enfant.

Déploiement et Utilisation

Le déploiement sur un serveur Contabo via CapRover et Docker a rendu l'application facilement accessible à ma sœur et à ses collègues. Une simple visite sur le site web et ils pouvaient générer des groupes en quelques clics, prêts à être affichés chaque semaine.

Résultat et Réflexions

Ce projet, bien que modeste en apparence, a renforcé ma conviction que la technologie, lorsqu'elle est appliquée avec soin, peut apporter des solutions simples et efficaces aux défis quotidiens. L'enthousiasme de ma petite sœur et de ses collègues devant cette petite innovation a été la meilleure des récompenses.

Conclusion

Le générateur de groupes aléatoires pour classe est un exemple parfait de comment un petit projet peut avoir un grand impact. Il illustre également la beauté de combiner passion, technologie et créativité pour résoudre les problèmes pratiques. C'est avec une grande fierté que je partage cette aventure, espérant qu'elle inspire d'autres développeurs à mettre leurs compétences au service de l'éducation et au-delà.

Les technologies utilisées

icon-3dCSS3 Icon
icon-3dHTML5 Icon
icon-3dTailwindCSS Icon
icon-3dCaprover Icon
icon-3dNextJS icon
icon-3dJavascript Icon
icon-3dDocker Icon
icon-3dESLint logo
icon-3dRenovate Icon

Les sites et les ressources associées

DÉVELOPPONS ENSEMBLE VOS PROJETS

Une idée, un projet ? Je suis là pour répondre à vos demandes et vous accompagner.
N’hésitez pas, je serais ravi d’échanger avec vous sur votre projet !
© 2024 Andy Cinquin - Tous droits réservés - Developed & Designed with ❤️ 🐝 ForHives co-founders