soulaklabs / bitoduc.fr

A website about french words for computer concepts.
https://www.bitoduc.fr
271 stars 72 forks source link

Beau site sans Javascript #137

Closed progval closed 7 years ago

progval commented 7 years ago

Basé sur #119, mais avec l'ancien style appliqué. Vous pouvez admirer le résultat à cette adresse : https://progval.github.io/bitoduc.fr/

p0nce commented 7 years ago

Cher @ProgVal Je n'ai malheureusement pas le temps de lire ou d'avoir une opinion bien formée sur cette FD. Il est en tout cas important d'avoir une longue discussion qui puisse rivaliser avec #119. En tout état de cause, il est heureux que le travail précédent ait trouvé son champion.

p0nce commented 7 years ago

Un des problèmes que l'on pourrait soulever est que cette FD est contradictoire avec #136 .

ghost commented 7 years ago

Pas si contradictoire que ça : on peut supprimer toute trace de JavaScript sur le site en acceptant cette fusiodemande afin de satisfaire les informaticiens à la barbe fournie, puis introduire un module de recherche qui ne sera affiché que si l'utilisateur dispose de JavaScript. C'est également l'occasion de se passer du boufficiel qu'est jQuery.

p0nce commented 7 years ago

Je n'ai plus d'idées pour dire non. @chmduquesne quel est votre avis ?

chmduquesne commented 7 years ago

Je pense qu'il y a une demande substantielle pour un site sans JavaScript de la part des contributeurs, et ces contributeurs nous ont offert des solutions pour que ce changement se produise. Je n'ai pas encore eu le temps de vérifier si cette contribution convenait à une gestion facile et compatible avec nos clients web et j'aimerais bien attendre lundi pour cela, mais en tout cas à ce stade c'est une évolution qui me paraît inévitable. Je suis favorable à cette FD en principe, et je demande un peu de temps pour la vérifier.

On Fri, Mar 10, 2017, 14:11 Guillaume Piolat notifications@github.com wrote:

Je n'ai plus d'idées pour dire non. @chmduquesne https://github.com/chmduquesne quel est votre avis ?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/soulaklabs/bitoduc.fr/pull/137#issuecomment-285665547, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOUMHcij9-JQ6lUfDvF-B_uKULfhWw7ks5rkUwHgaJpZM4MYYxX .

chmduquesne commented 7 years ago

J'aime bien! Mon principal critère était qu'on fasse attention à garder le fichier traductions.json, et ceci est conservé 👍

Peut-on pousser le vice jusqu'à renommer les répertoires _data et _includes en _donnees et _inclusions (en utilisant au pire des liens symboliques), ou bien Jekyll est-il inflexible vis à vis de ces noms?

martinkirch commented 7 years ago

"we are in france, we speak french"

progval commented 7 years ago

@chmduquesne Je crains que ça ne soit pas possible de changer.

progval commented 7 years ago

@chmduquesne Correction, c'est possible, et je viens d'appliquer la modification à cette fusiodemande.

progval commented 7 years ago

Curieux. Jekyll sur ma machine accepte les liens smyboliques, mais pas GitHub :

The page build failed with the following error:

A file was included in /_layouts/mots.html that is a symlink or does not exist in your _includes directory. For more information, see https://help.github.com/articles/page-build-failed-file-is-a-symlink/.

For information on troubleshooting Jekyll see:

https://help.github.com/articles/troubleshooting-jekyll-builds

If you have any questions you can contact us by replying to this email.

p0nce commented 7 years ago

Merci de rebaser votre FD, je pense qu'on pourrait la fusionner bientôt.

progval commented 7 years ago

C'est fait.

p0nce commented 7 years ago

@chmduquesne , avec votre accord, nous fusionnerons.

chmduquesne commented 7 years ago

Merci pour cette super contribution!

p0nce commented 7 years ago

Nous avons passé un cap important dans la lutte contre Javascript.

chmduquesne commented 7 years ago

Hum...

En fait cette fusion introduit un changement que je viens de remarquer: les créations de catégories 'É' et 'Ç'. Dans l'ancienne version, en javascript, ce problème était résolu grâce à la fonction suivante:

