Aller au contenu

Wiktionnaire:Questions techniques/août 2014

Ajouter un sujet
Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.
Dernier commentaire : il y a 10 ans par Darkdadaah dans le sujet Nettoyage de Commons.js

Page mensuelle des questions techniques posées en août 2014. Page précédente : juillet 2014Page suivante : septembre 2014Modifier ce cadre



Placeholder et anciens navigateurs

[modifier le wikicode]

Bonjour,

Est-ce qu'il y aurait des développeurs qui auraient les moyens de développer sur des navigateurs anciens (comme IE8 et versions antérieures ou éventuellement Iceweasel,…) ?

J’explique le besoin éventuel :

Suite à une suggestion de Darkdadaah dans Wiktionnaire:Wikidémie/juillet_2014#Remarques, j’ai ajouté depuis un texte par défaut dans les champs de l’outil d’ajout de traductions, en utilisant l’attribut HTML adéquat, "placeholder".

Mais il subsiste un problème pour certains navigateurs, où cet attribut placeholder n’est pas géré et où il est en plus considéré comme valeur par défaut (ce qui devrait être le rôle du champ "value" uniquement). J’ai donc modifié le gadget pour ne pas prendre en compte les valeurs des différents champs lorsqu’elles sont égales à la valeur du placeholder, sauf pour les champs de noms de langue et de traduction (car une traduction "traduction" pourrait exister potentiellement).

Mais j’aimerais bien savoir ce qu’on voit exactement sous ces navigateurs et si en plus un volontaire veut bien tester des morceaux de codes pour gérer la compatibilité sur ces navigateurs… — Automatik (discussion) 20 août 2014 à 19:26 (UTC)Répondre

Le support d'anciens navigateurs est une assez lourde tache (peu d'utilisateurs et des bricolages spécifiques), aussi est-il plus logique de ne regarder que les navigateurs actuellement supportés. En d'autres termes, on ne devrait pas travailler sur les navigateurs antérieurs à IE7 (IE7 et IE8 sont eux-mêmes voués à un abandon imminent).
Quant à Iceweasel, n'est-ce pas exactement comme Firefox ?
Sinon pour la question technique, voir par exemple par ici. — Dakdada 21 août 2014 à 12:45 (UTC)Répondre
J’avais déjà essayé ce code de hagenburger [1], sans succès cependant. Mais c’est peut-être une question de temps (de cache…). C’était pour éviter ce genre de modif [2] qui est arrivé plusieurs fois. Dans la même modif., on voit que trad-- est utilisé, à tort évidemment. J’aimerais bien savoir d’où ça vient, mas n’ayant pas de navigateur assez ancien sous la main, je vais effectivement ne pas m’attarder davantage sur la gestion des anciens navigateurs. — Automatik (discussion) 21 août 2014 à 12:53 (UTC)Répondre
PS : non, Iceweasel n’est pas comme Firefox justement (selon cette discussion). — Automatik (discussion) 21 août 2014 à 12:55 (UTC)Répondre
PS2 : En fait si, c’est plus une question de version du navigateur. — Automatik (discussion) 26 août 2014 à 01:18 (UTC)Répondre

Saut de ligne avec replace.py

[modifier le wikicode]

Comme précédemment expliqué à JackPotte je cherche à retirer le bandeau {{vérifier création automatique}} des articles créé par PiedBot qui ont été modifié par un humain depuis l’apposition du bandeau. J’ai une liste de 184 articles depuis le dernier dump. J’ai essayé de le faire avec replace.py en utilisant la commande suivante

python core/pwb.py core/scripts/replace.py "{{vérifier création automatique}}" "" -file:bandeau_a_enlever.txt

Ça marche bien mais le problème c’est que ça laisse une ligne vide au début de l’article. J’ai essayé d’ajouter un « \n » après « {{vérifier création automatique}} » mais là le script ne trouve plus rien. Bref, vous n’auriez pas une idée de comment supprimer {{vérifier création automatique}} et la ligne du début ? Pamputt [Discuter] 22 août 2014 à 19:06 (UTC)Répondre

