🚀 Dictionnaire en Go 1.24.0 : Une API REST permettant d'ajouter, modifier, rechercher et supprimer des mots dans un dictionnaire, avec persistance des données et gestion des accès concurrents.
📌 Développé par : MESSIA DOLIVEUX Lucas
📂 Dépôt GitHub : Go_Project_Dico
✅ Ajout de mots avec leur définition
✅ Modification des définitions
✅ Suppression de mots
✅ Liste complète des mots enregistrés
✅ Recherche avancée de mots (supporte la recherche partielle)
✅ Compteur du nombre total de mots
✅ Persistance des données (fichier JSON)
✅ Gestion avancée des routes et méthodes HTTP
✅ Arrêt propre du serveur avec sauvegarde automatique
✅ Middleware CORS et Logging
✅ Route /health pour vérifier l’état du serveur
Avant de commencer, assure-toi d’avoir installé Go 1.24.0 ou une version supérieure.
Vérifier la version installée :
go versiongit clone https://github.com/Lucasmes93/Go_Project_Dico.git
cd Go_Project_Dicogo mod tidygo run main.goLe serveur est accessible à l’adresse http://localhost:8080.
| Méthode | Route | Description |
|---|---|---|
| POST | /add |
Ajoute un mot avec sa définition |
| PUT | /update |
Modifie un mot existant |
| DELETE | /remove?mot=<mot> |
Supprime un mot |
| GET | /list |
Liste tous les mots |
| Méthode | Route | Description |
|---|---|---|
| GET | /search?query=<mot> |
Recherche un mot (supporte la recherche partielle) |
| GET | /count |
Compte le nombre total de mots |
| GET | /health |
Vérifie l’état du serveur |
curl -X POST http://localhost:8080/add -d '{"mot":"chat", "definition":"Petit félin domestique"}' -H "Content-Type: application/json"curl -X PUT http://localhost:8080/update -d '{"mot":"chat", "definition":"Félin domestique affectueux"}' -H "Content-Type: application/json"curl -X GET "http://localhost:8080/search?query=cha"curl -X DELETE "http://localhost:8080/remove?mot=chat"curl -X GET "http://localhost:8080/list"Les mots sont enregistrés dans le fichier data/dico.json.
Toutes les modifications sont automatiquement sauvegardées.
💡 Reprise après arrêt :
Si le serveur est redémarré, il recharge les données sauvegardées.
Lorsque le serveur est arrêté (CTRL+C), une sauvegarde automatique est effectuée.
Toutes les données sont enregistrées dans data/dico.json avant l'arrêt.
Les contributions sont les bienvenues ! 🎉
git clone https://github.com/Lucasmes93/Go_Project_Dico.gitgit checkout -b feature-nouvelle-fonctionnalitégit add .
git commit -m "Ajout de la fonctionnalité XYZ"git push origin feature-nouvelle-fonctionnalitéVa sur GitHub et propose ta modification via une Pull Request.
- Langage : Go 1.24.0
- Base de données : Fichier JSON (persistance des mots)
- Framework HTTP :
net/http - Gestion des concurrents :
sync.RWMutex
Ce projet est sous licence MIT.
Tu es libre de l’utiliser, le modifier et le distribuer. 😊
📌 Développé par : MESSIA DOLIVEUX Lucas
📂 Dépôt GitHub : Go_Project_Dico
🔥 Merci d’utiliser le projet Dictionnaire en Go ! 🚀