Publicité

Affichage des résultats du sondage: Comment produisez-vous votre HTML ?

Votants
207. Vous ne pouvez pas participer à ce sondage.
  • En mélangeant le PHP et le HTML

    108 52,17%
  • Avec echo

    45 21,74%
  • Avec un moteur de template

    81 39,13%
  • À ma manière

    47 22,71%
Sondage à choix multiple
+ Répondre à la discussion Actualité déjà publiée
Page 2 sur 6 PremièrePremière 123456 DernièreDernière
Affichage des résultats 21 à 40 sur 104
  1. #21
    Membre chevronné

    Homme Profil pro Pierre-Emmanuel Mercier
    Ingénieur développement logiciels
    Inscrit en
    octobre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Nom : Homme Pierre-Emmanuel Mercier
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : octobre 2006
    Messages : 70
    Points : 670
    Points
    670

    Par défaut

    Avec Razor (Asp.Net MVC)

  2. #22
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : octobre 2012
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    Pour ma part, je préfère séparer.
    Dans le HTML, que du HTML je veux dire la structure statique de la page.
    Le dynamique est à la charge de jQuery (ajax).
    Le PHP lui ne "gère" que ce qui est "données" et ce qui est lié au serveur, il ne retourne que des valeurs brutes par l'ajax que jQuery traite.
    Donc pour une petite page dynamique j'ai 3 fichiers, .html .php et .js.

    Pensez-vous que ça complique les choses ou si vous trouvez que ça offre plus de clareté ?

  3. #23
    Membre du Club
    Inscrit en
    octobre 2011
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : octobre 2011
    Messages : 13
    Points : 42
    Points
    42

    Par défaut

    Des webforms avec asp.net / C#

    Cela permet de bien séparé la partie présentation en html et le code objet dans le code begin.

  4. #24
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro Jérôme Réaux
    Webdesigner
    Inscrit en
    août 2008
    Messages
    5 374
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérôme Réaux
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 5 374
    Points : 10 320
    Points
    10 320

    Par défaut

    Bonjour,
    je sépare en général le HTML du PHP. Je trouve que c'est plus clair et plus lisible.
    Des echo ... peuvent être ponctuellement utiles (quand la séparation des codes ne se justifie pas).

    Par contre, en tant qu'enc...leur de mouches professionnel, j'aurais écrit :
    - "En séparant le HTML du PHP" au lieu de "En Mélangeant le PHP et le HTML"
    - "En incluant le HTML dans le PHP (avec echo)" au lieu de "Avec echo"

    J'ai failli cliquer "A ma manière", avant de voir les exemples donnés...
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire arrivent aisément."
    Nicolas Boileau-Despréaux (1636-1711).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  5. #25
    Invité régulier
    Inscrit en
    décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 3
    Points : 7
    Points
    7

    Par défaut

    Comme @wxz j'utilise des vues PHP/HTML avec ob_start() pour les même raisons. Les moteurs de templates Twig, Smarty m'ont toujours rebuté... la flemme d'apprendre un nouveau langage PHP-like alors que PHP possède tout ce dont j'ai besoin et que je connais parfaitement du coup...

  6. #26
    Membre confirmé
    Inscrit en
    février 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : février 2006
    Messages : 71
    Points : 200
    Points
    200

    Par défaut

    Le père du PHP a me semble-t'il toujours été contre les templates, arguant qu'un template n'étant rien d'autre qu'une couche de plus par rapport à PHP.
    Et en effet plus on va loin dans les templates (boucles, conditions, évaluations, ...) plus le template devient compliqué et spécifique et on tend à reproduire des choses qui existent nativement de manière + simple en PHP, parfois.

    Perso dans la plupart des langages j'utilise pourtant des templates.

  7. #27
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    juillet 2003
    Messages
    690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juillet 2003
    Messages : 690
    Points : 1 022
    Points
    1 022

    Par défaut

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class View
    {
        private $data;
     
        public function render( $template, $data = array() ) 
        {
            $this->data = $data;
     
            ob_start();
            include $template;
            $content = ob_get_contents();
            ob_end_clean();
     
            return $content;
        }
    }
    index.php
    Code :
    1
    2
    $view = new View;
    echo $view->render('template.php', array('title' => 'Ma page'));
    template.php
    Code :
    1
    2
    3
    4
    5
    6
    7
    <html>
    <head>
    <title><?=$this->title;?></title>
    </head>
    <body>
    </body>
    </html>
    Simplifié pour l'exemple, mais complet.

    A ajouter par exemple, l'impossibilité d'accéder en écriture aux données encapsulées dans la vue, par la vue.
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  8. #28
    Membre Expert Avatar de Zefling
    Profil pro
    Développeur Web
    Inscrit en
    avril 2007
    Messages
    423
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2007
    Messages : 423
    Points : 1 473
    Points
    1 473

    Par défaut

    Je fais avec mon propre moteur de template en PHP, très simple sans de code complexe pour éviter d'en faire un langage avec une 20aine de balises spécifique à mes besoins... C'est un peu à ma manière.

    Citation Envoyé par wamania Voir le message
    Simplifié pour l'exemple, mais complet.

    A ajouter par exemple, l'impossibilité d'accéder en écriture aux données encapsulées dans la vue, par la vue.
    L'intérêt des templates c'est aussi de supprimer certaines opérations sur les formulaire : genre remplir des champs, formatage automatique, générer des éléments de formulaire, de façon très simple sans avoir à faire

    Code :
    1
    2
    3
    <input type="radio" name="radio" id="radio_1" value="2" <?php 
    if ($this->radio_1 == 2) { echo " checked " } 
    ?>  />

  9. #29
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    juillet 2003
    Messages
    690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juillet 2003
    Messages : 690
    Points : 1 022
    Points
    1 022

    Par défaut

    L'intérêt des templates c'est aussi de supprimer certaines opérations sur les formulaire : genre remplir des champs, formatage automatique, générer des éléments de formulaire, de façon très simple sans avoir à faire
    Donc évidemment, chacun sa manière de faire, mais pour moi, ça représente tout ce que je déteste.
    Pour moi, un formulaire c'est simple à gérer, et écrire ce que tu écris ne prend pas moins de temps que l'équivalent php pour le générer.
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  10. #30
    Invité régulier
    Inscrit en
    juillet 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : juillet 2010
    Messages : 34
    Points : 5
    Points
    5

    Par défaut

    J'utilise (très) souvent Smarty 2, souvent XSLT que j'aime particulièrement mais qui reste assez verbeux.
    Sinon pour des petits sites, je trouve que la syntaxe alternative de PHP est toujours très bien

  11. #31
    Membre Expert Avatar de Gugelhupf
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2011
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : décembre 2011
    Messages : 605
    Points : 1 032
    Points
    1 032

    Par défaut

    Laquelle de ces techniques utilisez-vous et pourquoi ?
    Il fut un temps où j'utilisais du PHP + HTML lorsque je développais sans framework (la méthode echo est à bannir).
    Depuis que j'utilise le framework Symfony2 je suis passé aux templates.

    Utilisez-vous un moteur template et lequel ?
    Oui j'utilise le template Twig qui est inclus dans Symfony2.

  12. #32
    Membre émérite Avatar de Jarodd
    Inscrit en
    août 2005
    Messages
    596
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 596
    Points : 984
    Points
    984

    Par défaut

    PHP + HTML pour moi. En général, c'est ce qui me convient le mieux sur les projets avec plusieurs intervenants, l'intégrateur n'est pas paumé quand il lit du code PHP.

    Je n'aime pas les moteurs de template, chacun a sa propre syntaxe, je passe plus de temps sur la doc pour me rappeler comment écrire telle ou telle fonction qu'à écrire mon code.

  13. #33
    Candidat au titre de Membre du Club
    Inscrit en
    septembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : septembre 2008
    Messages : 32
    Points : 11
    Points
    11

    Par défaut SEPARER votre code !!!

    Non mais sérieux faut arrêter définitivement de mélanger du php et de l'html dans le mm fichier, utiliser autre chose mais il y a rien de pire à maintenir que du code mélangé !!

    Donc pour moi SEPARATION et quelque soit le langage !!
    Et ça devrait être pareil pour tout le monde ;-)

  14. #34
    Membre du Club
    Inscrit en
    juillet 2007
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 180
    Points : 46
    Points
    46

    Par défaut

    Bonjour,

    J'utilise jTpl, livré avec le framework Jelix (jelix.org)

    Vraiment très simple d'utilisation et très léger et une syntaxe quasi PHP:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <html>
    <head>
     
    </head>
     
    <body>
        Bonjour {$prenom}
     
        <ul>
        {foreach $liste as $item}
            <li>{$item->nom.' '.$item->prenom}</li>
        {/foreach}
        </ul>
    </body>
    </html>
    jTpl est aussi disponible en version standalone (version qui fonctionne sans le framework), aller faire un tour sur le site => jelix.org

  15. #35
    Expert Confirmé Avatar de RunCodePhp
    Profil pro
    Inscrit en
    janvier 2010
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : janvier 2010
    Messages : 2 963
    Points : 3 910
    Points
    3 910

    Par défaut

    Salut

    J'ai voté "mélange de Php et Html" malgré avoir utilisé des moteurs de template comme Smarty2 et Twig.
    Ceci dit je ne suis pas un adepte des moteurs de templates bien que je les trouvent fort intéressant, j'ai plutôt rejoins à la longue l'idée que Php est lui même un moteur de template.

    Le sondage est intéressant, mais pour ma part le plus important c'est l'art et la manière d'exploiter telle ou telle solution.
    Le principal c'est de faire un projet bien conçu, facile à maintenir dans le temps, tout le reste c'est de la masturbation intellectuelle (j'aime bien cette petite expression )


    Même en se narguant d'utiliser un moteur de template (car soit disant il y aurait obligation de séparer les couches Php/Html), je ne suis pas convaincu que tous le font avec la manière.


    Un exemple concret de code (simplifié) effectué par des pros avec un moteur de template (Smarty2) :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    {include file="$tpl_dir./breadcrumb.tpl"}
     
    <h1>{l s='The Title'}</h1>
     
    {include file="$tpl_dir./errors.tpl"}
     
    {if isset($empty)}
    <p class="warning">{l s='Is empty.'}</p>
    {else}
    <script type="text/javascript">
    // <![CDATA[
    <p>{l s='Bla bla bla.'}</p>
    // ]]>
    </script>
    {/if}
    <div>
    etc etc etc ...
    </div>
    Je ne sais pas ce que vous en pensez, mais quand je vois ce genre de code (effectué par des pros je rappel) ça me fais mal au coeur, mais franchement.
    Et encore, je n'ai mis que quelques toutes petites lignes histoire de faire court, il y a encore 100 fois pire, du code que je je considère imbuvable.

    Inclure une vue dans une vue ?
    Le faire 1 fois, passe encore, mais le généraliser dans un projet ça le rendra difficilement maintenable (voir pas du tout).
    Mettre du code JS en plein corps HTML rend là encore un projet difficile à maintenir.
    Etc, etc, ... j'en passe et des meilleurs.


    Pour ma part, utiliser un moteur de template d'accord, tant que l'art et la manière y est.
    Le gros piège à mon sens, c'est que ces moteurs de template sont souvent très évolués et permettent de faire un peu tout et n'importe quoi (tout comme Php d'ailleurs).

    Donc si on utilise un moteur de template pour palier à un gros manque de conception/logique au sein du projet et déboucher sur du code tout aussi tordu et non maintenable, et bien très peu pour moi.


    Bis et repetita : mélange de Php et Html, sans pour autant dénigrer que Twig et franchement pas mal.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  16. #36
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : décembre 2006
    Messages : 102
    Points : 85
    Points
    85

    Par défaut

    En mvc sans moteur de template pour mes projets persos, un peu comme dans le commentaire de wamania:
    depuis mon controleur j'assigne mes variables $this->_view->assign('key', 'value'); et dans ma vue echo $this->get('key); et le rendu final est effectué via la méthode render() du controleur qui appel celui de la vue avec de l'ob_start derrière.

    Sinon au boulot on utilise Smarty, avec lequel je l'avoue, dans les mains de devs qui ne cherchent pas à apprendre ça peut donner des horreurs au lieu de simplifier les vues, je me dis que ça aurait été pire s'ils travaillaient sans moteur de template...

  17. #37
    Candidat au titre de Membre du Club
    Homme Profil pro
    Inscrit en
    mars 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mars 2012
    Messages : 7
    Points : 11
    Points
    11

    Par défaut

    - Pas de système de template

    - Jamais de mélange Javascript/PHP (hormis quelques variables globales)

    - Une fonction globale Gettext pour tous les textes : __('traduit'), ce qui permet de modifier les textes en français ou de les traduire par le client à l'aide d'un logiciel simple à utiliser

    - Pour mes helpers:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public static function notification($title = null, $message = null, $action = null)
    {
    	$out = '<h3>'.$title.'</h3>'.$message;
    	if ($action) {
    		$out.= '<a href='.$action['url'].'>'.$action['label'].'</a>';
    	}
    	return $out;
    }
    - Pour mes vues (.phtml), mélange PHP / HTML
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php if ($profiles ) : foreach ($profiles as $profile) : ?>
    	<div>
    		<h3><?= e($profile->name) ?></h3>
    		<p>
    			<i class="icon-calendar"></i>
    			<?= __('%d ans',  hUtils::get_age($profile->birthdate)) ?><br>
    			<i class="icon-globe"></i>
    			<?= hUtils::item_text($profile->city, $items['city']) ?>
    		</p>
    	</div>
    <?php endforeach; else: ?>
    	<div>
    		<h2><?= __('Aucun contact') ?></h2>
    	</div>
    <?php endif; ?>

    Citation Envoyé par Zefling Voir le message
    Je fais avec mon propre moteur de template en PHP, très simple sans de code complexe pour éviter d'en faire un langage avec une 20aine de balises spécifique à mes besoins... C'est un peu à ma manière.

    L'intérêt des templates c'est aussi de supprimer certaines opérations sur les formulaire : genre remplir des champs, formatage automatique, générer des éléments de formulaire, de façon très simple sans avoir à faire
    Tu confonds système de templates et Helpers je crois.

  18. #38
    Membre habitué
    Profil pro Fabrice Manzeki
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Nom : Fabrice Manzeki
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2008
    Messages : 97
    Points : 146
    Points
    146

    Par défaut Architecture

    J'ai au départ utilisé le moteur de template Smarty, mais son concept de variables n'est pas élégant.

    Pourquoi ont-ils réinventer la roue :
    {$toto} en lieu et place de <?php echo $toto ?> ?

    Depuis plusieurs années, j'ai adopté le model MVC avec les frameworks cakephp et symphony. L'usage des vues est très puissant.

  19. #39
    Membre Expert
    Inscrit en
    juillet 2010
    Messages
    657
    Détails du profil
    Informations forums :
    Inscription : juillet 2010
    Messages : 657
    Points : 1 136
    Points
    1 136

    Par défaut

    Non mais sérieux faut arrêter définitivement de mélanger du php et de l'html dans le mm fichier, utiliser autre chose mais il y a rien de pire à maintenir que du code mélangé !!

    Donc pour moi SEPARATION et quelque soit le langage !!
    Et ça devrait être pareil pour tout le monde ;-)
    SEPARATION ne veut pas dire ne pas utiliser php dans un templates, puisque PHP a été créer pour générer facilement du html à la base, vu que c'était trop chiant à faire en perl ou en c/c++. PHP est donc lui même un moteur de templates ! qui s'est transformé en langage à part entière.
    Sinon pourquoi as-ton besoin d'utiliser une balise avant de coder en PHP ?
    les directives require ou include démontre totalement ce fait.

    ce n'est pas le cas des autres langages ou il est plus compliqué d'inclure un fichier adhoc.

    Alors pourquoi utiliser Twig ou Smarty ? la raison principale est que ce ne sont pas juste des moteurs de templates. Il offrent en plus des outils de debugging qui facilitent le développement, ainsi qu'une manière facile d'implémenter un héritage entre templates, un cache , et des fonctions usuelles. Enfin une vue doit être readonly , c'est à dire qu'elle peut lire les valeurs , afficher la réponse d'un autre contrôleur ,mais ne pas modifier le model de l'application.

    Ces moteurs facilitent donc le développement mais ne sont en aucun cas indispensable à php puisque encore une fois , c'est déja un moteur de templates à la base.

    Avec twig on peut :

    - faire du push/pull
    - étendre une vue de base
    - créer des vues réutilisables et "self-contained"
    - profiter d'un nombre important de fonctions courantes, (pair/impair, filtres , ... )
    - appliquer une stratégie de sécurité par défaut ( autoescape pour réduire les opportunités d'attaques XSS , etc ... )

  20. #40
    Membre Expert Avatar de Zefling
    Profil pro
    Développeur Web
    Inscrit en
    avril 2007
    Messages
    423
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2007
    Messages : 423
    Points : 1 473
    Points
    1 473

    Par défaut

    Citation Envoyé par younes0 Voir le message
    Tu confonds système de templates et Helpers je crois.
    J'appends quelque chose, les balises <form: xxx /> comme on en trouve en JSP sont des helpers ?


    Perso, j'ai juste cherché à détacher le plus mon HTML du code, si j'ai une modification à faire, je n'ai pas tous les templètes à revoir : bref pour moi c'est zéro JS et zéro PHP dans mes templètes. Au départ, je ne suis pas parti dans cette optique-là, mais c'est à force de faire de la mise en forme que j'en suis venu à faire ce découpage avec l'idée de n'avoir aucun plantage possible quand je les modifie. Ensuite, je pense qu'avoir travaillé 2 ans avec Spring a dû un peu m’influencer sur certaines balises.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •