Aller au contenu

Module:Infobox/Logiciel

Cette page est semi-protégée.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 24 novembre 2022 à 12:43 et modifiée en dernier par Metamorforme42 (discuter | contributions) (déplacement vers Module:Infobox/Fonctions/Logiciel). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]

Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox Logiciel.

Ce module est destiné à remplacer l’infobox Logiciel. Il n’est pas encore fonctionnel et il ne faut pas l’utiliser dans l’espace principal.

Prochaines étapes

  1. déplacement des fonctions vers Module:Infobox/Fonctions/Logiciel
  2. documentation du module (cf. Projet:Infobox/Lua/Documentation)
  3. documentation du modèle
  4. tests de quelques semaines avec une deuxième annonce sur discussion projet:Informatique et sur la pdd de l’infobox
  5. demande de SP pour les deux pages de modules concernées
  6. remplacement du modèle, si pas d’opposition ni de bug majeur
  7. suppression de la catégorie de maintenance devenue inutile : Catégorie:Page utilisant l'infobox Logiciel avec une description mais pas d'image
  8. suppressions des sous-cats inutilisées de Catégorie:Logiciel par langage de programmation (toutes celles avec plus qu’un seul langage)

Paramètres pour l’infobox

Le module reprend tous les paramètres de Modèle:Infobox Logiciel. Les changements sont détaillés sur Discussion_modèle:Infobox_Logiciel#Passage_en_lua (en attendant que je fasse la documentation).

local general = require "Module:Infobox/Fonctions"
local logiciel = require "Module:Infobox/Fonctions/Logiciel"
local wikidata = require "Module:Wikidata"
local localdata = require "Module:Infobox/Localdata"

return {
	maincolor = '#DFEDFF',
	parts = {
		general.title('informatique'),
		-- Illustrations
		general.logo('Article à illustrer Logiciel'),
		general.mainimage('Article à illustrer Logiciel'),
		{
			type = 'table', title = 'Informations', rows = {
				-- Informations sur l’auteur
				logiciel.creator(),
				logiciel.developer(),
				logiciel.developmentStart(),
				-- Informations de version
				logiciel.firstVersion(),
				logiciel.lastStableVersion(),
				logiciel.advancedVersion(),
				-- informations sur le projet
				{
					type = 'row',
					label = '[[Dépôt (informatique)|Dépôt]]',
					plurallabel = '[[Dépôt (informatique)|Dépôts]]',
					value = 'dépôt',
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P1324',
							atdate= "today", -- ça ne sert à rien d’afficher une adresse qui n’est plus la bonne
							returnnumberofvalues = true,
						}
					end,
				},
				{
					type = 'row',
					label = '[[Assurance qualité]]',
					value = 'assurance qualité',
					property = 'P2992'
				},
				{
					type = 'row',
					label = 'État du projet',
					value = 'état'
				},
				logiciel.programmingLanguage(false),
				{
					type = 'row',
					label = '[[Interface graphique|Interface]]',
					plurallabel = '[[Interface graphique|Interfaces]]',
					value = 'interface',
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P1414',
							atdate= "today",
							returnnumberofvalues = true,
						}
					end,
				},
				{
					type = 'row',
					label = '[[Langage de programmation|Supporte le langage]]',
					plurallabel = '[[Langage de programmation|Supporte les langages]]',
					value = 'langages supportés',
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P3985',
							atdate= "today",
							returnnumberofvalues = true,
						}
					end,
				},
				{
					type = 'row',
					label = "[[Système d'exploitation|Système d’exploitation]]",
					plurallabel  ="[[Système d'exploitation|Systèmes d’exploitation]]",
					value = {"système d'exploitation","systèmes d'exploitation"},
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P306',
							atdate= "today",
							returnnumberofvalues = true,
						}
					end,
				},
				{
					type = 'row',
					label = '[[Plate-forme (informatique)|Environnement]]',
					-- Note: la forme au pluriel "Environnements" est trop longue et empiète sur
					-- le contenu de la colonne de droite. Elle a donc été retirée.
					value = {'environnement','environnements'},
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P400',
							atdate= "today",
							returnnumberofvalues = true,
						}
					end,
				},
				{
					type = 'row',
					label = '[[Taille de fichier|Taille des données]]',
					value = 'taille des données',
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P3575',
							atdate= "today",
							returnnumberofvalues = true,
						}
					end,
				},
				{
					type = 'row',
					label = '[[Format de données|Formats]] lus',
					value = 'importe',
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P1072',
							atdate= "today",
							returnnumberofvalues = true,
						}
					end,
				},
				{
					type = 'row',
					label = '[[Format de données|Formats]] écrits',
					value = 'exporte',
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P1073',
							atdate= "today",
							returnnumberofvalues = true,
						}
					end,
				},
				logiciel.internationalisation(4),
				{
					type = 'row',
					label = '[[Fichier exécutable|Fichier exécutable]]',
					plurallabel  ='[[Fichier exécutable|Fichiers exécutables]]',
					value = {"exécutable","exécutables"}
				},
				logiciel.softwareType(),
				{
					type = 'row',
					label = '[[Politique de distribution]]',
					value = 'politique de prix'
				},
				logiciel.license(),
				{
					type = 'row',
					label = '[[Documentation logicielle|Documentation]]',
					value = 'documentation',
					wikidata = function()
						return wikidata.formatAndCat {
							entity = localdata.item,
							property = 'P2078',
							atdate= "today",
							returnnumberofvalues = true,
						}
					end,
				},
				general.website() -- site web
			},
		},
		{
			type = 'table',
			title = 'Chronologie des versions',
			rows = {
				{
					type = 'navbox',
					previousLabel = 'Version précédente',
					previousval = 'version précédente',
					previousproperty= 'P155',
					nextLabel = 'Version suivante',
					nextval = 'version suivante',
					nextproperty = 'P156',
					separated = true,
				},
			}
    	},
	}
}