|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Christophe Ingénieur développement logiciels Inscription : septembre 2007 Messages : 128 ![]() |
Bonjour,
Je suis débutant en PHP et j'ai choisi de commencer avec un petit projet. il s'agira d'un site web mettant à disposition des utilisateurs divers petits outils (développés eux aussi en php), rien de bien méchant : - une page d’accueil - une page par outil mis à disposition (3 au départ, puis j'en ajouterai régulièrement) J'aimerai également faire une version mobile et tablette de ce site. Les questions que je me posent sont : Dois-je utiliser un framework type zend (je suis assez à l'aise avec le concept MVC) ? Ou est-ce prendre une enclume pour écraser une mouche ? Un autre framework ou bibliothèque ? Pourquoi ? Les ressources disponibles en PHP sont si vastes qu'il m'est très difficile en tant que débutant d'en avoir une vue suffisement globale pour faire mon choix. Aussi je vous demande vers quelle solution vous vous orienteriez à ma place et pourquoi ? Merci d'avance pour vos conseils avisés !
|
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Dominique Première S Inscription : juillet 2010 Messages : 252 ![]() |
personnellement, j'ai un gros projets à mon actif, et le PHP pur et simple m'a suffit amplement ... Je te dirais, je ne connais même as Zend, ni Symphony.
Ces Frameworks sont plus destinés à facilité la vie au développeur ... donc surtout si tu débute, je te conseille de faire tes premiers "petits" projets en PHP pur et dur, ça a en plus l'avantage de savoir ce passer de Frameworks ... Au passage, même si c'est un peu hors sujet, si tu veux utiliser aussi du js pour ton projet, là je te conseille très chaudement JQuery ... en gros, ça fait 5 fois moins de lignes à coder en Jquery qu'en Js ... et puis c'est portable et très esthétique. à bientôt. |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() |
![]() La position de Dominique est très chancelante : pour débuter, passe exclusivement par le langage lui-même, pas de framework, vu que tu devras apprendre (1) le langage et (2) le framework en même temps. Même si ça simplifie beaucoup a posteriori, ça augmente considérablement le prix d'entrée, ça te décourage presque plus facilement. Surtout que tu seras incapable de voir ce qu'il y a derrière le framework et qu'il te sera impossible de passer à un autre si tu le considères comme le langage dans ton apprentissage (les projets peuvent vite mourir, il ne faut pas énormément).
__________________
Le troisième défi Qt ! Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP. Qt : La FAQ : 200 QR symfony : sfDoctrineGuard Pas de question d'ordre technique par MP ! |
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Dominique Première S Inscription : juillet 2010 Messages : 252 ![]() |
n'es-ce pas ce que j'ai dit ?
que du moins pour débuter, c'était mieux de ne pas utiliser de Framework ? |
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() |
Sauf en JS :
Citation:
__________________
Le troisième défi Qt ! Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP. Qt : La FAQ : 200 QR symfony : sfDoctrineGuard Pas de question d'ordre technique par MP ! |
|
|
00
|
|
|
#6 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Effectivement si tu débute, commence par "faire tes classes" en procécural puis migre vers de l'objet et éventuellement vers un framework ensuite.
Par ailleurs, j'ai conçu un framework MVC pour ce genre de besoin, il est beaucoup plus simple et léger à appréhender que ses copains Zend et Symphony et permet la réalisation de modules externes assez simplement. Si le projet t'intéresse, je t'invite à aller regarder sur la page du projet: http://code.google.com/p/php-axiom/ Pour plus de détails tu peux me contacter par PM ou par mail pour obtenir une ébauche du manuel utilisateur.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Christophe Ingénieur développement logiciels Inscription : septembre 2007 Messages : 128 ![]() |
Je vous remercie de vos conseils.
Je vais préciser un point tout de même (je ne sais pas si a un impact dans vos recommandations) mais si je suis débutant en php (j'apprend ce langage depuis quelques semaines) je suis loin de l'être en développement. Cela fait plus de 10 ans que je travaille sur d'autres langages, donc je sais à peu près où je mets les pieds. Le langage php en lui même je pense le connaitre assez bien maintenant par contre je n'ai aucune culture en ce qui concerne les ressources disponibles, ce qui est considéré comme étant les bonne pratiques pour obtenir un site qui soit compatible avec un maximum de navigateur, etc... Edit : Merci Benjamin je vais jeter un oeil à ton code ! |
|
|
00
|
|
|
#8 | |
|
Membre confirmé
![]() Dominique Première S Inscription : juillet 2010 Messages : 252 ![]() |
Citation:
@dourouc05 ah oui, pas en js ... après, ça dépend quel usage on veux en faire ... moi je considère le js comme un gadget ... et puis le js es un langage capricieux tout de même, et il y a des choses que tu ne peux pas faire en js mais en JQuery (à moins d'y passer le temps mais alors là ...) ... mais bon, c'est effectivement mieux de commencer sans Framework ... |
|
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Christophe Ingénieur développement logiciels Inscription : septembre 2007 Messages : 128 ![]() |
Je comprend tout à fait l'intérêt de commencer sans Framework afin de pouvoir voir le travail de "bas niveau" à effectuer dans le cadre de ce développement.
Je pensais commencer en POO, j'y suis bien plus à l'aise qu'en procédural maintenant, vous me conseillez tout de même de passer d'abord par du procédural ? |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Dominique Première S Inscription : juillet 2010 Messages : 252 ![]() |
ma foi, si t'es à l'aise en POO, vaudrait mieux continuer en POO ...
de toute façon, je crois que c'est plus facile de passer de la POO au procédural que du procédural en POO ... et puis beaucoup d'autre langages comme le C++, le java etc. sont 100% POO, donc si tu envisages plus tard d'apprendre d’autres langages ... |
|
|
00
|
|
|
#11 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Disons qu'historiquement, PHP est un langage procédural, l'OOP est arrivée sur le tard (une véritable implémentation n'est disponible que depuis la version 5 du langage).
Si tu n'as jamais connu la programmation procédural parce que tu viens du monde Java par exemple, tu risque de passer à coté de certaines spécificités propre au langage PHP. Par ailleurs les tutoriels pour débutant parlent tous de procédural en premier lieu.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Christophe Ingénieur développement logiciels Inscription : septembre 2007 Messages : 128 ![]() |
Très bien dans ce cas je vais me remettre au procédural pour commencer afin de vraiment faire le tour du langage et travailler sans aucun Framework, même si me connaissant je finirai par faire le "mini mien" pour éviter la redondance de code
Une dernière question avant de taguer comme résolu cette discussion, vous avez un recueil des "bonnes pratiques" PHP à me recommander ? Afin de ne pas travailler "comme un porc" c'est toujours bien d'avoir une référence sur la manière usuelle de travailler dans un langage |
|
|
00
|
|
|
#13 | |
![]() ![]() ![]() |
Citation:
Bien heureusement, C++ n'est pas Java et accepte bien d'autres paradigmes que de l'impératif orienté objet uniquement (impératif pur, fonctionnel sont généralement cités), par conception.
__________________
Le troisième défi Qt ! Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP. Qt : La FAQ : 200 QR symfony : sfDoctrineGuard Pas de question d'ordre technique par MP ! |
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Christophe Ingénieur développement logiciels Inscription : septembre 2007 Messages : 128 ![]() |
Bah de toute manière je connais déjà les deux langages je travaille sur C / C++ / Java / Vb6 / Delphi / C# donc je ne pense pas que PHP va me choquer dans sa philosophie
Par contre je serai vraiment preneur, afin de ne pas avoir à lire des tonnes de tuto dans tous les sens, d'un site ou livre où trouver les bonnes pratiques PHP : comment sécuriser son site, se prémunir de certain faille ou vulnérabilité dans le code, éviter les problème de compatibilité, etc... Ou une liste de tout ce qu'il ne faut absolument pas faire |
|
|
00
|
|
|
#15 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Alors déjà je commencerai la liste par:
1 - Ne pas mélanger le php et le HTML ! 2 - NE PAS MÉLANGER LE PHP ET LE HTML ! 3 - Utiliser la syntaxe alternative pour les vues 4 - Nommer les fichiers intelligemment (fic.class.php pour les classes, fic.html.php pour les vues etc.) 5 - Utiliser systématiquement la syntaxe Doxygen 6 - Toujours bien vérifier la version à laquelle une fonctionnalité a été introduite et la compatibilité sur les différents systèmes (marqué généralement dans la doc, vers le bas avant les messages utilisateurs) 7 - Séparer tous les aspects de l'application et les isoler dans des fichiers différents 8 - Un fichier par classe (facilite le travail de l'autoloader) 9 - Utiliser un IDE (Eclipse ou Netbeans) 10 - Utiliser un debugger et l'intégrer dans l'IDE 11 - Activer le reporting d'erreurs et le display en dev 12 - "xxx or die" en dev MAIS JAMAIS EN PROD 13 - Préférer PDO à mysql_* 14 - Eviter l'injection avec les requêtes préparées (PDO) ou mysql_real_escape_string (procdédural) 15 - SYSTEMATIQUEMENT TESTER LES INDEX DE TABLEAUX (utiliser un index non défini provoque une erreur mineure) 16 - Utilisez isset pour tester l'existence d'une variable 17 - Utilisez empty pour tester l'existence de données dans une variable 18 - Ne pas utiliser isset et empty en même temps: empty se comporte comme isset avec les variables non définies 19 - La conversion en booléen en PHP est un peu ambigüe, dans le doute toujours tester 20 - La page blanche est symptomatique d'une FATAL_ERROR, activer les traces permet de les identifier 21 - Coder comme si celui qui reprendra votre code est peut être un serial-killer qui connait votre adresse ! 22 - C'est en forgeant qu'on devient forgeron, la doc est ta meilleure amie
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#16 |
|
Membre régulier
![]() Christophe Ingénieur développement logiciels Inscription : septembre 2007 Messages : 128 ![]() |
Merci Benjamin ça me fait une bonne liste de départ
|
|
|
00
|
|
|
#17 |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Même s'il est vrai qu'une première approche en php pur est intéressante, je ne peux m'empêcher de suggérer Yii si tu veux commencer avec un framework.
J'ajoute que je ne connais pas php-axiom. Dès que j'ai le temps, je vais y jeter un coup d'oeil.
__________________
|
|
|
00
|
|
|
#18 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Ceux qu'Axiom intéresse pourront contribuer à ce thread: http://www.developpez.net/forums/d11...amework-axiom/
Vos idées sont les bienvenues.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#19 |
|
Membre régulier
![]() Christophe Ingénieur développement logiciels Inscription : septembre 2007 Messages : 128 ![]() |
Merci s.n.a.f.u
Bien que j'ai finalement créé mon propre framework MVC pour me familiariser un peu avec PHP, j'analyserai également le tiens Benjamin et ne manquerai pas de te faire un retour à son sujet Par contre le lien vers ton article n'est pas visible pour moi car il se trouve dans une zone privée. |
|
|
00
|
|
|
#20 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
En effet Cravis, il te faudra attendre la rédaction de l'article final, désolé.
En attendant, tu peux toujours aller sur la page du projet: http://code.google.com/p/php-axiom/
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
Copyright © 2000-2012 - www.developpez.com