Essaye avec -regex "\{\{vérifier création automatique\}\}\r\n" "". — Dakdada 22 août 2014 à 19:25 (UTC)Répondre
Ça fonctionne pas non plus ; l’expression n’est pas trouvée. Pamputt [Discuter] 22 août 2014 à 19:37 (UTC)Répondre
Sans oublier le -regex ? Je viens de tester chez moi, et ça tourne. Tu fais sur quel OS ? — Dakdada 22 août 2014 à 19:42 (UTC)Répondre
Je fais ça sous Linux. J’ai bien tapé « python core/pwb.py core/scripts/replace.py -regex "\{\{vérifier création automatique\}\}\r\n" "" -file:bandeau_a_enlever.txt ». Chez moi aussi ça tourne mais j’ai le message suivant pour tous les articles de la liste
No changes were necessary in défaisance
alors que le bandeau est bien présent dans défaisance. Si tu tapes « python core/pwb.py core/scripts/replace.py -regex "\{\{vérifier création automatique\}\}\r\n" "" -page:défaisance</nowiki>, le script fait le remplacement ? Pamputt [Discuter] 22 août 2014 à 19:51 (UTC)Répondre
Ça marche, mais pas sur défaisance qui a déjà été changée. Par exemple hétéroduplex. — Dakdada 22 août 2014 à 20:41 (UTC)Répondre
Comprends pas. Tu es sous Linux également ? Pamputt [Discuter] 22 août 2014 à 21:29 (UTC)Répondre
Ha, ça fonctionne. Mais j’ai du enlever le \r. J4avais pas fait gaffe qu’il était là. Donc sans lui, ça fonctionne bien. Je garde la commande sous le coude. Merci Sourire Pamputt [Discuter] 22 août 2014 à 21:40 (UTC)Répondre

Passage de NavFrame à mw-collapsible

[modifier le wikicode]

J'ai commencé à changer les NavFrame vers mw-collapsible : Modèle:fi-décl. Le but est de se débarasser du surplus de code occupé par les NavFrame dans Mediawiki:Common.js et Mediawiki:Common.js.

Le plus compliqué sera de migrer {{(}} puisqu'il a de nombreux paramètres, très peu utilisés (67 modèles, contre des milliers d'articles qui l'utilisent en mode défaut). Le mieux serait de réserver {{(}} aux articles, et d'utiliser un modèle souple {{cadre déroulant}} si on veut des cadres plus compliqués. — Dakdada 24 août 2014 à 21:40 (UTC)Répondre

On a déjà {{boîte déroulante}} si jamais. — Automatik (discussion) 24 août 2014 à 22:05 (UTC)Répondre
Voilà oui (même si ces boîtes-là sont fermées par défaut). — Dakdada 25 août 2014 à 08:03 (UTC)Répondre
Par contre le rendu laisse parfois à désirer : hiirihaukka. Le titre semble de longueur fixe (à comparer avec haukka). Il faut utiliser l’ascenseur horizontale pour avoir la fin des déclinaisons à droite (testé sous firefox et IE) et la boîte est déroulée par défaut (ce qui n’était pas le cas auparavant et qui est assez pénible). — Unsui Discuter 25 août 2014 à 09:55 (UTC)Répondre
J'ai changé en une largeur dynamique (min-width -> max-width), c'est mieux ? Sinon il me semble que c'était déroulé par défaut de toute façon (sauf les notes) ? — Dakdada 25 août 2014 à 15:16 (UTC)Répondre
Oui c'est bien mieux, merci. JackPotte ($) 25 août 2014 à 19:46 (UTC)Répondre
C’est en effet bien mieux. Merci. Par contre les boîtes étaient bien fermées auparavant. (tout du moins celles gérées par ce modèle - c’est même la raison pour laquelle je l’avais modifié). — Unsui Discuter 25 août 2014 à 21:46 (UTC)Répondre
On peut facilement les enrouler par défaut en ajoutant la classe mw-collapsed juste après mw-collapsible. Mais ne confondrais-tu pas avec un autre modèle ? Car apparemment ta modif ne fermait pas la boite par défaut [3] et quand on revient à la version d’avant Dakdada, la boite n’est pas enroulée par défaut non plus [4]. Mais ça n’empêche que si il faut l’enrouler alors enroulons-la. — Automatik (discussion) 25 août 2014 à 21:51 (UTC)Répondre
Tu as raison : ce n’est pas ma modif qui fermait la boîte. Ce que j’ai fait, c’est que j’ai commencé à modifier les modèles de déclinaisons du finnois pour qu’ils appellent Modèle:fi-décl. Car ce modèle tenait compte de l’option "fermer les boîtes déroulantes par défaut" (exemple: Modèle:fi-décl-valo) ]] alors que les anciens modèles tels que Modèle:fi-décl-sairas n’utilisaient pas de boîte. Il semble donc que maintenant, cette option n’ait pas d’action sur le nouveau modèle. — Unsui Discuter 26 août 2014 à 09:21 (UTC)Répondre
Si j’ai bien compris tu utilises le gadget cacheBoites, j’ai donc fait en sorte qu'il cache aussi les boites utilisant le nouveau code pour les enrouler/dérouler. Cela n’empêcherait pas de les fermer par défaut si besoin… — Automatik (discussion) 26 août 2014 à 14:29 (UTC)Répondre
La classe mw-collapsed ne suffit pas, car elle est ajoutée après que le menu déroulant soit installé. Il faudrait en fait appuyer sur le bouton automatiquement (si l'élément n'est pas déjà caché). — Dakdada 26 août 2014 à 15:01 (UTC)Répondre
Chez moi elles se ferment bien par défaut (et c’est bien qu’elles soient ajoutées après l’installation des boites déroulantes non ?). Mais je te laisse opérer pour que ça marche dans d’autres situations. — Automatik (discussion) 26 août 2014 à 15:32 (UTC)Répondre
Est-ce que chez toi la boîte dans {{fi-décl}} se ferme ? — Dakdada 26 août 2014 à 19:11 (UTC)Répondre
Avec le gadget CacheBoites activé, oui, elle se ferme bien. — Automatik (discussion) 26 août 2014 à 19:39 (UTC)Répondre
Oui, maintenant elles se ferment bien avec le gadget CacheBoites activé. Merci à vous deux. — Unsui Discuter 26 août 2014 à 19:53 (UTC)Répondre

