Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
ec5a938
Code pour contrôler les moteurs
Raimanta-215 Mar 3, 2025
8dd229a
Add files via upload
Marry3005 Mar 13, 2025
615084b
Delete code_bouton.txt
Marry3005 Mar 13, 2025
1a79f57
début de backend lancé , base
Raimanta-215 Mar 13, 2025
214be3f
Update and rename code_bouton.txt to code_bouton.js
Marry3005 Mar 19, 2025
a6ddb31
Create temperature_reader.py
Hassan-mumu Mar 20, 2025
a54b0f0
config db et debut routes API
Raimanta-215 Mar 25, 2025
fea0a06
copie de la base de main pour travailler sur dev
Raimanta-215 Mar 25, 2025
9dc314f
frontend et api communiquant ensemble
Raimanta-215 Mar 25, 2025
4e27a03
corrections mini bugs
Marry3005 Apr 1, 2025
606cabe
maj
Raimanta-215 Apr 1, 2025
b2ead69
mini bug
Marry3005 Apr 3, 2025
32f0db8
mini bug
Raimanta-215 Apr 3, 2025
de9ba23
Header
Marry3005 Apr 3, 2025
f65fcf4
Ajustement du header sur toute les pages
Marry3005 Apr 3, 2025
8c57e96
ajout de bouton
Marry3005 Apr 6, 2025
24ce462
Réajustement du Router
Marry3005 Apr 7, 2025
f77689f
models pour les donnée joueur
Raimanta-215 Apr 7, 2025
3a9537f
définition de toutes les tables de la DB
Raimanta-215 Apr 7, 2025
6fc5fd7
Merge pull request #10 from loyde07/db
Marry3005 Apr 8, 2025
bf2f1dd
Merge branch 'Developpe' of https://github.com/loyde07/RDI25 into Dev…
Raimanta-215 Apr 8, 2025
9fb343f
test
Marry3005 Apr 7, 2025
026c57a
test 2
Marry3005 Apr 7, 2025
3342c96
Voyage entre les page
Marry3005 Apr 7, 2025
96ac7c0
Update tournement.jsx
Marry3005 Apr 9, 2025
d39a069
ajout des routes pour le tournois et les match
Marry3005 Apr 10, 2025
e911be0
création du frontend de la page team et de la seconde page teamDetail…
loyde07 Apr 10, 2025
96a0bf7
début du css pour le site internet
loyde07 Apr 10, 2025
c31e974
création du frontend de la page team et de la seconde page teamDetail…
loyde07 Apr 10, 2025
bc7fd35
ajout page inscription, page de connexion, page utilisateur, mdp chif…
Hassan-mumu Apr 10, 2025
72c0db9
correction modification du profil + ajout css pour la page
Hassan-mumu Apr 13, 2025
55567ae
création du frontend de la page team + le css
loyde07 Apr 14, 2025
3ee0ba0
Update server.js
loyde07 Apr 14, 2025
e942693
modification et suppression des pages inutiles
loyde07 Apr 14, 2025
e9ee73e
Update team.css
loyde07 Apr 14, 2025
118a150
ajout de plusieurs choses
Marry3005 Apr 16, 2025
e207a90
mini update
Marry3005 Apr 16, 2025
f6e5a83
tournois update
Raimanta-215 Apr 16, 2025
b36ea6b
ajout header.css
Marry3005 Apr 16, 2025
2363d04
header update
Raimanta-215 Apr 16, 2025
28771a0
update bug d'affichage des noms des teams
Raimanta-215 Apr 16, 2025
459655c
modification du carrsoulet et de l'affichage des détails sur les équipes
loyde07 Apr 16, 2025
e6300db
ajout de css
Marry3005 Apr 16, 2025
a46f451
page home avec le sdeux boutons pour rejoindre ou créer une team
Raimanta-215 Apr 17, 2025
24ccd7f
création d'une team
Raimanta-215 Apr 17, 2025
a1e5757
creation ou affiliation à une team
Raimanta-215 Apr 17, 2025
6b83244
essaie d'ajout de test unitaire
Marry3005 Apr 18, 2025
837f3bc
ajout du bouton home
Marry3005 Apr 18, 2025
90d5f63
petite modif
Marry3005 Apr 18, 2025
a2c71f2
ajout de commentaire
Marry3005 Apr 18, 2025
255374f
test
Marry3005 Apr 19, 2025
be6bc7c
updates emplacements fichiers
Raimanta-215 Apr 21, 2025
ff6c7fc
update db joueur, update route pour authentification, ajout de verifi…
Hassan-mumu Apr 22, 2025
aa6977d
test unitaire
Marry3005 Apr 22, 2025
bc84248
toute petite modif de rien du tout
Marry3005 Apr 22, 2025
b496c03
update et dalete Team
Raimanta-215 Apr 22, 2025
eb6de01
Merge branch 'Developpe' into header
Raimanta-215 Apr 22, 2025
3523096
Merge pull request #24 from loyde07/header
Marry3005 Apr 22, 2025
faafeec
Merge branch 'Developpe' into tournois
Raimanta-215 Apr 22, 2025
97af141
Merge pull request #25 from loyde07/tournois
Raimanta-215 Apr 22, 2025
825f20d
fix bugs
Raimanta-215 Apr 22, 2025
4a6bccb
ajustement
Marry3005 Apr 22, 2025
0ec8c4d
ajustement cors
Marry3005 Apr 22, 2025
103ca66
Merge branch 'Developpe' of https://github.com/loyde07/RDI25 into Dev…
Hassan-mumu Apr 22, 2025
89fbe2b
modif de fichier
Hassan-mumu Apr 22, 2025
9584e14
Revert "fix bugs"
Hassan-mumu Apr 22, 2025
1076373
fix small bug
Raimanta-215 Apr 22, 2025
d3dd326
fix small bug
Raimanta-215 Apr 22, 2025
b910845
Merge pull request #27 from loyde07/supprime_team
Raimanta-215 Apr 22, 2025
d1d1acf
Merge branch 'creation_team' of https://github.com/loyde07/RDI25 into…
Raimanta-215 Apr 22, 2025
9266b7a
Merge branch 'register' into Developpe
Hassan-mumu Apr 22, 2025
ef141f1
push de register sur dev
Hassan-mumu Apr 22, 2025
50919e4
Merge branch 'Developpe' of https://github.com/loyde07/RDI25 into Dev…
Hassan-mumu Apr 22, 2025
bef6edf
fix des petits détails
Hassan-mumu Apr 22, 2025
6bf8678
debut rajout des joueurs dans team
Raimanta-215 Apr 23, 2025
5b98ef5
fix routes pour afficher les joueurs des équipes
Raimanta-215 Apr 23, 2025
45fcc0f
test d'installation
Marry3005 Apr 23, 2025
2009929
modification du fonctionnament du carrouselet reparation du mini bug
loyde07 Apr 23, 2025
942a99d
des trucs
Marry3005 Apr 23, 2025
48e6de1
affichage d'un joueur par recherche du pseudo
Raimanta-215 Apr 23, 2025
3d56098
recherche dynamique
Raimanta-215 Apr 23, 2025
18f7146
Ajout modif du profil utilisateur (modifier les information personnel…
Hassan-mumu Apr 23, 2025
97ac36c
fix des bugs
Hassan-mumu Apr 23, 2025
7792255
modification du css ajout d'un nouveau style et mofifictaions du carr…
loyde07 Apr 23, 2025
b05ffe2
rajout d'un joueur dans une team
Raimanta-215 Apr 23, 2025
2601f57
Merge pull request #30 from loyde07/gestion_joueurDansTeam
Raimanta-215 Apr 23, 2025
6b7ee01
Merge branch 'Developpe' into creation_team
Raimanta-215 Apr 23, 2025
8386811
Merge pull request #31 from loyde07/creation_team
Hassan-mumu Apr 23, 2025
b59171a
ajout des routes
loyde07 Apr 23, 2025
04ae4b6
Update controller.joueur.js
loyde07 Apr 23, 2025
d1ebec4
ajouts des images par défaut
loyde07 Apr 23, 2025
067d787
ajouts des images par défaut
loyde07 Apr 23, 2025
3ea0b73
fixing ensemble de l'interface
Raimanta-215 Apr 23, 2025
689353d
Merge branch 'main' into team
Raimanta-215 Apr 23, 2025
380f419
remove dossier
Raimanta-215 Apr 23, 2025
6b7220d
Revert "Merge branch 'main' into team"
Raimanta-215 Apr 23, 2025
98d9f73
Merge branch 'team' into Developpe
Raimanta-215 Apr 23, 2025
e0e36b2
fix merge
Raimanta-215 Apr 23, 2025
aac6b1b
fix small bugs
Raimanta-215 Apr 23, 2025
4181ddd
quick fix and css
Raimanta-215 Apr 23, 2025
0044264
fix css pour tournois aet bug de routes
Raimanta-215 Apr 24, 2025
00018e8
Url server backend fix
Raimanta-215 Apr 24, 2025
9f044fa
initialisation environnement de test + debut de stests pour controlle…
Hassan-mumu Apr 24, 2025
a793f28
fix css bug
Raimanta-215 Apr 24, 2025
fe971bf
test de quelque ajustement
Marry3005 Apr 24, 2025
8c96834
modification de l'affichage de la finale
Marry3005 Apr 24, 2025
2decc0d
retrait temporaire de la gestion par email
Hassan-mumu Apr 24, 2025
410039b
Merge branch 'Developpe' of https://github.com/loyde07/RDI25 into Dev…
Marry3005 Apr 24, 2025
ace2ce0
Ajout de la page home.jsx coté front end, avec tailwind css
Hassan-mumu Apr 26, 2025
15e8e51
Merge branch 'register' into Developpe
Hassan-mumu Apr 26, 2025
28f4eba
remises des routes tournois et équipe
Hassan-mumu Apr 26, 2025
14ce9ee
fix header et alignement des pages
Hassan-mumu Apr 26, 2025
38dcd4d
+ ajout des chemin vers team dans le hearder
Hassan-mumu Apr 26, 2025
a29df24
+ ajustement du header
Hassan-mumu Apr 27, 2025
f080055
+ ajout des modulles de test
Hassan-mumu Apr 29, 2025
ce0d4dd
+ Ajout des tests unitaire pour la page de login
Hassan-mumu Apr 29, 2025
a69271a
Update App.jsx
Raimanta-215 May 3, 2025
c31f911
Merge branch 'Developpe' of https://github.com/loyde07/RDI25 into Dev…
Raimanta-215 May 3, 2025
0805548
+ ajoute des ecoles et des niveau dans le formulaire d'inscription
Hassan-mumu May 3, 2025
0347ef9
gestion des teams
Raimanta-215 May 7, 2025
1a9e507
gestion suppression
Raimanta-215 May 7, 2025
76edff9
upload logo team
Raimanta-215 May 7, 2025
e44124d
essaye de plusieurs chose
Marry3005 May 9, 2025
6c8f37f
rajout d'images uploadées,possibilité de suppression et test
Raimanta-215 May 14, 2025
8e2b7ca
Merge pull request #34 from loyde07/gestion_team_final
Raimanta-215 May 14, 2025
25431b9
essaie d'ajout
Marry3005 May 15, 2025
e7dfd61
ajustement cors
Marry3005 Apr 22, 2025
a9c8983
test de quelque ajustement
Marry3005 Apr 24, 2025
53a131e
modification de l'affichage de la finale
Marry3005 Apr 24, 2025
29e9544
essaye de plusieurs chose
Marry3005 May 9, 2025
ebd5593
essaie d'ajout
Marry3005 May 15, 2025
0c2d675
Merge branch 'upgrade_tournois' of https://github.com/loyde07/RDI25 i…
Marry3005 May 15, 2025
7b4bd8d
Update vite.config.js
loyde07 May 15, 2025
51b6a0a
quick fix bugs pour rajouter un joueur dans une team
Raimanta-215 May 15, 2025
34506d9
ajout de l'affichage de la final
Marry3005 May 16, 2025
57ee5c7
essaie mais ca marche pas
Marry3005 May 16, 2025
760a097
oh ca marche
Marry3005 May 16, 2025
2bf91cc
modification du CSS
Marry3005 May 17, 2025
a49ba26
essaie d'ajustement
Marry3005 May 17, 2025
94c311e
modification
Marry3005 May 19, 2025
ac710bd
samll updates
Raimanta-215 May 20, 2025
5ecff85
~update EditableField ajout de label
Hassan-mumu May 20, 2025
fdd48eb
update mise à jour du profil depuis test/register -> register
Hassan-mumu May 20, 2025
3a37a66
creation de la page inscription, division des composants
Raimanta-215 May 20, 2025
dcff26b
rajout de la focntionnalités afin de voir des détails sur les joeurs …
loyde07 May 20, 2025
d1d6407
Supprime le dossier 'team' en double
loyde07 May 20, 2025
ad841cf
ajout d'une nouvelles fonctionnalités afin de voir en déatils les jou…
loyde07 May 20, 2025
d4f9f4c
recupération et insertion des match dans la db
Raimanta-215 May 21, 2025
2b8e831
affichage du tournois
Raimanta-215 May 21, 2025
f33e766
+ ajout de la page ValorantInfo
Hassan-mumu May 22, 2025
186efe0
Merge branch 'Developpe' of https://github.com/loyde07/RDI25 into Dev…
Hassan-mumu May 22, 2025
c05bf5d
ajout de la team gagnant dans la db
Marry3005 May 26, 2025
f20f133
-> déplacement des fichier .json de la racine au backend et adaptatio…
Hassan-mumu May 29, 2025
c432e74
-> déplacement des fichier backend dans le backend et adaptation des …
Hassan-mumu May 29, 2025
f806691
Merge branch 'register' into Developpe
Hassan-mumu May 29, 2025
7be273e
fix du Merge
Hassan-mumu May 29, 2025
c216c73
Merge remote-tracking branch 'origin/team' into Developpe
Hassan-mumu May 29, 2025
171ffe0
upgrade etat boutons
Raimanta-215 May 29, 2025
f25a66a
fix des appel API
Hassan-mumu May 29, 2025
9298fd2
rajout vision admin
Raimanta-215 May 30, 2025
31fe949
fix bugs affichage tournois
Raimanta-215 May 30, 2025
1adde7d
Merge branch 'upgrade_tournois' into Developpe
Raimanta-215 May 30, 2025
79a9eab
quick fix
Raimanta-215 May 30, 2025
62e44d5
quick fix
Raimanta-215 May 30, 2025
38b5744
quick fix
Raimanta-215 May 30, 2025
fafcb92
-feat : Implémentation du tableau de bord Admin avec gestion des util…
Hassan-mumu May 30, 2025
34d0d1e
ajustement de la page voir mes équipes et modifications de la gestion…
loyde07 May 30, 2025
c0fe294
Update updateTeam.jsx
loyde07 May 30, 2025
9c2a187
Merge branch 'Developpe' of https://github.com/loyde07/RDI25 into Dev…
Hassan-mumu May 30, 2025
462a5c7
Merge branch 'Developpe' of https://github.com/loyde07/RDI25 into Dev…
Hassan-mumu May 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.qodo
/api_backend/node_modules
/api_backend/.env
12 changes: 12 additions & 0 deletions api_backend/cloudinary/cloudinary.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {v2 as cloudinary} from 'cloudinary'
import {config} from 'dotenv'

config()

cloudinary.config({
cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
api_key: process.env.CLOUDINARY_API_KEY,
api_secret: process.env.CLOUDINARY_API_SECRET
})
export default cloudinary

13 changes: 13 additions & 0 deletions api_backend/config/db.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import mongoose from "mongoose";

export const connectDB = async () => {
try {
const conn = await mongoose.connect(process.env.MONGO_URI); // se connecte à la DB en asynchrone
console.log(`MongoDB connected: ${conn.connection.host}`);
} catch (error){
console.error(`Error: ${error.message}`);
process.exit(1); // 1 c'est pour dire que y a eu erreur et 0 succès
}
}

//NoSQL enrgistre dans des collections avec des documents
28 changes: 28 additions & 0 deletions api_backend/controller/controller.ecole.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import Ecole from "../models/ecole.model.js";
import {User} from "../models/user.model.js";


export const getAllEcoles = async (req, res) => {
try {
const ecoles = await Ecole.find();
res.json(ecoles);
} catch (err) {
res.status(500).json({ error: "Erreur serveur" });
}
};


export const getEcoleByJoueur = async (req, res) => {
const { joueurId } = req.params;
try {
const joueur = await User.findById(joueurId).populate("ecole_id");

if (!joueur) {
return res.status(404).json({ message: "Joueur non trouvé" });
}

res.json(joueur.ecole_id);
} catch (err) {
res.status(500).json({ error: "Erreur serveur" });
}
};
78 changes: 78 additions & 0 deletions api_backend/controller/controller.joueur.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
import {User} from "../models/user.model.js";
import Team from "../models/team.model.js";


export const getAllJoueurs = async (req, res) => {
try {
const joueurs = await User.find().select("nom prenom email ");
res.status(200).json(joueurs);

} catch (error) {
console.error("Erreur récupération des joueurs :", error);
res.status(500).json({ message: "Erreur serveur" });
}

}

export const getJoueursByTeam = async (req, res) => {
const { teamId } = req.params;

try {
const team = await Team.findById(teamId).populate({
path: 'joueurs',
populate: {
path: 'ecole_id',
model: 'Ecole'
}
});

if (!team) {
return res.status(404).json({ message: "Team not found" });
}

res.status(200).json(team.joueurs);

} catch (error) {
console.error("Erreur récupération des joueurs :", error);
res.status(500).json({ message: "Erreur serveur" });
}

}


export const getJoueurByPseudo = async (req, res) => {
try {
const joueur = await User.findOne({ pseudo: req.params.pseudo });
if (!joueur) {
return res.status(404).json({ message: 'Joueur non trouvé' });
}
res.json({ data: joueur });
} catch (err) {
res.status(500).json({ message: 'Erreur serveur' });
}
};




export const seachJoueurs = async (req, res) => {
const { search } = req.query;

try {
let query = {};

if (search) {
// Regex pour insensibilité à la casse
query.pseudo = { $regex: search, $options: 'i' };
}

const joueurs = await User.find(query);
res.status(200).json({ success: true, data: joueurs });
} catch (error) {
console.error("Erreur lors de la récupération des joueurs :", error.message);
res.status(500).json({ success: false, message: "Erreur serveur" });
}


}

149 changes: 149 additions & 0 deletions api_backend/controller/controller.team.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
import Team from "../models/team.model.js";
import {User} from "../models/user.model.js";


export const getTeams = async (req, res) => {

try{
const teams = await Team.find({});
res.status(200).json({success: true, data: teams})
}catch (error){
console.error("erreur de récupération teams:" , error.message);
res.status(500).json({success: false, message: "erreur récupération data"});
}

}

export const creationTeams = async (req, res) => {
const team = req.body;

try {
// Vérifie si une équipe avec le même nom existe déjà
const existingTeam = await Team.findOne({ nom: team.nom });

if (existingTeam) {
return res.status(400).json({
success: false,
message: "Une équipe avec ce nom existe déjà."
});
}

// Sinon, on peut créer la nouvelle équipe
const newTeam = new Team(team);
await newTeam.save();

res.status(201).json({ success: true, data: newTeam });

} catch (error) {
console.error("Erreur de création d'une team:", error.message);
res.status(500).json({ success: false, message: "Erreur serveur" });
}
}

export const joinTeam = async (req, res) => {
const { id } = req.params;
const { playerId } = req.body;

try {
const team = await Team.findById(id);
if (!team) return res.status(404).json({ success: false, message: "Team introuvable" });

// Ajouter le joueur (évite les doublons)
if (!team.joueurs.includes(playerId)) {
team.joueurs.push(playerId);
await team.save();
}

res.status(200).json({ success: true, message: "Joueur ajouté à l'équipe" });
} catch (err) {
console.error(err.message);
res.status(500).json({ success: false, message: "Erreur serveur" });
}
}


export const deleteTeam = async (req, res) => {

const {id} = req.params;

try{

const team =await Team.findById(id);
if(!team) return res.status(404).json({success: false, message: "Team introuvable"});


await User.updateMany(
{ _id: { $in: team.joueurs } },
{ $set: { droit: "" } }
);


await team.deleteOne();

res.status(200).json({ success: true, message: "Joueur ajouté à l'équipe" });
} catch (err) {
console.error(err.message);
res.status(500).json({ success: false, message: "Erreur serveur" });
}
}


// PATCH /api/teams/:id/update
export const updateTeam = async (req, res) => {
const { id } = req.params;
const { nom, logo, joueurs } = req.body;

try {
const team = await Team.findById(id);
if (!team) {
return res.status(404).json({ success: false, message: "Équipe introuvable" });
}

if (nom) team.nom = nom;
if (logo) team.logo = logo;
if (joueurs) {
if (joueurs.length > 5) {
return res.status(400).json({ success: false, message: "Une équipe ne peut pas avoir plus de 5 joueurs." });
}
// Vérifier unicité
const uniqueJoueurs = [...new Set(joueurs.map(id => id.toString()))];
if (uniqueJoueurs.length !== joueurs.length) {
return res.status(400).json({ success: false, message: "Un joueur ne peut apparaître qu'une seule fois." });
}
team.joueurs = joueurs;
}

await team.save();
res.status(200).json({ success: true, message: "Équipe mise à jour", data: team });

} catch (err) {
console.error(err);
res.status(500).json({ success: false, message: "Erreur serveur" });
}
};


export const getTeamById = async (req, res) => {
const { id } = req.params;
try {
const team = await Team.findById(id)
.populate({
path: 'joueurs',
populate: {
path: 'ecole_id',
select: 'nom'
}
});

if (!team) {
return res.status(404).json({ success: false, message: "Équipe introuvable" });
}

res.status(200).json({ success: true, data: team });
} catch (err) {
console.error(err.message);
res.status(500).json({ success: false, message: "Erreur serveur" });
}
};


95 changes: 95 additions & 0 deletions api_backend/controller/controller.tournois.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
import Match from '../models/match.model.js';
import Inscription from '../models/inscription.model.js';
import Team from '../models/team.model.js';

export const inscriptionTournois = async (req, res) => {
try {
const { team_id, tournois_id } = req.body;

// Vérifie si cette équipe est déjà inscrite à ce tournoi
const exists = await Inscription.findOne({ team_id, tournois_id });
if (exists) {
return res.status(400).json({ message: "Cette équipe est déjà inscrite à ce tournoi." });
}

const inscription = new Inscription({ team_id, tournois_id });
await inscription.save();

res.status(201).json({ message: "Équipe inscrite avec succès.", inscription });
} catch (err) {
res.status(500).json({ message: "Erreur serveur", error: err.message });
}
}


export const genereMatchs = async (req, res) => {
const tournoisId = req.params.id;

try {
// Récupérer max 8 équipes inscrites dans ce tournoi
const inscriptions = await Inscription.find({ tournois_id: tournoisId }).populate('team_id');

const teams = inscriptions.map(inscription => inscription.team_id);

if (teams.length < 2) {
return res.status(400).json({ message: "Pas assez d'équipes inscrites" });
}

// Supprimer anciens matchs
await Match.deleteMany({ tournois_id: tournoisId });

// Créer les matchs par paires
const matchs = [];
for (let i = 0; i < teams.length; i += 2) {
if (teams[i+1]) {
matchs.push({
tournois_id: tournoisId,
team1_id: teams[i]._id,
team2_id: teams[i+1]._id,
round: 1,
winner_id: null,
});
}
}

// Enregistrer en base
const inserted = await Match.insertMany(matchs);

res.status(201).json({ matchs: inserted });

} catch (error) {
console.error("Erreur génération matchs :", error);
res.status(500).json({ message: "Erreur serveur lors de la génération des matchs" });
}
};


export const getMatchsAvecEquipes = async (req, res) => {
try {
const tournoisId = req.params.id;

if (!tournoisId) {
return res.status(400).json({ message: "ID du tournoi manquant" });
}

const matches = await Match.find({ tournois_id: tournoisId })
.populate('team1_id')
.populate('team2_id')
.populate('winner_id');

res.json({ matchs: matches });
} catch (err) {
console.error("Erreur lors du chargement des matchs :", err);
res.status(500).json({ message: "Erreur lors du chargement des matchs" });
}
};


export const resetTournois = async (req, res) => {
try {
await Match.deleteMany({ tournois_id: req.params.id });
res.status(200).json({ message: 'Matchs supprimés' });
} catch (err) {
res.status(500).json({ message: 'Erreur suppression matchs' });
}
};
Loading