Conception d’une plateforme de jeux vidéo en Java
Projet de Développement Logiciel en Java
Ce projet est une application console permettant la gestion de jeux vidéo, d’utilisateurs et d’évaluations. Réalisé dans un cadre académique, il propose différentes actions selon le rôle de l’utilisateur (joueur, testeur, administrateur, invité).
Fonctionnalités Clés
- Gestion des rôles : Joueur, Testeur, Administrateur, Invité
- Fonctionnalités d'inscription, de connexion et de persistance des données
- Ajout de jeux, système d’évaluation (likes/dislikes), tests
- Modération : signalements, blocage d’utilisateurs, suppression
- Utilisation de
membres.txt
etListeJeux.csv
- Sauvegarde des membres dans un fichier
membres.txt
et chargement dynamique des données
Contexte du Projet
Projet réalisé en Java, en 1 mois, avec une structure orientée objet. Il utilise des HashMap
et ArrayList
pour gérer les données. Développé sous Eclipse, avec des captures prises depuis VS Code pour une meilleure lisibilité.
Galerie d'Images
Quelques captures d'écran montrant l’interface utilisateur console :


Extraits de code
Classe Plateforme
(extrait) :
public class Plateforme {
private HashMap<String, Membre> membres = new HashMap<>();
private List<Jeu> jeux = new ArrayList<>();
public Plateforme() {
// Chargement des jeux depuis ListeJeux.csv
chargerJeux("ListeJeux.csv");
}
public void ajouterJeu(Jeu jeu) {
jeux.add(jeu);
// ... autres traitements ...
}
// ... autres méthodes ...
}
Classe Evaluation
(extrait) :
public class Evaluation {
private Membre auteur;
private Jeu jeu;
private String commentaire;
private boolean avisPositif;
public Evaluation(Membre auteur, Jeu jeu, String commentaire, boolean avisPositif) {
this.auteur = auteur;
this.jeu = jeu;
this.commentaire = commentaire;
this.avisPositif = avisPositif;
}
// ... getters et setters ...
}
Classe FichierMembre
(extrait) :
public class FichierMembre {
public static void sauvegarderMembres(Collection<Membre> membres) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("membres.txt"))) {
for (Membre m : membres) {
writer.write(m.toCsv());
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
// ... méthode de chargement des membres ...
}
Potentielles Améliorations
- Passage à une interface graphique (JavaFX ou Swing)
- Séparation stricte MVC (Modèle – Vue – Contrôleur)
- Utilisation d’une base de données relationnelle
- Ajout de mini-jeux intégrés et jouables dans la plateforme
Le code complet est disponible sur mon dépôt GitHub.
Voir le projet sur GitHub