GrandPy Bot à la mode «serverless»

Il s'agissait d'un projet étudiant précédemment hébergé sur Github. Je l'ai mis à jour pour jouer avec :

Un papy-robot qui parle de souvenirs géographiques et citant Wikipedia.

Échangez donc quelques phrases avec lui (^_^)

Installez le vôtre !

L'exécution a besoin de quelques variables d'environnement :

  • EMAIL_ADDRESS (Nominatim API)
  • MAPBOX_API_KEY (Mapbox API)
  • GOO_API_KEY (not used but needed)

Localement :

Il fonctionne comme une simple application mono-page flask :

  • forkez-le
  • mettez en place un environement virtuel : virtualenv .venv
  • installez les dépendances : pip install -r requirements.txt
  • executez locallement : python run.py

Sur Gitlab :

Créez un profil AWS IAM sur votre compte AWS et ajoutez des variables d'environnement valides dans https://gitlab.com/<namespace>/grandpy/settings/ci_cd :

Repoussez le et le script d'intégration continue :

  • déployera le code du chat sur AWS Lambda avec l'aide magique de Zappa
  • mettra à jour le JavaScript avec l'URL AWS API Gateway pointant vers Lambda
  • génèrera la page d'accueil HTML (avec un script flask)
  • déployera les fichiers statiques sur gitlab-pages (HTML, images & CSS)

...et voilà, vous pouvez maintenant discuter avec GrandPy sur https://<namespace>.gitlab.io/grandpy/ (- ;


N'hésitez pas à me faire part de vos commentaires via les tickets.