LinguaLibre

Events/Hackathon juillet 2021

< LinguaLibre:Events

Présents

  • Noé
  • Seb (Wiktionnariste en résidence - nettoyage du Wiktionnaire, puis responsable opérationel du DdF)
  • Lucas (Lingualibriste en résidence - stagiaire)
  • Hugo, organisation de la communauté et des listes (Unilex, mots les plus fréquents, très pertinent pour les débutants, par opposition aux listes d'Olaf qui sont plutôt pour les habitués qui visent la complétude)
  • Nicolas Vigneron
  • Pamputt
  • Florian/Poslovitch
  • vendredi matin, Lyokoï
  • vendredi après-midi, Louisa et Nadia

Listes en vrac

  • Développer une page de listes pour le français, mettre le portail des listes en onglet principal
  • Créer une liste similaire à celle d'Olaf, pour les entrées du wix possédant un modèle de type {{prononciation manquante}} (bot maintenant la liste à jour en vérifiant dans commons) cf wikt:en:Category:Requests_for_audio_pronunciation_in_French_entries Un modèle existe pour les pages du Wiktionnaire : {{illustration souhaitable|type=audio}}, mais peut-être un peu long Un bot (à coder) mettra a jour sur Lingua Libre une liste Poslovitch devra adapter Lingua Libre Bot pour qu'il retire le modèle dès l'ajout du premier audio.</> -> La liste maintenue par bot n'existe pas, il faut pour l'instant passer par la catégorie Wiktionnaire
  • mots récemment ajoutés sur le Wix ? Pris en compte avec l'ajout du modèle ébauche pron audio dans le gadget.
  • Listes de vocabulaire spécifique par pays (1 mot peut se retrouver dans 2 listes, pas de pb)
  • Listes thématiques (100 mots par thématique)
  • Croisement avec PetScan : https://petscan.wmflabs.org/?psid=19473103 : entrée de la catégorie "Lemmes en français" sur le Wix fr sans le modèle {{écouter}}

Liste des tickets Phab qu'on pourrait traiter

  • T274864 Prompt users before closing the window when recordings are pending upload --> ✔ La proof of concept fonctionne, voir le dernier concept sur Phabricator
  • T276014 Allow loading only parts of local lists in the Record Wizard (treat local lists the same way than wikimedia categories in the RW) SUIVI DE :
  • T281988 Pick random elements of a category or list when loading only a part of it into the RW
  • T218372 Button to mass-play and review all the recordings
  • T227959 Replace “Place of residence” with something more relevant


Réflexion/pense-bête

  • dans le record wizard, amélioration la sélection de la langue. -> Créer une étape "dédiée" à la sélection de cette langue
  • ajoutez une catégorie automatique "page avec la balise query"


Déroulement

jeudi 1er juillet 2021

Thème Listes : Comment organiser les listes pour le français ? On aura notamment à classer des listes par pays/zones, par thématiques également. Conception d'une page "portail" pour rassembler les listes du français. Mise en place d'une liste similaire à celle d'Olafbot (User:Olafbot) mais basée sur des modèles de demande (wikt:fr:Catégorie:Wiktionnaire:Illustrations_audio_manquantes, en:Category:Requests_for_audio_pronunciation_in_French_entries).

9h Tour du table, exposition du programme, benchmarking/parangonnage (FORVO - UI sympa mais pas sous licence libre, Spell4Wiki, Common Voice, We say (SIL), Lingopolo, Tatoeba, WikiSpeech https://webapp.phonetik.uni-muenchen.de/wikispeech/ etc., allié qui pourrait adopter LL : http://ilc4clarin.ilc.cnr.it/en/services/) brainstorming

Différentes problématiques émergent.

11h Développement

  • le RW ne gère pas les , commentaires html et modèles (catégories non plus ?) dans les listes
  • solution alternative avec un élément dans la Wikibase: Q589844

Vigneron/Yug/Noé : création d'un élément de test et de nouvelles propriétés pour stocker les métadonnées d'une liste et en facilitation la réutilisation : Q589844

Poslovitch commence à installer une copie de Lingua Libre en local.

12h30 Pause repas 13h30 Développement

Poslovitch continue d'installer un Lingua Libre local pour pouvoir développer les nouvelles fonctionnalités. Diverses erreurs, Poslovitch appelle Seb35. Seb35 a corrigé un défaut dans le processus d'installation automatique de Lingua Libre (https://github.com/lingua-libre/operations/commit/fabe5766b9668483b086b3ea1bfc0eda6b82cc83).

Pamputt a créé le modèle fr:Modèle:ébauche-pron-audio et l'a annoncé dans la Wikidémie

Noé s'occupe de rédiger la page de Conventions + la page d'aide associée

Poslovitch a réussi à avoir Lingua Libre en local - il lui reste encore à faire fonctionner le RecordWizard.

Coupure publicitaire : m:Wiktionary/Tremendous_Wiktionary_User_Group/Lettre_ouverte_de_la_Communauté_sur_le_changement_de_nom

17h40 fin de journée 18h Sortie des locaux de l'université

18h-23h Hackathon LiLi X Permanence mensuelle des Wiktionnaristes, au KoToPo ! (on vous propose d'y manger)

Beaucoup de discussions intéressées sur les langues, l'histoire de Lingua Libre et la part grandissante qu'il occupe et est voué à occuper dans les projets Wikimédia.

Rencontre des invités avec les Wiktionnaristes et Wikimédien.nes lyonnais.es ou de passage à Lyon.

Plus de détails sur le reportage de Noé.

Vendredi 2 Juillet 2021

Thèmes Listes et Record Wizard : Améliorations du RW sur l'accès aux listes (actuellement par simple ordre alphabétique), à partir de tickets Phabricator (sélectionner X mots d'une liste, alerter l'utilisateur avant de quitter le RW, automatiser relance des enr. échoués...), réflexion sur la réécoute/patrouille

8h45 Accueil

9h Résumé du travail de la veille, brainstorming

Poursuite de la réflexion sur les listes

Poursuite des bugs pour @Poslovitch - il n'existe pas de moyen de faire fonctionner RW sur un IDE. 0x010C codait-il donc le RW directement sur le serveur de test ???

  • Il faudra contacter Michael pour mettre en place un dev.lingualibre.org - une instance de développement et de tests pour Lingua Libre
  • Il est clairement possible de mettre en place un LL en local - mais il faut prendre des mesures additionnelles pour déconnecter l'installation de l'OAuth, et reconnecter l'installation à Wikidata. Bref : faisable, et suffisamment rapide (moins de 24h grâce à la doc opé de VIGNERON, qui a été retouchée au passage), mais avec des problèmes à corriger.

Poslovitch assiste Pamputt dans l'utilisation de Lingua Libre Bot. Pamputt apporte plusieurs correctifs au bot et la documentation est améliorée.

11h Développement @poslovitch:

  • (w/ WikiLucas) Travail sur la "Liste des tickets Phaby à traiter", recherches prospectives de solutions, POCs pour application future après tests successifs.
  • (w/ WikiLucas, VIGNERON) Ajout des alias 'LL:' 'LL talk:' pour "Lingua Libre:" et "Lingua Libre talk:" ✔OK

12h30 Pause repas 13h30 Développement

TODO

  • Moteur de recherche doit suggérer des pages textuelles (= hors wikibase) - CirrusSearch + WikibaseCirrusSearch (à installer) ? --> Pas d'extension de recherche installée (fort coût d'installation) : --> T286186
  • Mettre en place admins de trad (T262855) ✔ par VIGNERON cf branche : https://github.com/lingua-libre/operations/pull/4 (à vérifier avant merge dans master) DONE
  • Regarder s'il est possible d'afficher dans le thème quand on est sur un Talk page ou une page "normale" (bannière bleue titre page)
  • Modifier le CSS du RecordWizard pour mettre le mot par-dessus l'enregistrement : T284875
  • Observer s'il est possible de mettre DDF en requêtage External Tools : T286049

@WIKILUCAS: DONE ✔

Découverte d'un presque-remplissage du serveur front de Lili avec le "stash" des audios qui devraient ne plus être là après leur upload sur Commons.

Adresse sur le serveur : /var/www/lingualibre.org/images/temp. Poslovitch, VIGNERON et WikiLucas l'investigueront après leur retour chez eux. --> Réglé par Poslovitch

16h45 Bilan de l'événement, remerciements

17h30 Fin de journée

Pistes de développement

  • Envoyer les uploads en fond (l'user peut quitter), en gardant le jeton OAuth pendant le temps nécessaire (1 file d'attente par jeton, permet de lisser et contourner la ratelimit).
  • Envoyer sur la page de discussion utilisateur un message lorsque le bot a pour la première fois mis un enregistrement cet utilisateur sur un Wikt/Wikidata.
  • contacter les devs déjà présents, par exemple Jan Ainali pour les Lexemes
  • Hackathon Wikimania 13 août -> recruter des développeurs, même temporairement
  • faire des métriques générales, par exemple, ajouter un Matomo sur LinguaLibre (Sebleouf <3 cette idée)

Liste des pages de discussion de en.wikt qui parlent de l'utilisation de Lingua Libre en:User_talk:Metaknowledge/audiowhitelist


Bilan

Changements apportés

  • modèle et catégorie d'audios souhaités sur le Wix francophone
  • Mise en place d'un élément wikibase lié à une liste pour stocker des métadonnées, ajout d'une propriété d'importance pour classer les listes par importance et, à terme, les considérer comme "listes recommandées"
  • Amélioration de la documentation opérationnelle de Lingua Libre
  • Amélioration du bot
  • Ajout des alias LL: et du droit d'admins de traduction (2 transl.admins nommés)
  • Ajout d'une propriété d'enregistrement problématique (mauvaise langue, mauvaise transcription, problème audio)
  • Suppression des fichiers temporaires (stockage des enregistrements avant envoi sur Commons) qui prenaient jusqu'à 10 Go

Changements prévus

  • avertissement "Vous avez des changements non enregistrés" quand les utilisateurs quitte le RW (fonctionne, pas encore en prod)
  • mise en place d'un environnement de développement / espace Bêta pour Lingua Libre sur beta.lingualibre.org
  • améliorations UX du Record Wizard (mots longs), étape de sélection de la langue, bouton de lecture de tous les enregistrements dans le RW
  • endpoint DDF, catégorie Wikivoyage dans les "word lists generators" du RW
  • mise en place d'un espace dédié aux listes, dont l'UX est radicalement modifiée :
  • LLBot : Utiliser le lieu d'apprentissage de la langue plutôt que de résidence
  • Moteur de recherche prédictif pour les pages du wiki ? (CirrusSearch, WikibaseCirrusSearch)
  • Ajouter un Matomo (métriques de visites et d'utilisation) sur Lingua Libre
  • Mise à jour des jeux de données et amélioration de leur interface

Liste

Outil pour créer/modifier la liste (page List:) et ses métadonnées (élément Wikibase)

  • Listes utilisateur uniquement accessible à l'utilisateur qui les créer
  • Listes "dynamiques" qui sont des listes qui contiennent une requête SPARQL, exécutée au chargement par le RW
  • lier chaque liste à son élément wikibase depuis l'UI
  • Prise en charge des catégories, templates et balises sur les listes pour que le RW les ignore
  • possibilité de charger une partie d'une liste (les X premiers mots)