====== PostGIS avec le service PaaS Heroku ======
**Objectif : déployer une app Heroku basée sur PHP et PostgreSQL avec l'extension PostGIS**
Démarche en 4 étapes :
- Suivre les étapes **Introduction, Set up, Prepare the app, Deploy the app** de //Getting Started on Heroku with PHP// https://devcenter.heroku.com/articles/getting-started-with-php#introduction
- suivre aussi l'étape **Push local changes**, mais à la place de l'utilisation de //Cowsay//, on propose simplement d'ajouter un script PHP qui exécute la fonction //phpinfo()// --- l'appel de ce script dans un navigateur permettra de voir la configuration PHP avec Heroku
- l'étape **Provision a database** est remplacée par l'exécution de la commande (attache et initialise une base de données Postgresql à l'application PHP)
heroku addons:create heroku-postgresql
- Accéder au tableau de bord Heroku Data - https://data.heroku.com
- sélectionner la BD que vous venez de créer qui se rattache à votre application PHP
- l'onglet Settings montre les informations d'identification pour les connexions manuelles à cette base de données (host URL, dbname, user, password)
- Choisir un outil console SQL pour se connecter à PostgreSQL
- avec l'application pgAdmin3 - https://www.pgadmin.org/ (suivre alors au point n°4)
- OU avec psql dans un shell interactif ([[https://devcenter.heroku.com/articles/getting-started-with-php#start-an-interactive-shell|bash]]) :
- dans le dossier local de votre app heroku, lancer heroku run bash
- après connexion, à l'invite de commande bash, lancer psql -U #heroku_dbuser# -h #heroku_dbhost.amazonaws.com# -d #dbname#
- à l'invite de commande psql, saisir une commande
select postgis_version(); # for informations about installed PostGIS
\h # for help with SQL commands
\? # for help with psql commands
- Ajouter l'extension PostGIS à la base - https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search#postgis
- exécuter la commande SQL ci-dessous qui doit ajouter l'extension PostGIS à cette instance de base de donnéescreate extension postgis
- voyez l'apparition de nouvelles tables et vues (commande psql \d en shell interactif ou faire un refresh dans pgAdmin)
{{:geoinf18:screenshot_from_2018-10-30_17-59-47.png?nolink|}}