Le framework web CherryPy Python

1. A propos de CherryPy

CherryPy est un framework Web pythonique orienté objet.
CherryPy permet aux développeurs de créer des applications Web de la même manière qu'ils créeraient n'importe quel autre programme Python orienté objet. Cela se traduit par un code source plus petit développé en moins de temps.
CherryPy a maintenant plus de dix ans et s'est avéré rapide et fiable. Il est utilisé en production par de nombreux sites, des plus simples aux plus exigeants.

2. Application web basique avec CherryPy

L'exemple suivant montre l'application la plus basique que vous puissiez écrire avec CherryPy. Il démarre un serveur et héberge une application qui sera servie à la demande accessible à l'adresse url: http://127.0.0.1:8080/

import cherrypy

class HelloWorld(object):

    @cherrypy.expose
    def index(self):
        return "Hello from CherryPy!"

if __name__ == '__main__':

    cherrypy.quickstart(HelloWorld())

Maintenant en tapant au navigateur l'adresse url: http://127.0.0.1:8080/ on obtient:





3. Gestion des Gestion des sessions

3.1 Les sessions avec Cherrypy

Pour gérer les données de session utilisateur, on utilise l'objet cherrypy.session

class HelloWorld:
    @cherrypy.expose
    def index(self):
        count = cherrypy.session.get('count', 0) + 1
        cherrypy.session['count'] = count
        return f"This is your visit number {count}"
Gestion des cookies

3.2 Les cookies avec CherryPy

Pour définir les cookies avec CherryPy, on utilise l'objet cherrypy.response.cookie qui fait manipuler la réponse HTTP.

class HelloWorld:
    @cherrypy.expose
    def set_cookie(self):
        cherrypy.response.cookie['mycookie'] = 'some_value'
        cherrypy.response.cookie['mycookie']['max-age'] = 3600
        return "Cookie set"

3.3 Accéder aux cookies envoyés

l'objet cherrypy.request.cookie, assure l'accès aux cookies envoyés par le client.

class HelloWorld:
    @cherrypy.expose
    def get_cookie(self):
        cookie_value = cherrypy.request.cookie.get('mycookie', None)
        if cookie_value:
            return f"Cookie value: {cookie_value.value}"
        return "No cookie found"

4. Liste des méthodes associées au framework CherryPy

CherryPy est doté de nombreuses méthodes permettant de rendre le développement web plus fluide & flexible. Voici une liste de quelques-unes des méthodes les plus couramment utilisées dans le framework CherryPy:

  1. cherrypy.expose() : Décorateur pour indiquer que la méthode peut être appelée depuis l'extérieur de la classe.
  2. cherrypy.config.update() : Met à jour la configuration globale de CherryPy.
  3. cherrypy.engine.start() : Démarre le serveur CherryPy.
  4. cherrypy.engine.stop() : Arrête le serveur CherryPy.
  5. cherrypy.engine.block() : Empêche le programme de se terminer tant que le serveur CherryPy est en cours d'exécution.
  6. cherrypy.quickstart() : Crée et démarre une instance de l'application CherryPy.
  7. cherrypy.tree.mount() : Montre une application CherryPy sur un point de montage spécifié.
  8. cherrypy.request : Objet qui contient des informations sur la requête HTTP en cours.
  9. cherrypy.response : Objet qui contient des informations sur la réponse HTTP en cours.

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply