Jump to content

Extension:Cargo

From mediawiki.org
This page is a translated version of the page Extension:Cargo and the translation is 84% complete.
Outdated translations are marked like this.
Manuel des extensions MediaWiki
Cargo
État de la version : stable
Implémentation Page spéciale , API , Fonction d'analyseur
Description Une extension qui permet l'enregistrement et la recherche de données contenues dans les modèles.
Auteur(s) Yaron Koren <yaron57@gmail.com> (Yaron Korendiscussion)
Dernière version 3.9.3 (juillet 2026)
Politique de compatibilité Le master conserve la compatibilité arrière.
MediaWiki 1.42+
Modifie la base
de données
Oui
Composer mediawiki/cargo
  • $wgCargoFileDataColumns
  • $wgCargoDrilldownLargestFontSize
  • $wgCargoDecimalMark
  • $wgCargoDefaultStringBytes
  • $wgCargoAllowedSQLFunctions
  • $wgCargoHideNamespaceName
  • $wgCargoMaxVisibleHierarchyDrilldownValues
  • $wgCargoDrilldownSmallestFontSize
  • $wgCargoDBTableOptions
  • $wgCargoMaxQueryLimit
  • $wgCargoDefaultMapService
  • $wgCargoStoreUseTemplateArgsFallback
  • $wgCargoPageDataColumns
  • $wgCargoIgnoreBacklinks
  • $wgCargoDigitGroupingCharacter
  • $wgCargoDefaultQueryLimit
  • $wgCargoDrilldownNumRangesForNumbers
  • $wgCargo24HourTime
  • $wgCargoLegacyNullLuaFieldsAsEmptyString
  • $wgCargoTablesPrioritizeReplacements
  • $wgCargoRecurringEventMaxInstances
  • $wgCargoDrilldownUseTabs
  • $wgCargoDrilldownMinValuesForComboBox
  • $wgCargoMapClusteringMinimum
  • recreatecargodata
  • deletecargodata
  • runcargoqueries
Licence Licence publique générale GNU v2.0 ou ultérieur
Téléchargement
Exemple Wikimedia Australia's Cargo Tables
Traduire l’extension Cargo
Problèmes Tâches ouvertes · Signaler un bogue

Cargo est une extension MediaWiki qui fournit une manière allégée d'enregistrer et rechercher les données contenues dans les appels aux modèles, comme les boîtes d'information. Dans son principe elle est similaire à l'extension Semantic MediaWiki , mais offre plusieurs avantages sur celle-ci, dont une facilité d'installation et d'utilisation.

Cargo enregistre toutes ses données dans des tables de la base de données, qui peuvent être placées soit dans la base de données propre à MediaWiki (par défaut), soit dans une base de données séparée. Dans la plupart des cas, chaque modèle enregistré récupère ses données rangées dans une table unique de la base de données, avec une colonne pour chaque paramètre significatif du modèle. Il existe quelques exceptions à cela : la manipulation des champs d'un modèle qui contiennent des tableaux ou des listes de valeurs, des coordonnées géographiques; ceci est plus complexe dû à la gestion native assez pauvre de ces types de données dans la plupart des systèmes de bases de données. Et plusieurs modèles peuvent être initialisés pour ranger leurs données dans une table de la base de données.

L'extension définit un certain nombre de fonctions d'analyse syntaxique ; les trois suivantes sont les plus importantes :

  • #cargo_declare – placée à l'intérieur de la partie ‎<noinclude> d'un modèle ; elle définit le schéma d'une table.
  • #cargo_store – range une ligne dans une table Cargo ; habituellement placée à l'intérieur de la partie ‎<includeonly> d'un modèle.
  • #cargo_query – interroge une ou plusieurs tables de données Cargo, en utilisant des composants SQL.

Les autres fonctions d'analyse définies sont :

  • #cargo_attach – définit qu'un modèle ajoute des lignes à une table déclarée ailleurs.
  • #cargo_compound_query – affiche le résultat de plusieurs requêtes à un même endroit.
  • #cargo_display_map – affiche une carte montrant un seul point.
  • #recurring_event – affiche les dates d'un événement récurrent ; pour être utilisé par #cargo_store.

Cargo définit également diverses interfaces pour la visualisation et l'exploration de ces données stockées. En tant que tel, il ajoute les pages spéciales suivantes :

  • Special:CargoQuery
  • Special:CargoTableDiagram
  • Special:CargoTables
  • Special:Drilldown

Cargo a été testé et fonctionne avec les systèmes de base de données MySQL et PostgreSQL. En théorie il prend également en charge SQLite, mais il n'a pas été testé complètement avec ce système et peut ne pas fonctionner.

Cette version de l'extension Cargo nécessite MediaWiki 1.42+.

Vous trouverez ci-dessous les liens vers la documentation complète.

Configuration

Vous trouverez ci-dessous les paramètres de configuration globaux de Cargo ainsi que leurs valeurs par défaut.

Pour configurer Cargo à utiliser une base de données distincte au lieu de la base de données MediaWiki, les paramètres suivants sont fournis :

