Article
· 13 hr il y a 4m de lecture

Hébergement d'une application Flask de l'API REST sur InterSystems IRIS à l'aide de l'interface WSGI

Dans le cadre de mon projet stagiaire, je développe une application backend Flask de l'API REST. Mon objectif est de l'héberger sur InterSystems IRIS à l'aide de l'interface WSGI. Il s'agit d'une approche relativement nouvelle qui n'est actuellement utilisée que dans quelques projets tels que AskMe. Pour aider ceux qui souhaitent se lancer, j'ai décidé d'écrire cet article afin de simplifier le processus.

 

Création d'une application Flask de base

Commençons par créer une application Flask minimale. Voici le code:

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

@app.route('/test')
def test():
    return "Test"
if __name__ == "__main__":
    app.run()

Cette application simple exécute un serveur Flask avec un point de terminaison API à l'adresse /test qui renvoie le texte "Test.”

 

Analysons notre code ligne par ligne:

from flask import Flask
from flask_cors import CORS
  • Nous utilisons Flask comme framework web pour créer l'API REST, nous importons donc Flask .
  • CORS (Cross-Origin Resource Sharing) est importé via flask_cors pour autoriser les requêtes provenant de différents domaines (important pour les applications frontend hébergées ailleurs afin d'accéder à votre API sans erreur de sécurité).
app = Flask(__name__)
CORS(app)
  • Nous créons une instance de l'application Flask nommée app.
  • Nous encapsulons ensuite cette application avec l'intergiciel CORS, qui autorise par défaut les requêtes inter-origines. Sans cela, les navigateurs pourraient bloquer les appels API provenant d'autres domaines.
@app.route('/test')
def test():
    return "Test"
  • Ici, nous définissons une route /test à l'aide du décorateur @app.route. Cela lie l'URL /test à la fonction Python test().
  • Lorsqu'un utilisateur envoie une requête HTTP GET à /test, Flask appelle la fonction test(), qui renvoie simplement la chaîne "Test". Cela sert de point de terminaison API simple pour tester la connectivité.
if __name__ == "__main__":
    app.run()
  • Ce bloc vérifie si le script est exécuté directement (et n'est pas importé en tant que module).
  • Si c'est le cas, il démarre le serveur de développement intégré de Flask localement sur votre machine.
  • Remarque : Lors du déploiement sur InterSystems IRIS à l'aide de WSGI, cette section est ignorée car le serveur est géré par IRIS.

 

Configuration de l'application Web sur IRIS

Une fois votre application Flask prête, l'étape suivante consiste à l'héberger sur IRIS en configurant une application Web avec l'option WSGI.

  1. Ouvrez le portail de gestion IRIS pour votre instance.
  2. Accédez à System > Security Management > Web Applications (Système > Gestion de la sécurité > Applications Web) ou recherchez Web Applications.
  3. Cliquez sur le bouton Create New Web Application (Créer une nouvelle application Web).
  4. Remplissez le formulaire comme suit:
    • Nom: donnez un chemin d'accès à votre application Web, par exemple: /csp/user/api.
    • Description: ajoutez une brève description, telle que backend de My Flask API.
    • Activé: Assurez-vous que cette case est cochée.
  5. Faites défiler vers le bas et cochez l'option WSGI (Experimental) pour activer l'exécution des applications Python WSGI.0
  6. Remplissez ensuite les détails WSGI:
    • Nom de l'application: main (ceci correspond à la fonction WSGI appelable que vous souhaitez qu'IRIS utilise.)
    • Nom de la fonction appelable: app (cela correspond au nom de la variable d'application Flask dans votre code.)
    • Répertoire de l'application WSGI: saisissez le chemin d'accès complet à votre fichier main.py où l'application Flask est définie. Par exemple: /path/to/main.py.
    • Débogage: décoché
  7. Cliquez sur Save (Enregistrer).

 

Voici à quoi ressemble cette configuration dans le portail:

   

 

 

Vérification de votre API

Après avoir enregistré, votre API Flask devrait désormais être disponible à l'adresse suivante:

https://base.<your-domain>.com/csp/user/api/test ou, de manière plus générale, https://base.<your-domain>.com/<path>/test

 

Ouvrez cette URL dans votre navigateur ou testez-la à l'aide de Postman ou curl. Vous devriez voir la réponse suivante:

'Test'

 

Que faire ensuite?

Cette configuration vous permet d'exécuter une application Flask de l'API REST hébergée directement sur IRIS à l'aide de l'intégration WSGI. À partir de là, vous pouvez étendre votre API avec davantage de points de terminaison et vous connecter aux sources de données IRIS afin de créer des applications puissantes.

Faites part dans les commentaires de ce que vous prévoyez de créer avec Flask 
😜

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer