Tester et échouer…
Si vous êtes téméraire comme moi, dès que vous avez un projet en tête, vous effectuez 2/3 recherches sur le net et vous mettez en pratique le premier tutoriel qui a l’air un peu sérieux.
Et bien, c’est exactement ce que j’ai fait… et ça n’a pas marché 😅
La majorité des tutoriels que vous allez trouver vous proposeront d’avoir une API appelable à une adresse du genre :
https://monsupersite.fr/api/
Sauf que pour notre projet, sur le domaine principal, il y a déjà un WordPress d’installé, et ce faisant, je ne suis tombé que sur des pages 404 en voulant procéder ainsi (si vous avez une explication d’ailleurs, je suis preneur).
… pour mieux réussir !
Voici donc comment procéder pour que ça marche en ayant déjà une installation WordPress sur votre domaine principal :
- Créer un sous-domaine
- Générer un certificat SSL pour ce sous-domaine
- Configurer une app Python
- Personnaliser les fichiers de l’API (voir ci-après)
- Installer les bibliothèques (voir ci-après)
- Redémarrer l’API
- Appeler l’URL, vous devriez avoir « Hello, World! » à l’écran 😎
Le fichier requirements.txt
Flask
flask-httpauth
Le fichier passenger_wsgi.py
"""
import os
import sys
sys.path.insert(0, os.path.dirname(__file__))
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
message = 'It works!\n'
version = 'Python %s\n' % sys.version.split()[0]
response = '\n'.join([message, version])
return [response.encode()]
"""
from app import application
Le fichier principal app.py (v 0.1)
import os
import sys
from flask import Flask
app = Flask(__name__)
# this is the entry point
application = app
@app.route('/')
def index():
return "Hello, World!"
if __name__ == "__main__":
app.run()
Installer les bibliothèques
⚠️ Seulement après avoir activé votre environnement et être au niveau du dossier de votre API (voir la vidéo pour copier la ligne de code générée, puis la coller dans votre Terminal, et enfin cliquer sur ⏎ Entrée)
La ligne de commande pour installer les bibliothèques :
pip install -r requirements.txt


