Nous sommes actuellement le 04 Juil 2026, 11:37

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 6 message(s) ] 
Auteur Message
 Sujet du message: [PHP] Vous connaissez PRADO ?
MessagePublié: 06 Jan 2007, 00:45 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 02:19
Message(s) : 3490
Localisation : Québec, QC
Hello,

Je viens vous faire part d'une découverte que j'ai fait dans le cadre de mon travail... Il s'agit de PRADO. C'est un framework pour créer des applications WEB avec PHP (compatible PHP5.1+).

J'avais eu l'occasion de faire un peu d'ASP.NET lors de mon stage et j'avais vraiment tripé sur le concept de développement par composante et évènement pour construire des applications Web.

Par contre, ASP.NET a le gros défaut de rouler sous IIS sur un serveur Windows... (mono ne faisait pas la job il y a 1 an lorsque j'ai essayé). Donc, je me suis résigné à continuer à utiliser PHP.. et faire du code laid (genre une boucle qui mélange html et php pour afficher le résultat d'une requête SQL dans une table...), jusqu'au jour où je me suis intéressé aux frameworks PHP et plus particulièrement à PRADO.

Bien, PRADO s'inspire beaucoup du concept de programmation par composant et évèements d'ASP.NET et l'apporte au monde du développement PHP. C'est tout simplement fantastique...

J'ai pratiquement terminé ma première application Web avec ce framework et je ne retiens que du positif. Le code est clair, simple à relire (pas de mélange dégueu html/php), et c'est fun à utiliser.

À mon avis, il ne manque que deux trucs, soit une abstraction de bases de données en natif (pour l'instant j'utilise Adodb, mais un truc intégré ça serait plus clean) et les ActiveComponents (AJAX). La bonne nouvelle est que c'est en développement pour la prochaine version.

Le meilleur dans ça, c'est que c'est gratuit et libre sous licence BSD. C'est du PHP, alors ça marche sur toutes plateformes supportées par PHP (Windows, Linux, Unix, et OS X (mais pas out of the box, car OS X ne vient pas avec PHP 5.1 qui est requis).

Quelques liens utiles:
- Le site officiel
- Le forum (très pratique lorsqu'on débute.. et très réactif!)
- La documentation "quickstart"
- et on ne pourrait pas passer sous silence, la fameuse application HelloWorld...


J'ai aucun problème à le conseiller à n'importe quel développeur d'applications Web. Ça passe le test :).

_________________
Homer


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 06 Jan 2007, 02:44 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
C'est une belle découverte pour moi ! Je cherchais justement un truc du genre.

Pour l'accès aux BD, MDB2 de Pear ne fait pas l'affaire ? On a juste besoin de changer le dsn et on peut se connecter aux principales bases de données.

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 06 Jan 2007, 12:16 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 02:19
Message(s) : 3490
Localisation : Québec, QC
Jump a écrit:
C'est une belle découverte pour moi ! Je cherchais justement un truc du genre.

Pour l'accès aux BD, MDB2 de Pear ne fait pas l'affaire ? On a juste besoin de changer le dsn et on peut se connecter aux principales bases de données.


Probablement. Je me rappel plus pourquoi j'ai opté pour Adodb plutôt qu'autre chose ;)

_________________
Homer


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 06 Jan 2007, 13:24 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:31
Message(s) : 811
Localisation : Still on Mars
Salut,

Je ne connais pas Prado en temps que telle. Par contre ca sonne etre simplement l'application de du bon vieux MVC.

Ca semble egalement utiliser XSLT pour faire le rendering. Suis-je correct ?

Voici une liste de framework existant
CakePHP http://www.cakephp.org/
Zend Framework http://framework.zend.com/
Ez Components (pas un framework mais ce sont des outils tres utiles) http://ez.no/ezcomponents
Symphony http://www.symfony-project.com/

Voici mon opinion personel sur l'abstraction de donner
- Est-ce que votre applications doit etre absolument portable sur plusieurs DB ?
- Ce faire un simple wraper de function est souvent plus efficace que de passer pour un truc comme PearDB qui fait beaucoup d'execution de code avant d'executer la requete.

Concernant le code degeux, melange PHP et HTML.
A un moment donner ou un autre tu as pas le choix de melanger 2 truc en semble pour faire le rendering du html.
OK, un tag XML semble plus beau que <?=$customer->name?>. Parcontre utiliser du PHP direct est beaucoup plus efficace et demande moins de ressource.

Perso, je n'utilise pas de framework a part celui que je developpe a l'interne en suivant le principle MVC.

Model
Contient juste des donnees et les methodes d'access aux donnees (XML,DB)

Controller
Il y a un master controller http://domaine.com/ (index.php) qui gere l'acce au page et determine quelle template, quelle fichier de langue et quelle sous controller executer)

Un sous controller peut etre un simple script PHP qui appele des methodes

View
Il y a pas besoin de vue reelement a l'exception des template.

Bref la problematique du developpement web est simple.
Je ne voient pas le besoin de la rendre plus complex :)

_________________
Pro_PHP