Nettoyage de Commons.js

[modifier le wikicode]

J'ai enlevé de Common.js des fonctions désuettes que jQuery remplace avantageusement. J'ai pris soin de remplacer les occurrences de ces fonctions dans divers gadgets et scripts javascripts. Faites-moi signe si vous voyez des choses qui ne marchent pas (notamment pour les gadgets).

Je vais continuer à nettoyer et réécrire le code en jQuery quand c'est possible, s'il n'y a pas de remarques contre. NB : le nettoyage précédent à permis de passer de 17 Ko à 13 Ko. — Dakdada 25 août 2014 à 22:12 (UTC)Répondre

Notification @Darkdadaah : j'ai beau vider mon cache, y a des crochets à la fin de chaque ligne de définition : []. JackPotte ($) 25 août 2014 à 22:41 (UTC)Répondre
Pas chez moi (Firefox, avec Vector comme avec Monobook). — Automatik (discussion) 25 août 2014 à 22:54 (UTC)Répondre
fait. Ça venait de MediaWiki:Gadget-HiddenQuote.js qui utilisait get/setCookie sans que le moteur de recherche ne le voit. Je ne peux donc pas m'y fier. — Dakdada 26 août 2014 à 07:13 (UTC)Répondre
Bon puisque le moteur ne sert à rien, j'ai dû en rater d'autres, donc je remet les fonctions en attendant d'être sûr d'avoir éradiqué ces trucs (recherche dans le dump directement).
@JackPotte : si tu vois des problèmes, dis-moi quels gadgets tu utilises et ce que dis ta console de debug. — Dakdada 26 août 2014 à 07:19 (UTC)Répondre
RAS ce matin. Sinon je me doutais bien que c'était HiddenQuote qui affichait [] au lieu de [exemples ▼] mais j'ai posté mon alerte en quatrième vitesse avant de dormir. N'as-tu pas un compte sur un autre navigateur qui a tout coché ? JackPotte ($) 26 août 2014 à 10:39 (UTC)Répondre
Notification @Darkdadaah : HiddenQuote, est de nouveau HS aujourd'hui, même après vidage de cache. JackPotte ($) 28 août 2014 à 18:21 (UTC)Répondre
Chez moi ça marche. Quel navigateurs/OS as-tu essayé, et as-tu essayé de décocher/recocher le gadget ? — Dakdada 28 août 2014 à 19:23 (UTC)Répondre
Chez moi ça marchait aléatoirement à cause de l’erreur "mw.cookie is undefined", j’ai donc mis le module mediawiki.cookie comme dépendance du gadget ce qui semble régler le problème. — Automatik (discussion) 28 août 2014 à 19:50 (UTC)Répondre
J’ai du mal à comprendre par contre pourquoi certains mw.cookie.get() n’ont pas d’équivalents en .set(). — Automatik (discussion) 28 août 2014 à 19:52 (UTC)Répondre
Merci, pas le temps de creuser en parallèle mais les setters manquants sont probablement réservés au PHP. JackPotte ($) 28 août 2014 à 20:04 (UTC)Répondre
Au pire on pourrait utiliser la version jQuery $.cookie(), c'est sensé être équivalent. — Dakdada 28 août 2014 à 20:18 (UTC)Répondre

user-fixes.py (Pywikibot)

[modifier le wikicode]

Bonjour,

Y a-t-il un moyen d’accéder au titre de la page depuis le dictionnaire user-fixes utilisé par replace.py ? — Automatik (discussion) 27 août 2014 à 16:35 (UTC)Répondre

Pas que je sache : c'est sensé être uniquement basé sur le texte. — Dakdada 27 août 2014 à 16:56 (UTC)Répondre