organiser (structurer) la réalisation d'un site internet - PHP - Programmation
Marsh Posté le 24-03-2004 à 09:52:19
Tu peux faire un modèle statique avec son CSS du genre :
Code :
|
Puis une fonction
Code :
|
$motifs = array ('{titre}', '{menu_haut}', ...);
$remplacement = array ('ton titre', 'ton menu', ...);
qui remplace tous tes {motifs} par leur contenu réel.
Comme cela tu as tes fonctions qui récupèrent ton contenu et le mettent en forme, tu as ton modèle, tu intégre le contenu dans le modèle et tu renvoies au client.
Marsh Posté le 24-03-2004 à 11:35:21
hmmm attend j'ai du mal a comprendre
euh la 1er partie c'est admettons ma page accueil
j'ai la feuille de style gabarit.css qui n'est pas affiché dans tes exemples.
et la fonction sert a modifier la feuille de style?
de quel fichier on parle dans cette fonction?
je suis désolé si je suis un peu lourd c'est quelquechose de nouveau pour moi
Marsh Posté le 24-03-2004 à 11:58:30
Le gabarit.css c'est un exemple.
1-Tu as une page (x)html et une feuille CSS associée statiques.
2- tu as dedans des mots clé comme {titre}, {menu}, {sous_menu} ...
3- Tu prépares avec des scripts le contenu qui correspond à ces éléments
4- tu lis le contenu de ton modèle (x)html et tu remplaces les mots clé par le contenu précédent avec la fonction indiquée.
5- tu fais un echo de tout cela
Marsh Posté le 24-03-2004 à 12:37:51
enregistre le fichier html exemple sur ton disque
et teste le script suivant :
Code :
|
et tu comprendras comment cela fonctionne
Marsh Posté le 24-03-2004 à 13:00:46
d'accord je te remercie j'essayerai ca
je te tiens au courant
Si d'autres personnes on d'autres remarques ou suggestion ou idées etc.. je suis prenneur
si vous pouviez expliquez vos demarche pour realiser un site web
Marsh Posté le 24-03-2004 à 13:05:28
Le principe général, c'est les templates (modèles en français) comme expliqué par T509.
Mais un template c'est limité, par exemple, tu peux avoir le sequelete d'une page et réserver une place pour un tableau de produits. Le problème, c'est que le tableau HTML, il faut bien le générer quelque part en PHP et là on remélange le code et la présentation.
Il existe une méthode de plus en plus répandue pour gérer celà :
XML / XSL
Ton application récupère les données d'une base ou d'ailleur, et les stocke dans une structure XML.
La présentation (génération du HTML final) est confiée à une feuille de style XSL. Cette dernière est un fichier XML qui contient le squelette HTML ( XHTML en fait ), et des instruction pour générer les morceaux qui dépendent des données variables. Ses instructions forment (pour simplifier) des sous modèles à appliquer à des portions du XML représentant les données.
Avec la même application, il est ainsi possible de choisir la feuille de style XSL ( à ne pas confondre avec les feuilles de style CSS ) pour une présentation donnée : XHTML pour le WEB, XHTML pour WAP, XSL-FO pour générer un PDF ou du PostScript...
Pour celà, il suffit d'appeler une fonction magique qui fait la transformation
Un exemple simple :
XML des données :
<?xml version="1.0" encoding="UTF-8"?> |
XSL pour un rendu XHTML sous forme de tableau BASIQUE !
<?xml version="1.0" encoding="UTF-8" ?> |
Résultat, (dans ce cas) un morceau de HTML :
<h1>Liste de document</h1> |
Bon, mon XSL est un peu rouillé Il est sans doute très loin de la perfection, mais c'est uste un exemple de comment ça marche.
Le premier <xsl:template match="root"> indique qu'on va traiter tous les documents. Il donne le sequelette général du tableau avec la ligne d'en-tête.
<xsl:apply-templates select="document" mode="seleted" /> et <xsl:apply-templates select="document" mode="other" /> indique les templates à appliquer DANS <root>
Ensuite <xsl:template match="document" mode="seleted" > avec <xsl:if test="@selected"> permet de traiter le (ou les) document marqué selected="yes" en premier.
Le contenu est mis dans des lignes sur fond "green"
Le reste est facile à comprendre...
Un autre XSL pourait par exemple avec les mêmes données, générer une combo avec les auteurs/titre, et presenter celui sélectionné dans la liste.
Les possibilités d'XSL sont bien ententdu beaucoup plus importantes que ce petit exemple
Marsh Posté le 24-03-2004 à 13:32:00
On peut faire des boucles dans les templates. Pas mal de moteurs ont un pseudo langage. Donc, on peut generer le tableau par le template.
Marsh Posté le 24-03-2004 à 14:08:51
Mara's dad a écrit : Le principe général, c'est les templates (modèles en français) comme expliqué par T509. |
Très intéressant, je ne connais pas. il faudrait que je m'y intéresse
Marsh Posté le 24-03-2004 à 14:25:59
moi la seule chose que je sais faire c'est:
des fonctions pour decomposer un peu
un peu de CSS pour au moin rendre dynamique le choix des couleurs la taille des tableaux etc..
mais sinon c vrai que je ne sais pas decomposer distinctement l'interface de code resultat
tt ca me parait interessant mais ca a l'air d'etre du serieux et un peu plus compliquer à apprehender
va vraiment falloir que j'approfondisse tt ca
C'est un peu comme le principe SPIP qui fait en sorte de dissocier le developpement (squelette), le contenu (texte , article) et l'interface (pour webdesigner)
je me sens encore vraiment incompetent dans le domaine , ca craint un peu pour quelqu'u qui se dit webmaster ou developpeur web
Marsh Posté le 24-03-2004 à 14:40:17
>>marad's : super ton exemple. j'avais jamais travaillé comme ça. comment tu lies les deux ? au final tu as donc 2 fichiers (xml et xsl ou 3 (xhtml) ?
Marsh Posté le 24-03-2004 à 15:03:28
JagStang a écrit : >>marad's : super ton exemple. j'avais jamais travaillé comme ça. comment tu lies les deux ? au final tu as donc 2 fichiers (xml et xsl ou 3 (xhtml) ? |
ouaip pareil ca m'interesse un peu ce truc mais aux dernière nouvelles c t assez chiant a gerer non ??
tj ou c moi qui aie fabulé pour rien ???
si t'as qq exemple ou lien direct dessus on est tj preneur je crois
Marsh Posté le 24-03-2004 à 15:08:24
- Un fichier XSL -> string en entrée.
- Un document XML (un objet en mémoire) converti String http://www.php.net/manual/fr/funct [...] mp-mem.php en entrée
- En sortie, un document XHTML en string http://www.php.net/manual/fr/function.xslt-process.php
Marsh Posté le 24-03-2004 à 15:26:43
2 docs que j'ai trouvées que je mets à dispo pour quelques temps :
http://www.dar-leila.com/cours/
C'est pas de moi, et cela peut être utile.
1 sur XML et 1 sur les template
Marsh Posté le 24-03-2004 à 15:47:43
T509 a écrit : 2 docs que j'ai trouvées que je mets à dispo pour quelques temps : |
ca ma l'air bien sympatique
Marsh Posté le 25-03-2004 à 09:29:57
Domage qu'il manque la part 8 (XSL/XSLT et XPath) à http://www.dar-leila.com/cours/Initiation_XML.pdf
Marsh Posté le 25-03-2004 à 10:02:00
Mara's dad a écrit : Domage qu'il manque la part 8 (XSL/XSLT et XPath) à http://www.dar-leila.com/cours/Initiation_XML.pdf |
moi a cahque fois que j'essaye d'ouvrir cette doc ca plante
Marsh Posté le 25-03-2004 à 10:12:28
Mara's dad a écrit : Domage qu'il manque la part 8 (XSL/XSLT et XPath) à http://www.dar-leila.com/cours/Initiation_XML.pdf |
Elle est ici http://www.asp-php.net/tutorial/xml/xml_8.php
Téléchargeable sur la même page en PDF
Marsh Posté le 24-03-2004 à 09:25:46
voila
etant developpeur j'aimerai savoir quelles sont les techniques pour dissocier le code (requete, calcul etc..) de l'interface?
je connais un peu le principe des CSS
j'aimerai dissocier par exempele mes resultat des requete et leur affichage
pouvoir avoir n'importe quelle interfca sans avoir a changer quoi que se soit de la partie developpement.
exemple d'un de mes problemes:
je fais uen fonction recursive qui fais une requete de recuperation de produit dans une table enfonction de la categorie etc.... et en meme temps j'affiche ces produits.
commander dissocier l'affichage de la recuperation?
si je suis pas clair faite le moi savoir
ou alors pour etre plus clair :
comment doit-on organiser son code?
comment doit-on commencer a developper et a creeer son site pour ensuite ne pas etre bloquer et pour bien dissocier?
quelles sont les techniques asavoir pour developper un site qui peu deveneir d'envergure et facilement modfiable et bien structurer (du point de vue du code) ?
merci d'avance
Message édité par saxgard le 24-03-2004 à 16:37:25