À propos du projet
Masarak est une plateforme web arabe à direction RTL destinée aux élèves du secondaire au Yémen, visant à les aider à explorer leurs penchants et à comprendre les options académiques et professionnelles disponibles de manière organisée. La plateforme combine un guide des spécialisations et une expérience exploratoire fondée sur le modèle RIASEC, puis présente un résultat interprétatif et des recommandations liées aux spécialisations. La documentation précise explicitement que la plateforme est un outil d'orientation et d'exploration, et non un test psychologique diagnostique ni un substitut à la décision de l'élève, de sa famille et des conseillers.
Le problème traité par le projet est la difficulté de choisir une spécialisation universitaire chez les lycéens en raison de la connaissance limitée des spécialisations, du manque de clarté des penchants, de la dépendance aux impressions ou aux avis d'autrui, de la difficulté à comparer les options et du manque de contenu adapté au contexte local.
Les utilisateurs cibles sont de deux catégories : l'élève qui souhaite explorer les spécialisations, connaître ses penchants et obtenir des recommandations et une interprétation, et le visiteur non inscrit qui souhaite découvrir la plateforme, parcourir les spécialisations et les comparer avant de créer un compte.
Le périmètre du MVP visé comprend : un guide de spécialisations académiques statique intégré au projet, la navigation et la comparaison des informations sur les spécialisations, la création de compte, la connexion et la déconnexion, la sauvegarde de la progression de l'élève, une évaluation exploratoire de 18 situations × 4 options, la sauvegarde des réponses pendant l'évaluation, le calcul des indicateurs RIASEC côté serveur, l'interprétation du résultat dans un langage d'orientation non diagnostique, plusieurs recommandations liées aux spécialisations, la conservation des résultats précédents, une interface arabe RTL responsive, ainsi que des tests automatisés et des vérifications de Build avant la fusion.
Hors du périmètre actuel du MVP : un tableau de bord d'administration, des statistiques administratives, un CRUD pour gérer les spécialisations depuis le système, une API publique indépendante, une application Mobile autonome, le diagnostic psychologique ou la mesure psychométrique certifiée, et la prise d'une décision obligatoire à la place de l'élève. La documentation indique que la présence d'une fonctionnalité dans le périmètre n'implique pas nécessairement sa mise en œuvre actuelle, et que l'état de mise en œuvre est suivi via les Issues, les Pull Requests et la branche main.
Technologies adoptées : Laravel 12 avec PHP 8.2+, base de données MySQL 8.4.x, Eloquent ORM, interfaces Blade, Tailwind CSS, JavaScript/Fetch, authentification Laravel Session avec Cookies et CSRF, outil de build Vite, Node.js 24.x, Composer 2.x et npm, et tests PHPUnit/Laravel Tests. Les décisions techniques fondamentales sont Laravel Monolith, Blade + Tailwind, JavaScript/Fetch, MySQL 8.4.x, l'authentification par sessions, routes/web.php, un catalogue de spécialisations statique et le traitement RIASEC côté serveur. Le projet mentionne explicitement que le MVP ne repose pas sur React, Vue, SPA, Laravel Breeze, Sanctum, JWT, API Tokens, SQLite ou MariaDB.
Les données des spécialisations sont conservées dans un fichier statique au sein du projet : resources/data/specializations.json, et il n'existe pas dans le MVP actuel de tables de base de données pour les spécialisations, ni de tableau de bord CRUD, ni de tableau de bord de gestion de contenu.
Le dépôt comprend des documents pour la gestion du projet et le suivi du travail, notamment Mini-SRS/Requirements, Project Brief, Team Roles, AI Usage Log, Deliverables Checklist, Technical Decisions, System Architecture, System Workflows et Use Cases, avec des fichiers tels que AI_Log.md, DELIVERABLES_CHECKLIST.md et le dossier docs.
La méthode de travail repose sur GitHub Issues, les branches, les Commits, les Pull Requests, la Code Review et GitHub Projects, avec le parcours : Issue puis Branch puis Implementation puis Commit puis Push puis Pull Request puis Review puis Squash Merge puis suppression de la branche. La seule branche permanente est main et le développement direct sur celle-ci n'est pas autorisé.
L'exécution nécessite Git 2.x, PHP 8.2+, Composer 2.x, Node.js 24.x, npm et MySQL 8.4.x, avec des scripts prêts à l'emploi sous Windows : check-environment.bat, setup-database.bat, setup-project.bat, verify-project.bat et start-project.bat. Il existe également un parcours d'exécution manuel via composer install, npm ci, php artisan config:clear, migrate, test et npm run build, puis php artisan serve et npm run dev. L'application fonctionne sur http://127.0.0.1:8000 avec un Health Check sur /up.
Un test Clean Clone réel a été effectué depuis GitHub dans un environnement propre et a passé toutes les étapes : structure du dépôt, vérification de l'environnement, configuration de la base de données, installation de Composer et npm, initialisation de Laravel, migrations, tests Laravel, build Vite, connexion à MySQL, vérification complète et contrôle de sécurité Git. L'environnement de test mentionné : Laravel 12.69.1, PHP 8.2.12, Composer 2.9.5, Node.js 24.13.1, npm 11.8.0, MySQL 8.4.11 et Git 2.50.1.
Les règles du projet comprennent l'interdiction du Push direct vers main, l'interdiction de téléverser .env, les mots de passe, les jetons ou les secrets, le suivi de composer.lock et package-lock.json, la non-utilisation de composer update ou npm update lors de l'installation normale, l'interdiction d'ajouter une fonctionnalité hors périmètre sans Issue et décision claire, et la compréhension de tout code généré par l'intelligence artificielle avant son utilisation ainsi que la documentation de l'usage significatif dans AI_Log.md.
État du projet : achevé jusqu'à présent pour l'adoption de l'idée et du périmètre, la préparation des documents essentiels, la création du dépôt et la configuration de la protection de main, les modèles d'Issues et de Pull Requests, les Labels, le GitHub Project avec les états Backlog → Ready → In Progress → In Review → Done, cinq Milestones, 15 Issues, GitHub Actions pour la vérification automatisée, les scripts d'environnement, d'installation et de vérification, et la réussite du Clean Clone. En cours de mise en œuvre : Batch 3 — Assessment Journey, Batch 4 — Results & Security, Batch 5 — Finalization & Release, la fermeture des Issues restantes et la vérification finale.
Sécurité : le dépôt ne contient pas d'identifiants locaux, le .env est local uniquement et son téléversement est interdit, Laravel utilise les sessions, les cookies, la protection CSRF et le hachage des mots de passe, et les identifiants root administratifs ne sont pas utilisés pour exécuter l'application quotidienne.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.