La Conference PHP Québec 2008
La communauté PHP Québec


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 06 Jan 2007, 14:00 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 02:19
Message(s) : 3490
Localisation : Québec, QC
Pro_PHP a écrit:
Salut,

Je ne connais pas Prado en temps que telle. Par contre ca sonne etre simplement l'application de du bon vieux MVC.

Ca semble egalement utiliser XSLT pour faire le rendering. Suis-je correct ?


Je ne crois pas.

Pro_PHP a écrit:
Voici une liste de framework existant
CakePHP http://www.cakephp.org/
Zend Framework http://framework.zend.com/
Ez Components (pas un framework mais ce sont des outils tres utiles) http://ez.no/ezcomponents
Symphony http://www.symfony-project.com/


J'avais rapidement survolé CakePHP et Symphony lorsque j'ai commencé à m'intéresser aux frameworks php. Ils me semblaient plus complexes que PRADO à première vue.

Pro_PHP a écrit:
Voici mon opinion personel sur l'abstraction de donner
- Est-ce que votre applications doit etre absolument portable sur plusieurs DB ?


Le moteur de base de données définitif n'avait pas été décidé au moment de débuter le développement de l'application.

Pro_PHP a écrit:
- Ce faire un simple wraper de function est souvent plus efficace que de passer pour un truc comme PearDB qui fait beaucoup d'execution de code avant d'executer la requete.


C'est certain, mais c'est pas si pire. La page est générée rapidement par le serveur Web, c'est tout ce qui compte pour moi.

Pro_PHP a écrit:
Concernant le code degeux, melange PHP et HTML.
A un moment donner ou un autre tu as pas le choix de melanger 2 truc en semble pour faire le rendering du html.
OK, un tag XML semble plus beau que <?=$customer->name?>. Parcontre utiliser du PHP direct est beaucoup plus efficace et demande moins de ressource.


Avec le contrôle TDataGrid par exemple, je n'ai pas à programmer la création de la grille, je n'ai pas à programmer les couleurs alternantes, je n'ai pas à programmer la pagination... il y a donc gain de productivité ici (une fois l'outil bien pris en main)

Puis au niveau de l'efficacité, lorsqu'on peut se permettre quelque chose de plus haut niveau, pourquoi ne pas s'en servir ? Tout dépends de l'utilisation aussi. Si tu as besoin de quelque chose d'hyperoptimisé car tu sais que ton application va recevoir des milliers de connexions concurentes, peut-être que PRADO n'est pas la meilleure solution. Mais autrement, je préfère sauver du temps de développement que d'avoir un truc super optimisé pour rien.

Pro_PHP a écrit:
Perso, je n'utilise pas de framework a part celui que je developpe a l'interne en suivant le principle MVC.

Model
Contient juste des donnees et les methodes d'access aux donnees (XML,DB)

Controller
Il y a un master controller http://domaine.com/ (index.php) qui gere l'acce au page et determine quelle template, quelle fichier de langue et quelle sous controller executer)

Un sous controller peut etre un simple script PHP qui appele des methodes

View
Il y a pas besoin de vue reelement a l'exception des template.

Bref la problematique du developpement web est simple.
Je ne voient pas le besoin de la rendre plus complex :)



Je ne suis pas programmeur à la base et lorsque je programme, j'aime programmer le moins possible et d'utiliser le plus d'outils haut niveau existants pour me faciliter la tâche et de me permettre de terminer plus rapidement. Bref, je n'aime pas réinventer la roue, même si ça permettrait un léger gain en performance.

Une question de goût faut croire :).

_________________
Homer


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 06 Jan 2007, 14:38 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Je crois que j'ai un peu plus la même vision que Homer. Pour moi une application Web doit être une application avant tout. Le web doit juste être un mode de rendu qui utilise l'application.

Comme ça, si l'application doit être utilisé par webservice d'une manière quelconque, ou par tout autres moyens, ce sera (plus) simple à faire.

Pour ce qui est du mélange php-html, même en asp.net on en fait. Ça parrait peut-être moins avec le codebehind et l'existance d'objets qui génèrent le code html ainsi que les événements, mais il pourra tout de même y avoir un peu de mélange. Il reste que moi aussi je trouve qu'une application en asp.net c'est normalement beaucoup plus clean qu'en php. Malheureusement c'est beaucoup moins portable.

Chose certaine, pour avoir vu des gens sans expérience en développement Web faire une application en asp.net, ça génère un code très peu optimal puisque tout est encapsulé et que certains principes de base du fonctionnement du monde web sont moins apparent. Dans ce cas-ci c'était une quantité phénoménale de postback inutile. Sans oublier les problèmes de persistance des données... Mais bon, chaque truc à ses pours et ses contres.

Ce qu'il manque à PHP selon moi c'est une version compilable qui permettra de typer fortement le code ainsi qu'un support plus complet de l'orienté objet (des vrais getters/setters ou propriétés et surtout de faire de l'overload sur tous les genres de méthodes).

Pour le reste, les frameworks de ce genre devraient faire l'affaire pour moi... Sûrtout que je programme presque plus en web !

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 6 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site