StudTraj est une plateforme web d'analyse des trajectoires d'apprentissage des étudiants en programmation. Elle permet aux enseignants de suivre et d'analyser les tentatives de résolution d'exercices de leurs étudiants grâce à des visualisations avancées et des analyses vectorielles.
- Gestion de ressources pédagogiques : Créez et organisez vos ressources d'enseignement
- Suivi des étudiants : Visualisez les tentatives et les progrès de chaque étudiant
- Analyse vectorielle : Utilisez Code2Vec pour analyser la similarité des codes
- Visualisations interactives : Graphiques et tableaux de bord pour comprendre les trajectoires d'apprentissage
- Import de données : API pour importer des exercices et des tentatives depuis des plateformes externes
- Partage de ressources : Collaborez avec d'autres enseignants
- Gestion des utilisateurs : Validation, blocage et gestion des comptes
- Système de vérification par email : Sécurisation des inscriptions
- Tableau de bord administrateur : Vue d'ensemble de la plateforme
- PHP 7.4+ : Langage principal
- PDO : Accès base de données sécurisé
- Architecture MVC : Organisation claire du code avec namespaces
- HTML5 / CSS3 : Interface utilisateur moderne
- JavaScript : Interactivité et visualisations
- Chart.js / D3.js : Graphiques et visualisations de données
- MySQL / MariaDB : Stockage des données
- Composer : Gestion des dépendances PHP
- PHP_CodeSniffer : Analyse de code
- PHPUnit : Tests unitaires
- phpDocumentor : Génération de documentation
StudTraj/
├── config/ # Configuration et routage
│ └── router.php # Routeur principal de l'application
├── controllers/ # Contrôleurs MVC
│ ├── Admin/ # Gestion administrative
│ ├── Analysis/ # Analyse et visualisation
│ ├── Auth/ # Authentification et autorisation
│ ├── Import/ # Import de données
│ └── User/ # Fonctionnalités utilisateur
├── models/ # Modèles de données
│ ├── Database.php # Connexion base de données
│ ├── Student.php # Gestion des étudiants
│ ├── Exercise.php # Gestion des exercices
│ ├── Resource.php # Gestion des ressources
│ ├── User.php # Gestion des utilisateurs
│ └── Code2VecService.php # Service d'analyse vectorielle
├── views/ # Vues (templates)
│ ├── admin/ # Vues administrateur
│ └── user/ # Vues utilisateur
├── public/ # Ressources publiques
│ ├── css/ # Feuilles de style
│ └── js/ # Scripts JavaScript
├── docs/ # Documentation générée
├── images/ # Images uploadées
├── cron/ # Tâches planifiées
└── index.php # Point d'entrée de l'application
- PHP 7.4 ou supérieur
- MySQL 5.7 ou MariaDB 10.3 ou supérieur
- Composer (gestionnaire de dépendances PHP)
- Serveur web (Apache recommandé avec mod_rewrite)
-
Cloner le dépôt
git clone https://github.com/EnzoBagnis/SAE.git StudTraj cd StudTraj -
Installer les dépendances
composer install
-
Configurer la base de données
- Créez une base de données MySQL
- Importez le schéma de base de données (fichier SQL à fournir)
- Configurez les paramètres de connexion dans
models/Database.php
-
Configurer le serveur web
- Assurez-vous que le fichier
.htaccessest activé - Configurez le document root vers le dossier du projet
- Activez
mod_rewritepour Apache
- Assurez-vous que le fichier
-
Configurer les permissions
chmod 755 images/ chmod 755 cron/
-
Accéder à l'application
- Ouvrez votre navigateur à l'adresse de votre serveur local
- Créez un compte administrateur via l'interface
- Créez un compte enseignant via la page d'inscription
- Vérifiez votre email avec le code reçu
- Attendez la validation par un administrateur
- Connectez-vous avec vos identifiants
- Accédez au tableau de bord
- Cliquez sur "Nouvelle ressource"
- Remplissez les informations (nom, description, image)
- Partagez avec d'autres enseignants si nécessaire
Utilisez les API d'import pour charger vos données :
Import d'exercices :
POST /index.php?action=import-exercises
Content-Type: application/json
{
"resource_id": 1,
"exercises": [...]
}Import de tentatives :
POST /index.php?action=import-attempts
Content-Type: application/json
{
"resource_id": 1,
"attempts": [...]
}- Sélectionnez une ressource
- Visualisez les statistiques des étudiants
- Générez des vecteurs Code2Vec pour l'analyse de similarité
- Explorez les visualisations interactives
La documentation complète du code est générée automatiquement avec phpDocumentor :
- Consultez
docs/README_DOC.md - Ouvrez
docs/index.htmldans votre navigateur pour la documentation interactive
- Fichiers PHP : 38
- Lignes de code : ~4559
- Version PHP : 7.4+
vendor/bin/phpunitvendor/bin/phpcsvendor/bin/php-cs-fixer fix- Protection XSS : Headers de sécurité configurés
- Protection CSRF : À implémenter selon vos besoins
- Validation des entrées : PDO avec requêtes préparées
- Gestion des sessions : Sessions PHP sécurisées
- Vérification par email : Double authentification pour les inscriptions
Les contributions sont les bienvenues ! Pour contribuer :
- Forkez le projet
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/AmazingFeature) - Committez vos changements (
git commit -m 'Add some AmazingFeature') - Poussez vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
Ce projet est développé dans le cadre d'une SAE (Situation d'Apprentissage et d'Évaluation).
- Équipe StudTraj
- Ilan Stefanovitch
- Enzo Bagnis
- Hamza Koliaï
- Jean-Baptiste Pibouleau
Pour toute question ou problème :
- Ouvrez une issue sur GitHub
- Consultez la documentation technique dans
docs/
- Amélioration des visualisations
Dernière mise à jour : 2026-01-20