Stratégie de conception d'un site php/xhtml/xml/mysql - PHP - Programmation
Marsh Posté le 06-05-2005 à 20:35:13
Auto-réponse :
Salut,
Je te conseil ce petit article qui est malheureusement en anglais.
Je pense que c'est ce genre d'article que tu recherches.
Maintenant, je suis sur que d'autres personnes ont des liens en français à te proposer ou de précieux conseils à te prodiguer.
Marsh Posté le 06-05-2005 à 20:38:34
1) structure du site + éventuellement shémat de la BDD (ou avec des fichiers XML)
2) Structure du code XHTML avec UNIQUEMENT si possible des balises XHTML sans attributs graphique.
3) CSS pour concevoir la mise en page et UNIQUEMENT si besoin, adaptation du code XHTML.
4) Rendre dynamique tout ça avec PHP en SEPARANT AU MAXIMUM XHTML et PHP.
Marsh Posté le 06-05-2005 à 20:46:52
M'enfin yoyo, tu cites un article et tu sembles déçu qu'il soit en Anglais... Tu n'y couperas pas : c'est la langue véhiculaire.
Tu dis aussi ne pas voir l'utilité des classes. Peut-être qu'un peu de littérature O.O. te ferait du bien ? Pas la peine de recommencer le débat sur l'(in)utilité de l'O.O. en PHP; on l'a fait y'a pas si longtemps.
Par contre, puisqu'on en est à des généralités, existe-t-il un catalogue de DESIGN PATTERNS propres à PHP ? Un peu comme ceux qui existent pour J2EE. Y'a pas mal d'idées qui restent applicables à PéHpé.
Marsh Posté le 06-05-2005 à 20:55:53
yoyo354 a écrit : Je vois pas mal de site où l'on fait l'apologie des classes mais lorsque je voie mon site et que j'essaye d'analyser mes besoins, je ne voie pas l'utilité de classe car je ne répète pas x fois les mêmes actions... |
=> "émettre des bulletins d'alerte", "poster des avis sur les concerts", "consulter les "bulletins d'alertes"", "s'inscrire en tant que membre"...
Tu ne comptes pas répèter x fois ces actions? Il va être triste ton site si il y a un seul utilisateur.
EDIT : sircam a raison, faudrait te mettre à l'anglais quand même. Il existe surement des bons sites en français sur PHP mais c'est franchement un handicap de ne pas maitriser l'anglais quand tu veux utiliser efficacement ce formidable outil qu'est le net.
Tu pourrais aussi peut être commencer par te payer un bon bouquin sur le PHP histoire d'avoir un bon support pour te lancer. "Programming PHP" et "Web database applications with PHP and MySQL" chez Oreilly par exemple.
http://www.oreilly.com/catalog/progphp/
http://www.oreilly.com/catalog/webdbapps2/
Ils existent peut être en français, je ne suis pas sur.
Marsh Posté le 06-05-2005 à 21:02:12
Hermes le Messager a écrit : 1) structure du site + éventuellement shémat de la BDD (ou avec des fichiers XML) |
Merci pour là réponse,
Je reprend :
1)Je commence par concevoir, imaginer à quoi va ressembler le site, les fonctions qu'il proposera, etc... Et je réalise la strucure de ma base de donnée en fonction de mes besoins (section membre, articles, etc.) ;
2)Ensuite je fais mes page xHTML(Strict bien sûr ). Je ne mets donc pas d'attribut class ou id ;
3)Je mets tout ça en forme ;
4)Enfin, j'attaque le "plus dur" le dynamisme du site avec php.
En gros, le contraire de ce que je comptais faire
Marsh Posté le 06-05-2005 à 21:06:19
Sinon, tu fais comme moi, tu fais un CMS et tu réalises tes sites avec.
Marsh Posté le 06-05-2005 à 21:10:04
Hermes le Messager a écrit : Sinon, tu fais comme moi, tu fais un CMS et tu réalises tes sites avec. |
Sinon il peut aussi utiliser un CMS déjà existant. En fait faudrait savoir quel est son véritable but :
- créer son site ET apprendre le PHP par la même occasion
- créer son site
Nan parce que des fois on a tendance à oublier que des gens se cassent le cul à créer des trucs pour faciliter la vie des autres.
Marsh Posté le 06-05-2005 à 21:13:47
sircam a écrit : M'enfin yoyo, tu cites un article et tu sembles déçu qu'il soit en Anglais... Tu n'y couperas pas : c'est la langue véhiculaire.(1) |
(1) En effet, je suis déçu qu'il soit en anglais. Je sais bien que l'anglais est incontournable pour programmer. Je "comprend"(déchiffe) quand même ce genre d'article mais je suis loin de me taper 800 au TOEIC Et pourtant, j'aimerais bien
(2)Les classes... On va en parler.
(3)http://www.phppatterns.com/index.php On ne peut être plus explicite ; Pour être honnête, je ne savais même pas ce que c'était DESIGN PATTERNS et je ne comprend toujours pas trop son utilité.
Marsh Posté le 06-05-2005 à 21:18:37
impulse a écrit : => "émettre des bulletins d'alerte", "poster des avis sur les concerts", "consulter les "bulletins d'alertes"", "s'inscrire en tant que membre"... |
(1) Ce que je veux dire, c'est que je n'utilise qu'un seul fichier pour poster un commentaire. Je n'ai pas besoin de réécrire le code n fois.
(2)cf plus haut
(3)J'ai déjà investie il y a un mois ou deux, "PHP en Action"(PHP cook) aux éditions O`Reilly qui me permet d'apprendre le php pendant mes cours d'anglais
Marsh Posté le 06-05-2005 à 21:31:26
impulse a écrit : |
(1)Mon but, ma seul raison de vivre actuellement est la création de ce site
En effet, j'ai réalisé mon premier site avec Dreamweaver MX et là catastrophe(frame, html déguelasse, design pourri). Ensuite, je suis passé à PHPnuke et je m'en suis servi pendant quelques mois jusqu'à la "faillite du site" (et oui, quel idée de faie un site sur les deamon irc ). Depuis trois mois, j'ai réaliser un petit site perso php/xhtml/fullcss mais tout ce qu'il y a de plus simple. Maintenant, je voudrais passé au stade supérieur Je veux réaliser moi même mon site et comprendre son fonctionnement. Et je veux qu'il respecte les standards w3c.
(2)En effet, c'est pourquoi par exemple, j'utilise PEAR
Marsh Posté le 06-05-2005 à 21:41:39
Yoyo j'applaudis, faudrait plus souvent voir ce genre de propos
Bienque je sois toujours un independentiste-extremiste quand a l'utilisation de codes deja fait comme PEAR
Marsh Posté le 06-05-2005 à 21:42:45
* English
Fais un investissement de qualitaÿ et bosse ton English à donf. C'est non seulement indispensable pour évoluer en info, mais ça sert dans plein d'autres domaines. Avec le temps, tu finiras par ne même plus prendre la peine de lire en Français des articles techniques. Si, si.
* PHP Patterns
Ouais, mais le site proposé propose plutôt l'application des bons vieux patterns du Gang of 4 en PHP; pas vraiment des design patterns spécifiques PHP server-side comme ceux qu'on trouve en J2EE.
De toute façon, j'applique mutatis mutandis et sans vergogne les DP J2EE à PHP
Marsh Posté le 06-05-2005 à 21:46:18
sircam a écrit : * English |
Probablement parcequ'en general les traductions sont tellement bourrées de fautes qu'on est portés a ré-écrire l'article a chaque fois a coté pour le comprendre
Marsh Posté le 06-05-2005 à 23:00:21
sircam a écrit : * English |
Je suis entièrement d'accord avec toi. Le problème avec moi était le manque de motivation, je dis bien était car en relisant ce post, je voie combien mes cours barbant d'anglais de première STI sont finalement d'un enjeux crucial pour mon avenir
Je pense que je vais finalement déballer les cassettes vidéos et bouquins que mes parents m'ont acheté il y a de cela quelques années, pour bosser mon english à fond
Mais ne nous égarons pas du post originel qui est je le rappel "Stratégie de conception d'un site php/xhtml" et non "Ne faites plus de batailles navale en cour d'anglais"
Marsh Posté le 07-05-2005 à 07:51:32
Pour ton probleme avec les quote, moi je me suis fait une classe mysql qui a une fonction qui fait ca:
je donne une requete :
select * from `Table` where %s=%s && %s=%s
et apres je lui fait remplacer tout ca avec la fonction vsprintf, donc c'est la fonction qui rajoutera les guillmet, achapera ce qu'il faut,...
Marsh Posté le 07-05-2005 à 09:53:50
Chase > les templates je trouve ça pas mal perso, mais il y a aussi plein de gens qui n'aiment pas ça. Il faut peser le pour et le contre et puis après tu essayes et tu verras bien si ça t'apporte quelque chose.
Marsh Posté le 07-05-2005 à 09:57:56
yoyo > tu n'aurais pas du acheter un cookbook. A mon avis cette serie de bouquins est plutot destiné à des gens qui maitrisent déjà le sujet (ou en tt cas savent se débrouiller). Tu aurais du prendre un bouquin plus complet qui explique les principes de base au débutant et qui ensuite continue progressivement en s'appuyant sur une application type (pour ça le "Web database..." est pas mal du tout).
Marsh Posté le 07-05-2005 à 10:05:04
Chase a écrit : Je suis un peu dans le même cas que toi : j'ai des connaissances en php , xhtml, css mais je ne sais pas comment commencer pour aboutir à un truc bien structuré et un code propre. |
Cela me rassur de voir que je ne suis pas le seul
(1)Moi, perso, je pense utiliser une classe pour les sessions et c'est tout (enfin si j'arrive à en faire une):heink: Sinon, je vais utiliser PEAR pour ma BD.
(2)J'ai également vue que beaucoup de sites utilisent des templates. C'est effectivement "mieux" pour séparer le php de l'xHTLM mais qu'est ce que c'est balot à utiliser
(3)Pour php 6, il y a des chances mais pour l'xhtml quand on voie ça dans les dtd :
Code :
|
On a beau entendre parlé de l'xhtml2.0 mais on l'attend toujours malheureusement. De même pour CSS3(qui devrait apparement reglé le fameux problème du target="_blank"
Marsh Posté le 07-05-2005 à 10:49:39
A quoi ça sert que l'xhtml2.0+CSS3 se pointe si IE a encore de la peine a visualiser correctement un site en xhtml1.0+CSS2 comme il faut (et on parle meme pas de xhtml2.1)
Marsh Posté le 07-05-2005 à 11:02:12
esox_ch a écrit : A quoi ça sert que l'xhtml2.0+CSS3 se pointe si IE a encore de la peine a visualiser correctement un site en xhtml1.0+CSS2 comme il faut (et on parle meme pas de xhtml2.1) |
C'est vrai, surout quand on va faire un tour sur http://www.laboratoire-microsoft.org/n/13027/ :
Les développeurs avaient réclamé l'autorisation d'intégrer les dernières versions du CSS depuis des années, mais Microsoft penche plutôt pour une solution qui consisterait à implémenter une partie du CSS2, mais à ne pas respecter entièrement le standard. |
Avec ça, on(les webmasters) est dans m***e pour concevoir des sites avec une charte graphique évoluée.
Marsh Posté le 07-05-2005 à 12:07:13
D'un coté j'en suis plutot content ... Parceque quand je vais chez ma grand mere qui a un 56k + P133 + 64Mo de ram , et que ça met 35 sec pour afficher une page, je prefererais que le developpeur ne se dise pas qu'il peut mettre pour 500k d'images/bordues/fonds sur son site
Marsh Posté le 07-05-2005 à 12:51:38
En effet, c'est assez pratique
Parcontre pour le mysql_real_escape_string, je me suis toujours dit qu'un simple stripslashes devait suffir... mais maintenant je me pose la question ... faudrait que tu fasses vite fait un petit test avec des caracteres "embetetants (",',&,%,-,#,@,...) pour voir comment ca fonctionne...
Marsh Posté le 09-05-2005 à 11:38:12
Moi j'utilise mysql_real_escape_string pour l'insertion dans une BDD Il escape 2-3 trucs en plus, genre les \n, ça peut être utile...
Marsh Posté le 09-05-2005 à 14:41:56
Je suis d'accord avec FlorentG, ca peut même être très utile
Marsh Posté le 09-05-2005 à 16:05:31
Et si à la place de scouater mon post, vous ouvriez un post "Astuces PHP"
J'ai rien contre que vous échangiez vous petites fonctions preférées, au contraire même Mais souvenez-vous de sujet du post
Marsh Posté le 09-05-2005 à 16:08:29
yoyo354 a écrit : Et si à la place de scouater mon post |
Marsh Posté le 09-05-2005 à 22:41:19
J'ai déjà procédé ainsi.
Disons que c'est une bonne solution si le fichier XML, avant qu'il soit transformé en xhtml, t'es utile pour autre chose (stockage par ex). Sinon, mieux vaut transmettre un objet (contenant toutes les informations à afficher) à une class qui crée directement de l'xhtml, ça fait une transformation en moins. Et le jour ou tu voudras passer à xhtml 2, tu n'auras qu'a réécrire cette class (ou en faire une seconde ).
Certains utilisent DOM pour créer l'xhtml, je trouve ça lourds, car il y a toujours des éléments HTML utiles pour l'affichage avec IE (exemple un span pour émuler first-letter: via CSS).
Marsh Posté le 10-05-2005 à 09:02:03
Chase a écrit : Pour revenir au sujet initial
|
C'est ce que je fais 100% du temps Le XSL est appliqué côté serveur.
Marsh Posté le 10-05-2005 à 18:44:47
Merci pour vos réponses, je vais méditer ça pronfondement ( surout que je ne connais pas vraiment XSL, XML..). Je reviendrais une fois tout ça approfondie(et quand j'aurais passé mon p***** de bac...).
N'hésitez pas cependant à continuer de poster vos commentaires, idées...
NOTE : Ca à l'air quand même bien pratique et évolutif votre histoire de xml
Marsh Posté le 10-05-2005 à 19:44:28
Chase a écrit : Merci FlorentG ça me conforte |
Parce que le format premier du web, c'est l'XHTML. Donc un agent-utilisateur destiné au web gèrera avant tout l'XHTML. Genre espère pas que ton XSLT passe sous Lynx, ou sous mon téléphone mobile. Même chose pour Google, je sais pas ce qu'il se passera. Donc le mieux est de faire ça côté serveur, et d'envoyer une belle page XHTML
Marsh Posté le 10-05-2005 à 22:36:19
Je viens de faire un petit tour sur google et j'ai trouvé http://bob.developpez.com/phpxslt/. Je suppose que c'est quelque chose dans le genre que vous utilisez pour passer du l'xml à l'xhtml avec php ?
Pour debian, c'est bien le paquet "php4-domxml" ?
N'empèche que quand je voie tout ça, je me dis que j'ai de la chance de ne pas avoir de délais pour mettre en ligne le site car avec tout les nouveau trucs que je découvre, je remets en cause les fondements même de la conception du site à chaque post
Merci encore pour vos témoignages.
Marsh Posté le 10-05-2005 à 22:38:17
Le mieux sous debian je trouve que ça reste la compilation pure et dure de php avec ses modules ...
Marsh Posté le 10-05-2005 à 22:38:50
Moi je fais comme ça sous PHP4 :
$xml_doc =& domxml_open_file('pouet.xml'); |
Et ça roule
Marsh Posté le 11-05-2005 à 20:09:55
Je pense que si j'utilise cette technologie dans mon cas, ce serait par exemple pour une page d'accueil :
- Classes php pour faire header, footer, menu, sessions... ;
- Avec toutes ces infos, je fait un fichier xml ;
- J'insère( ou je "joins" ) éventuelement d'autres fichier xml contenants des informations générer à interval régulier ;
- Je lui applique un XSL coté server avec DOM par exemple ;
- Et j'affiche le tout.
Il y a quand même dans tout cela quelque chose qui m'intrigue : A chaque foit que qu'un utilisateur affiche une page de mon site, un fichier xml est créer ?
Là, je pense que je n'ai pas tout compris. A moins que le code xml est contenu dans UNE variable ?
Si vous pouviez éclairer ma lanterne, je serais fort aise
Marsh Posté le 11-05-2005 à 20:39:35
Moi je fais comme ça : je créer ma page XHTML normale (avec tout ce qui est <body>, <head>, machin. Puis j'ai un fichier XSL avec tout ce qui est commun à tout les pages (header, menu, etc...).
Ensuite j'applique ce XSL à la page : je met à la suite du titre principal le titre de la page (ça permet de faire genre : "Mon super site : titre page en cours", j'y copie les scripts et styles (comme ça chaque page peut avoir son style et ses scripts), et enfin je copie le contenu du body genre dans un <div id="content"> et ça roule
Marsh Posté le 11-05-2005 à 20:40:07
Sinon, oui, c'est généré à chaque fois. Mais tu peux prévoir un système de cache qui stocke le résultat sur le serveur, et qui ne le modifie que quand il le faut.
Marsh Posté le 11-05-2005 à 20:41:53
Tu as bien compris, sauf que ce n'est pas à proprement parler un fichier que tu crées, mais un objet DOM (qu'on peut transformé en fichier si nécessaire).
Mais tu mets le doigt sur ce que je disais plus haut : pourquoi créer un objet DOM si on n'a pas besoin du fichier XML ?
Dans ce cas, je ferais plutôt une class pour extraire les données de la bdd et une class pour l'affichage de la page XHTML. Rapido, ça donne :
Code :
|
Bien sur, en créant d'autres class display, on peut afficher d'autre format qu'XHTML.
Marsh Posté le 11-05-2005 à 20:47:33
J'aime absolument pas l'output avec des echo... La moindre modif est ultra chiante à faire C'est pas portable, tout est figé... Obligation d'avoir PHP pour faire le développement graphique.
Avec un système de template en XSL, tu te fais un fichier source XML vite-fait, t'applique le XSL, et tu peux voir direct ce que ça donne, sans avoir besoin de base de données ou de PHP : sous FF ou IE, ça gère le XSL super bien
Marsh Posté le 11-05-2005 à 21:00:19
Ca dépend des données à afficher, si tu dois faire des changements répétitifs dans un texte extrait de la bdd (par exemple <important> à <strong> ) alors XSLT est très adapté.
Sinon le cache peut aussi être créé en sérialisant l'obj.
Marsh Posté le 06-05-2005 à 12:26:45
Bonjour à tous,
Etant débutant en php et n'ayant à l'heure actuelle créer aucun "gros" projets de site web, je m'en remets à vous.
Mon projet : Réaliser un site listant des concerts dans toute la france...(Je me suis fixé comme délais le mois de janvier maximum)
- Une zone membre où les membres peuvent emmettres des "bulletins d'alertes" pour des concerts, voter à des sondages, changer de thèmes, poster des commentaires sur ces bulletins d'alertes, poster des avis sur les concerts, etc.
- Les visiteurs non-enregistrés peuvent uniquement consulter les "bulletins d'alertes" et naviguer sur le site et s'inscrire en tant que memebre, etc.
Mes questions :
- Par où commmencer ? En effet, après avoir fouiller par ici et là, je vois toujours la même chose : commencer par la "structure php" ( ou le "moteur php" ) du site et ensuite, attaquer la réalisation graphique. Jusque là, c'est relativement simple.
- Par où commencer dans la "structure php" ( ou le "moteur php" ) du site ? Là, je suis complètement largué Je vois pas mal de site où l'on fait l'apologie des classes mais lorsque je voie mon site et que j'essaye d'analyser mes besoins, je ne voie pas l'utilité de classe car je ne répète pas x fois les mêmes actions...
- Bref, avez-vous des conseils à me prodiguer ? Des retours sur expériences ? Des articles francophones à me conseiller ? Des liens utiles ?
Merci pour les réponses qui seront je suis sur, très abondantes
Message édité par yoyo354 le 20-06-2005 à 16:13:10
---------------
http://yoyo.eurotchat.net -> Wednesday 14 September a 02:00:01 up 43 days, 11:47, 2 users, load average: 0.07, 0.03, 0.00