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é¶
{
"serverId": "<id of the server>",
"name": "<name of the category>"
}
Contenu réponse¶
{
"message": "Category created.",
"categoryId": "<id of the category>"
}
[DELETE] /api/category¶
Description¶
Supprime une catégorie.
Contenu a envoyé¶
{
"serverId": "<id of the server>",
"categoryId": "<id of the category>"
}
Contenu réponse¶
{
"message": "Category deleted."
}
[POST] /api/channel¶
Description¶
Assigne un salon à une catégorie.
Contenu a envoyé¶
{
"serverId": "<id of the server>",
"channelId": "<id of the channel>",
"language": "<language you want>",
"categoryId": "<id of the category>"
}
Contenu réponse¶
{
"message": "Category assigned."
}
[DELETE] /api/channel¶
Description¶
Désassigne un salon à une catégorie.
Contenu a envoyé¶
{
"serverId": "<id of the server>",
"channelId": "<id of the channel>"
}
Contenu réponse¶
{
"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 :
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.