Web Analytics
Privacy Policy Cookie Policy Terms and Conditions Catalyst (logiciel) - Wikipédia

Catalyst (logiciel)

Un article de Wikipédia, l'encyclopédie libre.

Vous avez de nouveaux messages (diff ?).
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 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

[modifier] Philosophie

Catalyst est fondé sur le principe "Don't Repeat Yourself" (DRY). En Français : ne vous répétez pas.

Vous pouvez utiliser Catalyst avec la chargement automatique de classes grâce à un des multiples modules de chargement, ne requié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 promeut 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 URLs à des méthodes de contrôle.

Une large sélection de plugins est incluse avec Perl ou est fournie sur CPAN.

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

[modifier] Support de serveur web

Pour le dévelopement et les test, 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 les performances considérablement, mais son utilisation peut être un problème car il n'est pas sûr de partager de multiples application sur un même serveur mod_perl.

[modifier] Support des bases de données

Catalyst peut tourner toute base de données supportée par le DBI de Perl. Celà signifie à peu près tout, même un ficher 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 RDBM, ce n'est pas garanti par le cadriciel Catalyst lui-même. Catalyst supporte différents RDBMS dont MySQL, PostgreSQL, SQLite, DB2, Oracle et Microsoft SQL Server.

[modifier] Sites web consruits avec Catalyst

  • (en) iusethis - site logiciel fondé sur les usage patterns
  • (en) MightyV - Award winning TV-program listing for BBC
  • (en) Vox - plate-forme sociale de blog
  • (en) EditGrid - tableur à base de web

[modifier] Logiciels Open Source Software construits avec Catalyst

  • Agave (software) (blog)
  • Angerwhale (blog) Trac Site
  • Devel::ebug (un débogueur de programmes Perl) sur CPAN
  • Handel (software) (cadriciel de commerce) Site
  • Meios
  • MojoMojo (wiki)
  • Sosa (software)

[modifier] Liens externes


Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique.
Portail des logiciels libres – Accédez aux articles de Wikipédia concernant les logiciels libres.
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu