Nous vous invitons à retourner à la liste des appels d’offres de l’association.
Développement et amélioration de l’outil web Lingua Libre
Client : Wikimédia France (association à but non lucratif)
Projet : Prestation de maintenance corrective et évolutive sur Lingua Libre (outil web de constitution et traitement de corpus audio)
Langages utilisés :
Backend – PHP, TSQL, Python
Frontend – CSS, Javascript
Calendrier de candidature : date limite le 15 octobre 2022
1. Contexte du projet
Lingua Libre est un outil web, qui se présente comme un site d’enregistrement de lexique et de documentation orale des langues. L’outil multilingue est libre, gratuit et il est développé par Wikimédia France. Les utilisateurs créent des listes de mots par écrit, puis s’enregistrent sur Lingua Libre en lisant à voix haute cette liste de mots. Ils constituent ainsi un corpus de fichiers audio qui contiennent chacun la prononciation orale d’un mot. Chaque fichier est nommé d’après la langue, le nom de l’utilisateur et l’orthographe du mot enregistré. Les fichiers sont ensuite stockés sur la plateforme Wikimedia Commons, et un bot les réutilise sur de nombreux autres sites : wikidata, le wiktionnaire en français, le wiktionnaire en chaoui etc. Les fonctions de statistiques et de bibliothèque consultative de l’outil font des appels à ce corpus hébergé sur Wikimedia Commons ainsi qu’à la base de données interne de Lingua Libre pour fournir les données et fichiers nécessaires aux utilisateurs.
Le projet Lingua Libre a été lancé en novembre 2015 grâce aux efforts conjoints de contributeurs bénévoles et de partenaires de Wikimédia France. La version actuelle du site a été mise en production en 2018, avec le Record Wizard. Depuis, le Record Wizard n’a pas subi d’évolution majeure.
2. Présentation de Wikimédia France
Wikimédia France est l’association française, créée le 23 octobre 2004, qui œuvre pour le libre partage de la connaissance au travers des projets Wikimédia (Wikipédia, le Wikitionnaire, Wikimédia Commons, Wikidata, etc.)
L’association est soutenue par une équipe de 13 salariés et par ses 300 membres et bénévoles répartis sur l’ensemble du territoire français.
Au sein de l’association, la salariée en charge de Lingua Libre est Adélaïde Calais, chargée de mission diversité et francophonie. Elle est épaulée dans cette tâche par Michaël Barbereau, administrateur systèmes et réseaux.
3. Description de l’existant :
Lingua Libre fonctionne grâce à MediaWiki. Le dépôt de code est en accès public et est hébergé sur la plateforme GitHub.
- Repos GitHub de l’intégralité du projet: https://github.com/lingua-libre
- Repos GitHub du module Record Wizard: https://github.com/lingua-libre/RecordWizard
Technologies :
- MédiaWiki 1.35.2 (15 avril 2021)PHP 7.4.25jimo
- MariaDB (10.3.34-MariaDB-0ubuntu0.20.04.1
- ICU (66.1)
- LUA (5.1.5)
- Habillage : BlueLL
- Liste des plug-ins en annexe (en ligne si besoin ici)
- Les bugs sont suivis sur un tableau de bord en accès public, hébergé sur Phabricator. Phabricator est un outil sous la responsabilité de la Fondation Wikimédia.
- Tableau de bord des bugs : https://phabricator.wikimedia.org/tag/lingua_libre/
- Langages utilisés en frontend : CSS, Javascript
- backend : PHP, TSQL, Python
- La charte graphique de Wikimédia France contient notamment le logo, la police d’écriture Montserrat, et une palette de couleurs. Elle est disponible en ligne sur Meta-Wiki.
- Licences : selon les repositeries, le code est sous licence GPL 2.0, GPL 3.0 ou MIT.
4. Objectifs de la prestation
En 2022, la contribution ralentit car le Record Wizard accuse des bugs importants. Wikimédia France a besoin qu’un outil de patrouille flexible et efficace soit mis en place car notre mécène principal prépare un projet de dictionnaire francophone affichant nos enregistrements. Ce projet nécessite que la base de fichiers ne contienne pas de fichiers de mauvaise qualité ou avec des défauts.
Le projet vit grâce à une communauté de bénévoles assidus et motivés qui l’alimentent en enregistrements, ajoutent des fonctionnalités à l’outil, participent à son maintien en conditions opérationnelles. Cette petite équipe souhaite travailler main dans la main avec la personne ou les personnes qui se chargeront des développements, il y aura donc une dimension de participation à des actions organisées par la communauté à cette mission, de transmission de connaissances, de documentation également.
Enfin, Lingua Libre fait face à un tournant majeur dans le traitement automatique des langues et même au sein des projets wikimédia. Des discussions sont en cours pour penser sa stratégie sur 5 ans minimum. Les compétences et connaissances du prestataire seront des apports importants pour cette réflexion.
5. Prestations attendues
5.1 Développement
Le prestataire réalise les tâches de développement listées ci-dessous.
Tâches de maintenance corrective :
- Résolution du traitement du signal par la librairie JS (résolution des click-bug et speed-bug du Record Wizard) https://phabricator.wikimedia.org/T281041
Tâches de maintenance évolutive :
- Extension permettant aux utilisateurs d’effectuer une patrouille en réécoutant les enregistrements existants et en les marquant d’un tag : framework vueJS et de préférence sous MediaWiki (modèle à suivre = Record Wizard : avec une page Special: et l’extension appelle le VueJS sur cette page)
- Outil de modification massive d’audios couplé avec l’extension de patrouille : on peut modifier les audios un par un au fil de la patrouille, ou on peut obtenir une liste des fichiers marqués du même tag et les éditer tous d’un coup.
- Outil d’import massif d’enregistrements – interface permettant d’ajouter les métadonnées du profil ou d’un invité (autre personne que l’utilisateur) à ces fichiers.
5.2. Transfert de connaissance
Documentations et suivi de projet :
- Le prestataire organise et anime 3 réunions de 2h chacune pour assurer la transmission de connaissances auprès des bénévoles impliqués.
- Le prestataire produit un document qui décrit les procédures d’installation des outils nécessaires au bon fonctionnement des développements qu’il implémente.
- Le prestataire met à jour les tickets liés aux tâches listées dans les prestations de maintenance correctives et évolutives listées ci-dessus. Si pour effectuer ces tâches il a besoin d’analyser d’autres éléments, documentés par un autre ticket, il mettra le statut du ticket à jour et de même si ses tâches de maintenance ont des effets de bord sur d’autres éléments, il mettra à jour les tickets phabricator impactés.
- Le prestataire met à jour le schéma d’architecture du code de Lingua Libre.
- Le prestataire participe aux réunions stratégie de Lingua Libre (d’un total de 6h)
6. Calendrier
Date limite pour la remise des candidatures : 15 octobre 2022.
- Début de la mission : début novembre
- Point d’étape : à mi-parcours
- Fin de la mission : entre février et avril 2023
Ce calendrier sera affiné et validé entre Wikimédia France et le prestataire pour fixer des dates dans le contrat final.
7. Modalités de suivi
Un point de suivi en visioconférence toutes les deux semaines entre la chargée de mission diversité et francophonie ainsi que l’administrateur système et réseau de l’association d’une part et le prestataire d’autre part. Un point d’étape est prévu à mi-chemin de la mission, puis une étape de finalisation de la mission aura lieu. Le point d’étape de mi-parcours et la fin de mission donneront lieu à un rapport des modifications, corrections, créations et tâches effectuées par le prestataire.
Ces rapports, qui constituent la vérification du bon fonctionnement des prestations réalisées par le prestataire, est soumis à validation sous 15 jours, par la chargée de mission diversité et francophonie.
8. Modalités de sélection du prestataire
Selon la procédure de prestation de l’association, une sélection sera effectuée parmi les offres, prenant en compte le prix, les compétences du prestataire (maîtrise des langages utilisés, de MediaWiki, du traitement du signal audio, bonnes notions d’expérience utilisateur [UX]), ses expériences passées, l’organisation qu’il propose pour travailler avec la chargée de mission responsable du site web, les engagements qu’il prend sur la documentation des codes.
9. Propriété et licence
Toute production faite dans le cadre de cette prestation sera la propriété de Wikimédia France. Le code devra nous être cèdé sous une licence identique à celle des modules concernés.
Exemple : les maintenances liées au Record Wizard devront être mise sous licence GPL.
10. Contact
Adresser les offres, ou demandes de précisions à Adélaïde Calais
Email : ao-lingualibre@wikimedia.fr
Adresse : 28 rue de Londres, 75009 Paris
Téléphone : +33 1 42 36 26 24
11. Annexes
11.1 Logiciels installés
Produit | Version |
---|---|
MediaWiki | 1.35.2 (e5823c0) 8 avril 2021 à 19:52 |
PHP | 7.4.25 (fpm-fcgi) |
MariaDB | 10.3.34-MariaDB-0ubuntu0.20.04.1 |
ICU | 66.1 |
Lua | 5.1.5 |
11.2 Habillages installés
Habillage | Version | Licence | Description | Auteurs |
---|---|---|---|---|
BlueLL | 2.2.0 (eed9f3c) 4 août 2022 à 14:14 | BSD-2-Clause | Habillage épuré initialement développé pour Lingua Libre. | Antoine Lamielle |
11.3 Extensions installées
Pages spéciales | ||||
---|---|---|---|---|
Extension | Version | Licence | Description | Auteurs |
Echo | – (fd6a33e) 1 janvier 2021 à 09:00 | MIT | Système pour avertir les utilisateurs des événements et messages | Andrew Garrett, Ryan Kaldari, Benny Situ, Luke Welling, Kunal Mehta, Moriel Schottlender, Jon Robson et Roan Kattouw |
Interwiki | 3.2 (224d4be) 1 janvier 2021 à 21:33 | GPL-2.0-or-later | Ajoute une page spéciale pour voir et modifier la table interwiki | Stephanie Amanda Stevens, Alexandre Emsenhuber, Robin Pepermans, Siebrand Mazeland, Platonides, Raimond Spekking, Sam Reed, Jack Phoenix, Calimonius the Estrange et autres |
Nuke | 1.3.0 (0a74305) 22 avril 2020 à 15:31 | GPL-2.0-or-later | Donne la possibilité aux administrateurs de supprimer en masse des pages | Brion Vibber et Jeroen De Dauw |
Translate | 2020-04-20 (443fa1c) 27 novembre 2021 à 15:20 | GPL-2.0-or-later | Page spéciale pour traduire MediaWiki et au-delà | Niklas Laxström, Siebrand Mazeland, Santhosh Thottingal, Amir E. Aharoni, Abijeet Patro et autres |
Éditeurs | ||||
Extension | Version | Licence | Description | Auteurs |
CodeEditor | – (1fafe27) 1 janvier 2021 à 02:48 | GPL-2.0-or-later AND BSD-3-Clause | Coloration syntaxique dans les pages écrites en JavaScript et CSS en utilisant l’Éditeur ACE | Brion Vibber, Derk-Jan Hartman et authors of Ace |
WikiEditor | 0.5.3 (9bc2d0b) 3 janvier 2021 à 12:56 | GPL-2.0-or-later | Fournit une interface de modification de texte wiki avancée et extensible. | Derk-Jan Hartman, Trevor Parscal, Roan Kattouw, Nimish Gautam et Adam Miller |
Greffons de l’analyseur syntaxique | ||||
Extension | Version | Licence | Description | Auteurs |
Babel | 1.12.0 (a537535) 31 décembre 2020 à 15:44 | GPL-2.0-or-later | Ajoute la fonction de l’analyseur syntaxique #babel permettant la création automatique d’une colonne de boîtes utilisateur Babel avec la possibilité d’inclure des modèles locaux | Robert Leverington, Thiemo Kreuz, Legoktm, Nikerabbit, Amir Aharoni et Ricordisamoa |
Cite | – (bc16b05) 29 mars 2021 à 23:22 | GPL-2.0-or-later | Ajoute les balises <ref[ name=id]> et <references/> pour les citations | Ævar Arnfjörð Bjarmason, Andrew Garrett, Brion Vibber, Ed Sanders, Marius Hoch, Steve Sanbeg, Trevor Parscal et autres |
Custom Subtitle | 0.1.0 (ae8719b) 23 février 2021 à 10:21 | GPL-2.0+ | Ajoute la fonction magique pour permettre aux contributeurs d’ajouter un sous-titre personalisé à n’importe quel page de contenu. | Antoine Lamielle |
InputBox | 0.3.0 (96de709) 26 mai 2021 à 13:34 | MIT | Permet l’inclusion de formulaires HTML prédéfinis. | Erik Moeller, Leonardo Pimenta, Rob Church, Trevor Parscal et DaSch |
ParserFunctions | 1.6.0 (5c84940) 6 juillet 2020 à 07:54 | GPL-2.0-or-later | Etend l’analyseur syntaxique avec des fonctions logiques | Tim Starling, Robert Rohde, Ross McClure et Juraj Simlovic |
Poem | – (23bd68e) 22 avril 2020 à 16:47 | CC0-1.0 | Ajoute la balise <poem> pour le formatage des poèmes | Nikola Smolenski, Brion Vibber et Steve Sanbeg |
Scribunto | – (d21b655) 2 janvier 2021 à 21:23 | GPL-2.0-or-later AND MIT | Framework pour l’intégration de langages de script dans les pages MediaWiki | Victor Vasiliev, Tim Starling et Brad Jorsch |
SyntaxHighlight | 2.0 (0e4cce6) 10 mars 2021 à 18:20 | GPL-2.0-or-later | Fournit la mise en valeur de la syntaxe par la balise <syntaxhighlight> en utilisant Pygments – coloration syntaxique Python | Brion Vibber, Tim Starling, Rob Church, Niklas Laxström, Ori Livneh et Ed Sanders |
Manipulateurs de médias | ||||
Extension | Version | Licence | Description | Auteurs |
PDF Handler | – (a2ab93f) 22 avril 2020 à 16:30 | GPL-2.0-or-later | Gestionnaire permettant de visualiser les fichiers PDF en mode image | Martin Seidel et Mike Połtyn |
TimedMediaHandler | 0.6.0 (a593d24) 3 janvier 2021 à 06:04 | GPL-2.0-or-later | Gestionnaire pour les vidéos, enregistrements sonores et textes synchronisés, avec prise en charge des formats WebM, Ogg Theora, Vorbis et srt | Michael Dale, Jan Gerber, Derk-Jan Hartman, Brion Vibber, Tim Starling et autres |
Prévention du pollupostage | ||||
Extension | Version | Licence | Description | Auteurs |
SpamBlacklist | – (092e488) 1 mai 2020 à 08:01 | GPL-2.0-or-later | Outil anti-pollution basé sur des expressions rationnelles permettant de mettre en liste noire des URL dans les pages et des adresses de courriel pour les utilisateurs enregistrés | Tim Starling, John Du Hart et Daniel Kinzler |
TitleBlacklist | 1.5.0 (84c647d) 24 avril 2020 à 06:23 | GPL-2.0-or-later | Permet aux administrateurs d’interdire la création de pages et de comptes utilisateur en fonction d’une liste noire et d’une liste blanche | Victor Vasiliev et Fran Rogers |
Wikibase | ||||
Extension | Version | Licence | Description | Auteurs |
WikibaseClient | – (83f882f) 28 mai 2021 à 15:32 | GPL-2.0-or-later | Client pour l’extension Wikibase | The Wikidata team et autres |
WikibaseRepository | – (83f882f) 28 mai 2021 à 15:32 | GPL-2.0-or-later | Référentiel de données structurées | The Wikidata team et autres |
WikibaseView | – (83f882f) 28 mai 2021 à 15:32 | GPL-2.0-or-later | View component for the Wikibase Repository | The Wikidata team et autres |
Divers | ||||
Extension | Version | Licence | Description | Auteurs |
CLDR | 4.10.0 (fec3e29) 11 juillet 2020 à 14:05 | GPL-2.0-or-later | Extension qui fournit les noms traduits des langues, sur la base des données CLDR | Niklas Laxström, Siebrand Mazeland, Ryan Kaldari et Sam Reed |
Clean Changes | 2020-04-20 (5ea1846) 1 janvier 2021 à 02:30 | GPL-2.0-or-later | Affichage plus compact de la liste des modifications récentes | Niklas Laxström |
Gadgets | – (03b8b5d) 6 juillet 2020 à 07:51 | GPL-2.0-or-later | Permet aux utilisateurs de choisir des gadgets CSS et Javascripts personnalisés dans leurs préférences | Daniel Kinzler et Max Semenik |
LocalisationUpdate | 1.4.0 (49cb280) 16 octobre 2020 à 15:25 | GPL-2.0-or-later | Maintenir la traduction des messages à jour autant que possible | Tom Maaswinkel, Niklas Laxström et Roan Kattouw |
Matomo | 4.0.1 | GPL-2.0-or-later | Adding Matomo Tracking Code | Isb1009, DaSch, Seb35 et Youri van den Bogert |
OAuthAuthentication | 0.1.0 (ac62a11) 3 juin 2021 à 14:30 | Licence | Autorise les wikis à déléguer leurs authentifications à un autre wiki | Chris Steipp |
QueryViz | 0.1.0 (3bac94a) 30 avril 2021 à 15:40 | GPL-2.0+ | Fetch and display sparql queries result inside a wiki page. | Antoine Lamielle |
RecordWizard | 0.1.0 (dd32a78) 6 août 2022 à 10:34 | GPL-2.0+ | Un outil simple d’utilisation et entièrement automatisé pour enregistrer des fichiers audio de prononciation. | Antoine Lamielle |
Thanks | 1.2.0 (50e0715) 3 janvier 2021 à 05:31 | MIT | Ajoute des liens pour remercier les utilisateurs pour des modifications, des commentaires, etc. | Ryan Kaldari, Benjamin Chen et Wctaiwan |
UniversalLanguageSelector | 2020-04-20 (a3c19a9) 3 janvier 2021 à 08:28 | GPL-2.0-or-later OR MIT | Donne à l’utilisateur plusieurs manières de sélectionner une langue et d’ajuster ses paramètres de langue | Alolita Sharma, Amir Aharoni, Arun Ganesh, Brandon Harris, Kartik Mistry, Niharika Kohli, Niklas Laxström, Pau Giner, Santhosh Thottingal, Siebrand Mazeland et autres |
Upload2Commons | 0.1.0 (9046e32) 23 février 2019 à 03:15 | GPL-2.0+ | Téléverser des fichiers locaux vers un wiki distant en utilisant OAuth. | Antoine Lamielle |
11.4 Bibliothèques installées
Bibliothèque | Version | Licence | Description | Auteurs |
---|---|---|---|---|
composer/installers | 1.10.0 | MIT | A multi-framework Composer library installer | Kyle Robinson Young |
composer/semver | 1.7.2 | MIT | Semver library that offers utilities, version constraint parsing and validation. | Nils Adermann, Jordi Boggiano et Rob Bast |
cssjanus/cssjanus | 1.3.0 | Apache-2.0 | Convert CSS stylesheets between left-to-right and right-to-left. | Trevor Parscal, Roan Kattouw et Timo Tijhof |
data-values/common | 0.4.3 | GPL-2.0+ | Contains common implementations of the interfaces defined by DataValuesInterfaces | Jeroen De Dauw |
data-values/data-values | 2.3.0 | GPL-2.0-or-later | Defines the DataValue interface and some trivial implementations | Jeroen De Dauw |
data-values/geo | 4.2.2 | GPL-2.0-or-later | Geographical value objects, parsers and formatters | Jeroen De Dauw et The Wikidata team |
data-values/interfaces | 0.2.5 | GPL-2.0+ | Defines interfaces for ValueParsers, ValueFormatters and ValueValidators | Jeroen De Dauw |
data-values/number | 0.10.2 | GPL-2.0-or-later | Numerical value objects, parsers and formatters | Daniel Kinzler et Thiemo Kreuz |
data-values/serialization | 1.2.3 | GPL-2.0-or-later | Serializers and deserializers for DataValue implementations | Jeroen De Dauw |
data-values/time | 1.0.3 | GPL-2.0-or-later | Time value objects, parsers and formatters | The Wikidata team |
diff/diff | 3.2.0 | BSD-3-Clause | Small standalone library for representing differences between data structures, computing such differences, and applying them as patches | Jeroen De Dauw |
guzzlehttp/guzzle | 6.5.5 | MIT | Guzzle is a PHP HTTP client library | Michael Dowling |
guzzlehttp/promises | 1.4.1 | MIT | Guzzle promises library | Michael Dowling |
guzzlehttp/psr7 | 1.8.1 | MIT | PSR-7 message implementation that also provides common utility methods | Michael Dowling et Tobias Schultze |
james-heinrich/getid3 | 1.9.20 | GPL-1.0-or-later, LGPL-3.0-only et MPL-2.0 | PHP script that extracts useful information from popular multimedia file formats | |
liuggio/statsd-php-client | 1.0.18 | MIT | Statsd (Object Oriented) client library for PHP | Giulio De Donato |
mediawiki/oauthclient | 1.1.0 | GPL-3.0-or-later | PHP OAuth client for use with Wikipedia and other MediaWiki-based wikis running the OAuth extension | Andy Smith, Chris Steipp et Bryan Davis |
monolog/monolog | 2.2.0 | MIT | Sends your logs to files, sockets, inboxes, databases and various web services | Jordi Boggiano |
onoi/message-reporter | 1.4.2 | GPL-2.0-or-later | An interface to report and relay arbitrary messages to registered handlers | Jeroen De Dauw et James Hong Kong |
oojs/oojs-ui | 0.39.3 | MIT | Provides library of common widgets, layouts, and windows. | Bartosz Dziewoński, Ed Sanders, James D. Forrester, Kirsten Menger-Anderson, Kunal Mehta, Prateek Saxena, Roan Kattouw, Rob Moen, Timo Tijhof et Trevor Parscal |
pear/console_getopt | 1.4.3 | BSD-2-Clause | More info available on: http://pear.php.net/package/Console_Getopt | Andrei Zmievski, Stig Bakken et Greg Beaver |
pear/mail | 1.4.1 | BSD-2-Clause | Class that provides multiple interfaces for sending emails. | Chuck Hagenbuch, Richard Heyes et Aleksander Machniak |
pear/mail_mime | 1.10.8 | BSD-3-clause | Mail_Mime provides classes to create MIME messages | Cipriano Groenendal et Aleksander Machniak |
pear/net_smtp | 1.9.1 | BSD-2-Clause | An implementation of the SMTP protocol | Jon Parise et Chuck Hagenbuch |
pear/net_socket | 1.2.2 | PHP License | More info available on: http://pear.php.net/package/Net_Socket | Chuck Hagenbuch, Aleksander Machniak et Stig Bakken |
pear/pear-core-minimal | 1.10.10 | BSD-3-Clause | Minimal set of PEAR core files to be used as composer dependency | Christian Weiske |
pear/pear_exception | 1.0.2 | BSD-2-Clause | The PEAR Exception base class. | Helgi Thormar et Greg Beaver |
pleonasm/bloom-filter | 1.0.2 | BSD-2-Clause | A pure PHP implementation of a Bloom Filter | Matthew Nagi |
psr/container | 1.0.0 | MIT | Common Container Interface (PHP FIG PSR-11) | PHP-FIG |
psr/http-message | 1.0.1 | MIT | Common interface for HTTP messages | PHP-FIG |
psr/log | 1.1.3 | MIT | Common interface for logging libraries | PHP-FIG |
psr/simple-cache | 1.0.1 | MIT | Common interfaces for simple caching | PHP-FIG |
ralouphie/getallheaders | 3.0.3 | MIT | A polyfill for getallheaders. | Ralph Khattar |
serialization/serialization | 4.0.0 | GPL-2.0+ | Library defining a Serializer and a Deserializer interface and basic utilities | Jeroen De Dauw |
symfony/polyfill-intl-idn | 1.22.1 | MIT | Symfony polyfill for intl’s idn_to_ascii and idn_to_utf8 functions | Laurent Bassin, Trevor Rowbotham et Symfony Community |
symfony/polyfill-intl-normalizer | 1.22.1 | MIT | Symfony polyfill for intl’s Normalizer class and related functions | Nicolas Grekas et Symfony Community |
symfony/polyfill-php72 | 1.22.1 | MIT | Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions | Nicolas Grekas et Symfony Community |
wikibase/data-model | 9.5.1 | GPL-2.0-or-later | PHP implementation of the Wikibase DataModel | Jeroen De Dauw, Thiemo Kreuz et The Wikidata team |
wikibase/data-model-serialization | 2.9.1 | GPL-2.0-or-later | Serializers and deserializers for the Wikibase DataModel | Thomas PT et Jeroen De Dauw |
wikibase/data-model-services | 5.2.0 | GPL-2.0-or-later | Services around the Wikibase DataModel | Jeroen De Dauw et The Wikidata team |
wikibase/internal-serialization | 2.10.0 | GPL-2.0-or-later | Serializers and deserializers for the data access layer of Wikibase Repository | Jeroen De Dauw |
wikimedia/assert | 0.5.0 | MIT | Provides runtime assertions | Daniel Kinzler et Thiemo Kreuz |
wikimedia/at-ease | 2.0.0 | GPL-2.0-or-later | Safe replacement to @ for suppressing warnings. | Tim Starling et MediaWiki developers |
wikimedia/base-convert | 2.0.1 | GPL-2.0-or-later | Convert an arbitrarily-long string from one numeric base to another, optionally zero-padding to a minimum column width. | Brion Vibber et Tyler Romeo |
wikimedia/cdb | 1.4.1 | GPL-2.0+ | Constant Database (CDB) wrapper library for PHP. Provides pure-PHP fallback when dba_* functions are absent. | Daniel Kinzler, Tim Starling, Chad Horohoe et Ori Livneh |
wikimedia/cldr-plural-rule-parser | 1.0.0 | GPL-2.0+ | Evaluates plural rules specified in the CLDR project notation. | Tim Starling et Niklas Laxström |
wikimedia/common-passwords | 0.2.0 | MIT | List of the 100,000 most commonly used passwords | Sam Reed |
wikimedia/composer-merge-plugin | 2.0.1 | MIT | Composer plugin to merge multiple composer.json files | Bryan Davis |
wikimedia/html-formatter | 1.0.2 | GPL-2.0-or-later | Performs transformations of HTML by wrapping around libxml2 and working around its countless bugs. | MediaWiki contributors |
wikimedia/ip-set | 2.1.0 | GPL-2.0-or-later | Efficiently match IP addresses against a set of CIDR specifications. | Brandon Black |
wikimedia/ip-utils | 1.0.0 | GPL-2.0-or-later | Functions and constants to play with IP addresses and ranges | MediaWiki developers |
wikimedia/less.php | 3.1.0 | Apache-2.0 | PHP port of the Javascript version of LESS http://lesscss.org (Originally maintained by Josh Schmidt) | Josh Schmidt, Matt Agar et Martin Jantošovič |
wikimedia/object-factory | 2.1.0 | GPL-2.0-or-later | Construct objects from configuration instructions | Bryan Davis |
wikimedia/parsoid | 0.12.1 | GPL-2.0-or-later | Parsoid, a bidirectional parser between wikitext and HTML5 | Wikimedia Parsing Team and the broader MediaWiki community |
wikimedia/php-session-serializer | 1.0.7 | GPL-2.0-or-later | Provides methods like PHP’s session_encode and session_decode that don’t mess with $_SESSION | Brad Jorsch |
wikimedia/purtle | 1.0.7 | GPL-2.0-or-later | Fast streaming RDF serializer | Daniel Kinzler, Stanislav Malyshev, C. Scott Ananian et Thiemo Kreuz |
wikimedia/relpath | 2.1.1 | MIT | Compute a relative filepath between two paths. | Ori Livneh |
wikimedia/remex-html | 2.2.0 | MIT | Fast HTML 5 parser | Tim Starling |
wikimedia/running-stat | 1.2.1 | GPL-2.0+ | PHP implementations of online statistical algorithms | Ori Livneh |
wikimedia/scoped-callback | 3.0.0 | GPL-2.0-or-later | Class for asserting that a callback happens when a dummy object leaves scope | Aaron Schulz |
wikimedia/services | 2.0.1 | GPL-2.0-or-later | Generic service to manage named services using lazy instantiation based on instantiator callback functions | Daniel Kinzler |
wikimedia/timestamp | 3.0.0 | GPL-2.0-or-later | Creation, parsing, and conversion of timestamps | Tyler Romeo |
wikimedia/utfnormal | 2.0.0 | GPL-2.0-or-later | Contains Unicode normalization routines, including both pure PHP implementations and automatic use of the ‘intl’ PHP extension when present | Brion Vibber |
wikimedia/wait-condition-loop | 1.0.1 | GPL-2.0+ | Wait loop that reaches a condition or times out | Aaron Schulz |
wikimedia/wikipeg | 2.0.5 | MIT | Parser generator for JavaScript and PHP | |
wikimedia/wrappedstring | 3.2.0 | MIT | Automatically compact sequentially-outputted strings that share a common prefix / suffix pair. | Timo Tijhof |
wikimedia/xmp-reader | 0.7.0 | GPL-2.0-or-later | Reader for XMP data containing properties relevant to images | Brian Wolff |
wikimedia/zest-css | 1.1.5 | MIT | Fast, lightweight, extensible CSS selector engine for PHP | Christopher Jeffrey et C. Scott Ananian |
zordius/lightncandy | 1.2.5 | MIT | An extremely fast PHP implementation of handlebars ( http://handlebarsjs.com/ ) and mustache ( http://mustache.github.io/ ). | Zordius Chen |