Outils pour utilisateurs

Outils du site


informatique:api-rest:postgrest

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
informatique:api-rest:postgrest [2025/01/06 14:43] – créée - modification externe 127.0.0.1informatique:api-rest:postgrest [2025/07/30 13:39] (Version actuelle) – [Pour aller plus loin, jointures…] bertrand
Ligne 22: Ligne 22:
 docker run --name tutorial -p 5433:5432 \ docker run --name tutorial -p 5433:5432 \
            -e POSTGRES_PASSWORD=mysecretpassword \            -e POSTGRES_PASSWORD=mysecretpassword \
-           -d postgres:13-alpine+           -d postgres:17-alpine
 </code> </code>
  
 Cela va faire tourner une instance docker et exposer le port 5433 sur l'hôte depuis lequel on pourra accéder au serveur PostgreSQL. Cela va faire tourner une instance docker et exposer le port 5433 sur l'hôte depuis lequel on pourra accéder au serveur PostgreSQL.
  
-<note tip>Si vous avez des données géographiques, il faut PostGIS… remplacer en fin de ligne de commande ci-dessus //postgres// par //postgis/postgis:12-3.0-alpine// ou //postgis/postgis:13-3.1-alpine//, cf. [[https://hub.docker.com/r/postgis/postgis/tags?page=1&ordering=last_updated|page postgis sur dockerhub]]\\ +<note tip>Si vous avez des données géographiques, il faut PostGIS… remplacer en fin de ligne de commande ci-dessus //postgres// par //postgis/postgis:13-3.5-alpine// ou //postgis/postgis:17-3.5-alpine// les version 14, 15, 16 existent aussi, cf. [[https://hub.docker.com/r/postgis/postgis/tags?page=1&ordering=last_updated|page postgis sur dockerhub]]\\ 
-On peut préférer aussi l'image //postgres:13-alpine// au lieu de la //postgres//, cette dernière est basée sur debian+On peut préférer aussi l'image //postgres:17-alpine// au lieu de la //postgres//, cette dernière est basée sur debian
 </note> </note>
 <note important>Si vous coupez/redémarrez votre PC, il faudra redémarrer le conteneur : <code bash>docker container start tutorial</code></note> <note important>Si vous coupez/redémarrez votre PC, il faudra redémarrer le conteneur : <code bash>docker container start tutorial</code></note>
Ligne 161: Ligne 161:
 </code> </code>
  
-<note tip>Pour tester les requêtes on peut utiliser [[https://curl.se|curl]], et éventuellement faire un pipe sur //json query// (jq) pour que soit bien plus lisible le JSON retourné.\\ Il y a aussi l'utilitaire [[https://insomnia.rest/download|Insomnia]], et également Postman qui pousse plutôt la solution web, mais propose également un [[https://learning.postman.com/docs/getting-started/installation-and-updates/#installing-postman-on-linux|client lourd]], malheureusement, ni l'un ni l'autre ne sont libres ou Open Source !</note>+<note tip>Pour tester les requêtes on peut utiliser [[https://curl.se|curl]], et éventuellement faire un pipe sur //json query// (jq) pour que soit bien plus lisible le JSON retourné.\\ Il y a aussi l'utilitaire [[https://www.usebruno.com/|bruno]], [[https://insomnia.rest/download|Insomnia]], et également Postman qui pousse plutôt la solution web, mais propose également un [[https://learning.postman.com/docs/getting-started/installation-and-updates/#installing-postman-on-linux|client lourd]], la [[https://github.com/usebruno/bruno|version gratuite de Bruno]] est Open Source !</note>
 ===== Utilisateur autorisé en écriture ===== ===== Utilisateur autorisé en écriture =====
  
Ligne 211: Ligne 211:
 <note tip>Si on crée le serveur postgREST via un conteneur Docker, au lieu de ce fichier, on précise ce mot de passe via la clé //PGRST_JWT_SECRET// dans le docker-compose.yaml</note> <note tip>Si on crée le serveur postgREST via un conteneur Docker, au lieu de ce fichier, on précise ce mot de passe via la clé //PGRST_JWT_SECRET// dans le docker-compose.yaml</note>
 ==== Création du jeton JSON Web Token (JWT) ==== ==== Création du jeton JSON Web Token (JWT) ====
-Plus d'informations sur les [[wpfr>JWT]]\\ +Plus d'informations sur les [[wpfr>JSON_Web_Token]]\\ 
-Rendez-vous sur [[https://jwt.io/#debugger-io|jwt.io]] puis suivez-les instructions comme sur le schéma:\\ +Le tutoriel de [[https://grafikart.fr/tutoriels/json-web-token-presentation-958|grafikart]]\\ 
-{{https://postgrest.org/en/v7.0.0/_images/tut1-jwt-io.png}}+Tutoriel avec une petit code JS/Node pour créer un JWT https://www.geeksforgeeks.org/json-web-token-jwt/\\ 
 +ou via un script sh : https://postgrest.org/en/stable/tutorials/tut1.html#step-3-sign-a-token
  
 À quelques adaptations près : À quelques adaptations près :
Ligne 300: Ligne 301:
  
 ===== Pour aller plus loin, jointures… ===== ===== Pour aller plus loin, jointures… =====
-[[:informatique:api-rest:postgrest-jointure-postgis|Jointure et insertion de lieux avec coordonnées géographique (geometry)]]+  * [[:informatique:api-rest:postgrest-jointure-postgis|Jointure et insertion de lieux avec coordonnées géographique (geometry)]] 
 +  * [[https://postgis.net/documentation/tips/tip-move-postgis-schema/]] pbm //type "geometry" does not exist// lié à l’extention postgis/schéma //public//.
  
informatique/api-rest/postgrest.1736174591.txt.gz · Dernière modification : de 127.0.0.1