IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] du php et du xhtml strict sur un site de publication d'asso


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 84
    Par défaut [Tableaux] du php et du xhtml strict sur un site de publication d'asso
    Bonjour,

    dans l'interface où je saisis mon texte actuellement, il y a des possibilité de formatage (gras, citation, list, insertion d'image, ur, etc.).

    Je voudrais faire un site en php/mysql pour une asso, avec des interfaces de saisie comme là (et comme ce que propose SPIP par exemple) pour qu'ils puissent gérer tout seul leur mise en ligne (je n'ai plus le temps de le faire comme avant).

    Le problème c'est que je veux le faire en xhtml strict et qu'on ne peux pas insérer de balises de mise en formes (<b> et attributs par exemple dans <img widht="100" height="75 ... )

    Je vois que ça s'appelle du BBCode.

    donc le soucis est de savoir comment faire ça en PHP et en respectant xhtml et aussi la base de donnée.

    Je ne sais pas comment fonctionne le BBCode, ça doit être analysé avant affichage à chaque fois pour produire le code ?


    Pouvez vous m'éclaircir les idées svp ?


    autre question : comment proposer à une personne de mettre une url dans le champ de saisie et qui sera dans le texte (et pas après dans encarts liens par exemple), cette url sera avec texte du lien, lien, sans lui imposer ce langage (ce ne sont pas des programmeurs et ils veulent pas se compliquer la vie)


    Merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Au lieu de passer par <b>, utilise des <span class="">. C'est valide XHTML1.1.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 84
    Par défaut
    Citation Envoyé par vg33
    Au lieu de passer par <b>, utilise des <span class="">. C'est valide XHTML1.1.
    Oui je comptais faire cela, c'est juste que pour mettre en base de donnée ça me dérange d'y introduire du code de présentation.

    Et je ne vois pas comment faire autrement là ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Tu dois passer par les expressions régulières.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 84
    Par défaut
    Citation Envoyé par vg33
    Tu dois passer par les expressions régulières.
    mais concrêtement comment ?

    je connais les expressions reg, mais je veux dire tu fais quoi du code ? il va où (le code des balises de div de class et autres) ?

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Je pense qu'il vaut mieux stocker les données brutes en bdd, ce qui dissocie les données de leur présentation.
    Exemple dans la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [b]Bonjour ![/b] Ca va ?
    Ensuite, tu retrouves le bbcode dans la chaîne, et tu le remplaces par les tags html, juste avant l'affichage.
    Exemple à l'affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><strong>Bonjour !</strong> Ca va ?</p>

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 84
    Par défaut
    Citation Envoyé par vg33
    Je pense qu'il vaut mieux stocker les données brutes en bdd, ce qui dissocie les données de leur présentation.
    Exemple dans la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [b]Bonjour ![/b] Ca va ?
    Ensuite, tu retrouves le bbcode dans la chaîne, et tu le remplaces par les tags html, juste avant l'affichage.
    Exemple à l'affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><strong>Bonjour !</strong> Ca va ?</p>
    ok,mais on reste là dans un stockage avec autre chose que du contenu dans la BDD (les bbcodes).

    En plus ça signifie qu'à chaque fois php devra traduire ce bb code en le sortant de la BDD ?
    L'utilisation processeur va être lourde non ?

    pour mon histoire de liens dans le texte, c'est pareil car on ne pourra avoir les liens du texte dans une table à part (normalisation de la base, éviter d'avoir plusieurs fois une même info, ici l'url) ?
    Comment faire alors ?

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Je te conseille de laisser le bbcode en bdd, pour faciliter les changements de présentation.
    Exemple avec [b]. Tu peux le traduire par <b>, ou par <strong>, ou par <span class="gras">, ou par <h1>... Si tu changes dans 1 an et que tu as 1 million d'enregistrements dans lesquels tu avais indiqué <b>, tu dois tous les reprendre pour remplacer <b> par <strong> par exemple...
    Pour la durée du script, je ne suis pas sûr que ce soit important. De plus, si tu veux éditer un message, tu n'as plus qu'à afficher directement le contenu de la bdd, sans devoir faire une conversion inverse. Cette conversion serait d'ailleurs impossible si 2 bbcodes différents donnaient les mêmes balises html (quel bbcode choisir lors de l'édition ?).

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 84
    Par défaut une autre question sur php plus spécifiquement
    comment pourrais-je faire pour utiliser une dico que j'aurais fait (termes spécifiques à un sport stockés en BDD) de manière à ce que si des mots qui sont dans ce dicos soient dans le texte rédigé, que les liens vers les définitions soient faites par php (et apparaissent dans l'article une fois en ligne) ?

    vous voyez ce que je veux dire ?

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Pfouit ! Gros boulot en perspective !
    Les difficultés : gérer majuscules et minuscules, les pluriels, les féminins, les conjugaisons, les fautes d'orthographe, les fautes de frappe...
    Une possibilité ne réglant aucune de ces difficultés :
    1) Tu fais une requête récupérant les mots définis.
    2) Dans un while, tu remplaces par une regex les mots dans le texte par le lien vers la définition.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 84
    Par défaut
    Citation Envoyé par vg33
    Pfouit ! Gros boulot en perspective !
    Les difficultés : gérer majuscules et minuscules, les pluriels, les féminins, les conjugaisons, les fautes d'orthographe, les fautes de frappe...
    Une possibilité ne réglant aucune de ces difficultés :
    1) Tu fais une requête récupérant les mots définis.
    2) Dans un while, tu remplaces par une regex les mots dans le texte par le lien vers la définition.
    J'ai pensé à un truc plus simple sous la douche (les idées ça vient quand on ne s'y attend pas !).

    il me suffirait de rajouter un bouton de BBCode qui signifierai "aller chercher le mot dans la base de dico" pour le script php qui récupère les données envoyées par ce formulaire de saisie.

    Donc la personne qui rédige son article a juste à s'en servir lorsqu'elle utilise un mot (qu'elle sait être un mot technique du sport, ce sont des mots anglais trèèèès souvent).

    Ensuite le script php ira juste récupérer l'id (KP) correspondant au mot-clé.

    Après si on a envie de faire plus compliqué et éviter les redondances de mots (mal orthographiés par rapport à ce qui a été rentré en base de donnée), il me suffirait d'utiliser AJAX (je dis ça pour en rire...) pendant la saisie ça irait faire la recherche dans la base et ferait comme un assistant d'auto-complétion (comme dans Dreamweaver...).

    La base du dico pourrait être répliquée localement (sur le poste de chaque membre rédacteur) afin que ça ne rende pas le temps de requête-résultat autocompléion proposé à une période d'attente qui en rendrait l'utilisation trop longue et pénible...

    Qu'en pensez-vous ?


    Pour prendre un exemple concrêt mais plus poussé : allociné !

    la fiche d'un acteur, dans la description, tout appel à un acteur ou aux autres films auxquels il a participé est mise en valeur par un lien qui lui va renvoyer soit à la fiche acteur, soit à la fiche film !

    http://www.allocine.fr/personne/fichepersonne_gen_cpersonne=14947.html

    pour l'exemple.


    Votre avis ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/07/2008, 14h43
  2. [XHTML] XHTML Strict valid mais bug sur firefox
    Par dembroski dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/07/2007, 16h34
  3. Réponses: 5
    Dernier message: 06/01/2007, 11h09
  4. erreur de validation xhtml strict cause php
    Par nebil dans le forum Langage
    Réponses: 2
    Dernier message: 24/07/2006, 21h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo