Utilisateur:Rical/ProofreadPage

La bibliothèque libre.

ProofreadPage team : Tpt FR-en, Zaran FR-en, Beau PL-en, Rical FR-en

Proofread Page[modifier]

(copied from Discussion utilisateur:Rical#Proofread Page)

Bonjour, je me permet de t’inviter à, si tu en a le temps, à améliorer ProofreadPage. Zaran, Beau et moi le faisons déjà suivant nos possibilités mais quelqu’un de plus serait le bienvenu. La procédure pour soumettre des patchs s’est bien améliorée en mars dernier : il suffit maintenant de demander un compte utilisateur ici pour pouvoir faire des "pull request". Tout est expliqué ici. A bientôt sur gerrit ! Tpt (d) 4 juin 2012 à 13:34 (UTC)

PS: Je travaille sur un projet de système de stockage de métadonnées pour l’espace index.

Participation à ProofreadPage[modifier]

(copied from Discussion_utilisateur:Tpt#Participation à ProofreadPage)

Salut Tpt, très accaparé comme toi, je me suis surtout occupé des nombres romains dans wmflabs où j'ai un compte depuis 1,5 mois. Maintenant que je suis bien rodé en LUA, je veux bien remplacer cette activité par ProofreadPage. Mais là il va me falloir un petit coup de pouce.
Développeur depuis le i8080 en 1976, j'ai déjà de l'expérience en SQL, js, jquery depuis 2008. Je développe un client de centre d'appel médical pour mon frère et je suis en train d'y intégrer Wakanda vers une BDD 4D.
Les nouveautés pour moi ici sont :
  • les architectures de mediawiki et Guerrit,
  • le PHP, voisin de JS + jquery, attention aux faux amis,
  • l'environnement de développement (X),
  • la structure et les fonctions de ProofreadPage (X),
  • ce qui reste à faire dans ProofreadPage (X),
  • dans quelle branche de Gerrit nous travaillont (X),
  • comment upload vers Gerrit sans terminal (X),
J'ai déjà repéré : project:mediawiki/extensions/ProofreadPage et Sueur_de_sang.djvu/227
Si tu pouvais me faire un bref condensé sur les (X) ? Juste pour démarrer du bon pied. On verra après. --Rical (d) 6 juin 2012 à 20:07 (UTC)
  • Environnement de développement : une version de mediawiki tournant avec LAMP/WAMP sur ton ordinateur + un éditeur de texte. C’est mis en place en 1/2 heure. Tout est expliqué dans la doc.
  • La structure et les fonctions de ProofreadPage : La majeur partie du code est dans le fichier ProofreadPage_body.php notamment le système de transclusion. Les autres fichiers PHP concernent les pages spéciales et les API ajoutés par ProofreadPage. Il y a aussi 3 modules en javascript : ext.proofreadpage.page s’occupe de l’interface de l’espace page, ext.proofreadpage.index du formulaire de l’espace index et ext.proofreadpage.article d’ajouter le lien "source" dans l’espace principal.
  • Ce qui reste à faire : tu peux piocher dans bugzilla ou suivre tes idées. Une bonne idée serai d’améliorer la partie javascript de l’extension notamment la fonctionnalité de zoom des images pour l’espace page (dans le module ext.proofreadpage.page) qui pourrais être rendu bien plus efficace en tirant parti de jQuery UI.
  • Pour les petites modifications, tu soumet tout simplement un patch via git pull : une nouvelle branche sera alors créée pour lui par gerrit. Tu peux la modifier ensuite à tout moment. Tout est expliqué .
  • comment upload vers Gerrit sans terminal : GIT GUI fait cela assez bien mais le terminal reste nécessaire dans bien des cas (modification de patch en particulier).
Tpt (d) 7 juin 2012 à 13:56 (UTC)

Extension:ProofreadPage zoom and synchro[modifier]

The proposition for my work in ProofreadPage is to make easier the edit of the text to compare with the image :

  • A button selects horizontal or vertical comparison panels.
  • The user can drag and zoom the image.
  • Each edit or select of the text synchonize the displayed part of the image.
  • An alt-clic from the user can optimize the text / image synchro.
  • The user can unselect the synchro (for convenience or bug) and return to only drag and zoom.
  • A metadata imgSynchro memorizes the optimization for next edits. --Rical (talk) 23:10, 7 June 2012 (UTC)

The operation :

  • Overfly the synchro button display this help :
  • When icon is darked the synchronisation is OFF. The user can only zoom and move the image.
  • When icon is ligthed the synchronisation is ON. When the user edit the text, the image follow the text by itself.
  • Each time the user clic the synchro button, the state ON/OFF change. The zoom is not changed (only by the user).
  • When the state is synchro ON and the ALT touch is maintained pressed :
  • The user can select or clic in text, and move the image, and zoom it, and clic a point in the image.
  • Then the user can clic on the synchro button to memorize the new synchro point.
  • The user can also press the up or down arrows to move across synchro points. He can also press minus touch to delete one synchro point, or press plus touch to add one, with validations.
Any change in synchro points is instantly memorized in the imgSynchro metadata. --Rical (talk) 11:36, 12 June 2012 (UTC)

wikiLocal questions[modifier]

  • Rical environment : MacOSX 10.6.8, MAMP free Apache+MySQL, Eclipse, Firefox+Firebug, Chrome+Developer
  • if needed : virtual machine Windows or Linux
in Gerrit
  • I searched many pages, how to use simple FTP to upload to Gerrit ?
  • FileZilla ? Which URL, which password, which options ?
In my wikiLocal
  • I started to install a sample : Templates, index, Page:Dictionnaire_de_Trévoux.djvu/246 ? Step by step, it's slow and complex.
  • I can't create "MediaWiki:Proofreadpage header template" because my basical right.
  • The root login is not possible, how to create a user with full rights ?
  • In MySQL, I see : Your designated database user needs to have CREATE rights on your MediaWiki database. To do it is slow and complex.
  • I ask me if a copy of a already working wikiLocal could help me ? With its accounts and passwords ? From Tpt ?
My development
  • ProofreadPage is installed as see in special page version and in Firebug, but in no-debug mode, how to enable debug ?
  • proofread.js changes started with 2 buttons and some vars, without interaction with the zoom.
--Rical (d) 13 juin 2012 à 17:14 (UTC)
  • You have to use git in order to upload to gerrit.
  • When you installed your Wiki, I think that you have created a full right user.
  • If you want to debug PHP mw:Manual:How to debug. For JS debugging add &debug=true to the url.
  • You can add a lot of page from an existing wiki by using Special:Import and then Special:Export.
Tpt (d) 13 juin 2012 à 18:26 (UTC)
Ma base de départ est ProofreadPage-MW1.18-100383 + ProofreadPage-trunk-114398 2012-03-22 + Tpt-proofread-metadata-6fd35d6 2012-05-07
Je viens de publier mes premières modifs dans Git, surtout dans ext.proofreadpage.page.js.
C'est un bouton pour changer de mode avec ou sans synchronisation automatique de l'image sur le texte. A compléter par un calcul adapté à tous les cas (titres suivis de hauts espaces, hébreux, chinois, colonnes multiples, ...).
La liste de points pour chaque page sera à sauver en metadata pour usages ultérieurs. Quand je serai arrivé à un format stable. Je te demanderai alors cet enregistrement.
Si tu as des conseils sur le type de format à utiliser, ou tout autre sujet, je suis preneur. --Rical (d) 20 juin 2012 à 10:41 (UTC)
La meilleur manière de procéder pour faire des changements qui prennent du temps est de faire en sorte pouvoir récupérer très facilement le trunk actuel (sur gerrit.wikimedia.org). Pour cela tu suit la procédure de fork proposé par github ([1]) en utilisant ssh://TON_PSEUDO_SUR_GERRIT@gerrit.wikimedia.org:29418/mediawiki/extensions/ProofreadPage.git comme url du dépôt "upstream". Comme cela avec un simple git pull tu peux mettre à jour ton code à partir du trunk sans avoir a faire de cuisine compliquée. Ce que tu risque en procédant comme tu le fait c’est d’avoir à refaire toute tes modif à partir de la version à jour du trunk avant de pouvoir faire un pull request.
Ensuite évite de faire des commit "de debug" : l’historique du code va vite devenir illisible. Amhà on commit seulement quand la fonctionnalité est prête (fonctionnalité est à prendre ici à prendre au sens très large).
N’hésite pas à utiliser jQuery et jQuery UI dès que tu en vois d’intérêt.
Enfin, comme cette fonctionnalité est visiblement un travail de très longue haleine entièrement en javascript, je te suggère de la créer d’abord comme un gadget puis, quand tu l’aura fini et fait tester à de nombreuses personnes, l’intégrer dans l’extension. Le risque que je craint est que, en l’intégrant directement dans l’extension, tu puisse difficilement la faire tester dans les nombreux cas de figures pratiques à laquelle elle sera confrontée. Tpt (d) 20 juin 2012 à 16:43 (UTC)
Et si je fais un gadget, comment je sauve les metadata pour chaque page ? Je te demande de le faire ou alors dans une page à moi, modifiée par JS comme Utilisateur:Rical/ProofreadPageMeta.xml ?
Sur mon wiki local, j'ai importé des pages tests et leurs modèles, mais je ne sais pas importer les images correspondantes. --Rical (d) 20 juin 2012 à 19:00 (UTC)
Pour les images tu peux utiliser mw:InstantCommons. Pour le stockage des métadonnées, que veux tu mettre dedans ? Ce serai sympa que tu te mette à meta:IRC pour en parler. Tpt (d) 20 juin 2012 à 19:32 (UTC)

Récupérer dans un gadget un appel mw.msg[modifier]

Je viens de mettre dans Utilisateur:Rical/Gadget-ImgSynchro.js une copie d'un gadget basé sur une entension de Tpt pour ProofreadPage.
La ligne 1236 fonctionne bien dans l'extension, mais ne sert pas au gadget :
label: mw.msg( 'proofreadpage-button-synchro-on-label' ),
La ligne 1386, identique, qui fait partir du gadget ne fonctionne pas :
label: mw.msg( 'proofreadpage-button-synchro-on-label' ),
Tous les autres paramètres de l'appel marchent bien.
Comment récupérer une valeur mw.msg dans un gadget ? --Rical (d) 7 juillet 2012 à 20:51 (UTC)
mw.msg ajoute < > : '<proofreadpage-button-synchro-on-label>' --Rical (d) 8 juillet 2012 à 12:16 (UTC)
C’est tout simplement que le message proofreadpage-button-synchro-on-label n’a pas été crée : la page Mediawiki:proofreadpage-button-synchro-on-label ne l’a pas été. Si tu crée la page, tout marchera bien.
Pour le code essai d’encapsuler tout ton gadget dans une structure (nommé pfpSyncro par exemple) afin d’éviter toute interaction possible avec d’autres scripts. (exemple : MediaWiki:Gadget-auteurForm.js)
PS: Ce n’est pas moi qui a écrit ce morceau code de ProofreadPage.
Tpt (d) 8 juillet 2012 à 12:22 (UTC)

En pause depuis 2012[modifier]

Depuis fin 2012, j'ai oublié de signaler que je me suis consacré au Module:Auteur et à la veille technologique sur la fusion froide. --Rical (d) 26 mars 2014 à 12:18 (UTC)