ESTARA - tout pour préparer ta sortie en montagne : sécurité, préparation & communauté. Auth : JWT (header Authorization: Bearer <token>) · Format : JSON.
Base URL : https://back-estara.pierrenogaro.com
Erreurs communes : 401 Authentification requise · 404 non trouvé · 403 accès refusé · 400 requête invalide.
Toute mon organisation de tests de l'API se fait sur Postman : les routes sont regroupées en dossiers par ressource, comme sur la capture ci-dessus. Chaque route ci-dessous est illustrée par une capture Postman de la requête et de sa réponse.
/api/register : Créer un compte
/api/login_check : Se connecter (JWT)
/api/complete-profile : Onboarding : infos profil
/api/choose-sports : Onboarding : sports
/api/choose-role : Onboarding : rôle
/api/complete-profile-questions : Onboarding : questionnaire
/api/forgot-password : Demander un code
/api/reset-password : Réinitialiser
/api/profile : Mon profil complet
/api/profile : Modifier mon profil
/api/profile/avatar : Uploader mon avatar (multipart)
/api/profile/posts : Mes publications
/api/account : Supprimer mon compte
Requête volontairement non exécutée : cet appel supprime définitivement le compte et ses données (droit à l'effacement RGPD). La capture montre la requête prête à l'envoi, mais je ne l'ai pas lancée afin de conserver le compte de test.
/api/users/search?q=marie : Rechercher des utilisateurs
/api/users/{id} : Profil public d'un utilisateur
/api/users/{id}/posts : Publications d'un utilisateur
/api/summits : Liste des sommets
/api/summits/{id} : Détail d'un sommet
/api/create/summit : Créer Admin
/api/edit/summit/{id} : Modifier Admin
/api/delete/summit/{id} : Supprimer Admin
/api/summits/peaks : Recherche par paliers
/api/summits/peaks/details?wikidata=&name=&altitude= : Détails enrichis
/api/peaks/image?url= : Proxy d'image
/api/weather : Météo d'un point
/api/geocoding/geocode?address=Chamonix : Adresse → coordonnées
/api/geocoding/reverse?lat=&lng= : Coordonnées → adresse
/api/refuges?lat=&lng= : Refuges proches
/api/equipments : Mon équipement
/api/equipments/{id} : Détail
/api/create/equipment : Ajouter
/api/edit/equipment/{id} : Modifier
/api/delete/equipment/{id} : Supprimer
/api/equipments/{id}/photo : Uploader une photo (multipart)
/api/planned-outings : Mes sorties
/api/planned-outings : Planifier
/api/planned-outings/{id} : Annuler
/api/planned-outings/{id}/equipment/{equipmentId} : Ajouter du matériel
/api/planned-outings/{id}/equipment/{equipmentId} : Retirer du matériel
/api/guides : Liste des guides
/api/guide-reservations : Réserver un guide
/api/guide-reservations/mine : Mes réservations (alpiniste)
/api/guide-reservations/received : Reçues (guide)
/api/guide-reservations/{id}/accept : Accepter (guide)
/api/guide-reservations/{id}/decline : Refuser (guide)
400 attendu ici : une réservation déjà traitée (acceptée ou refusée) ne peut plus être modifiée — « Cette demande a déjà été traitée ». C'est une règle métier, et la capture montre ce contrôle qui fonctionne.
/api/guide-reservations/{id} : Annuler
/api/posts : Toutes les publications
/api/posts/{id} : Détail
/api/create/post : Créer (multipart)
/api/edit/post/{id} : Modifier
/api/delete/post/{id} : Supprimer
/api/posts/{id}/like : Liker
/api/posts/{id}/like : Unliker
/api/comments : Tous les commentaires
/api/comments/{id} : Détail
/api/create/comment : Créer (ou répondre)
/api/edit/comment/{id} : Modifier
/api/delete/comment/{id} : Supprimer
/api/comments/{id}/like : Liker
/api/comments/{id}/like : Unliker
/api/users/{id}/follow : Suivre
/api/users/{id}/follow : Ne plus suivre
/api/users/{id}/follow/status : Statut de suivi
/api/profile/followers : Mes abonnés
/api/profile/following : Mes abonnements
/api/users/{id}/followers : Abonnés d'un utilisateur
/api/users/{id}/following : Abonnements d'un utilisateur
/api/messages : Envoyer un message
/api/conversations : Mes conversations
/api/conversations/{userId} : Messages d'une conversation
/api/conversations/{userId}/read : Marquer comme lu
/api/conversations/{partnerId} : Supprimer une conversation
/api/messages/{id} : Modifier un message
/api/messages/{id} : Supprimer un message
/api/messages/typing : Signaler « en train d'écrire »
/api/messages/token : Jeton Mercure
/api/chat : Poser une question
| GET | /admin/login · /admin/logout | Connexion admin (formulaire, CSRF) |
| GET | /admin | Dashboard |
| GET | /admin/users | Liste · /{id}, /{id}/set-role, /{id}/toggle-admin, /{id}/delete |
| GET | /admin/posts | Liste · /{id}/delete |
| GET | /admin/comments | Liste · /{id}/delete |
| GET | /admin/summits | Liste · /new, /{id}/edit, /{id}/delete |
| GET | /admin/outings | Liste · /{id}/delete |
| GET | /admin/reservations | Liste · /{id}/cancel |
| GET | / | Accueil |
| GET | /docs | Cette page |
| GET | /privacy · /mentions-legales | Pages légales |