Skip to content

MyMotox/Fork_GL02_ABBAH

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

102 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet GL02 - Groupe ABBAH - V1.1

Notre projet est développé en JavaScript (Node.js) dans le cadre du cours GL02 – Fondements de l'ingénierie logicielle.

Le code est structuré pour répondre directement au cahier des charges d'une application console "Sujet B : Outil de gestion еt dе génération d’еxamеns au format GIFT" de l'équipe Team SoftMakers.


1. Pré-requis & Installation (à la première utilisation)

Avant d'utiliser l'application, assurez-vous d'avoir :

Option A — Utilisation directe via Node.js

npm install         # installe les dépendances
cd src/cli
node questionCli.js <commande>

Option B — Installation globale (npm)

npm install         # installe les dépendances
npm i -g            
npm link            # rend les commandes bin accessibles depuis le terminal
gift <commande>

2. Architecture du code

├── documents/               # livrables et documentation
├── src/
│   ├── classes/             # Modèles de données
│   ├── parsers/             # Extraction du texte en Objets JS
│   ├── cli/                 # Interface utilisateur
│       └── data/            # fichiers GIFT de test
│   ├── logging /            # Journalisation
│   ├── profiling /          # Analyse Vega-lite
│   ├── utils /              # Fichiers utilitaires à QuestionCli.js
│   └── exports/             # Génération de sorties (visualisations)
├── spec/                    # Tests unitaires Jasmine

Dans le cadre des TD de GL02, les fichiers caporalCli.js et POI.js sont conservés dans le repository car ils faisaient partie des supports pédagogiques fournis. Ils ne sont toutefois pas utilisés dans l’implémentation finale du projet.

3. Equipe

Chef d'équipe: Héléna Chevalier

Membres: Sacha Himber; Jules Andrea; Fadi-Farhat; Emeline Nerot

4. Utilisation des commandes

Si vous utilisez npm i -g, vous pouvez utiliser à la racine du repository avec "gift" suivi des commandes. Sinon, allez dans le dossier "src/cli" et exécutez "node questionCli.js" suivi des commandes.

Pour afficher le menu d'aide :

node questionCli.js
# ou
node questionCli.js menu

📋 Gestion des questions

Visualiser une question

node questionCli.js view <répertoire> <id>

Exemple :

node questionCli.js view data "U5 p49 GR2.5"

Rechercher une question

node questionCli.js search <répertoire> <texte>

Exemple :

node questionCli.js search data "Ultimate"

📤 Gestion des examens

Sélectionner une question

node questionCli.js select <répertoire> <id>

Exemple :

node questionCli.js select data "U5 p49 GR2.5"

Afficher la sélection actuelle

node questionCli.js list

Vider la sélection

node questionCli.js clear

Exporter un examen au format GIFT

node questionCli.js export <fichier-sortie>

Exemple :

node questionCli.js export ./exports/examen.gift

Simuler un examen

node questionCli.js simulate <fichier-examen>

Exemple :

node questionCli.js simulate ./exports/examen.gift

👤 Création d'une fiche vCard enseignant

Créer une carte vCard enseignant

node questionCli.js vcard <version> <prénom> <anniversaire> <email> <téléphone> <organisation> [--out <fichier-sortie>]

Exemple :

node questionCli.js vcard "3.0" "Jean" "15/03/1985" "jean.dupont@mail.fr" "0123456789" "UTC" --out ./exports/enseignant.vcf

✓ Validation et sécurité des données

Valider un fichier GIFT ou vCard

node questionCli.js validate <fichier>

Exemple :

node questionCli.js validate ./exports/examen.gift

Sécuriser les données d'un fichier GIFT

node questionCli.js secure-gift <fichier>

Sécuriser les données d'un fichier vCard

node questionCli.js secure-vcard <fichier>

📊 Analyse des profils d'examen

Générer le profil statistique d'un examen

node questionCli.js generate-profile <fichier-ou-répertoire>

Exemple :

node questionCli.js generate-profile ./data

Comparer deux profils d'examen

node questionCli.js compare-profiles <fichier1> <fichier2>

Exemple :

node questionCli.js compare-profiles ./exports/examen.gift ./data

Note : Les graphiques Vega-Lite sont générés dans ./outputs/ et visualisables sur https://vega.github.io/editor/

5. Tests unitaires

L’application inclut une suite de tests unitaires fondée sur Jasmine (vu en TD), conformément aux exigences de Robustesse (NF3) du cahier des charges.

En installation :

npm install --save-dev jasmine
npx jasmine init

A la racine du projet :

npm test

6. Licence

Projet développé dans un contexte académique — diffusion restreinte aux étudiants du module GL02.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%