Html &/ou php

Discutez d'informatique ici !
Anonyme

html &/ou php

par Anonyme » 06 Fév 2008, 07:35

Question : faut-il faire son site internet entièrement en php pour ne pas utilisée de ressources sur le navigateur de l'internaute car ce serait le serveur qui ferait tout le boulot ; ou faut-il combiner dans une même page du php et html ce qui signifie que le navigateur de l'internaute doit interpréter certaine choses lui-même ce qui pompe "un peu de ressources".
Enfin je crois que si on fait tout en php avec des "echo", c'est le serveur qui interprete le code qui revoie la page au client ... :mur: :hum:

Si quelqu'un a une idée sur le sujet ...



Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 06 Fév 2008, 07:46

Fausse question de mon point de vue.
HTML: langage client
PHP: langage serveur

Tu ne peux avoir aucune confiance dans le client. Laisserais tu un script de connection visible et modifiable chez le client ?

De plus, crois tu qu'il vaut mieux répartir la charge de boulot entre les internautes ou vaut il mieux tout garder pour toi et surcharger ton serveur ?

En résumé: Toute les taches confidentielles et importantes sont à faire coté serveur mais on se déchargera au maximum des routines sans importances et couteuses en temps de calcul sur le client en javascript (car le HTML est statique et la question est dès lors caduque)

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 06 Fév 2008, 07:49

Comme d'habittude je n'ai lu que la moitié du message original.

Je réponds donc à la dernière assertion.
Celui qui met des "echo" partout en php est un nul. Il a pas compris la base de la programmation PHP.

echo ''
par exemple est une horreur. On demande au serveur PHP d'interpréter dynamiquement une balise complétement statique.
C'est fini de surcharger le serveur PHP avec des taches inutiles ?!?

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 06 Fév 2008, 08:26

Ben,

J'ai personnellement mon site qui est fait à base d'echo html dans une page mettons 'cadre' ce qui me permet à partir d'une simple ligne de code (include) de pouvoir charger le 'squelette' de ma page.
J'avouerai que c'est une surchage coté serveur mais un confort coté moi. Plus de ctrlc,ctrlv,page rédigée plus lisible, entretien plus facile...

Par ailleurs, ce système, (peut etre dis-je des erreurs), est bcp moins puissant mais ressemble a spip, qui est un peu plus lourd...

Sinon +1 pour le résumé.
la vie est une fête :)

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 06 Fév 2008, 10:27

L'utilisation des "include"s, OK.
Mais le "include" n'implique pas un echo.
Et je maintiens: echo '' est maladroit car inutile.
Sinon, explique moi. J'ai l'esprit ouvert

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 06 Fév 2008, 13:00

Dans ma page redaction.php :
include('cadre.php');
//montexte
include('fin.php');

Dans cadre.php:
J'ai, un compteur (ip), une variable session pour le design choisi, (pas encore mais potentiellement) une variable identification session...
Bien sur l'entete :
echo 'echo 'echo '
';

Et dans fin.php
echo '
';

En vrai, ya un peu plus de texte mais voilà juste pour montrer à quoi ça peut servir. Après, peut être qu'il y a mieux (surement en fait, mais je ne sais pas ce qui l'est).
En tout cas, ca me permet deviter de copier tout un tas de ligne de code, permet de changer un design facilement (bidouille j'en conviens), mais surtout, d'avoir une page plus lisible. Je n'ai plus a me soucier des divs de presentation.
la vie est une fête :)

Flodelarab
Membre Légendaire
Messages: 6574
Enregistré le: 29 Juil 2006, 14:04

par Flodelarab » 06 Fév 2008, 13:32

fatal_error a écrit:Dans ma page redaction.php :
include('cadre.php');
//montexte
include('fin.php');

Dans cadre.php:
J'ai, un compteur (ip), une variable session pour le design choisi, (pas encore mais potentiellement) une variable identification session...
Bien sur l'entete :
echo '';

Et dans fin.php
echo '';

En vrai, ya un peu plus de texte mais voilà juste pour montrer à quoi ça peut servir. Après, peut être qu'il y a mieux (surement en fait, mais je ne sais pas ce qui l'est).
En tout cas, ca me permet deviter de copier tout un tas de ligne de code, permet de changer un design facilement (bidouille j'en conviens), mais surtout, d'avoir une page plus lisible. Je n'ai plus a me soucier des divs de presentation.

Je fais tout pareil que toi sauf:
href="'.$_SESSION['design'].'";



Plus cohérent: ce qui est dynamique est dynamique, ce qui est statique est statique. Pas de mélange des genres.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 06 Fév 2008, 13:39

Ah tiens oui, je n'avais même pas pensé que c'était possible. Tant mieux :zen: . Je vais corriger ça :we: .
la vie est une fête :)

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 06 Fév 2008, 20:48

