Suivi - Wiki Afficher de manière réduite les pages wiki sur le système d'accueil

#1725 Posté par (page perso) . État de l'entrée : corrigée Licence CC by-sa
Tags :
3
29
juin
2017

Hello,

J'ai configuré LinuxFR pour m'afficher les nouveaux articles de wiki sur la page d'accueil.

Ces derniers temps de nouvelles pages assez longues sont crées et je me suis rendu compte que les pages wiki sur la page d'accueil sont affichés en entier (avec un bouton "Lire la suite" au fond qui n'est pas très utile du coup :)).

Est-ce que l'on pourrait faire le même algorithme que pour les journaux en page d'accueil ?
L'idée serait d'afficher seulement les premiers paragraphes de la page wiki au lieu des pages entières.

Pour reproduire (avec la CSS par défaut):

  • Menu utilisateur > "Modifier mes préférences"
  • Section "Choisir les contenus affichés sur la page d'accueil"
  • Activer la coche "Wiki"
  • Enregistrer
  • Se rendre sur la page d'accueil LinuxFR.org

Dans les 2 premières pages, des articles de wiki devrait apparaître en entier.

  • # Pull request crée sur Github

    Posté par (page perso) . Évalué à 3 (+1/-0).

    Hello,

    J'ai trouvé comment faire une solution en réutilisant le code existant déjà pour les journaux.

    Ça demande une modification en base de donnée de la table wiki_pages pour ajouter une colonne avec un contenu tronqué à 80 mots (ce contenu est calculé automatiquement à chaque modification du contenu principal).

    Le résultat donne assez bien, pour dire que je n'ai quasiment rien crée de nouveau:

    Environnement de dev avec une page de wiki réduite

    Il y a juste une truc marrant, c'est que les liens vers linuxfr dans les contenus de wiki contiennent le favicon de linuxfr à côté. Du coup, ici on se retrouve avec ce favicon à côté du lien (...).

    Personnellement, ça ne me dérange pas, mais pensez-vous que ça va créer une entrée de suivi pour corriger ça ?

    • [^] # Re: Pull request crée sur Github

      Posté par . Évalué à 1 (+1/-0).

      Par curiosité, pourquoi privilégier une nouvelle colonne en BDD plus tôt que de directement tronquer le contenu? :)
      Est-ce par optimisation d'affichage?

      PS: c'est ouf le hasard, je suis tombé aujourd'hui sur ce thread alors qu'un bot avec des faux référer (dont le premier pointait vers ici) a spammé mon tracker ^ ^

      Si vous codez un logiciel sans une interface chatoyante, alors vous faites de la merde. Donation bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

      • [^] # Re: Pull request crée sur Github

        Posté par (page perso) . Évalué à 3 (+1/-0).

        Le code est assez nouveau pour moi, mais à mon avis c'est que parser du HTML pour retrouver les 80 mots affichables et le tronquer correctement est assez couteux pour le serveur.

        Je vois donc cette colonne comme un cache pour le contenu tronqué.

        En plus, comme le contenu bouge peu une fois publié, c'est quand même plus efficace de faire ce calcul une seule fois au lieu de le calculer à la volée pour tous les utilisateurs, visiteurs et robots.

        Une autre solution serait de tronquer côté client avec du CSS (ou au pire JavaScript), mais ça me semble moins efficace en bande passante et plus difficile à maîtriser pour retrouver le 80ieme mot à afficher.

        • [^] # Re: Pull request crée sur Github

          Posté par (page perso) . Évalué à 4 (+1/-0).

          Oui, on garde en base de données une version tronquée des contenus pour des raisons de performance (éviter de les recalculer pour chaque vue).

          Ce n'est pas faisable en CSS de tronquer proprement des contenus sur plusieurs lignes qui peuvent contenir des images ou du code. On pourrait le faire en JavaScript, mais tous les utilisateurs n'ont pas du JavaScript activé et ce serait très lent sur les smartphones.

    • [^] # Re: Pull request crée sur Github

      Posté par (page perso) . Évalué à 2 (+0/-0).

      Oups, j'ai oublié le lien Github: https://github.com/linuxfrorg/linuxfr.org/pull/216

    • [^] # Re: Bug

      Posté par . Évalué à 0 (+0/-0). Dernière modification le 15/11/17 à 23:15.

      Regarde le dernier tuto (celui-ci), la césure est un peu trop "précise" ^ ^
      On a un début de phrase avec "s'il" puis retour à la ligne pour afficher les 3 petits points.

      Si vous codez un logiciel sans une interface chatoyante, alors vous faites de la merde. Donation bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

      • [^] # Re: Bug

        Posté par (page perso) . Évalué à 3 (+1/-0).

        En effet ça fait un peu bizarre, mais je vois mal comment on pourrait garder un outil simple pour calculer où couper le code HTML et comprendre en même temps la langue française et/ou anglaise :)

        Si tu regardes un peu les détails du patch, tu verras que je n'ai rien inventé de nouveau: j'ai juste demander d'appliquer les mêmes règles que sur les autres contenus (journeaux et forum si je me souviens bien).

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.