Paramètres de configuration de base de données distincte
Paramètre Valeur par défaut Description
$wgCargoDBtype null Type de base de données.
$wgCargoDBserver null Nom d'hôte ou adresse IP du serveur de base de données.
$wgCargoDBname null Nom de la base de données.
$wgCargoDBuser null Nom d'utilisateur de la base de données.
$wgCargoDBpassword null Mot de passe pour $wgCargoDBuser.
$wgCargoDBprefix null Préfixe du nom de la table de base de données.
$wgCargoDBRowFormat null Format des lignes de la base de données.
$wgCargoDBTableOptions null Options séparées par des virgules, analogue à $wgDBTableOptions.

Pour la configuration des caractères représentant des nombres, les paramètres de configuration suivants sont fournis :

Paramètres de configuration des caractères
Paramètre Valeur par défaut Description
$wgCargoDecimalMark . Séparateur décimal.
$wgCargoDigitGroupingCharacter , Séparateur de milliers.

Les autres paramètres de configuration globale sont les suivants :

Paramètre Valeur par défaut Description
$wgCargoAllowedSQLFunctions [1] Définit les fonctions SQL autorisées.
$wgCargoRecurringEventMaxInstances 100 Le nombre maximal d'instances à stocker pour les événements récurrents sans date de fin définie.
$wgCargoDefaultStringBytes 300 Le nombre de caractères par défaut pour les champs de type Page, String, Wikitext string, File, URL ou Email.
$wgCargoDefaultQueryLimit 100 Le nombre de résultats à afficher avec #cargo_query si aucune limite n'est définie.
$wgCargoMaxQueryLimit 5000 Nombre maximal autorisé de résultats à afficher avec #cargo_query.
$wgCargoQueryMaxExecutionTime null Temps maximum (en millisecondes) alloué pour l'exécution des requêtes Cargo avant d'être arrêtées (seulement avec MySQL et MariaDB)
$wgCargo24HourTime false Si true, utilise un système horaire sur 24 heures pour les types de champs Datetime.
$wgCargoDefaultMapService OpenLayers Définit Google Maps comme service de carte par défaut si fixé à googlemaps, Leaflet si fixé à leaflet et OpenLayers si fixé à openlayers.
$wgCargoGoogleMapsKey null La clé d'API pour Google Maps, pour le format d'affichage googlemaps.
$wgCargoMapClusteringMinimum 80 Si le nombre de points affichés sur une carte est supérieur à la valeur de $wgCargoMapClusteringMinimum, celle-ci affiche les emplacements en « grappes » au lieu de points individuels, pour une meilleure lisibilité. Si sa valeur est très grande, aucune grappe n'est affichée.
$wgCargoDrilldownUseTabs true Affiche Special:Drilldown noms de tables en tant qu'onglets en haut au lieu d'une liste verticale sur le côté.
$wgCargoDrilldownSmallestFontSize -1 Si sa valeur est un nombre positif, définit la plus petite taille de police en pixels avec des valeurs de filtrage affichées sous forme de nuages de tags.
$wgCargoDrilldownLargestFontSize -1 Si sa valeur est un nombre positif, définit la plus grande taille de police en pixels avec des valeurs de filtrage affichées sous forme de nuages de tags.
$wgCargoDrilldownMinValuesForComboBox 40 Définit le nombre minimal de valeurs, avant que leur affichage ne soit converti en boîte combinée au lieu de liens individuels.
$wgCargoDrilldownNumRangesForNumbers 5 Pour les champs/filtres de type Integer ou Float, spécifie le nombre de « paquets » dans lequels les valeurs sont divisées.
$wgCargoMaxVisibleHierarchyDrilldownValues 30 Si sa valeur est un entier naturel, spécifie le nombre maximal de valeurs affichées à la fois pour n'importe quel champ hierarchy (toutes les valeurs de plus haut niveau sont affichées indépendamment de ce nombre). Au-delà d'une certaine profondeur dans la hiérarchie, les valeurs sont masquées de sorte que le nombre total de valeurs visibles ne dépasse pas ce nombre.
$wgCargoTablesPrioritizeReplacements false Si true, toutes les tables avec un remplacement apparaissent en haut de la page Special:CargoTables, au lieu d'être affichées par ordre alphabétique.
$wgCargoPageDataColumns [] L'ensemble des champs à stocker dans la table Cargo _pageData. Voir Stockage des données d'une page .
$wgCargoFileDataColumns [] L'ensemble des champs à stocker dans la table Cargo _fileData. Voir Stockage des données d'un fichier .
$wgCargoHideNamespaceName [6] Tableau des espaces de noms à masquer dans les résultats de requêtes.
$wgCargoLegacyNullLuaFieldsAsEmptyString false Les résultats nuls de la fonction de requête Lua Cargo doivent renvoyer un chaîne plutôt que nil. Cela vous permet d'annuler une modification erronnée à partir de 2022. Les nouveaux wikis créés après cette data ne doivent pas l'autoriser.
$wgCargoStoreUseTemplateArgsFallback true Activer le comportement qui recherche les arguments du modèle correspondant à la table déclarée du modèle pour remplir les colonnes.

Voir aussi

  1. Voir Utilisation des fonctions SQL pour les valeurs par défaut.