Flodelarab a écrit:Je fais tout pareil que toi sauf:
href="'.$_SESSION['design'].'";



Plus cohérent: ce qui est dynamique est dynamique, ce qui est statique est statique. Pas de mélange des genres.

A moins d'utiliser ob_start, dans ton cas, tu ne peux pas balancer de cookies au navigateur, ni charger une session. Depuis PHP3, l'appel setcookie() ou session_start() doit se faire avant n'importe quelle donnée statique et/ou dynamique.

mathk
Membre Naturel
Messages: 23
Enregistré le: 21 Fév 2008, 00:16

par mathk » 22 Fév 2008, 01:26

La question montre un malentandu terrible. La faute en incombe au langauge php.

Voici en quoi consiste cette meprise.

Il faut faire la distinction entre le role que joue le serveur de celui du client*.
Leurs roles sont complementaires mais n'ont aucunes similitudes.

- Complementaire car l'un demandeur l'autre fournisseur, sont tous deux lies par le mode de communication.
- D'aucune similitude car ils n'ont pas le meme role a joue dans la communication.

Le serveur lui est a l'ecoute des clients. On peut le voir comme une fonction Informe(demande) qui est definit dans l'ensemble des requetes vers l'ensemble des inforations disponibles (page web).

Donc son role vas etre de produire des pages web. Il se trouve que ces pages web sont ecrites en Html qui rapelons le a ete invente au CERN.

La le html n'a aucune valeur pour le serveur. Le Html n'est que le resultas de la fonction Informe(). C'est a cette instant que le role du serveur s'arrete et que celui du client commence.

Le html est utile au client. C'est un moyen pour structurer l'information. Le html permet de dire au client comment il doit prensenter l'information pour la rendre lisible, exploitable, jolie etc.

Detaillons le role du serveur.

Le serveur doit comme on la vue appliquer la fonction Informe().
Cette fonction est donc ecrite dans un language de programation (PHP, ASP, JSP, Java, C#, Perl, Python, Ruby, Lisp, Smalltalk ... Par ordre croissant de mes preferences biensur ^^ ).
Les languages de programmations sont different des langauges de presentation (XML, HTML, SGML, YAML).

La ou PHP seme la confusion.

Prenons l'exemple d'un script:

Code: Tout sélectionner
Un example

".$_GET["i"]."");
}
echo("");
echo("--");
echo("++");
echo("");
?>



Ici on vois clairement qu'il y a 2 facon de presenter du Html.
- Ecrire le html a l'exterieur de .
- Ecrire le html grace a la fonction echo()

Cette possibiliter d'exprimer ce comportement de 2 facons syntaxiques differentes est appele sucre syntaxique en programation. (Syntactic sugar)

Cela veut donc dire que le html en dehors des balise est un racourci d'ecriture. C'est par consequent equivalant a la fonction echo():

Code: Tout sélectionner
Un example");
if(isset($_GET["i"]))
{
 echo("".$_GET["i"]."");
}
echo("");
echo("--");
echo("++");
echo("");
echo("");
?>


Comment ecrire du code PHP?

Le probleme avec PHP c'est que les sucre syntaxique sont omnipresent dans le language:
- .. ... => echo(...) (comprennez que les .. sont inclus dans le sucre)
- echo() => echo ...
- etc.

Il est donc difficile pour les perssonnes ne connaissant pas le modele client serveur de comprendre quand les differents languages (html php ou encore JavaScript pour ceux qui ne connaisse pas vous pouvez ignore) on leur role a jouer.

Alors quoi faire?

Il est evident que aujourd'hui la plus pars des fournisseur de service web gratuit n'offre que la possibilite d'utiliser PHP comme language.
Leur choix se justifie surment par le nombre de personne connaissant PHP.
Mais cela ferait l'objet d'un autre debat.

Le conseil est donc de bien apprehender le concept de client serveur. Et d'utiliser les sucres syntaxique uniquement lorsque leur implication sont parfaitement comprise et que le code reste lisibilite

* Ici il faut envisage le terme serveur comme etant l'entiter fournissant un service. Le client est quand a lui demandeur de se service. Dans la majorite des cas les clients sont donc majoritaire par rapport aux serveur.

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite