Aller au contenu

Dash

Hubmaster
  • Compteur de contenus

    235
  • Inscrit(e) le

  • Dernière visite

Messages postés par Dash

  1. Ok, en fait ça sépare le php (ou autres langages surement) du html, voire xhtml en quelque sorte ! C 'est cela ?

    bonjour,

    on pourrait dire ca :)

    Et bien, je trouve cela tout bonnement géniale !

    Quelqu'un a des remarque qui vont dans mon sens ou dans l'autre ?

    Il y en a qui n'apprécient pas ? D'autres pourraient me dévoiler leur entousiasme ?

    Bref, ça m'interresse, mais je veux plus d'avis avant de me lancer !

    Le cout des moteurs de templates (charge serveur, contraintes, apprentissage, evolutivite, etc.) n'etant pas nul, l'usage de moteurs de template ne doit pas etre systematique.

    Il y a des cas ou cela peut presenter un avantage certain (a condition de prendre le moteur de template qui correspond le mieux a un besoin precis) : travail collabaratif, etc. D'autres ou cela se revele particulierement penalisant.

    De mes differents tests, je retiens qu'un moteur php doit habituellement etre couple a un ou plusieurs systemes de cache, sous peine de voir les performances fortement chuter (coef 2,3 ou plus). PHPBB par exemple permet 2 niveaux de cache (cache de code compile, cache HTML)

    XLST est tres seduisant. Mais pour des traitements pointus - par exemple : la mise en page dynamique de forums IPB - l'exclusivite xml/xsl/xslt seule est une vraie calamite (necessite alors d'etre completee par php). Il y a aussi le probleme d'une gestion de page par "portions" (par exemple via une API), impossible en XSLT pur. J'attends beaucoup de l'evolution xml/xsl/php5.

    Pour revenir aux 'moteurs de template' et autres applications destinees a separer le contenu de la mise en forme, prennons un cas que je connais particulierement bien : Invision Power Board. IPB n'utilise pas de moteur de template, mais separe le code php du reste, ce qui foncierement revient au meme. De nombreux utilisateurs ont trouve ce systeme trop limite. Maintenant avec la version 2.0, ils auront la possibilite de realiser des test (if/else) directement a l'interieur du layout.

    Plus tard, ils voudront probablement pouvoir effectuer des boucles (for, while, foreach, etc), faire des appels a des fonctions, acceder a un maximum de variables, creer des routines, etc, etc.

    A chaque fois, il faudra introduire de nouvelles fonctionnalites, y associer des traitements ad hoc, et - pour l'utilisateur - faire l'apprentissage d'un nouveau pseudo-langage de plus en plus lourd.

    A partir d'un certain moment, a vouloir ameliorer un pseudo-langage associe a un moteur de template, on re-invente la roue. Avec des performances nettement moindres que php d'origine.

    Mais encore une fois, a chaque probleme sa solution. il y a des cas (souvents simples) pour lesquels, parmi tous les moteurs disponibles, un moteur de template represente la solution optimale, cad, repond efficacement a un probleme donne.

    Le tout consistant a definir ses besoins avec precision, et ensuite analyser avec attention les solutions proposees. Autrement, le meilleur moteur de template, le moteur le plus evolue, le plus leger et le plus complet, reste php lui-meme... a condition de coder proprement :)

    PHP est et restera un système de gabarits, même très évolué. Au début, c'était un outil pour me simplifier la vie avec les affichages HTML. Un jour, on m'a demandé d'ajouter l'instruction if, et je l'ai ajouté. Puis, on m'a demandé 'else', et naturellement, je l'ai ajouté. Et les boucles while et for ont suivi.. Certes, aujourd'hui, c'est bien plus qu'un simple langage de gabarit. Mais si vous regardez les applications de gabarits qui sont publiées, elles commencent aussi à intégrer des conditions et des boucles. Elles finiront par refaire ce que fait PHP, une couche au-dessus de PHP. C'est inutile!

    plus d'informations : The Deadly Sins of Templates in PHP

  2. Salut tout le monde,

    j'ai trouve un article interessant concernant phpBB et le referencement sur google : Faciliter le référencement des forums phpBB sur Google

    L'article, tres interessant, confirme qu'IPB est bien concu, puisque pour les pages les plus interessantes, les (2) parametres consideres par google sont des parametres significatifs.

    Toutefois, dans le but de perdre son temps, d'installer une mod inutile et de surcharger un maximum son serveur, il doit etre possible d'adapter ces modifications a IPB.

    :lol:

  3. is_numeric accepte les decimales (exemple: -50.1). Ce n'est peut-etre pas suffisant pour verifier des codes postaux...

    Pour ne considerer que des valeurs entieres, une comparaison sur des objets de meme type me semble plus adequate :

     if (intval($_POST['cp']).' ' != $_POST['cp'].' ') echo 'erreur';

    ;)

    concernant vos tests, vous pouvez reprendre ce code :

    <?php
    if (isset($_GET['cp']))
    {
    $cp = intval($_GET['cp']);

    $a= is_int($_GET['cp']) ?          'true' : 'false';
    $b= is_numeric($_GET['cp']) ?      'true' : 'false';
    $c= ($cp === $_GET['cp']) ?        'true' : 'false';
    $d= ($cp == $_GET['cp']) ?         'true' : 'false';
    $e= ($cp.' ' == $_GET['cp'].' ') ? '<span style="color:green">true</span>' : '<span style="color:red">false</span>';

    echo <<<EOF
    <pre>
    \$_GET['cp'] = '{$_GET['cp']}';
    \$cp = intval(\$_GET['cp']); // \$cp = $cp;
    <hr />
    is_int(\$_GET['cp']) => $a;
    is_numeric(\$_GET['cp']) => $b;
    \$cp === \$_GET['cp'] => $c;
    \$cp == \$_GET['cp'] => $d;
    \$cp.' ' == \$_GET['cp'].' ' => $e;
    </pre>
    <hr />
    EOF;
    }
    echo <<<EOF
    <a href="?cp=50">50</a>
    <a href="?cp=-50.1">-50.1</a>
    <a href="?cp=50.c">50.c</a>
    EOF;
    ?>

    :P

  4. Ce que j'adore avec Dash, c'est que c'est liens sont toujours en anglais, ça voudrait dire qu'entre 2 choses à faire faudrait aussi que j'apprenne l'anglais... :nono:

    Pour trouver de la doc en francais, je supposer qu'effectuer une recherche "Heredoc" sur google.fr devrait etre possible meme pour les anglophobes. :)

    Idem pour Tidy. Mais Tidy 2.0 etant un concept tout recent (php5) je ne pense pas qu'il existe, a l'heure actuelle, une documentation valable traduite en francaise. Peut-etre dans quelques mois/annees... Ce qui vous laisse le temps d'apprendre l'anglais si vous souhaitez exploiter au maximum les ressources d'internet.

    :)

  5. Deux astuces :

    1°/ utilisez les Here-Doc pour ne plus vous prendre la tete avec les apostrophes et autres guillemets a echapper.

    http://webdocs.math.univ-rennes1.fr/php/fr...pes.string.html

    2°/Une methode elegante pour nettoyer le code : la librairie Tidy (si vous avez la chance de pouvoir l'utiliser) qui permet qui permet de verifier la structure du code HTML ou XHTML, corriger les balises (erronnees/manquantes), rendre le code plus lisible, etc.

    Depuis que j'ai decouvert cette librairie, j'ai du mal a m'en passer (les processeurs XSLT ne generant pas specialement du code respectueux des normes et lisible)

    exemple

    ...

    $output = ob_get_contents();

    ob_end_clean();

    if (function_exists('tidy_parse_string'))

    {

    $config = array(

                'indent'        => true,

                'output-xhtml'  => true,

                'wrap'          => 200,

                'language'      => 'fr',

                'indent-spaces' => 2);

    $output = tidy_parse_string($output, $config);

    $output->cleanRepair();

    }

    echo $output;

    Le code HTML pourrait etre approximatif, sans doctype, mal indente... a la sortie il deviendra propre

    info : http://www.w3.org/People/Raggett/tidy/

    :)

  6. je ne pense pas que i18n soit une norme, c'est simplement un sigle pour dire internationalisation (i puis 18 lettre puis n).

    Idem :)

    Dans le meme ordre d'idee, il y a aussi le sigle "m17n" pour : "multilingualization"

    S'il n'y avait pas ces contention de designation, si le mot "internationalization" devait lui-meme etre traduit dans chaque langue, patois et dialecte, on ne se comprendrait plus...

    Pour le developpement multilingue proprement dit, au-dela de l'encodage des pages et de quelques considerations superficielles, je ne pense pas qu'on puisse etablir des standards reellemment pratiques pour vraiment "internationaliser" un site. Chacun sa technique. En fonction du probleme a resoudre et de ses choix techniques.

    On peut par exemple gerer les langues via XML, via des bases de donnees (parfois on decouvre une table "i18n"), des fichiers, regrouper les traduction par theme, par langue, etc...

    Si mes souvenirs sont bons, le concept d'i18n est (tres) longuement aborde sur les mailing-list de Spip pour les differentes localisations. Mais chaque produit qui se veut international (phpbb, ipb, et n'importe quel produit ou site web) doit a un moment donne se pencher sur sa strategie de gestion de langue. Certaines sont mauvaises (ipb) d'autres sont plus ou moins satisfaisantes :)

  7. bonjour,

    Je vous conseille une troisieme voie : certains scripts sont concus pour eviter les timeout. Par exemple des scripts de backup de base de donnees. Vous devriez probablement chercher de ce cote ;)

    Grossierement, voici le principe :

    $max_execution_time = function_exists('ini_get') ? _AT_ini_get('max_execution_time') : _AT_get_cfg_var('max_execution_time');
    if (max_execution_time <= 0)
    {
    max_execution_time = 15; //15 secondes
    }

    ...

    $time=time();

    do
    {
    ...
    if (time()-$time >= $max_execution_time )
    {
     @header('location : $url?id=$id_suivant');
     exit();
    }
    ...
    }
    while (...)
    ...

    Des qu'un timeout doit se produire, vous interrompez le script et le relancez avec des parametres adaptes. Au besoin sauvegardez les donnees intermediaires, dans une base de donnees, un fichier quelconque, Voire une session.

    Cette solution peut bien-sur etre combinee avec une recherche SQL ou via fichiers HTML.

    A priori, entre SQL ou fichier, tout depend de la construction de vos tables, de la construction de vos requetes, de la configuration de votre serveur SQL, de la vitesse de votre serveur de fichier, du nombre d'appel simultanes a votre db et/ou fichiers, etc.

    N'oubliez pas que vous etes probablement limite en nombre de connexions simultanees a votre base de donnees.

    N'oubliez pas non plus le probleme de conccurence sur les fichiers.

    Quoi que vous decidiez, veillez a optimiser un maximum vos traitements :)

  8. Salut tout le monde,

    J'ai commence a jouer avec php5. A priori, c'est plein de bonnes choses :)

    Seul pepin que je rencontre : le traitement des fichiers xml/xslt

    Apres lectures de differents articles [*], je voudrai m'en servir par exemple dans une approche de template.

    Mais sous windows, avec WAMP 0.5.2, aucun processeur XSLT ne semple implemente. :(

    Je ne sais pas si quelqu'un a deja rencontre ce probleme. Et mieux : une solution...

    je suis a court d'idee :wacko: , donc je prends tout :)

    [*]articles :

    PHP, XML et XSLT : point de situation

    Using XSLT as a PHP template engine

    Transformation de documents XML avec XSLT en PHP.

    Using PHP and XSL to Transform XML into Web Content

  9. Si vous etes deseperement paranoique, lorsque vous lisez ceci par exemple dans la liste des connectes

    google  Actuellement sur son messager personnel

    Vous devez comprendre, qu'a moins qu'un membre n'ait le pseudo google et la permission de se servir de sa messagerie, il est confronte a ce genre des securites. Par exemple

    $std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_permission') );

    et n'ayant pas les acces adequats ou tout simplement parce qu'il n'a pas de compte utilisateur, il ne peut pas aller plus loin qu'un message d'erreur. :)

  10. Si via le panel d'Administration il est precise que google (par exemple) fait partie d'un groupe n'ayant pas acces aux MP, il n'aura donc pas acces a SES MP et ainsi de suite. Idem pour la liste des membres, les differents forums, etc.

    Autrement, comme un brave moteur de recherche - et n'importe quel individu en fait - il est susceptible de suivre tous les liens presents dans le code source d'une page.

    C'est la raison pour laquelle il est vivement recommande de ne jamais donner une adresse electronique dans un post.

    Si vous parvenez a acceder aux messages prives d'un membre, a sa liste de contacts prives, ..., google le pourrait aussi. Mais je me demande bien comment vous pourriez y parvenir :)

  11. les profils sont indexes par les moteurs de recherche comme toutes les pages d'un forum dans la mesure ou on leur laisse un acces a ces profils.

    A travers IPB, tout cela releve de la gestion des permissions (de lecture ici) de groupes. On pourrait tres bien imaginer considerer les moteurs de recherche comme ayant les memes droits d'acces que de simples 'Invites anonymes', des 'membres', des 'administrateurs', etc. A la convenance des administrateurs des forums.

    :)

  12. Les exemples de textes ne sont pas en bordel si tu regarde bien il y a une progression géométrique...mais tu as sûrement raison cela doit en bloquer plus d'un...(a revoir)

    en effet. A revoir.

    Persorama.com est développé pour Internet Explorer.

    L'utilisation de propriétés particulières rend impossible

    le fonctionnement de Persorama.com sous Netscape.

    Du coup, meme avec FireBird, je n'ai pas pousse plus loin. :nono:

  13. Bon, puisque ce Sujet est destine a la presentation des nouveaux... allez, hop... :)

    Bonjour a tous,

    et bonne annee

    C'est en regardant par dessus l'epaule du boss d'IBF-French que j'ai decouvert le Hub.

    J'ai examine le machin de longs mois. Puis voyant que le bug du passage a l'an 2000 semble vous avoir epargne jusqu'a maintenant (on verra en janvier 2005 :P ), et apres avoir fait lire les regles du forums par le fils du voisin d'un avocat que je connais de nom, je me suis dis pourquoi pas, hein ?

    Actuellement je suis en train de reflechir a une refonte de l'un de mes sites. Faire quelque chose de centre autour d'IPB, pour en "externaliser" au maximum la gestion (et une bonne partie de la programmation). Je n'en suis encore qu'au cahier des charges (MCD, MLD, details des fonctionnalites, etude des outils existants, choix de la machine a cafe, etc.) mais je sens qu'au cours de mon periple le Hub pourrait enrichir mon regard sur la chose.

    Donc, pourquoi s'en passer ?

    :)

×
×
  • Créer...