Catalyst (logiciel)

Catalyst (logiciel)
Page d'aide sur l'homonymie Pour l’article homonyme, voir Catalyst
Catalyst logo3.png

Catalyst est un framework open source écrit en Perl, qui applique strictement le modèle de conception Modèle-Vue-Contrôleur (MVC), et qui supporte certains modèles expérimentaux de conception pour le web. Il est fortement inspiré de cadriciels comme Ruby On Rails, Maypole, et Spring.

Catalyst est surtout distribué à travers le CPAN, qui est le canal de distribution des bibliothèques et applications Perl.

Sommaire

Philosophie

Catalyst est fondé sur le principe "Don't Repeat Yourself" (DRY, « ne vous répétez pas »).

Vous pouvez utiliser Catalyst avec le chargement automatique de classes grâce à un des multiples modules de chargement, ne requérant ainsi pas de code pour la couche base de données. Mais, si vous avez besoin de la flexibilité de tout faire à la main, c'est aussi possible : la flexibilité est un autre principe guide de Catalyst.

Catalyst promet la réutilisation de modules Perl préexistants qui gèrent déjà bien les applications Web.

  • La couche Modèle est gérée par DBIx::Class, Plucene, Net::LDAP et d'autres classes modèles.
  • La couche Vue est généralement gérée par un patron web tel que Template Toolkit, Mason, ou HTML::Template.
  • La couche Contrôleur est gérée par chaque auteur d'application. De larges pans des fonctionnalités du contrôleur sont délégués à des plugins Catalyst tels que Catalyst::Plugin::FormValidator, Catalyst::Plugin::Prototype, Catalyst::Plugin::Account::AutoDiscovery...
  • Finalement, Catalyst offre des ensembles de helpers pour simplifier les structures de contrôle et connecter des URL à des méthodes de contrôle.

Les applications Catalyst peuvent exploiter les modules Perl fournis sur CPAN.

Par exemple, la génération de code Ajax et de RIA avec le module Catalyst::Plugin::Prototype (cadriciel Javascript).

Support de serveur web

Pour le développement et les tests, Catalyst comporte un serveur HTTP intégré. Pour la production, Apache, lighttpd et nginx avec le support de FastCGI ou mod perl sont recommandés, mais tout serveur web avec support de CGI ou FastCGI fonctionnera. Sur Apache, mod_perl peut améliorer considérablement les performances, mais son utilisation peut être un problème car il n'est pas sûr de partager de multiples applications sur un même serveur mod_perl.

Support des bases de données

Catalyst peut tourner sur toute base de données supportée par le DBI de Perl. Cela signifie à peu près tout, même un fichier CSV, mais une véritable base de données relationnelle est recommandée.

L'accès à la base de données est totalement découplé du point de vue du programmeur. Catalyst, grâce à une de ses classes modèles, gère l'accès à toutes les bases de données automatiquement, même si des requêtes SQL explicites sont possibles.

Ne pas faire de requêtes SQL explicites signifie que vous êtes neutre vis-à-vis des base de données et obtenez la portabilité de l'application entre différentes bases de données, et la possibilité d'utiliser autant que possible les bases de données préexistantes pour Catalyst, mais dû à des ensembles de fonctionnalités différentes des bases de données relationnelles, ce n'est pas garanti par le cadriciel Catalyst lui-même.

Catalyst supporte différentes bases de données relationnelles dont MySQL, PostgreSQL, SQLite, DB2, Oracle et Microsoft SQL Server.

Sites web construits avec Catalyst

Références

  1. a et b John Wang, « Perl 5 - Powering Web 2.0 » sur www.dev411.com, 5 septembre 2006. Consulté le 4 août 2010

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Catalyst (logiciel) de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Catalyst (Logiciel) —  Pour l’article homonyme, voir Catalyst .  Catalyst est un framework open source écrit en Perl, qui applique strictement le modèle de conception Modèle Vue Contrôleur (MVC), et qui supporte certains modèles expérimentaux de conception… …   Wikipédia en Français

  • Adobe Flash Catalyst — (nom de code Thermo) est une technologie de l éditeur de logiciel californien Adobe faisant partie de la famille Flash Platform (Flash, AIR, Flex, BlazeDS, LiveCycle, Flash Media Server) Sommaire 1 Présentation 2 Concurrence 3 Disponibilité …   Wikipédia en Français

  • Framework —  Pour l’article homonyme, voir Framework (logiciel).  Sur les autres projets Wikimedia : « Framework », sur le Wiktionnaire (dictionnaire universel) En programmation informatique, un framework est un kit de composants… …   Wikipédia en Français

  • Atelier de développement — Framework Voir « framework » sur le Wiktionnaire …   Wikipédia en Français

  • Cadre d'applications — Framework Voir « framework » sur le Wiktionnaire …   Wikipédia en Français

  • Cadriciel — Framework Voir « framework » sur le Wiktionnaire …   Wikipédia en Français

  • Frameworks — Framework Voir « framework » sur le Wiktionnaire …   Wikipédia en Français

  • Adobe Flash — Pour les articles homonymes, voir Flash. Adobe Flash …   Wikipédia en Français

  • Applet Flash — Adobe Flash Pour les articles homonymes, voir Flash. Adobe Flash …   Wikipédia en Français

  • Flash (informatique) — Adobe Flash Pour les articles homonymes, voir Flash. Adobe Flash …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”