Conception d’une plateforme de jeux vidéo en Java

Projet de Développement Logiciel en Java

Type : Projet Académique
Durée : 1 mois
Technologies : Java, Eclipse
Concepts Clés : POO, Gestion de Fichiers (CSV/TXT), Collections

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 et ListeJeux.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