Chaine.prototype.sansAccents = function () {
    // Faute d'une bibliotheque unidecode, nous nous limitons aux lettres
    // accentuées du français.
    // https://fr.wikipedia.org/wiki/Diacritiques_utilisés_en_français
    return this
        .remplacer("à", "a")
        .remplacer("â", "a")
        .remplacer("ç", "c")
        .remplacer("é", "e")
        .remplacer("è", "e")
        .remplacer("ê", "e")
        .remplacer("ë", "e")
        .remplacer("î", "i")
        .remplacer("ï", "i")
        .remplacer("ô", "o")
        .remplacer("ù", "u")
        .remplacer("ü", "u")
        .remplacer("À", "A")
        .remplacer("Â", "A")
        .remplacer("Ç", "C")
        .remplacer("É", "E")
        .remplacer("È", "E")
        .remplacer("Ê", "E")
        .remplacer("Ë", "E")
        .remplacer("Î", "I")
        .remplacer("Ï", "I")
        .remplacer("Ô", "O")
        .remplacer("Ù", "U")
        .remplacer("Ü", "U");
}

Cette fonction était utilisée pour trier les mots de façon à ignorer les accents:

traductions.trier(function(traduction1, traduction2){
    var s1 = traduction1[langue].enMinuscules().sansAccents();
    var s2 = traduction2[langue].enMinuscules().sansAccents();
    if (s1 > s2) {
        return 1;
    }
    if (s2 > s1) {
        return -1;
    }
    return 0;
});

Elle était aussi utilisée pour savoir dans quelle catégorie rentrait chaque mot:

var c = mot[langue].caractèreÀ(0).enMajuscules().sansAccents();

Est-il possible de restaurer ce comportement dans la nouvelle version du site?

hydrargyrum commented 7 years ago

Le problème vient du moteur de modèles "liquid". J'ai rapporté ce problème il y a un moment mais il n'a pas encore été corrigé : https://github.com/Shopify/liquid/issues/833 Je vous suggère de commenter ce rapport afin qu'il soit plus visible pour qu'il soit enfin traité.

chmduquesne commented 7 years ago

À moins d'avoir mal compris, je ne pense pas que le ticket lié résolve entièrement le problème. Comme dans un dictionnaire normal, nous ne devons pas faire de catégories séparées pour les lettres 'E' et 'É'. J'ai l'impression que votre proposition va en effet aider pour avoir "a z é" au lieu de "a é z", mais nous voulons aussi avoir les mots commençant par 'É' groupés avec les mots commençant par 'E'.

progval commented 7 years ago

J'ai déjà passé plusieurs heures sur ce problème, sans trouver de solution. Si la demande de fonctionnalité de @hydrargyrum est honorée, je pense pouvoir faire un bricolage permettant de résoudre le problème.

chmduquesne commented 7 years ago

On peut mettre un coup de JavaScript pour "affiner" en attendant 😉

On Wed, Apr 12, 2017, 18:08 Valentin Lorentz notifications@github.com wrote:

J'ai déjà passé plusieurs heures sur ce problème, sans trouver de solution. Si la demande de fonctionnalité de @hydrargyrum https://github.com/hydrargyrum est honorée, je pense pouvoir faire un bricolage permettant de résoudre le problème.

— You are receiving this because you modified the open/close state.

Reply to this email directly, view it on GitHub https://github.com/soulaklabs/bitoduc.fr/pull/137#issuecomment-293627999, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOUMIabAFetAUeIaao5cayJOhVXL3uHks5rvPcQgaJpZM4MYYxX .

progval commented 7 years ago

@chmduquesne Je vais essayer de faire ça.

progval commented 7 years ago

Brrrr, c'est plus compliqué que ce que je pensais

progval commented 7 years ago

Et si on ajoutait un champ dans le fichier en notation d'objet Javascript avec une version du mot sans accent ? En plus, cela pourrait servir de forme normale pour les automates accédant au fichier de données.

p0nce commented 7 years ago

C'est une idée que je trouve pas si mal. Ca pourrait aussi servir pour une adresse réticulaire pour chaque mot à base de <a name="lemotsansaccent">. Je pense que c'est un scénario de sortie de crise tout à fait acceptable.