Aller au contenu

07 Novembre 2025

Objectifs

  • Avancer sur le panel

  • Faire l'API pour récupérer les informations du serveur

Déroulement

14H24

J'avance tranquillement. J'ai résolu un problème que j'avais concernant la récupération des salons textuels.

Le problème est que Discord, dans son générateur d'URL de permission, propose la lecture des salons d'un serveur mais cette fonctionnalité n'est pas implémenté et génère une erreur.

Alors pour résoudre ce problème, j'ai du faire appel au Bot Discord. Ce que je fais, c'est que je récupère le serveur via son identifiant puis je récupère la liste des serveurs via ça. J'ai juste peur que cela ne consomme beaucoup de ressource.

15H22

J'ai fait le chemin /api/server/:id. Il retourne les informations du serveur, les salons de discussion et leur catégorie.

21H47

J'ai prit la décision de séparer les différentes sections en plusieurs fichiers JavaScript pour les gérer et avoir un code plus claire plutôt qu'un seul gros fichier qui gère tout.

Actuellement, j'ai récupéré les catégories et les salons du serveur et je les affiche.

22H43

La partie interface de la section Translation est terminé, il ne me reste plus qu'à faire le fonctionnel comme ajouter une catégorie, supprimer une catégorie, assigné un salon et désassigné un salon.

Je pense que je vais faire 4 routes avec le contenu a envoyé,

[POST] /api/category

Description

Créer une catégorie.

Contenu a envoyé
JSON
{
    "serverId": "<id of the server>",
    "name": "<name of the category>"
}
Contenu réponse
JSON
{
    "message": "Category created.",
    "categoryId": "<id of the category>"
}

[DELETE] /api/category

Description

Supprime une catégorie.

Contenu a envoyé
JSON
{
    "serverId": "<id of the server>",
    "categoryId": "<id of the category>"
}
Contenu réponse
JSON
{
    "message": "Category deleted."
}

[POST] /api/channel

Description

Assigne un salon à une catégorie.

Contenu a envoyé
JSON
{
    "serverId": "<id of the server>",
    "channelId": "<id of the channel>",
    "language": "<language you want>",
    "categoryId": "<id of the category>"
}
Contenu réponse
JSON
{
    "message": "Category assigned."
}

[DELETE] /api/channel

Description

Désassigne un salon à une catégorie.

Contenu a envoyé
JSON
{
    "serverId": "<id of the server>",
    "channelId": "<id of the channel>"
}
Contenu réponse
JSON
{
    "message": "Category unassigned."
}

23H09

J'ai décidé de rajouter une étape dans la vérification avec une fonction qui permet de savoir si l'utilisateur est autorisée a accédé au Panel ou non. Pour cela, l'utilisateur devra toujours précisé le serveur qu'il souhaite modifié.

23H17

Je trouvais la fonction de vérification de l'API isApiAuthenticated pas très lisible. Je l'ai alors codé d'une autre manière pour la rendre plus facilement lisible et je suis satisfait du résultat.

Voici des images du Panel actuellement :

Screenshot du panel 1
Figure 3 — Screenshot du panel 1
Screenshot du panel 2
Figure 4 — Screenshot du panel 2

Je suis satisfait de mon travail aujourd'hui. Malgré les cours, j'ai réussi à bien avancer sur le projet et à atteindre mes objectifs. Je vais réalisé la partie gestion de la traduction demain comme indiqué ci-dessus.