Ce projet est un raccourcisseur d'URL développé en Node.js à l'aide d'Express, de SQLite et d'EJS. Il est constitué d'une API serveur REST afin de raccourcir, consulter et supprimer des liens, ainsi qu'un client AJAX moderne.
- Cloner le dépôt GitHub :
git clone https://github.com/Kelyan3/devweb-TP6.git
cd devweb-TP6- Installer les dépendances NodeJS (assurez-vous d'avoir NodeJS installé sur votre machine):
npm install package.json-
Configurer les variables d'environnement dans
.envsi nécessaire. -
Lancer l'application (selon le mode que vous désirez) :
- En mode développement :
npm run dev
- En mode production :
npm run prod
-
API V1 | API V2
- Documentation interactive : http://localhost:8080/api-docs
- Exemple de création :
# Avec HTTPie http POST http://localhost:8080/api-v2/ url=https://perdu.com # Avec curl curl --include --header 'Accept: application/json' --header 'Content-Type: application/json' --request POST http://localhost:8080/api-v1/ --data '{"url": "https://perdu.com"}'
- Exemple de suppression :
# Avec HTTPie http DELETE http://localhost:8080/api-v2/abc123 X-API-KEY:RatQak # Avec curl
-
Client AJAX
database/database.mjs: gestion de la base de données SQLiterouter/api-v1.mjs: routes API v1 (JSON uniquement)router/api-v2.mjs: routes API v2 (JSON/HTML, suppression sécurisée)static/: fichiers statiques (client AJAX, CSS, Swagger)views/: templates EJS pour le rendu HTMLconfig.mjs: configuration pour le serveur Express.server-http.mjs: serveur principal Express
reponses: réponses aux questions du TPapi-v1: version avec API v1 complèteapi-v2: version avancée avec JSON et HTML.client-ajax: version avec client AJAXapi-v2-delete: version avec suppression sécurisée
Lien vers Render : https://devweb-tp6-tfwr.onrender.com/