TurboGears - Aperçu

Qu'est-ce que Web Framework?

Web Application Framework ou simplement Web Framework représente une collection de bibliothèques et de modules, qui permet à un développeur d'applications Web d'écrire des applications, sans avoir à se soucier des détails de bas niveau tels que les protocoles, la gestion des threads, etc.

Qu'est-ce que TurboGears?

TurboGears est un framework d'application Web écrit en Python. Initialement créée par Kevin Dangoor en 2005, sa dernière version TurboGears (ver 2.3.7) est gérée par un groupe de développeurs dirigé par Mark Ramm et Florent Aide.

TurboGears suit le paradigme Model-View-Controller comme le font la plupart des frameworks Web modernes tels que Rails, Django, Struts, etc.

Modèle Vue Contrôleur

MVC est un modèle de conception de logiciel pour le développement d'applications Web. Un modèle de contrôleur de vue modèle est composé de trois parties:

  • Model - Le niveau le plus bas du modèle est responsable de la conservation des données.

  • View - Ceci est responsable de l'affichage de tout ou partie des données à l'utilisateur.

  • Controller - Code logiciel qui contrôle les interactions entre le modèle et la vue.

MVC est populaire car il isole la logique d'application de la couche d'interface utilisateur et prend en charge la séparation des préoccupations. Ici, le contrôleur reçoit toutes les demandes de l'application, puis travaille avec le modèle pour préparer toutes les données nécessaires à la vue. La vue utilise ensuite les données préparées par le contrôleur pour générer une réponse présentable finale. L'abstraction MVC peut être représentée graphiquement comme suit -

Le modèle

Le modèle est responsable de la gestion des données de l'application. Il répond à la demande de la vue et il répond également aux instructions du contrôleur pour se mettre à jour.

La vue

Une présentation des données dans un format particulier, déclenchée par la décision d'un responsable du traitement de présenter les données. Ce sont des systèmes de modèles basés sur des scripts très faciles à intégrer avec la technologie AJAX.

Le controlle

Le contrôleur est chargé de répondre à l'entrée de l'utilisateur et d'effectuer des interactions sur les objets du modèle de données. Le contrôleur reçoit l'entrée, il valide l'entrée, puis exécute l'opération commerciale qui modifie l'état du modèle de données.

TurboGears est construit sur un certain nombre de bibliothèques et d'outils. Ces outils ont changé entre les différentes versions de TurboGears. Les composants de la version actuelle (ver 2.3.7) sont listés ci-dessous.

SQLAlchemy

Il s'agit d'un kit SQL open source qui fournit un mappage de relation d'objet (ORM) pour le code Python.

Genshi

Ce moteur de création de modèles est utilisé pour construire le front-end des applications TG. Un système de modèles Web combine un modèle avec une certaine source de données pour rendre des pages Web dynamiques.

ToscaWidgets

Il s'agit d'une bibliothèque de widgets pour générer des formulaires HTML avec des contrôles côté serveur. Tosca agit également comme un middleware pour se connecter aux widgets et boîtes à outils JavaScript.

Boîte de vitesses

Il fournit un ensemble de commandes pour gérer les projets et les applications serveur TurboGears. Les applications TurboGears peuvent être déployées sur n'importe quel serveur Web compatible WSGI.

L'interface de passerelle de serveur Web (WSGI) a été adoptée comme norme pour le développement d'applications Web Python. WSGI est une spécification pour l'interface universelle entre le serveur Web et les applications Web. Le package wsgiref est une implémentation de référence de WSGI. Il est utilisé pour ajouter la prise en charge de WSGI au framework Web TurboGears. Le module simple_server de ce package implémente un serveur HTTP simple qui sert les applications WSGI. Nous allons l'utiliser pour tester les applications développées au cours de ce tutoriel.