CINXE.COM
Module:Date — Wikipédia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="fr" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:Date — Wikipédia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )frwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"wgRequestId":"aec310aa-55bc-4c0a-a0a1-8c4f132b622a","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:Date","wgTitle":"Date","wgCurRevisionId":217715467,"wgRevisionId":217715467,"wgArticleId":6953950,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Module protégé","Module appelé directement par un modèle","Module appelé par un autre module"],"wgPageViewLanguage":"fr","wgPageContentLanguage":"fr","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:Date","wgRelevantArticleId":6953950,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true, "wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":50000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q19963557","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready", "user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ArchiveLinks","ext.gadget.Wdsearch","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","wikibase.client.vector-2022","ext.checkUser.clientHints", "wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=fr&modules=ext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=fr&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=fr&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Module:Date — Wikipédia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//fr.m.wikipedia.org/wiki/Module:Date"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipédia (fr)"> <link rel="EditURI" type="application/rsd+xml" href="//fr.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://fr.wikipedia.org/wiki/Module:Date"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr"> <link rel="alternate" type="application/atom+xml" title="Flux Atom de Wikipédia" href="/w/index.php?title=Sp%C3%A9cial:Modifications_r%C3%A9centes&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Module_Date rootpage-Module_Date skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Aller au contenu</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Menu principal" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Menu principal</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Menu principal</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">masquer</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Accueil_principal" title="Accueil général [z]" accesskey="z"><span>Accueil</span></a></li><li id="n-thema" class="mw-list-item"><a href="/wiki/Portail:Accueil"><span>Portails thématiques</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Page_au_hasard" title="Affiche un article au hasard [x]" accesskey="x"><span>Article au hasard</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Contact"><span>Contact</span></a></li> </ul> </div> </div> <div id="p-Contribuer" class="vector-menu mw-portlet mw-portlet-Contribuer" > <div class="vector-menu-heading"> Contribuer </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-aboutwp" class="mw-list-item"><a href="/wiki/Aide:D%C3%A9buter"><span>Débuter sur Wikipédia</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Aide:Accueil" title="Accès à l’aide"><span>Aide</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Accueil_de_la_communaut%C3%A9" title="À propos du projet, ce que vous pouvez faire, où trouver les informations"><span>Communauté</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Modifications_r%C3%A9centes" title="Liste des modifications récentes sur le wiki [r]" accesskey="r"><span>Modifications récentes</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Wikip%C3%A9dia:Accueil_principal" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipédia" src="/static/images/mobile/copyright/wikipedia-wordmark-fr.svg" style="width: 7.4375em; height: 1.125em;"> <img class="mw-logo-tagline" alt="l'encyclopédie libre" src="/static/images/mobile/copyright/wikipedia-tagline-fr.svg" width="120" height="13" style="width: 7.5em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Sp%C3%A9cial:Recherche" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Rechercher sur Wikipédia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Rechercher</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Rechercher sur Wikipédia" aria-label="Rechercher sur Wikipédia" autocapitalize="sentences" title="Rechercher sur Wikipédia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Spécial:Recherche"> </div> <button class="cdx-button cdx-search-input__end-button">Rechercher</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Outils personnels"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Apparence"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Modifier l'apparence de la taille, de la largeur et de la couleur de la police de la page" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Apparence" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Apparence</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_fr.wikipedia.org&uselang=fr" class=""><span>Faire un don</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Sp%C3%A9cial:Cr%C3%A9er_un_compte&returnto=Module%3ADate" title="Nous vous encourageons à créer un compte utilisateur et vous connecter ; ce n’est cependant pas obligatoire." class=""><span>Créer un compte</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Sp%C3%A9cial:Connexion&returnto=Module%3ADate" title="Nous vous encourageons à vous connecter ; ce n’est cependant pas obligatoire. [o]" accesskey="o" class=""><span>Se connecter</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Plus d’options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Outils personnels" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Outils personnels</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Menu utilisateur" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_fr.wikipedia.org&uselang=fr"><span>Faire un don</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Cr%C3%A9er_un_compte&returnto=Module%3ADate" title="Nous vous encourageons à créer un compte utilisateur et vous connecter ; ce n’est cependant pas obligatoire."><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Créer un compte</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Connexion&returnto=Module%3ADate" title="Nous vous encourageons à vous connecter ; ce n’est cependant pas obligatoire. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Se connecter</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages pour les contributeurs déconnectés <a href="/wiki/Aide:Premiers_pas" aria-label="En savoir plus sur la contribution"><span>en savoir plus</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Mes_contributions" title="Une liste des modifications effectuées depuis cette adresse IP [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Mes_discussions" title="La page de discussion pour les contributions depuis cette adresse IP [n]" accesskey="n"><span>Discussion</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Sommaire" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Sommaire</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">masquer</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Début</div> </a> </li> <li id="toc-Utilisation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Utilisation"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Utilisation</span> </div> </a> <button aria-controls="toc-Utilisation-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Utilisation</span> </button> <ul id="toc-Utilisation-sublist" class="vector-toc-list"> <li id="toc-Fonctions_utilisables_depuis_un_modèle" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Fonctions_utilisables_depuis_un_modèle"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Fonctions utilisables depuis un modèle</span> </div> </a> <ul id="toc-Fonctions_utilisables_depuis_un_modèle-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Fonctions_utilisables_depuis_un_autre_module" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Fonctions_utilisables_depuis_un_autre_module"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Fonctions utilisables depuis un autre module</span> </div> </a> <ul id="toc-Fonctions_utilisables_depuis_un_autre_module-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Modules_externes_dont_ce_module_a_besoin_pour_fonctionner" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Modules_externes_dont_ce_module_a_besoin_pour_fonctionner"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Modules externes dont ce module a besoin pour fonctionner</span> </div> </a> <ul id="toc-Modules_externes_dont_ce_module_a_besoin_pour_fonctionner-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-modeleDate(_frame_)" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#modeleDate(_frame_)"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>modeleDate( frame )</span> </div> </a> <button aria-controls="toc-modeleDate(_frame_)-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section modeleDate( frame )</span> </button> <ul id="toc-modeleDate(_frame_)-sublist" class="vector-toc-list"> <li id="toc-Paramètres" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Paramètres"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Paramètres</span> </div> </a> <ul id="toc-Paramètres-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Fonctionnement" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Fonctionnement"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Fonctionnement</span> </div> </a> <ul id="toc-Fonctionnement-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Fonction_modeleDate" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Fonction_modeleDate"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Fonction modeleDate</span> </div> </a> <ul id="toc-Fonction_modeleDate-sublist" class="vector-toc-list"> <li id="toc-Comparaison_avec_{{date_de_naissance}}" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Comparaison_avec_{{date_de_naissance}}"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3.1</span> <span>Comparaison avec {{date de naissance}}</span> </div> </a> <ul id="toc-Comparaison_avec_{{date_de_naissance}}-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-dateInfobox(_frame_)" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#dateInfobox(_frame_)"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>dateInfobox( frame )</span> </div> </a> <button aria-controls="toc-dateInfobox(_frame_)-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section dateInfobox( frame )</span> </button> <ul id="toc-dateInfobox(_frame_)-sublist" class="vector-toc-list"> <li id="toc-Paramètres_2" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Paramètres_2"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Paramètres</span> </div> </a> <ul id="toc-Paramètres_2-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Exemples" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Exemples"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Exemples</span> </div> </a> <ul id="toc-Exemples-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-dureeInfobox(_frame_)" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#dureeInfobox(_frame_)"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>dureeInfobox( frame )</span> </div> </a> <button aria-controls="toc-dureeInfobox(_frame_)-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section dureeInfobox( frame )</span> </button> <ul id="toc-dureeInfobox(_frame_)-sublist" class="vector-toc-list"> <li id="toc-Paramètres_3" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Paramètres_3"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Paramètres</span> </div> </a> <ul id="toc-Paramètres_3-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Exemples_2" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Exemples_2"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Exemples</span> </div> </a> <ul id="toc-Exemples_2-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Sommaire" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Basculer la table des matières" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Basculer la table des matières</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Module</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Date</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Aller à un article dans une autre langue. Disponible en 118 langues." > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-118" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">118 langues</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-anp mw-list-item"><a href="https://anp.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%B2:Date" title="मोड्यूल:Date – angika" lang="anp" hreflang="anp" data-title="मोड्यूल:Date" data-language-autonym="अंगिका" data-language-local-name="angika" class="interlanguage-link-target"><span>अंगिका</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Date" title="وحدة:Date – arabe" lang="ar" hreflang="ar" data-title="وحدة:Date" data-language-autonym="العربية" data-language-local-name="arabe" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ary mw-list-item"><a href="https://ary.wikipedia.org/wiki/%D9%85%D9%88%D8%AF%D9%88%D9%84:Date" title="مودول:Date – arabe marocain" lang="ary" hreflang="ary" data-title="مودول:Date" data-language-autonym="الدارجة" data-language-local-name="arabe marocain" class="interlanguage-link-target"><span>الدارجة</span></a></li><li class="interlanguage-link interwiki-as mw-list-item"><a href="https://as.wikipedia.org/wiki/Module:Date" title="Module:Date – assamais" lang="as" hreflang="as" data-title="Module:Date" data-language-autonym="অসমীয়া" data-language-local-name="assamais" class="interlanguage-link-target"><span>অসমীয়া</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Modul:Date" title="Modul:Date – azerbaïdjanais" lang="az" hreflang="az" data-title="Modul:Date" data-language-autonym="Azərbaycanca" data-language-local-name="azerbaïdjanais" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-azb mw-list-item"><a href="https://azb.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:Date" title="ماژول:Date – South Azerbaijani" lang="azb" hreflang="azb" data-title="ماژول:Date" data-language-autonym="تۆرکجه" data-language-local-name="South Azerbaijani" class="interlanguage-link-target"><span>تۆرکجه</span></a></li><li class="interlanguage-link interwiki-ban mw-list-item"><a href="https://ban.wikipedia.org/wiki/Modul:Date" title="Modul:Date – balinais" lang="ban" hreflang="ban" data-title="Modul:Date" data-language-autonym="Basa Bali" data-language-local-name="balinais" class="interlanguage-link-target"><span>Basa Bali</span></a></li><li class="interlanguage-link interwiki-bcl mw-list-item"><a href="https://bcl.wikipedia.org/wiki/Module:Date" title="Module:Date – Central Bikol" lang="bcl" hreflang="bcl" data-title="Module:Date" data-language-autonym="Bikol Central" data-language-local-name="Central Bikol" class="interlanguage-link-target"><span>Bikol Central</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%B0%D1%82%D0%B0" title="Модуль:Дата – biélorusse" lang="be" hreflang="be" data-title="Модуль:Дата" data-language-autonym="Беларуская" data-language-local-name="biélorusse" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%B0%D1%82%D0%B0" title="Модуль:Дата – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Модуль:Дата" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Date" title="Модул:Date – bulgare" lang="bg" hreflang="bg" data-title="Модул:Date" data-language-autonym="Български" data-language-local-name="bulgare" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bh mw-list-item"><a href="https://bh.wikipedia.org/wiki/Module:Date" title="Module:Date – Bhojpuri" lang="bh" hreflang="bh" data-title="Module:Date" data-language-autonym="भोजपुरी" data-language-local-name="Bhojpuri" class="interlanguage-link-target"><span>भोजपुरी</span></a></li><li class="interlanguage-link interwiki-blk mw-list-item"><a href="https://blk.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%80%AC%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0%E1%80%B8:Date" title="မော်ဂျူး:Date – Pa'O" lang="blk" hreflang="blk" data-title="မော်ဂျူး:Date" data-language-autonym="ပအိုဝ်ႏဘာႏသာႏ" data-language-local-name="Pa'O" class="interlanguage-link-target"><span>ပအိုဝ်ႏဘာႏသာႏ</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:%E0%A6%A4%E0%A6%BE%E0%A6%B0%E0%A6%BF%E0%A6%96" title="মডিউল:তারিখ – bengali" lang="bn" hreflang="bn" data-title="মডিউল:তারিখ" data-language-autonym="বাংলা" data-language-local-name="bengali" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Modul:Date" title="Modul:Date – bosniaque" lang="bs" hreflang="bs" data-title="Modul:Date" data-language-autonym="Bosanski" data-language-local-name="bosniaque" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-bxr mw-list-item"><a href="https://bxr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Date" title="Модуль:Date – Russia Buriat" lang="bxr" hreflang="bxr" data-title="Модуль:Date" data-language-autonym="Буряад" data-language-local-name="Russia Buriat" class="interlanguage-link-target"><span>Буряад</span></a></li><li class="interlanguage-link interwiki-ceb mw-list-item"><a href="https://ceb.wikipedia.org/wiki/Module:Date" title="Module:Date – cebuano" lang="ceb" hreflang="ceb" data-title="Module:Date" data-language-autonym="Cebuano" data-language-local-name="cebuano" class="interlanguage-link-target"><span>Cebuano</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%D9%85%DB%86%D8%AF%DB%8C%D9%88%D9%88%D9%84:Date" title="مۆدیوول:Date – sorani" lang="ckb" hreflang="ckb" data-title="مۆدیوول:Date" data-language-autonym="کوردی" data-language-local-name="sorani" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-co mw-list-item"><a href="https://co.wikipedia.org/wiki/Modulo:Date" title="Modulo:Date – corse" lang="co" hreflang="co" data-title="Modulo:Date" data-language-autonym="Corsu" data-language-local-name="corse" class="interlanguage-link-target"><span>Corsu</span></a></li><li class="interlanguage-link interwiki-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/Modiwl:Date" title="Modiwl:Date – gallois" lang="cy" hreflang="cy" data-title="Modiwl:Date" data-language-autonym="Cymraeg" data-language-local-name="gallois" class="interlanguage-link-target"><span>Cymraeg</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Modul:Date" title="Modul:Date – danois" lang="da" hreflang="da" data-title="Modul:Date" data-language-autonym="Dansk" data-language-local-name="danois" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-diq mw-list-item"><a href="https://diq.wikipedia.org/wiki/Modul:Date" title="Modul:Date – Zazaki" lang="diq" hreflang="diq" data-title="Modul:Date" data-language-autonym="Zazaki" data-language-local-name="Zazaki" class="interlanguage-link-target"><span>Zazaki</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Module:Date" title="Module:Date – grec" lang="el" hreflang="el" data-title="Module:Date" data-language-autonym="Ελληνικά" data-language-local-name="grec" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Module:Date" title="Module:Date – anglais" lang="en" hreflang="en" data-title="Module:Date" data-language-autonym="English" data-language-local-name="anglais" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Modulo:Date" title="Modulo:Date – espéranto" lang="eo" hreflang="eo" data-title="Modulo:Date" data-language-autonym="Esperanto" data-language-local-name="espéranto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/M%C3%B3dulo:Date" title="Módulo:Date – espagnol" lang="es" hreflang="es" data-title="Módulo:Date" data-language-autonym="Español" data-language-local-name="espagnol" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Moodul:Date" title="Moodul:Date – estonien" lang="et" hreflang="et" data-title="Moodul:Date" data-language-autonym="Eesti" data-language-local-name="estonien" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Date" title="پودمان:Date – persan" lang="fa" hreflang="fa" data-title="پودمان:Date" data-language-autonym="فارسی" data-language-local-name="persan" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fat mw-list-item"><a href="https://fat.wikipedia.org/wiki/Module:Date" title="Module:Date – fanti" lang="fat" hreflang="fat" data-title="Module:Date" data-language-autonym="Mfantse" data-language-local-name="fanti" class="interlanguage-link-target"><span>Mfantse</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Moduuli:Fr:Date" title="Moduuli:Fr:Date – finnois" lang="fi" hreflang="fi" data-title="Moduuli:Fr:Date" data-language-autonym="Suomi" data-language-local-name="finnois" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-frp mw-list-item"><a href="https://frp.wikipedia.org/wiki/Module:D%C3%A2ta" title="Module:Dâta – francoprovençal" lang="frp" hreflang="frp" data-title="Module:Dâta" data-language-autonym="Arpetan" data-language-local-name="francoprovençal" class="interlanguage-link-target"><span>Arpetan</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Module:Date" title="Module:Date – irlandais" lang="ga" hreflang="ga" data-title="Module:Date" data-language-autonym="Gaeilge" data-language-local-name="irlandais" class="interlanguage-link-target"><span>Gaeilge</span></a></li><li class="interlanguage-link interwiki-gom mw-list-item"><a href="https://gom.wikipedia.org/wiki/%E0%A4%8F%E0%A4%95%E0%A4%95:Date" title="एकक:Date – konkani de Goa" lang="gom" hreflang="gom" data-title="एकक:Date" data-language-autonym="गोंयची कोंकणी / Gõychi Konknni" data-language-local-name="konkani de Goa" class="interlanguage-link-target"><span>गोंयची कोंकणी / Gõychi Konknni</span></a></li><li class="interlanguage-link interwiki-gor mw-list-item"><a href="https://gor.wikipedia.org/wiki/Modul:Date" title="Modul:Date – gorontalo" lang="gor" hreflang="gor" data-title="Modul:Date" data-language-autonym="Bahasa Hulontalo" data-language-local-name="gorontalo" class="interlanguage-link-target"><span>Bahasa Hulontalo</span></a></li><li class="interlanguage-link interwiki-gu mw-list-item"><a href="https://gu.wikipedia.org/wiki/%E0%AA%B5%E0%AA%BF%E0%AA%AD%E0%AA%BE%E0%AA%97:Date" title="વિભાગ:Date – goudjarati" lang="gu" hreflang="gu" data-title="વિભાગ:Date" data-language-autonym="ગુજરાતી" data-language-local-name="goudjarati" class="interlanguage-link-target"><span>ગુજરાતી</span></a></li><li class="interlanguage-link interwiki-ha mw-list-item"><a href="https://ha.wikipedia.org/wiki/Module:Date" title="Module:Date – haoussa" lang="ha" hreflang="ha" data-title="Module:Date" data-language-autonym="Hausa" data-language-local-name="haoussa" class="interlanguage-link-target"><span>Hausa</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%90%D7%A8%D7%99%D7%9A" title="יחידה:תאריך – hébreu" lang="he" hreflang="he" data-title="יחידה:תאריך" data-language-autonym="עברית" data-language-local-name="hébreu" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%AE%E0%A5%89%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%B2:Date" title="मॉड्यूल:Date – hindi" lang="hi" hreflang="hi" data-title="मॉड्यूल:Date" data-language-autonym="हिन्दी" data-language-local-name="hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Modul:Date" title="Modul:Date – croate" lang="hr" hreflang="hr" data-title="Modul:Date" data-language-autonym="Hrvatski" data-language-local-name="croate" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-ht mw-list-item"><a href="https://ht.wikipedia.org/wiki/Module:Date" title="Module:Date – créole haïtien" lang="ht" hreflang="ht" data-title="Module:Date" data-language-autonym="Kreyòl ayisyen" data-language-local-name="créole haïtien" class="interlanguage-link-target"><span>Kreyòl ayisyen</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Modul:Date" title="Modul:Date – hongrois" lang="hu" hreflang="hu" data-title="Modul:Date" data-language-autonym="Magyar" data-language-local-name="hongrois" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:Date" title="Մոդուլ:Date – arménien" lang="hy" hreflang="hy" data-title="Մոդուլ:Date" data-language-autonym="Հայերեն" data-language-local-name="arménien" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Modul:Date" title="Modul:Date – indonésien" lang="id" hreflang="id" data-title="Modul:Date" data-language-autonym="Bahasa Indonesia" data-language-local-name="indonésien" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-igl mw-list-item"><a href="https://igl.wikipedia.org/wiki/Module:Date" title="Module:Date – Igala" lang="igl" hreflang="igl" data-title="Module:Date" data-language-autonym="Igala" data-language-local-name="Igala" class="interlanguage-link-target"><span>Igala</span></a></li><li class="interlanguage-link interwiki-ilo mw-list-item"><a href="https://ilo.wikipedia.org/wiki/Modulo:Date" title="Modulo:Date – ilocano" lang="ilo" hreflang="ilo" data-title="Modulo:Date" data-language-autonym="Ilokano" data-language-local-name="ilocano" class="interlanguage-link-target"><span>Ilokano</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Module:Date" title="Module:Date – islandais" lang="is" hreflang="is" data-title="Module:Date" data-language-autonym="Íslenska" data-language-local-name="islandais" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Date" title="モジュール:Date – japonais" lang="ja" hreflang="ja" data-title="モジュール:Date" data-language-autonym="日本語" data-language-local-name="japonais" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-jv mw-list-item"><a href="https://jv.wikipedia.org/wiki/Modhul:Date" title="Modhul:Date – javanais" lang="jv" hreflang="jv" data-title="Modhul:Date" data-language-autonym="Jawa" data-language-local-name="javanais" class="interlanguage-link-target"><span>Jawa</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/%E1%83%9B%E1%83%9D%E1%83%93%E1%83%A3%E1%83%9A%E1%83%98:Date" title="მოდული:Date – géorgien" lang="ka" hreflang="ka" data-title="მოდული:Date" data-language-autonym="ქართული" data-language-local-name="géorgien" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-kab mw-list-item"><a href="https://kab.wikipedia.org/wiki/Module:Date" title="Module:Date – kabyle" lang="kab" hreflang="kab" data-title="Module:Date" data-language-autonym="Taqbaylit" data-language-local-name="kabyle" class="interlanguage-link-target"><span>Taqbaylit</span></a></li><li class="interlanguage-link interwiki-kbp mw-list-item"><a href="https://kbp.wikipedia.org/wiki/Module:Date" title="Module:Date – Kabiye" lang="kbp" hreflang="kbp" data-title="Module:Date" data-language-autonym="Kabɩyɛ" data-language-local-name="Kabiye" class="interlanguage-link-target"><span>Kabɩyɛ</span></a></li><li class="interlanguage-link interwiki-kcg mw-list-item"><a href="https://kcg.wikipedia.org/wiki/Module:Date" title="Module:Date – tyap" lang="kcg" hreflang="kcg" data-title="Module:Date" data-language-autonym="Tyap" data-language-local-name="tyap" class="interlanguage-link-target"><span>Tyap</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/Module:Date" title="Module:Date – kazakh" lang="kk" hreflang="kk" data-title="Module:Date" data-language-autonym="Қазақша" data-language-local-name="kazakh" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-kn mw-list-item"><a href="https://kn.wikipedia.org/wiki/%E0%B2%AE%E0%B2%BE%E0%B2%A1%E0%B3%8D%E0%B2%AF%E0%B3%82%E0%B2%B2%E0%B3%8D:Date" title="ಮಾಡ್ಯೂಲ್:Date – kannada" lang="kn" hreflang="kn" data-title="ಮಾಡ್ಯೂಲ್:Date" data-language-autonym="ಕನ್ನಡ" data-language-local-name="kannada" class="interlanguage-link-target"><span>ಕನ್ನಡ</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%93%88:Date" title="모듈:Date – coréen" lang="ko" hreflang="ko" data-title="모듈:Date" data-language-autonym="한국어" data-language-local-name="coréen" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ku mw-list-item"><a href="https://ku.wikipedia.org/wiki/Modul:Dem" title="Modul:Dem – kurde" lang="ku" hreflang="ku" data-title="Modul:Dem" data-language-autonym="Kurdî" data-language-local-name="kurde" class="interlanguage-link-target"><span>Kurdî</span></a></li><li class="interlanguage-link interwiki-lb mw-list-item"><a href="https://lb.wikipedia.org/wiki/Modul:Date" title="Modul:Date – luxembourgeois" lang="lb" hreflang="lb" data-title="Modul:Date" data-language-autonym="Lëtzebuergesch" data-language-local-name="luxembourgeois" class="interlanguage-link-target"><span>Lëtzebuergesch</span></a></li><li class="interlanguage-link interwiki-lo mw-list-item"><a href="https://lo.wikipedia.org/wiki/Module:Date" title="Module:Date – lao" lang="lo" hreflang="lo" data-title="Module:Date" data-language-autonym="ລາວ" data-language-local-name="lao" class="interlanguage-link-target"><span>ລາວ</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Module:Date" title="Module:Date – lituanien" lang="lt" hreflang="lt" data-title="Module:Date" data-language-autonym="Lietuvių" data-language-local-name="lituanien" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Modulis:Datums" title="Modulis:Datums – letton" lang="lv" hreflang="lv" data-title="Modulis:Datums" data-language-autonym="Latviešu" data-language-local-name="letton" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-mai mw-list-item"><a href="https://mai.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:Date" title="मोड्युल:Date – maïthili" lang="mai" hreflang="mai" data-title="मोड्युल:Date" data-language-autonym="मैथिली" data-language-local-name="maïthili" class="interlanguage-link-target"><span>मैथिली</span></a></li><li class="interlanguage-link interwiki-mg mw-list-item"><a href="https://mg.wikipedia.org/wiki/Module:Date" title="Module:Date – malgache" lang="mg" hreflang="mg" data-title="Module:Date" data-language-autonym="Malagasy" data-language-local-name="malgache" class="interlanguage-link-target"><span>Malagasy</span></a></li><li class="interlanguage-link interwiki-mi mw-list-item"><a href="https://mi.wikipedia.org/wiki/Module:Date" title="Module:Date – maori" lang="mi" hreflang="mi" data-title="Module:Date" data-language-autonym="Māori" data-language-local-name="maori" class="interlanguage-link-target"><span>Māori</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Date" title="Модул:Date – macédonien" lang="mk" hreflang="mk" data-title="Модул:Date" data-language-autonym="Македонски" data-language-local-name="macédonien" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%98%E0%B4%9F%E0%B4%95%E0%B4%82:Date" title="ഘടകം:Date – malayalam" lang="ml" hreflang="ml" data-title="ഘടകം:Date" data-language-autonym="മലയാളം" data-language-local-name="malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/Module:Date" title="Module:Date – mongol" lang="mn" hreflang="mn" data-title="Module:Date" data-language-autonym="Монгол" data-language-local-name="mongol" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-mnw mw-list-item"><a href="https://mnw.wikipedia.org/wiki/%E1%80%99%E1%80%9D%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0:Date" title="မဝ်ဂျူ:Date – Mon" lang="mnw" hreflang="mnw" data-title="မဝ်ဂျူ:Date" data-language-autonym="ဘာသာမန်" data-language-local-name="Mon" class="interlanguage-link-target"><span>ဘာသာမန်</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B5%E0%A4%BF%E0%A4%AD%E0%A4%BE%E0%A4%97:Date" title="विभाग:Date – marathi" lang="mr" hreflang="mr" data-title="विभाग:Date" data-language-autonym="मराठी" data-language-local-name="marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Modul:Date" title="Modul:Date – malais" lang="ms" hreflang="ms" data-title="Modul:Date" data-language-autonym="Bahasa Melayu" data-language-local-name="malais" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-my mw-list-item"><a href="https://my.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%80%AC%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0%E1%80%B8:Date" title="မော်ဂျူး:Date – birman" lang="my" hreflang="my" data-title="မော်ဂျူး:Date" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="birman" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-mzn mw-list-item"><a href="https://mzn.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:Date" title="ماژول:Date – mazandérani" lang="mzn" hreflang="mzn" data-title="ماژول:Date" data-language-autonym="مازِرونی" data-language-local-name="mazandérani" class="interlanguage-link-target"><span>مازِرونی</span></a></li><li class="interlanguage-link interwiki-ne mw-list-item"><a href="https://ne.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:Date" title="मोड्युल:Date – népalais" lang="ne" hreflang="ne" data-title="मोड्युल:Date" data-language-autonym="नेपाली" data-language-local-name="népalais" class="interlanguage-link-target"><span>नेपाली</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Modul:Date" title="Modul:Date – norvégien nynorsk" lang="nn" hreflang="nn" data-title="Modul:Date" data-language-autonym="Norsk nynorsk" data-language-local-name="norvégien nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Modul:Date" title="Modul:Date – norvégien bokmål" lang="nb" hreflang="nb" data-title="Modul:Date" data-language-autonym="Norsk bokmål" data-language-local-name="norvégien bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-or mw-list-item"><a href="https://or.wikipedia.org/wiki/%E0%AC%AE%E0%AC%A1%E0%AD%8D%E0%AD%9F%E0%AD%81%E0%AC%B2:Date" title="ମଡ୍ୟୁଲ:Date – odia" lang="or" hreflang="or" data-title="ମଡ୍ୟୁଲ:Date" data-language-autonym="ଓଡ଼ିଆ" data-language-local-name="odia" class="interlanguage-link-target"><span>ଓଡ଼ିଆ</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikipedia.org/wiki/%E0%A8%AE%E0%A9%8C%E0%A8%A1%E0%A8%BF%E0%A8%8A%E0%A8%B2:Date" title="ਮੌਡਿਊਲ:Date – pendjabi" lang="pa" hreflang="pa" data-title="ਮੌਡਿਊਲ:Date" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="pendjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pap mw-list-item"><a href="https://pap.wikipedia.org/wiki/Module:Date" title="Module:Date – papiamento" lang="pap" hreflang="pap" data-title="Module:Date" data-language-autonym="Papiamentu" data-language-local-name="papiamento" class="interlanguage-link-target"><span>Papiamentu</span></a></li><li class="interlanguage-link interwiki-ps mw-list-item"><a href="https://ps.wikipedia.org/wiki/Module:Date" title="Module:Date – pachto" lang="ps" hreflang="ps" data-title="Module:Date" data-language-autonym="پښتو" data-language-local-name="pachto" class="interlanguage-link-target"><span>پښتو</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/M%C3%B3dulo:Data" title="Módulo:Data – portugais" lang="pt" hreflang="pt" data-title="Módulo:Data" data-language-autonym="Português" data-language-local-name="portugais" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Modul:DateUtils" title="Modul:DateUtils – roumain" lang="ro" hreflang="ro" data-title="Modul:DateUtils" data-language-autonym="Română" data-language-local-name="roumain" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Date" title="Модуль:Date – russe" lang="ru" hreflang="ru" data-title="Модуль:Date" data-language-autonym="Русский" data-language-local-name="russe" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-rue mw-list-item"><a href="https://rue.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Date" title="Модуль:Date – ruthène" lang="rue" hreflang="rue" data-title="Модуль:Date" data-language-autonym="Русиньскый" data-language-local-name="ruthène" class="interlanguage-link-target"><span>Русиньскый</span></a></li><li class="interlanguage-link interwiki-rw mw-list-item"><a href="https://rw.wikipedia.org/wiki/Module:Date" title="Module:Date – kinyarwanda" lang="rw" hreflang="rw" data-title="Module:Date" data-language-autonym="Ikinyarwanda" data-language-local-name="kinyarwanda" class="interlanguage-link-target"><span>Ikinyarwanda</span></a></li><li class="interlanguage-link interwiki-sco mw-list-item"><a href="https://sco.wikipedia.org/wiki/Module:Date" title="Module:Date – écossais" lang="sco" hreflang="sco" data-title="Module:Date" data-language-autonym="Scots" data-language-local-name="écossais" class="interlanguage-link-target"><span>Scots</span></a></li><li class="interlanguage-link interwiki-sd mw-list-item"><a href="https://sd.wikipedia.org/wiki/%D9%85%D8%A7%DA%8A%D9%8A%D9%88%D9%84:Date" title="ماڊيول:Date – sindhi" lang="sd" hreflang="sd" data-title="ماڊيول:Date" data-language-autonym="سنڌي" data-language-local-name="sindhi" class="interlanguage-link-target"><span>سنڌي</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Modul:Date" title="Modul:Date – serbo-croate" lang="sh" hreflang="sh" data-title="Modul:Date" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="serbo-croate" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-shn mw-list-item"><a href="https://shn.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Date" title="မေႃႇၵျူး:Date – shan" lang="shn" hreflang="shn" data-title="မေႃႇၵျူး:Date" data-language-autonym="ၽႃႇသႃႇတႆး " data-language-local-name="shan" class="interlanguage-link-target"><span>ၽႃႇသႃႇတႆး </span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/Module:Date" title="Module:Date – cingalais" lang="si" hreflang="si" data-title="Module:Date" data-language-autonym="සිංහල" data-language-local-name="cingalais" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Module:Date" title="Module:Date – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:Date" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-skr mw-list-item"><a href="https://skr.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:Date" title="ماڈیول:Date – Saraiki" lang="skr" hreflang="skr" data-title="ماڈیول:Date" data-language-autonym="سرائیکی" data-language-local-name="Saraiki" class="interlanguage-link-target"><span>سرائیکی</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Modul:Date" title="Modul:Date – slovène" lang="sl" hreflang="sl" data-title="Modul:Date" data-language-autonym="Slovenščina" data-language-local-name="slovène" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-smn mw-list-item"><a href="https://smn.wikipedia.org/wiki/Mooduul:Fr:Date" title="Mooduul:Fr:Date – same d’Inari" lang="smn" hreflang="smn" data-title="Mooduul:Fr:Date" data-language-autonym="Anarâškielâ" data-language-local-name="same d’Inari" class="interlanguage-link-target"><span>Anarâškielâ</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Moduli:Date" title="Moduli:Date – albanais" lang="sq" hreflang="sq" data-title="Moduli:Date" data-language-autonym="Shqip" data-language-local-name="albanais" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Date" title="Модул:Date – serbe" lang="sr" hreflang="sr" data-title="Модул:Date" data-language-autonym="Српски / srpski" data-language-local-name="serbe" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-ss mw-list-item"><a href="https://ss.wikipedia.org/wiki/Module:Date" title="Module:Date – swati" lang="ss" hreflang="ss" data-title="Module:Date" data-language-autonym="SiSwati" data-language-local-name="swati" class="interlanguage-link-target"><span>SiSwati</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/Module:Date" title="Module:Date – tamoul" lang="ta" hreflang="ta" data-title="Module:Date" data-language-autonym="தமிழ்" data-language-local-name="tamoul" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-tcy mw-list-item"><a href="https://tcy.wikipedia.org/wiki/%E0%B2%AE%E0%B3%8B%E0%B2%A1%E0%B3%8D%E0%B2%AF%E0%B3%82%E0%B2%B2%E0%B3%8D:Date" title="ಮೋಡ್ಯೂಲ್:Date – toulou" lang="tcy" hreflang="tcy" data-title="ಮೋಡ್ಯೂಲ್:Date" data-language-autonym="ತುಳು" data-language-local-name="toulou" class="interlanguage-link-target"><span>ತುಳು</span></a></li><li class="interlanguage-link interwiki-te mw-list-item"><a href="https://te.wikipedia.org/wiki/%E0%B0%AE%E0%B0%BE%E0%B0%A1%E0%B1%8D%E0%B0%AF%E0%B1%82%E0%B0%B2%E0%B1%8D:Date" title="మాడ్యూల్:Date – télougou" lang="te" hreflang="te" data-title="మాడ్యూల్:Date" data-language-autonym="తెలుగు" data-language-local-name="télougou" class="interlanguage-link-target"><span>తెలుగు</span></a></li><li class="interlanguage-link interwiki-tg mw-list-item"><a href="https://tg.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Date" title="Модул:Date – tadjik" lang="tg" hreflang="tg" data-title="Модул:Date" data-language-autonym="Тоҷикӣ" data-language-local-name="tadjik" class="interlanguage-link-target"><span>Тоҷикӣ</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A1%E0%B8%AD%E0%B8%94%E0%B8%B9%E0%B8%A5:Date" title="มอดูล:Date – thaï" lang="th" hreflang="th" data-title="มอดูล:Date" data-language-autonym="ไทย" data-language-local-name="thaï" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-ti mw-list-item"><a href="https://ti.wikipedia.org/wiki/%E1%88%9E%E1%8B%B5%E1%8B%A9%E1%88%8D:Date" title="ሞድዩል:Date – tigrigna" lang="ti" hreflang="ti" data-title="ሞድዩል:Date" data-language-autonym="ትግርኛ" data-language-local-name="tigrigna" class="interlanguage-link-target"><span>ትግርኛ</span></a></li><li class="interlanguage-link interwiki-tk mw-list-item"><a href="https://tk.wikipedia.org/wiki/Module:Date" title="Module:Date – turkmène" lang="tk" hreflang="tk" data-title="Module:Date" data-language-autonym="Türkmençe" data-language-local-name="turkmène" class="interlanguage-link-target"><span>Türkmençe</span></a></li><li class="interlanguage-link interwiki-tl mw-list-item"><a href="https://tl.wikipedia.org/wiki/Module:Date" title="Module:Date – tagalog" lang="tl" hreflang="tl" data-title="Module:Date" data-language-autonym="Tagalog" data-language-local-name="tagalog" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-tn mw-list-item"><a href="https://tn.wikipedia.org/wiki/Module:Date" title="Module:Date – tswana" lang="tn" hreflang="tn" data-title="Module:Date" data-language-autonym="Setswana" data-language-local-name="tswana" class="interlanguage-link-target"><span>Setswana</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Mod%C3%BCl:Tarih" title="Modül:Tarih – turc" lang="tr" hreflang="tr" data-title="Modül:Tarih" data-language-autonym="Türkçe" data-language-local-name="turc" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Date" title="Модуль:Date – ukrainien" lang="uk" hreflang="uk" data-title="Модуль:Date" data-language-autonym="Українська" data-language-local-name="ukrainien" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:Date" title="ماڈیول:Date – ourdou" lang="ur" hreflang="ur" data-title="ماڈیول:Date" data-language-autonym="اردو" data-language-local-name="ourdou" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/Modul:Date" title="Modul:Date – ouzbek" lang="uz" hreflang="uz" data-title="Modul:Date" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="ouzbek" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-vec mw-list-item"><a href="https://vec.wikipedia.org/wiki/Modulo:Date" title="Modulo:Date – vénitien" lang="vec" hreflang="vec" data-title="Modulo:Date" data-language-autonym="Vèneto" data-language-local-name="vénitien" class="interlanguage-link-target"><span>Vèneto</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%B4_%C4%91un:Date" title="Mô đun:Date – vietnamien" lang="vi" hreflang="vi" data-title="Mô đun:Date" data-language-autonym="Tiếng Việt" data-language-local-name="vietnamien" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-war mw-list-item"><a href="https://war.wikipedia.org/wiki/Module:Date" title="Module:Date – waray" lang="war" hreflang="war" data-title="Module:Date" data-language-autonym="Winaray" data-language-local-name="waray" class="interlanguage-link-target"><span>Winaray</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a href="https://wuu.wikipedia.org/wiki/%E6%A8%A1%E5%9D%97:Date" title="模块:Date – wu" lang="wuu" hreflang="wuu" data-title="模块:Date" data-language-autonym="吴语" data-language-local-name="wu" class="interlanguage-link-target"><span>吴语</span></a></li><li class="interlanguage-link interwiki-xmf mw-list-item"><a href="https://xmf.wikipedia.org/wiki/%E1%83%9B%E1%83%9D%E1%83%93%E1%83%A3%E1%83%9A%E1%83%98:Date" title="მოდული:Date – mingrélien" lang="xmf" hreflang="xmf" data-title="მოდული:Date" data-language-autonym="მარგალური" data-language-local-name="mingrélien" class="interlanguage-link-target"><span>მარგალური</span></a></li><li class="interlanguage-link interwiki-yi mw-list-item"><a href="https://yi.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%93%D7%90%D7%98%D7%A2" title="יחידה:דאטע – yiddish" lang="yi" hreflang="yi" data-title="יחידה:דאטע" data-language-autonym="ייִדיש" data-language-local-name="yiddish" class="interlanguage-link-target"><span>ייִדיש</span></a></li><li class="interlanguage-link interwiki-yo mw-list-item"><a href="https://yo.wikipedia.org/wiki/Module:Date" title="Module:Date – yoruba" lang="yo" hreflang="yo" data-title="Module:Date" data-language-autonym="Yorùbá" data-language-local-name="yoruba" class="interlanguage-link-target"><span>Yorùbá</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Module:Date" title="Module:Date – chinois" lang="zh" hreflang="zh" data-title="Module:Date" data-language-autonym="中文" data-language-local-name="chinois" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Date" title="模組:Date – minnan" lang="nan" hreflang="nan" data-title="模組:Date" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="minnan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Date" title="模組:Date – cantonais" lang="yue" hreflang="yue" data-title="模組:Date" data-language-autonym="粵語" data-language-local-name="cantonais" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q19963557#sitelinks-wikipedia" title="Modifier les liens interlangues" class="wbc-editpage">Modifier les liens</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Espaces de noms"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Date" title="Afficher la page du module [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Discussion_module:Date" rel="discussion" title="Discussion au sujet de cette page de contenu [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Modifier la variante de langue" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Affichages"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Date"><span>Lire</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Date&action=edit" title="Cette page est protégée. Vous pouvez toutefois en visualiser la source. [e]" accesskey="e"><span>Voir le texte source</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Date&action=history" title="Historique des versions de cette page [h]" accesskey="h"><span>Voir l’historique</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Outils de la page"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Outils" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Outils</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Outils</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">masquer</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Plus d’options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Module:Date"><span>Lire</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Date&action=edit"><span>Voir le texte source</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Date&action=history"><span>Voir l’historique</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Général </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Pages_li%C3%A9es/Module:Date" title="Liste des pages liées qui pointent sur celle-ci [j]" accesskey="j"><span>Pages liées</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Suivi_des_liens/Module:Date" rel="nofollow" title="Liste des modifications récentes des pages appelées par celle-ci [k]" accesskey="k"><span>Suivi des pages liées</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Aide:Importer_un_fichier" title="Téléverser des fichiers [u]" accesskey="u"><span>Téléverser un fichier</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Pages_sp%C3%A9ciales" title="Liste de toutes les pages spéciales [q]" accesskey="q"><span>Pages spéciales</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Module:Date&oldid=217715467" title="Adresse permanente de cette version de cette page"><span>Lien permanent</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Module:Date&action=info" title="Davantage d’informations sur cette page"><span>Informations sur la page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:UrlShortener&url=https%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FModule%3ADate"><span>Obtenir l'URL raccourcie</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:QrCode&url=https%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FModule%3ADate"><span>Télécharger le code QR</span></a></li> </ul> </div> </div> <div id="p-electronpdfservice-sidebar-portlet-heading" class="vector-menu mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading" > <div class="vector-menu-heading"> Imprimer / exporter </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:DownloadAsPdf&page=Module%3ADate&action=show-download-screen"><span>Télécharger en PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Version imprimable de cette page [p]" accesskey="p"><span>Version imprimable</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> Dans d’autres projets </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Module:Date" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-meta mw-list-item"><a href="https://meta.wikimedia.org/wiki/Module:Date" hreflang="en"><span>Méta-Wiki</span></a></li><li class="wb-otherproject-link wb-otherproject-species mw-list-item"><a href="https://species.wikimedia.org/wiki/Module:Date" hreflang="en"><span>Wikispecies</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://fr.wikibooks.org/wiki/Module:Date" hreflang="fr"><span>Wikilivres</span></a></li><li class="wb-otherproject-link wb-otherproject-wikidata mw-list-item"><a href="https://www.wikidata.org/wiki/Module:Date" hreflang="en"><span>Wikidata</span></a></li><li class="wb-otherproject-link wb-otherproject-wikinews mw-list-item"><a href="https://fr.wikinews.org/wiki/Module:Date" hreflang="fr"><span>Wikinews</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://fr.wikiquote.org/wiki/Module:Date" hreflang="fr"><span>Wikiquote</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiversity mw-list-item"><a href="https://fr.wikiversity.org/wiki/Module:Date" hreflang="fr"><span>Wikiversité</span></a></li><li class="wb-otherproject-link wb-otherproject-wikivoyage mw-list-item"><a href="https://fr.wikivoyage.org/wiki/Module:Date" hreflang="fr"><span>Wikivoyage</span></a></li><li class="wb-otherproject-link wb-otherproject-wiktionary mw-list-item"><a href="https://fr.wiktionary.org/wiki/Module:Date" hreflang="fr"><span>Wiktionnaire</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q19963557" title="Lien vers l’élément dans le dépôt de données connecté [g]" accesskey="g"><span>Élément Wikidata</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Outils de la page"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Apparence"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Apparence</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">masquer</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> <div id="mw-indicator-protection-edition" class="mw-indicator"><div class="mw-parser-output"><span typeof="mw:File"><a href="/wiki/Cat%C3%A9gorie:Page_prot%C3%A9g%C3%A9e" title="Cette page est protégée."><img alt="Cette page est protégée." src="//upload.wikimedia.org/wikipedia/commons/thumb/9/97/Full-protection-shackle-frwiki.svg/15px-Full-protection-shackle-frwiki.svg.png" decoding="async" width="15" height="21" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/97/Full-protection-shackle-frwiki.svg/23px-Full-protection-shackle-frwiki.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/97/Full-protection-shackle-frwiki.svg/30px-Full-protection-shackle-frwiki.svg.png 2x" data-file-width="512" data-file-height="725" /></a></span></div></div> </div> <div id="siteSub" class="noprint">Une page de Wikipédia, l'encyclopédie libre.</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p><style data-mw-deduplicate="TemplateStyles:r216914249">.mw-parser-output .documentation-modele{background-color:#ecfcf4}.mw-parser-output .documentation-module{background-color:#ecf0fc}.mw-parser-output .documentation-icone::before{content:url("//upload.wikimedia.org/wikipedia/commons/thumb/3/35/OOjs_UI_icon-inspired_wikiTemplateInfo.svg/40px-OOjs_UI_icon-inspired_wikiTemplateInfo.svg.png");display:inline-block;vertical-align:middle;margin-right:5px}@media screen{html.skin-theme-clientpref-night .mw-parser-output .documentation-modele{background-color:#242424}html.skin-theme-clientpref-night .mw-parser-output .documentation-module{background-color:#242424}html.skin-theme-clientpref-night .mw-parser-output .documentation-icone::before{content:url("//upload.wikimedia.org/wikipedia/commons/thumb/e/e7/OOjs_UI_icon-inspired_wikiTemplateInfo-invert.svg/40px-OOjs_UI_icon-inspired_wikiTemplateInfo-invert.svg.png")}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .documentation-modele{background-color:#242424}html.skin-theme-clientpref-os .mw-parser-output .documentation-module{background-color:#242424}html.skin-theme-clientpref-os .mw-parser-output .documentation-icone::before{content:url("//upload.wikimedia.org/wikipedia/commons/thumb/e/e7/OOjs_UI_icon-inspired_wikiTemplateInfo-invert.svg/40px-OOjs_UI_icon-inspired_wikiTemplateInfo-invert.svg.png")}}.mw-parser-output .mw-templatedata-doc-desc+p,.mw-parser-output .mw-templatedata-doc-param-name code:first-of-type{font-weight:bold}.mw-parser-output .mw-templatedata-doc-params dl{font-size:85%;margin:0.5em 1em}.mw-parser-output .mw-templatedata-doc-params dt{float:left;clear:both;font-weight:normal;font-style:italic}.mw-parser-output .mw-templatedata-doc-params dt:after{content:"\a0 :\a0 "}.mw-parser-output .mw-templatedata-doc-params dd{float:left;margin:0}.mw-parser-output .mw-templatedata-doc-muted p,.mw-parser-output .mw-templatedata-doc-muted.mw-templatedata-doc-param-type{color:grey}</style> </p> <div class="documentation documentation-module" style="clear:both;margin:1em 0 0 0;border:1px solid #aaa;padding:0.5em 1em 0.8em"><div style="margin-bottom:1em;border-bottom:1px solid #aaa;padding-bottom:3px"><span class="documentation-icone" style="font-weight:bold;font-size:125%;vertical-align:middle"> Documentation</span><span class="mw-editsection-like plainlinks" style="vertical-align:middle">[<a href="/wiki/Module:Date/Documentation" title="Module:Date/Documentation">voir</a>] [<a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Module:Date/Documentation&action=edit">modifier</a>] [<a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Module:Date/Documentation&action=history">historique</a>] [<a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Module:Date&action=purge">purger</a>]</span></div><div class="bandeau-container metadata bandeau-article bandeau-niveau-information"><div class="bandeau-cell bandeau-icone" style="display:table-cell;padding-right:0.5em"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/9/97/Full-protection-shackle-frwiki.svg/32px-Full-protection-shackle-frwiki.svg.png" decoding="async" width="32" height="45" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/97/Full-protection-shackle-frwiki.svg/48px-Full-protection-shackle-frwiki.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/97/Full-protection-shackle-frwiki.svg/63px-Full-protection-shackle-frwiki.svg.png 2x" data-file-width="512" data-file-height="725" /></span></span></div><div class="bandeau-cell" style="display:table-cell;padding-right:0.5em"> <p><strong class="bandeau-titre">Ce <a href="/wiki/Aide:Module" title="Aide:Module">module</a> à risque est inclus <a class="external text" href="https://templatecount.toolforge.org/index.php?lang=fr&namespace=828&name=Date">sur un très grand nombre de pages</a> et <a href="/wiki/Wikip%C3%A9dia:Protection" title="Wikipédia:Protection">ne peut pas être modifié</a>.</strong> </p><p><span class="plainlinks">Cette protection ne constitue pas obligatoirement une approbation de la version actuelle. Vous pouvez proposer une modification en <a href="/wiki/Discussion_module:Date" title="Discussion module:Date">page de discussion</a>. Lorsqu'un compromis sera trouvé en <a href="/wiki/Discussion_module:Date" title="Discussion module:Date">page de discussion</a>, vous pourrez demander la modification <a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Demande_d%27intervention_sur_une_page_prot%C3%A9g%C3%A9e&action=edit&section=new&preload=Modèle:Préchargement_pour_requête_d'intervention_sur_une_page_protégée&preloadtitle=%7B%7Ba%27%7CModule:Date%7D%7D">auprès des administrateurs</a> (voir le <a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Sp%C3%A9cial:Journal&type=protect&page=Module:Date">journal des protections</a>).</span> </p> </div></div> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Utilisation">Utilisation</h2></div> <div class="mw-heading mw-heading3"><h3 id="Fonctions_utilisables_depuis_un_modèle"><span id="Fonctions_utilisables_depuis_un_mod.C3.A8le"></span>Fonctions utilisables depuis un modèle</h3></div> <ul><li><code>modeleDate(frame)</code> – affiche une date, optionnellement avec les liens les plus pertinents (précisions <a href="#modeleDate(_frame_)">ci-dessous</a>).</li> <li><code>dateISO(frame)</code> – similaire à modeleInscriptionDate mais la date est au format aaaa-mm-jj. Paramètres nommés année, mois, jour. Pour respecter l'<a href="/wiki/ISO_8601" title="ISO 8601">ISO 8601</a> qui définit la date uniquement selon le <a href="/wiki/Calendrier_gr%C3%A9gorien" title="Calendrier grégorien">calendrier grégorien</a>, cette fonction ne retourne rien pour les dates avant 1583.</li> <li><code>dateInfobox(frame)</code> affiche une date avec les liens pertinents, gère correctement les paramètres contenant déjà un modèle date, ou avec du texte suivant la date (précisions <a href="#dateInfobox(_frame_)">ci-dessous</a>). Prévu pour être utilisé dans les Infobox.</li> <li><code>dureeInfobox(frame)</code> affiche la durée entre deux dates, si elle n'est pas déjà incluse. Prévu pour être utilisé dans les Infobox.</li> <li><code>dateRepublicain(frame)</code> – affiche une date grégorienne au format républicain (sans liens). Paramètres 1=année, 2=mois, 3=jour.</li> <li><code>modeleAge(frame)</code> - retourne l'âge (nombre d'années) depuis une date ou entre deux dates. Paramètres 1=année, 2=mois, 3=jour, 4=année, 5=mois, 6=jour.</li> <li><code>erreurModuleData()</code> - retourne un message d'erreur si Module:Date/Data ne se charge pas correctement.</li> <li><code>checkDataCat(frame)</code> - retourne une liste de pages annuelle et mensuelle pour faciliter les mises à jour de Date/Data. Paramètres 1=cat, mois=liste de mois si 'oui', alias = liste tous les alias si 'oui'</li></ul> <div class="mw-heading mw-heading3"><h3 id="Fonctions_utilisables_depuis_un_autre_module">Fonctions utilisables depuis un autre module</h3></div> <ul><li><code>determinationMois( mois )</code> - à partir d'un nom de mois, de son numéro ou d'une abréviation, retourne, si le mois a bien été trouvé, son nom canonique et son numéro</li> <li><code>determinationSaison( saison )</code> - à partir d'un nom de saison, retourne, si la saison a bien été trouvée, son nom canonique</li> <li><code>do_dayRank(arguments)</code> - Rang du jour dans l'année. Paramètre arguments = { année, mois, jour } ou { year = année, month = mois, day = jour }</li> <li><code>isLeapYear(year)</code> - retourne true si year est une année bissextile dans le calendrier grégorien.</li> <li><code>toRoman(number)</code> - transforme number en une chaine le représentant en « <a href="/wiki/Num%C3%A9ration_romaine" title="Numération romaine">chiffres romains</a> ».</li> <li><code>age( an, mn, jn, ac, mc, jc )</code> - similaire à modeleAge, mais les paramètres ne sont pas dans une table</li> <li><code>julianDay( year, month, day, hour, minute, second )</code> - retourne le <a href="/wiki/Jour_julien" title="Jour julien">jour julien</a> de la date transmise, suivant le <a href="/wiki/Calendrier_gr%C3%A9gorien_proleptique" title="Calendrier grégorien proleptique">calendrier grégorien astronomique</a> (avec année 0)</li> <li><code>julianDayJulian( year, month, day, hour, minute, second )</code> - retourne le <a href="/wiki/Jour_julien" title="Jour julien">jour julien</a> d'une date du <a href="/wiki/Calendrier_julien_proleptique" title="Calendrier julien proleptique">calendrier julien astronomique</a> (avec année 0)</li> <li><code>julianDayToGregorian( jd )</code> - retourne trois variables année, mois, jour représentant la date du <a href="/wiki/Calendrier_gr%C3%A9gorien_proleptique" title="Calendrier grégorien proleptique">calendrier grégorien astronomique</a> correspondant à ce jour julien.</li> <li><code>julianDayToJulian( jd )</code> - retourne trois variables année, mois, jour représentant la date du <a href="/wiki/Calendrier_julien_proleptique" title="Calendrier julien proleptique">calendrier julien</a> correspondant à ce jour julien.</li> <li><code>julianToGregorian( year, month, day )</code> - transforme une date du calendrier julien en date du calendrier grégorien.</li> <li><code>gregorianToJulian( year, month, day )</code> - transforme une date du calendrier grégorien en date du calendrier julien.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Modules_externes_dont_ce_module_a_besoin_pour_fonctionner">Modules externes dont ce module a besoin pour fonctionner</h3></div> <ul><li><code><a href="/wiki/Module:Date/Data" title="Module:Date/Data">Date/Data</a></code> - Base de donnée permettant de ne pas tester les pages que l'on sait existantes, ou n'existant pas.</li> <li><code><a href="/wiki/Module:TableBuilder" title="Module:TableBuilder">TableBuilder</a></code> – Utilise <code>.insert</code> et <code>.concat</code> pour simplifier la syntaxe.</li></ul> <div class="mw-heading mw-heading2"><h2 id="modeleDate(_frame_)"><span id="modeleDate.28_frame_.29"></span>modeleDate( frame )</h2></div> <div class="mw-heading mw-heading3"><h3 id="Paramètres"><span id="Param.C3.A8tres"></span>Paramètres</h3></div> <ul><li><code>1</code> - jour ou vide - numérique, exception possible pour 1er ou <abbr class="abbr" title="Premier">1<sup>er</sup></abbr>.</li> <li><code>2</code> - mois ou jour - numérique ou nom français ou anglais, éventuellement une abréviation courante.</li> <li><code>3</code> - année ou mois - Un nombre sera considéré comme année. Les années sont considérées comme suivant le calendrier grégorien après le 14 octobre 1582 (sauf si julien = 'oui') et le calendrier julien avant, sans année 0.</li> <li><code>4</code> - qualificatif ou année - texte correspondant à une page type « en photographie » pour « <a href="/wiki/2008_en_photographie" title="2008 en photographie">2008 en photographie</a> »</li> <li><code>5</code> - qualificatif</li> <li><code>age</code> ou <code>âge</code> - non vide pour afficher l'âge (aucun âge n'est affiché pour les dates dans le futur)</li> <li><code>julien</code> - 'oui' pour que la date soit considérée comme suivant le calendrier julien après le 14 octobre 1582. La date grégorienne avec liens est affichée suivie de la date julienne entre parenthèses.</li> <li><code>compact</code> - 'oui' pour abréger le nom du mois.</li> <li><code>avJC</code> - 'non' pour ne pas afficher 'av. J.-C.' après l'année si elle représente une année avant Jésus-Christ. Utile pour éviter les répétitions.</li> <li><code>liens</code> - 'oui' pour forcer l'ajout de liens quand la date ne contient pas de qualificatif.</li> <li><code>nolinks</code> - 'oui' pour empêcher l'ajout de liens (a précédence sur <code>liens</code>).</li></ul> <div class="mw-heading mw-heading3"><h3 id="Fonctionnement">Fonctionnement</h3></div> <ul><li>par défaut, le modèle n'ajoute des liens que si un qualificatif a été renseigné.</li> <li>le modèle cherche à afficher la date avec des liens vers les pages liées au qualificatif. S'il n'y a pas de page liée au qualificatif un lien sera fait vers la page générale.</li> <li>le premier paramètre est vide et le troisième correspond à un mois (texte uniquement), tous les paramètres sont considérés comme décalés et l'année ne sera pas affichée.</li> <li>s'il n'y a pas de page spécifique pour ce mois-année, le mois sera affiché lié avec le jour à l'éphéméride. Priorité est donnée à l'éphéméride du qualificatif sur le lien mois-année sans qualificatif.</li> <li>le modèle s'aide de la base de donnée <a href="/wiki/Module:Date/Data" title="Module:Date/Data">Date/Data</a> pour éviter d'utiliser la fonction mw.title (équivalent du parser #ifexist:).</li> <li>cette base permet de remplacer le qualificatif par une catégorie plus générique. Si le qualificatif est « en tennis », l'éphéméride et la page mensuelle sera liée au qualificatif « en sport ».</li></ul> <div class="mw-heading mw-heading3"><h3 id="Fonction_modeleDate">Fonction modeleDate</h3></div> <table class="wikitable alternance" style="text-align:center;"> <tbody><tr> <th>Motif testé</th> <th>Chaîne testée</th> <th>Module</th> <th>Fonctions coûteuses<br />modèle d'avant / module </th></tr> <tr> <td>date récente </td> <td>14|octobre|2001 </td> <td><time class="nowrap" datetime="2001-10-14" data-sort-value="2001-10-14">14 octobre 2001</time> </td> <td>1 / 0 </td></tr> <tr> <td>date ancienne (1700 - 1943), jour =1 </td> <td>1|octobre|1842 </td> <td><time class="nowrap" datetime="1842-10-01" data-sort-value="1842-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 1842</time> </td> <td>1 / 1 </td></tr> <tr> <td>date très ancienne (<1700), jour = 1er </td> <td>1|janvier|537 </td> <td><time class="nowrap" datetime="0537-01-03" data-sort-value="0537-01-03"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> janvier 537</time> </td> <td>1 / 0 </td></tr> <tr> <td>qualificatif qui n'est pas dans la base </td> <td>14|octobre|2010|en animation asiatique </td> <td><time class="nowrap date-lien" datetime="2010-10-14" data-sort-value="2010-10-14"><a href="/wiki/14_octobre" title="14 octobre">14</a> <a href="/wiki/Octobre_2010" title="Octobre 2010">octobre</a> <a href="/wiki/2010_en_animation_asiatique" title="2010 en animation asiatique">2010</a></time> </td> <td>4 / 1 </td></tr> <tr> <td>date ancienne, qualificatif qui n'est pas dans la base </td> <td>14|octobre|1842|en animation asiatique </td> <td><time class="nowrap date-lien" datetime="1842-10-14" data-sort-value="1842-10-14"><a href="/wiki/14_octobre" title="14 octobre">14</a> <a href="/wiki/Octobre_1842" title="Octobre 1842">octobre</a> <a href="/wiki/1842" title="1842">1842</a></time> </td> <td>4 / 2 </td></tr> <tr> <td>avec qualificatif </td> <td>14|Octobre|2001|en astronautique </td> <td><time class="nowrap date-lien" datetime="2001-10-14" data-sort-value="2001-10-14"><a href="/wiki/14_octobre" title="14 octobre">14</a> <a href="/wiki/Octobre_2001" title="Octobre 2001">octobre</a> <a href="/wiki/2001_en_astronautique" title="2001 en astronautique">2001</a></time> </td> <td>3 / 0 </td></tr> <tr> <td>avec qualificatif avec éphémérides </td> <td>14|octobre|2005|dans les chemins de fer </td> <td><time class="nowrap date-lien" datetime="2005-10-14" data-sort-value="2005-10-14"><a href="/wiki/14_octobre_dans_les_chemins_de_fer" title="14 octobre dans les chemins de fer">14 octobre</a> <a href="/wiki/2005_dans_les_chemins_de_fer" title="2005 dans les chemins de fer">2005</a></time> </td> <td>4 / 0 </td></tr> <tr> <td>pas de jour </td> <td>|octobre|2001 </td> <td><time class="nowrap" datetime="2001-10" data-sort-value="2001-10">octobre 2001</time> </td> <td>1 / 0 </td></tr> <tr> <td>pas de jour avec qualificatif </td> <td>|Octobre|2001|en astronautique </td> <td><time class="nowrap date-lien" datetime="2001-10" data-sort-value="2001-10"><a href="/wiki/Octobre_2001" title="Octobre 2001">Octobre</a> <a href="/wiki/2001_en_astronautique" title="2001 en astronautique">2001</a></time> </td> <td>3 / 0 </td></tr> <tr> <td>qualificatif avec page annuelle qui pourrait exister </td> <td>14|octobre|2006|en Égypte </td> <td><time class="nowrap date-lien" datetime="2006-10-14" data-sort-value="2006-10-14"><a href="/wiki/14_octobre" title="14 octobre">14</a> <a href="/wiki/Octobre_2006" title="Octobre 2006">octobre</a> <a href="/wiki/2006_par_pays_en_Afrique" title="2006 par pays en Afrique">2006</a></time> </td> <td>4 / 1 </td></tr> <tr> <td>qualificatif avec page mensuelle existante </td> <td>14|octobre|2008|en France </td> <td><time class="nowrap date-lien" datetime="2008-10-14" data-sort-value="2008-10-14"><a href="/wiki/14_octobre" title="14 octobre">14</a> <a href="/wiki/Octobre_2008_en_France" title="Octobre 2008 en France">octobre</a> <a href="/wiki/2008_en_France" title="2008 en France">2008</a></time> </td> <td>3 / 0 </td></tr> <tr> <td>qualificatif avec page mensuelle qui pourrait exister </td> <td>14|octobre|2012|en France </td> <td><time class="nowrap date-lien" datetime="2012-10-14" data-sort-value="2012-10-14"><a href="/wiki/14_octobre" title="14 octobre">14</a> <a href="/wiki/Octobre_2012" title="Octobre 2012">octobre</a> <a href="/wiki/2012_en_France" title="2012 en France">2012</a></time> </td> <td>4 / 1 </td></tr> <tr> <td>qualificatif avec page annuelle et mensuelle qui pourrait exister </td> <td>14|octobre|2012|en économie </td> <td><time class="nowrap date-lien" datetime="2012-10-14" data-sort-value="2012-10-14"><a href="/wiki/14_octobre" title="14 octobre">14</a> <a href="/wiki/Octobre_2012" title="Octobre 2012">octobre</a> <a href="/wiki/2012_en_%C3%A9conomie" class="mw-redirect" title="2012 en économie">2012</a></time> </td> <td>4 / 2 </td></tr> <tr> <td>date ancienne avec qualificatif </td> <td>14|octobre|1845|en aéronautique </td> <td><time class="nowrap date-lien" datetime="1845-10-14" data-sort-value="1845-10-14"><a href="/wiki/14_octobre" title="14 octobre">14</a> <a href="/wiki/Octobre_1845" title="Octobre 1845">octobre</a> <a href="/wiki/1845" title="1845">1845</a></time> </td> <td>4 / 1 </td></tr> <tr> <td>date négative </td> <td>13|octobre|-63 </td> <td><time class="nowrap" datetime="U-0062-10-11" data-sort-value="U-0062-10-11">13 octobre 63 <abbr class="abbr" title="avant Jésus-Christ">av. J.-C.</abbr></time> </td> <td>1 / 0 </td></tr> <tr> <td>date av. J.-C. (orthographe de la page) </td> <td>1|octobre|63 av. J.-C. </td> <td><time class="nowrap" datetime="U-0062-09-29" data-sort-value="U-0062-09-29"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 63 <abbr class="abbr" title="avant Jésus-Christ">av. J.-C.</abbr></time> </td> <td>1 / 0 </td></tr> <tr> <td>date avJC (orthographe abrégée) </td> <td>13|octobre|63 avJC </td> <td><time class="nowrap" datetime="U-0062-10-11" data-sort-value="U-0062-10-11">13 octobre 63 <abbr class="abbr" title="avant Jésus-Christ">av. J.-C.</abbr></time> </td> <td>1 / 0 </td></tr> <tr> <td>date négative, paramètre pour cacher av. J.-C. </td> <td>13|octobre|-63|avJC=non </td> <td><time class="nowrap" datetime="U-0062-10-11" data-sort-value="U-0062-10-11">13 octobre 63</time> </td> <td>1 / 0 </td></tr> <tr> <td>année invalide </td> <td>14|octobre|2001 en sport </td> <td><time datetime="0014" data-sort-value="0014">14</time> </td> <td>1 / 0 </td></tr> <tr> <td>jour + mois avec majuscule </td> <td>14|Octobre|2001 </td> <td><time class="nowrap" datetime="2001-10-14" data-sort-value="2001-10-14">14 octobre 2001</time> </td> <td>1 / 0 </td></tr> <tr> <td>mois en abrégé </td> <td>14|oct.|2001 </td> <td><time class="nowrap" datetime="2001-10-14" data-sort-value="2001-10-14">14 octobre 2001</time> </td> <td>1 / 0 </td></tr> <tr> <td>mois en chiffre </td> <td>14|10|2001 </td> <td><time class="nowrap" datetime="2001-10-14" data-sort-value="2001-10-14">14 octobre 2001</time> </td> <td>1 / 0 </td></tr> <tr> <td>mois invalide </td> <td>14|otcobre|2001 </td> <td><span class="error">Mois invalide (otcobre)</span> </td> <td>1 / 0 </td></tr> <tr> <td>jour invalide </td> <td>jeudi 14|octobre|2001 </td> <td><time class="nowrap" datetime="2001-10-14" data-sort-value="2001-10-14">14 octobre 2001</time> </td> <td>1 / 0 </td></tr> <tr> <td>jour invalide (trop grand pour le mois) </td> <td>31|septembre|2001 </td> <td><span class="error">Jour invalide (31 septembre)</span> </td> <td>1 / 0 </td></tr> <tr> <td>uniquement l’année </td> <td>||2001 </td> <td><time>2001</time> </td> <td>1 / 0 </td></tr> <tr> <td>uniquement l’année avec qualificatif </td> <td>||2001|en littérature </td> <td><time class="nowrap date-lien" datetime="2001" data-sort-value="2001"><a href="/wiki/2001_en_litt%C3%A9rature" title="2001 en littérature">2001</a></time> </td> <td>1 / 0 </td></tr> <tr> <td>sans année </td> <td>14|octobre </td> <td><time class="nowrap" datetime="10-14" data-sort-value="10-14">14 octobre</time> </td> <td>0 / 0 </td></tr> <tr> <td>jour uniquement </td> <td>14 </td> <td><time datetime="0014" data-sort-value="0014">14</time> </td> <td>0 / 0 </td></tr> <tr> <td>mois uniquement </td> <td>|Octobre </td> <td>Octobre </td> <td>0 / 0 </td></tr> <tr> <td>sans argument </td> <td> </td> <td> </td> <td>0 / 0 </td></tr> <tr> <td>date du calendrier julien </td> <td>1|octobre|2001|julien=oui </td> <td><span class="nowrap" data-sort-value="2001-10-14"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 2001</span> (<time class="nowrap" datetime="2001-10-14" data-sort-value="2001-10-14">14 octobre</time> <a href="/wiki/Passage_du_calendrier_julien_au_calendrier_gr%C3%A9gorien" title="Passage du calendrier julien au calendrier grégorien">dans le calendrier grégorien</a>) </td> <td> </td></tr> <tr> <td>date du calendrier julien (changement de mois) </td> <td>25|octobre|2001|julien=oui </td> <td><span class="nowrap" data-sort-value="2001-11-07">25 octobre 2001</span> (<time class="nowrap" datetime="2001-11-07" data-sort-value="2001-11-07">7 novembre</time> <a href="/wiki/Passage_du_calendrier_julien_au_calendrier_gr%C3%A9gorien" title="Passage du calendrier julien au calendrier grégorien">dans le calendrier grégorien</a>) </td> <td> </td></tr> <tr> <td>date du calendrier julien (changement d'année) </td> <td>25|décembre|2001|julien=oui </td> <td><span class="nowrap" data-sort-value="2002-01-07">25 décembre 2001</span> (<time class="nowrap" datetime="2002-01-07" data-sort-value="2002-01-07">7 janvier 2002</time> <a href="/wiki/Passage_du_calendrier_julien_au_calendrier_gr%C3%A9gorien" title="Passage du calendrier julien au calendrier grégorien">dans le calendrier grégorien</a>) </td> <td> </td></tr> <tr> <td>date de naissance </td> <td>14|octobre|2001|age=oui </td> <td><time class="nowrap" datetime="2001-10-14" data-sort-value="2001-10-14">14 octobre 2001</time> <span class="noprint">(23 ans)</span> </td> <td> </td></tr></tbody></table> <div class="mw-heading mw-heading4"><h4 id="Comparaison_avec_{{date_de_naissance}}"><span id="Comparaison_avec_.7B.7Bdate_de_naissance.7D.7D"></span>Comparaison avec <a href="/wiki/Mod%C3%A8le:Date_de_naissance" title="Modèle:Date de naissance">{{date de naissance}}</a></h4></div> <ul><li>les fonctions coûteuses sont les mêmes que celles du modèle Date</li> <li>sans l'âge, voir comparaison avec <a href="/wiki/Mod%C3%A8le:Date" title="Modèle:Date">{{Date}}</a></li></ul> <table class="wikitable alternance" style="text-align:center;"> <tbody><tr> <th>Motif testé</th> <th>Chaîne testée</th> <th>Modèle Date de naissance</th> <th>Module </th></tr> <tr> <td>simple </td> <td>1|8|2006|âge=oui </td> <td><time class="nowrap bday" datetime="2006-08-01" data-sort-value="2006-08-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> août 2006</time> <span class="noprint">(18 ans)</span> </td> <td><time class="nowrap" datetime="2006-08-01" data-sort-value="2006-08-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> août 2006</time> <span class="noprint">(18 ans)</span> </td></tr> <tr> <td>avec qualificatif </td> <td>1|août|2006|en Suisse|age=oui </td> <td><time class="nowrap date-lien bday" datetime="2006-08-01" data-sort-value="2006-08-01"><a href="/wiki/1er_ao%C3%BBt" title="1er août">1<sup>er</sup></a> <a href="/wiki/Ao%C3%BBt_2006" title="Août 2006">août</a> <a href="/wiki/2006_en_Suisse" title="2006 en Suisse">2006</a></time> <span class="noprint">(18 ans)</span> </td> <td><time class="nowrap date-lien" datetime="2006-08-01" data-sort-value="2006-08-01"><a href="/wiki/1er_ao%C3%BBt" title="1er août">1<sup>er</sup></a> <a href="/wiki/Ao%C3%BBt_2006" title="Août 2006">août</a> <a href="/wiki/2006_en_Suisse" title="2006 en Suisse">2006</a></time> <span class="noprint">(18 ans)</span> </td></tr> <tr> <td>date ancienne </td> <td>2|1|598|age=oui </td> <td><time class="nowrap bday" datetime="0598-01-04" data-sort-value="0598-01-04">2 janvier 598</time> </td> <td><time class="nowrap" datetime="0598-01-04" data-sort-value="0598-01-04">2 janvier 598</time> <span class="noprint">(1426 ans)</span> </td></tr> <tr> <td>l'an dernier </td> <td>2|1|2012|age=oui </td> <td><time class="nowrap bday" datetime="2012-01-02" data-sort-value="2012-01-02">2 janvier 2012</time> <span class="noprint">(12 ans)</span> </td> <td><time class="nowrap" datetime="2012-01-02" data-sort-value="2012-01-02">2 janvier 2012</time> <span class="noprint">(12 ans)</span> </td></tr> <tr> <td>cette année </td> <td>2|1|2013|age=oui </td> <td><time class="nowrap bday" datetime="2013-01-02" data-sort-value="2013-01-02">2 janvier 2013</time> <span class="noprint">(11 ans)</span> </td> <td><time class="nowrap" datetime="2013-01-02" data-sort-value="2013-01-02">2 janvier 2013</time> <span class="noprint">(11 ans)</span> </td></tr> <tr> <td>l'an prochain </td> <td>2|1|2014|age=oui </td> <td><time class="nowrap bday" datetime="2014-01-02" data-sort-value="2014-01-02">2 janvier 2014</time> <span class="noprint">(10 ans)</span> </td> <td><time class="nowrap" datetime="2014-01-02" data-sort-value="2014-01-02">2 janvier 2014</time> <span class="noprint">(10 ans)</span> </td></tr> <tr> <td>sans jour </td> <td>|8|2006|âge=oui </td> <td><time class="nowrap bday" datetime="2006-08" data-sort-value="2006-08">août 2006</time> <span class="noprint">(18 ans)</span> </td> <td><time class="nowrap" datetime="2006-08" data-sort-value="2006-08">août 2006</time> <span class="noprint">(18 ans)</span> </td></tr> <tr> <td>annee seule </td> <td>||2006|âge=oui </td> <td><time class="bday">2006</time> </td> <td><time>2006</time> </td></tr></tbody></table> <p><br /> </p> <div class="mw-heading mw-heading2"><h2 id="dateInfobox(_frame_)"><span id="dateInfobox.28_frame_.29"></span>dateInfobox( frame )</h2></div> <p>Fonction destinée aux infobox, notamment pour afficher les dates de naissance et de mort. Les dates sont affichées avec des liens. Gère les cas où le paramètre contient déjà un modèle date. Le contenu du paramètre situé après la date (par exemple un lieu, une référence) est conservé. </p> <div class="mw-heading mw-heading3"><h3 id="Paramètres_2"><span id="Param.C3.A8tres_2"></span>Paramètres</h3></div> <ul><li>1 : type de date à afficher (naissance / n, mort / m, ou date / d)</li> <li>2 : Date ou date de naissance</li> <li>3 : Date de mort si type n ou m</li> <li><code>qualificatif</code> : suffixe des pages de date à lier (exemple : en musique)</li> <li><code>nolinks</code> : n'affiche pas de lien</li> <li><code>préfixe</code> : préfixe à afficher s'il y a un jour (par défaut vide)</li> <li><code>préfixe sans jour</code> : préfixe à afficher s'il n'y a pas de jour (par défaut vide)</li></ul> <p>Ces paramètres doivent être directement dans le #invoke appelant la fonction. </p> <div class="mw-heading mw-heading3"><h3 id="Exemples">Exemples</h3></div> <ul><li><code>{{#invoke:Date|dateInfobox|date|13 juillet 1927}}</code> → <time class="nowrap date-lien" datetime="1927-07-13" data-sort-value="1927-07-13"><a href="/wiki/13_juillet" title="13 juillet">13</a> <a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927" title="1927">1927</a></time></li> <li><code>{{#invoke:Date|dateInfobox|naissance|13 juillet 1927|}}</code> → <time class="nowrap date-lien bday" datetime="1927-07-13" data-sort-value="1927-07-13"><a href="/wiki/13_juillet" title="13 juillet">13</a> <a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927" title="1927">1927</a></time> <span class="noprint">(97 ans)</span></li> <li><code>{{#invoke:Date|dateInfobox|naissance|13 juillet 1927|14 mai 2017}}</code> → <time class="nowrap date-lien bday" datetime="1927-07-13" data-sort-value="1927-07-13"><a href="/wiki/13_juillet" title="13 juillet">13</a> <a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927" title="1927">1927</a></time></li> <li><code>{{#invoke:Date|dateInfobox|naissance|30 juin 2017-}}</code> → <time class="nowrap date-lien bday" datetime="2017-06-30" data-sort-value="2017-06-30"><a href="/wiki/30_juin" title="30 juin">30</a> <a href="/wiki/Juin_2017" title="Juin 2017">juin</a></time> <span class="noprint">(7 ans)</span></li> <li><code>{{#invoke:Date|dateInfobox|mort|13 juillet 1927|30 juin 2017}}</code> → <time class="nowrap date-lien dday" datetime="2017-06-30" data-sort-value="2017-06-30"><a href="/wiki/30_juin" title="30 juin">30</a> <a href="/wiki/Juin_2017" title="Juin 2017">juin</a> <a href="/wiki/2017" title="2017">2017</a></time> (à 89 ans)</li> <li><code>{{#invoke:Date|dateInfobox|mort||30 juin 2017}}</code> → <time class="nowrap date-lien dday" datetime="2017-06-30" data-sort-value="2017-06-30"><a href="/wiki/30_juin" title="30 juin">30</a> <a href="/wiki/Juin_2017" title="Juin 2017">juin</a> <a href="/wiki/2017" title="2017">2017</a></time></li> <li><code>{{#invoke:Date|dateInfobox|mort|13 juillet 1927|}}</code> →</li> <li><code>{{#invoke:Date|dateInfobox|date|13 juillet 1927| qualificatif = en France}}</code> → <time class="nowrap date-lien" datetime="1927-07-13" data-sort-value="1927-07-13"><a href="/wiki/13_juillet" title="13 juillet">13</a> <a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927_en_France" title="1927 en France">1927</a></time></li> <li><code>{{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le}}</code> → le <time class="nowrap date-lien" datetime="1927-07-13" data-sort-value="1927-07-13"><a href="/wiki/13_juillet" title="13 juillet">13</a> <a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927" title="1927">1927</a></time></li> <li><code>{{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le | préfixe sans jour = en}}</code> → le <time class="nowrap date-lien" datetime="1927-07-13" data-sort-value="1927-07-13"><a href="/wiki/13_juillet" title="13 juillet">13</a> <a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927" title="1927">1927</a></time></li> <li><code>{{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le}}</code> → <time class="nowrap date-lien" datetime="1927-07" data-sort-value="1927-07"><a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927" title="1927">1927</a></time></li> <li><code>{{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le | préfixe sans jour = en}}</code> → en <time class="nowrap date-lien" datetime="1927-07" data-sort-value="1927-07"><a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927" title="1927">1927</a></time></li> <li><code>{{#invoke:Date|dateInfobox|date|13 juillet [[1927]]}}</code> → <time class="nowrap date-lien" datetime="1927-07-13" data-sort-value="1927-07-13"><a href="/wiki/13_juillet" title="13 juillet">13</a> <a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927" title="1927">1927</a></time></li> <li><code>{{#invoke:Date|dateInfobox|date|13 juillet [[1927 en France|1927]]}}</code> → 13 juillet <a href="/wiki/1927_en_France" title="1927 en France">1927</a></li> <li><code>{{#invoke:Date|dateInfobox|date|{{date|13 juillet 1927|en France}}}}</code> → <time class="nowrap date-lien" datetime="1927-07-13" data-sort-value="1927-07-13"><a href="/wiki/13_juillet" title="13 juillet">13</a> <a href="/wiki/Juillet_1927" title="Juillet 1927">juillet</a> <a href="/wiki/1927_en_France" title="1927 en France">1927</a></time></li></ul> <div class="mw-heading mw-heading2"><h2 id="dureeInfobox(_frame_)"><span id="dureeInfobox.28_frame_.29"></span>dureeInfobox( frame )</h2></div> <p>Fonction destinée aux infobox, pour afficher la durée entre deux dates, notamment pour un poste ou une fonction. Gère les cas où la durée est déjà spécifiée dans l'une des valeurs. La durée est préfixée d'un retour à la ligne (<code><br /></code>) et écrite en petit (<code><small></code>). </p> <div class="mw-heading mw-heading3"><h3 id="Paramètres_3"><span id="Param.C3.A8tres_3"></span>Paramètres</h3></div> <ul><li>1 : Date de début</li> <li>2 : Date de fin (optionnelle, date du jour par défaut)</li></ul> <p>Ces paramètres doivent être directement dans le #invoke appelant la fonction. </p> <div class="mw-heading mw-heading3"><h3 id="Exemples_2">Exemples</h3></div> <ul><li><code>{{#invoke:Date|dureeInfobox|8 septembre 2022}}</code> → <br /><small>(<span data-sort-value="&0000000000000808" class="datasortkey">2 ans, 2 mois et 16 jours</span>)</small></li> <li><code>{{#invoke:Date|dureeInfobox|{{date|27 juin 1940-}}|{{date|6 septembre 1940}}}}</code> → <br /><small>(<span data-sort-value="&0000000000000071" class="datasortkey">2 mois et 10 jours</span>)</small></li></ul> <p>Voir aussi : <b><a href="/wiki/Discussion_module:Date/Test" title="Discussion module:Date/Test">les tests unitaires</a></b> et <a href="/wiki/Discussion_module:Date/Bac_%C3%A0_sable/Test" title="Discussion module:Date/Bac à sable/Test">ceux du bac à sable</a>. </p> <ul id="bandeau-portail" class="bandeau-portail"><div class="bandeau-portail-element"><div class="liste-horizontale"> <ul><li><span typeof="mw:File"><a href="/wiki/Projet:Scribunto" title="Projet Scribunto"><img alt="Projet Scribunto" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/24px-Lua-Logo.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/36px-Lua-Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/48px-Lua-Logo.svg.png 2x" data-file-width="947" data-file-height="947" /></a></span> <b><a href="/wiki/Projet:Scribunto" title="Projet:Scribunto">Projet Scribunto</a></b></li></ul> </div></div></ul> <div style="clear:both"></div><div style="border-top:1px solid #aaa;margin:1.5em 0 0"><p class="plainlinks" style="margin-bottom:0;padding-left:1em;font-style:italic">La <a href="/wiki/Aide:Documentation_de_mod%C3%A8le" title="Aide:Documentation de modèle">documentation</a> de ce <a href="/wiki/Aide:Module" title="Aide:Module">module</a> est générée par le modèle <a href="/wiki/Mod%C3%A8le:Documentation_module" title="Modèle:Documentation module">{{Documentation module}}</a>.<br />Elle est <a href="/wiki/Aide:Inclusion" title="Aide:Inclusion">incluse</a> depuis sa <a href="/wiki/Module:Date/Documentation" title="Module:Date/Documentation">sous-page de documentation</a>. Veuillez placer les catégories sur cette page-là.<br />Les éditeurs peuvent travailler dans le <a href="/wiki/Module:Date/Bac_%C3%A0_sable" title="Module:Date/Bac à sable">bac à sable</a> <span style="font-size:89%;font-style:normal">(<a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Module:Date/Bac_%C3%A0_sable&action=edit">modifier</a>)</span>.<br />Voir les <a rel="nofollow" class="external text" href="https://wstat.fr/template/info/Module:Date">statistiques d'appel depuis le wikicode</a> sur l'outil <a href="/wiki/Aide:Wstat" title="Aide:Wstat">wstat</a> et les <a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Spécial:Recherche&ns828=1&search=insource:%22Module:Date%22">appels depuis d'autres modules</a>.</p></div></div><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="c1">-- luacheck: globals mw, no max line length</span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a><span class="kd">local</span> <span class="n">fun</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a><span class="kd">local</span> <span class="n">Outils</span> <span class="o">=</span> <span class="nb">require</span> <span class="s1">'Module:Outils'</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="c1">-- chargement de la base de données répertoriant certaines pages existant ou n'existant pas pour éviter les "ifexist".</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="kd">local</span> <span class="n">dataLiens</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="kd">local</span> <span class="n">success</span><span class="p">,</span> <span class="n">resultat</span> <span class="o">=</span> <span class="nb">pcall</span> <span class="p">(</span> <span class="n">mw</span><span class="p">.</span><span class="n">loadData</span><span class="p">,</span> <span class="s1">'Module:Date/Data'</span> <span class="p">)</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="kr">if</span> <span class="n">success</span> <span class="kr">then</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a> <span class="n">dataLiens</span> <span class="o">=</span> <span class="n">resultat</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="kr">else</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a> <span class="c1">-- protection au cas où le sous-module serait mal modifié</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a> <span class="n">dataLiens</span> <span class="o">=</span> <span class="p">{</span> <span class="p">[</span><span class="s1">''</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span> <span class="n">mois</span> <span class="o">=</span> <span class="p">{</span> <span class="n">aucun</span> <span class="o">=</span> <span class="mi">1000</span><span class="p">,</span> <span class="n">tous</span> <span class="o">=</span> <span class="p">{</span> <span class="mi">1773</span><span class="p">,</span> <span class="mi">2014</span> <span class="p">}</span> <span class="p">},</span> <span class="p">}</span> <span class="p">}</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a><span class="kr">end</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a><span class="c1">-- nettoie un paramètre non nommé (vire les espaces au début et à la fin)</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a><span class="c1">-- retourne nil si le texte est vide ou n'est pas du texte. Attention c'est important pour les fonctions qui l'utilisent.</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a><span class="kd">local</span> <span class="n">trim</span> <span class="o">=</span> <span class="n">Outils</span><span class="p">.</span><span class="n">trim</span> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a><span class="c1">-- Fonction destinée à mettre la première lettre du mois en majuscule :</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a><span class="c1">-- utilisation de string car aucun mois ne commence par une lettre non ascii en français ou anglais.</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">ucfirst</span><span class="p">(</span> <span class="n">str</span> <span class="p">)</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span> <span class="p">):</span><span class="n">upper</span><span class="p">()</span> <span class="o">..</span> <span class="n">str</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span> <span class="mi">2</span> <span class="p">)</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a><span class="kr">end</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a><span class="kd">local</span> <span class="n">modelePremier</span> <span class="o">=</span> <span class="s1">'<abbr class="abbr" title="premier">1<sup>er</sup></abbr>'</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a><span class="c1">-- liste des mois, écriture exacte et alias, en minuscule</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a><span class="kd">local</span> <span class="n">listeMois</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'janv.'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'janvier'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'jan.'</span><span class="p">,</span> <span class="s1">'janv.'</span><span class="p">,</span> <span class="s1">'jan'</span><span class="p">,</span> <span class="s1">'janv'</span><span class="p">,</span> <span class="s1">'january'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">29</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'fév.'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'février'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'fevrier'</span><span class="p">,</span> <span class="s1">'fev.'</span><span class="p">,</span> <span class="s1">'fev'</span><span class="p">,</span> <span class="s1">'fév.'</span><span class="p">,</span> <span class="s1">'fév'</span><span class="p">,</span> <span class="s1">'févr'</span><span class="p">,</span> <span class="s1">'févr.'</span><span class="p">,</span> <span class="s1">'february'</span><span class="p">,</span> <span class="s1">'feb'</span><span class="p">,</span> <span class="s1">'feb.'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'mars'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'mars'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'mar.'</span><span class="p">,</span> <span class="s1">'mar'</span><span class="p">,</span> <span class="s1">'march'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">30</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'avr.'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'avril'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'avr.'</span><span class="p">,</span> <span class="s1">'avr'</span><span class="p">,</span> <span class="s1">'apr'</span><span class="p">,</span> <span class="s1">'april'</span><span class="p">}</span> <span class="p">},</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'mai'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'mai'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'may'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">6</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">30</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'juin'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'juin'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'jun'</span><span class="p">,</span> <span class="s1">'june'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">7</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'juill.'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'juillet'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'juil.'</span><span class="p">,</span> <span class="s1">'juil'</span><span class="p">,</span> <span class="s1">'juill.'</span><span class="p">,</span> <span class="s1">'juill'</span><span class="p">,</span> <span class="s1">'jul'</span><span class="p">,</span> <span class="s1">'july'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">8</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'août'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'août'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'aoû'</span><span class="p">,</span> <span class="s1">'aug'</span><span class="p">,</span> <span class="s1">'august'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">9</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">30</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'sept.'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'septembre'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'sept.'</span><span class="p">,</span> <span class="s1">'sept'</span><span class="p">,</span> <span class="s1">'sep.'</span><span class="p">,</span> <span class="s1">'sep'</span><span class="p">,</span> <span class="s1">'september'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'oct.'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'octobre'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'oct.'</span><span class="p">,</span> <span class="s1">'oct'</span><span class="p">,</span> <span class="s1">'october'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">11</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">30</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'nov.'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'novembre'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'nov.'</span><span class="p">,</span> <span class="s1">'nov'</span><span class="p">,</span> <span class="s1">'november'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">12</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'déc.'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'décembre'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'decembre'</span><span class="p">,</span> <span class="s1">'déc.'</span><span class="p">,</span> <span class="s1">'dec.'</span><span class="p">,</span> <span class="s1">'dec'</span><span class="p">,</span> <span class="s1">'déc'</span><span class="p">,</span> <span class="s1">'december'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a> <span class="n">aout</span> <span class="o">=</span> <span class="p">{</span> <span class="n">num</span> <span class="o">=</span> <span class="mi">8</span><span class="p">,</span> <span class="n">nJour</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span> <span class="n">abrev</span> <span class="o">=</span> <span class="s1">'aout'</span><span class="p">,</span> <span class="n">nom</span> <span class="o">=</span> <span class="s1">'aout'</span><span class="p">,</span> <span class="n">alias</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'aou'</span> <span class="p">}</span> <span class="p">},</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a><span class="p">}</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a><span class="c1">-- ajoute les noms, abréviations et alias en tant que clés de listeMois</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a><span class="kr">for</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">12</span> <span class="kr">do</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> <span class="kd">local</span> <span class="n">mois</span> <span class="o">=</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a> <span class="n">listeMois</span><span class="p">[</span><span class="nb">tostring</span><span class="p">(</span> <span class="n">i</span> <span class="p">)]</span> <span class="o">=</span> <span class="n">mois</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a> <span class="kr">if</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">10</span> <span class="kr">then</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a> <span class="n">listeMois</span><span class="p">[</span><span class="s1">'0'</span> <span class="o">..</span> <span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">mois</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a> <span class="kr">end</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a> <span class="n">listeMois</span><span class="p">[</span><span class="n">mois</span><span class="p">.</span><span class="n">nom</span><span class="p">]</span> <span class="o">=</span> <span class="n">mois</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> <span class="n">listeMois</span><span class="p">[</span><span class="n">mois</span><span class="p">.</span><span class="n">abrev</span><span class="p">]</span> <span class="o">=</span> <span class="n">mois</span> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a> <span class="kr">for</span> <span class="n">j</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="o">#</span><span class="n">mois</span><span class="p">.</span><span class="n">alias</span> <span class="kr">do</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a> <span class="n">listeMois</span><span class="p">[</span><span class="n">mois</span><span class="p">.</span><span class="n">alias</span><span class="p">[</span><span class="n">j</span><span class="p">]]</span> <span class="o">=</span> <span class="n">mois</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> <span class="kr">end</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a><span class="kr">end</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a><span class="kr">for</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="o">#</span><span class="n">listeMois</span><span class="p">.</span><span class="n">aout</span><span class="p">.</span><span class="n">alias</span> <span class="kr">do</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a> <span class="n">listeMois</span><span class="p">[</span><span class="n">listeMois</span><span class="p">.</span><span class="n">aout</span><span class="p">.</span><span class="n">alias</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span> <span class="o">=</span> <span class="n">listeMois</span><span class="p">.</span><span class="n">aout</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a><span class="kr">end</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a><span class="kd">local</span> <span class="n">liste_saisons</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> <span class="p">{</span> <span class="s1">'printemps'</span><span class="p">,</span> <span class="s1">'spring'</span><span class="p">,</span> <span class="p">},</span> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a> <span class="p">{</span> <span class="s1">'été'</span><span class="p">,</span> <span class="s1">'summer'</span><span class="p">,</span> <span class="p">},</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="p">{</span> <span class="s1">'automne'</span><span class="p">,</span> <span class="s1">'autumn'</span><span class="p">,</span> <span class="p">},</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="p">{</span> <span class="s1">'hiver'</span><span class="p">,</span> <span class="s1">'winter'</span><span class="p">,</span> <span class="p">},</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a><span class="p">}</span> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a><span class="c1">-- à partir d'un nom de saison (en français ou en anglais),</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a><span class="c1">-- retourne son nom canonique (exemple : "été")</span> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a><span class="c1">-- si non reconnu, retourne nil</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">determinationSaison</span><span class="p">(</span> <span class="n">saison</span> <span class="p">)</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">saison</span> <span class="p">)</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a> <span class="kr">if</span> <span class="n">s</span> <span class="kr">then</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">s</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'É'</span><span class="p">,</span> <span class="s1">'é'</span> <span class="p">):</span><span class="n">lower</span><span class="p">()</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a> <span class="kr">for</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">4</span> <span class="kr">do</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a> <span class="kr">for</span> <span class="n">j</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="o">#</span><span class="n">liste_saisons</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="kr">do</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a> <span class="kr">if</span> <span class="n">s</span> <span class="o">==</span> <span class="n">liste_saisons</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a> <span class="kr">return</span> <span class="n">liste_saisons</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="kr">end</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a> <span class="kr">end</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a> <span class="kr">end</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> <span class="kr">end</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a><span class="kr">end</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a><span class="c1">---</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a><span class="c1">-- à partir d'un nom de mois (en français ou en anglais), de son numéro ou d'une abréviation,</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a><span class="c1">-- retourne son nom canonique (exemple : "juin") et son numéro (exemple : 6)</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a><span class="c1">-- si non reconnu, retourne nil, nil</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">determinationMois</span><span class="p">(</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a> <span class="kd">local</span> <span class="n">result</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a> <span class="kd">local</span> <span class="n">num</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="kr">if</span> <span class="n">num</span> <span class="kr">then</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">num</span><span class="p">]</span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="kr">else</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> <span class="kd">local</span> <span class="n">str</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a> <span class="kr">if</span> <span class="n">str</span> <span class="kr">then</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">str</span><span class="p">]</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">result</span> <span class="kr">then</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">str</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'É'</span><span class="p">,</span> <span class="s1">'é'</span> <span class="p">):</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'Û'</span><span class="p">,</span> <span class="s1">'û'</span> <span class="p">):</span><span class="n">lower</span><span class="p">()]</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="kr">end</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="kr">end</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="kr">end</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="kr">if</span> <span class="n">result</span> <span class="kr">then</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a> <span class="kr">return</span> <span class="n">result</span><span class="p">.</span><span class="n">nom</span><span class="p">,</span> <span class="n">result</span><span class="p">.</span><span class="n">num</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> <span class="kr">else</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> <span class="kr">return</span> <span class="kc">nil</span><span class="p">,</span> <span class="kc">nil</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="kr">end</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a><span class="kr">end</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a><span class="c1">-- fonction interne à modeleDate, pour déterminer si on peut se passer de faire un ifexist</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">existDate</span><span class="p">(</span> <span class="n">dataQualificatif</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> <span class="kd">local</span> <span class="n">data</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a> <span class="kr">if</span> <span class="n">mois</span> <span class="kr">then</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">dataQualificatif</span><span class="p">.</span><span class="n">mois</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> <span class="kr">else</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">dataQualificatif</span><span class="p">.</span><span class="n">annee</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a> <span class="kr">end</span> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">data</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="kr">then</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a> <span class="c1">-- si data n'existe pas c'est que l'on considère qu'il n'y a pas de lien.</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a> <span class="kr">return</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a> <span class="kr">end</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a> <span class="c1">-- le qualificatif est remplacé par celui de la base de données, ce qui permet des alias.</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a> <span class="kd">local</span> <span class="n">lien</span> <span class="o">=</span> <span class="n">annee</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a> <span class="kr">if</span> <span class="n">dataQualificatif</span><span class="p">.</span><span class="n">qualificatif</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="n">lien</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">dataQualificatif</span><span class="p">.</span><span class="n">qualificatif</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a> <span class="kr">end</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a> <span class="kd">local</span> <span class="n">seul</span> <span class="o">=</span> <span class="n">annee</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> <span class="kr">if</span> <span class="n">mois</span> <span class="kr">then</span> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="n">mois</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">lien</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a> <span class="n">seul</span> <span class="o">=</span> <span class="n">ucfirst</span><span class="p">(</span> <span class="n">mois</span> <span class="p">)</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">annee</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a> <span class="kr">end</span> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a> <span class="kd">local</span> <span class="n">aucun</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">data</span><span class="p">.</span><span class="n">aucun</span> <span class="p">)</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a> <span class="kr">if</span> <span class="n">aucun</span> <span class="ow">and</span> <span class="n">annee</span> <span class="o"><=</span> <span class="n">aucun</span> <span class="kr">then</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a> <span class="c1">-- si l'année est dans la partie 'aucun' on teste s'il y a malgré tout un lien isolé</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">data</span><span class="p">.</span><span class="n">seul</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> <span class="kr">then</span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span> <span class="n">data</span><span class="p">.</span><span class="n">seul</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a> <span class="kr">if</span> <span class="n">seul</span> <span class="o">==</span> <span class="n">v</span> <span class="ow">or</span> <span class="n">seul</span> <span class="o">==</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">v</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a> <span class="kr">return</span> <span class="n">lien</span> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a> <span class="kr">end</span> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a> <span class="kr">end</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a> <span class="kr">end</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a> <span class="c1">-- partie aucun et pas de lien => nil</span> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span> <span class="n">data</span><span class="p">.</span><span class="n">tous</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> <span class="kr">then</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a> <span class="kd">local</span> <span class="n">tous1</span><span class="p">,</span> <span class="n">tous2</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">data</span><span class="p">.</span><span class="n">tous</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="p">),</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">data</span><span class="p">.</span><span class="n">tous</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a> <span class="kr">if</span> <span class="n">tous1</span> <span class="ow">and</span> <span class="n">tous2</span> <span class="ow">and</span> <span class="n">annee</span> <span class="o">>=</span> <span class="n">tous1</span> <span class="ow">and</span> <span class="n">annee</span> <span class="o"><=</span> <span class="n">tous2</span> <span class="kr">then</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a> <span class="c1">-- l'année est dans la partie 'tous' donc on retourne le lien</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a> <span class="kr">return</span> <span class="n">lien</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a> <span class="kr">end</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a> <span class="kr">end</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a> <span class="c1">-- l'année n'est ni dans la partie aucun, ni dans la partie tous donc il faut tester si la page existe.</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a> <span class="kd">local</span> <span class="n">cibleLien</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">new</span><span class="p">(</span> <span class="n">lien</span> <span class="p">)</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a> <span class="kr">if</span> <span class="n">cibleLien</span> <span class="ow">and</span> <span class="n">cibleLien</span><span class="p">.</span><span class="n">exists</span> <span class="kr">then</span> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a> <span class="kr">return</span> <span class="n">lien</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a> <span class="kr">end</span> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a><span class="kr">end</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a><span class="c1">---</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a><span class="c1">-- Supprime le jour de la semaine, et "le" avant une date</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">nettoyageJour</span><span class="p">(</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">jour</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> <span class="kd">local</span> <span class="n">nomJour</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'[Ll]undi'</span><span class="p">,</span> <span class="s1">'[Mm]ardi'</span><span class="p">,</span> <span class="s1">'[Mm]ercredi'</span><span class="p">,</span> <span class="s1">'[Jj]eudi'</span><span class="p">,</span> <span class="s1">'[Vv]endredi'</span><span class="p">,</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a> <span class="s1">'[Ss]amedi'</span><span class="p">,</span> <span class="s1">'[Dd]imanche'</span><span class="p">,</span> <span class="s1">'^ *[Ll]e'</span> <span class="p">}</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a> <span class="kd">local</span> <span class="n">premier</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'<abbr class="abbr *" title="[Pp]remier" *>1<sup>er</sup></abbr>'</span><span class="p">,</span> <span class="s1">'1<sup>er</sup>'</span><span class="p">,</span> <span class="s1">'1er'</span> <span class="p">}</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a> <span class="kr">for</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="o">#</span><span class="n">nomJour</span> <span class="kr">do</span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="n">jour</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="n">nomJour</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a> <span class="kr">end</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> <span class="kr">for</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="o">#</span><span class="n">premier</span> <span class="kr">do</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="n">jour</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="n">premier</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="s1">'1'</span> <span class="p">)</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></span></a> <span class="kr">end</span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> <span class="kr">end</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="kr">return</span> <span class="n">jour</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a><span class="kr">end</span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a><span class="c1">---</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a><span class="c1">-- Sépare une chaine date en une table contenant les champs jour, mois et annee.</span> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a><span class="c1">-- la date doit contenir le mois.</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">separationJourMoisAnnee</span><span class="p">(</span> <span class="n">date</span> <span class="p">)</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">date</span> <span class="p">)</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> <span class="kr">if</span> <span class="n">date</span> <span class="kr">then</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">erreur</span><span class="p">(</span> <span class="n">periode</span><span class="p">,</span> <span class="n">valeur</span> <span class="p">)</span> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a> <span class="kr">return</span> <span class="kc">false</span><span class="p">,</span> <span class="s1">'<span class="error">'</span> <span class="o">..</span> <span class="n">periode</span> <span class="o">..</span> <span class="s1">' invalide ('</span> <span class="o">..</span> <span class="n">valeur</span> <span class="o">..</span> <span class="s1">')</span>'</span> </span><span id="L-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a> <span class="kr">end</span> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> <span class="kd">local</span> <span class="n">dateAvantCleanup</span> <span class="o">=</span> <span class="n">date</span> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a> <span class="kd">local</span> <span class="n">jour</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">masquerMois</span><span class="p">,</span> <span class="n">masquerAnnee</span><span class="p">,</span> <span class="n">separateur</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a> <span class="c1">-- variable pour construire les regex</span> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a> <span class="kd">local</span> <span class="n">j</span> <span class="o">=</span> <span class="s1">'([0-3]?%d)'</span> <span class="c1">-- jour</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a> <span class="kd">local</span> <span class="n">m</span> <span class="o">=</span> <span class="s1">'([01]?%d)'</span> <span class="c1">-- mois numérique</span> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a> <span class="kd">local</span> <span class="n">mmm</span> <span class="o">=</span> <span class="s1">'([^%s%p%d]+[.]?)'</span> <span class="c1">-- mois en toute lettre</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a> <span class="kd">local</span> <span class="n">mmm2</span> <span class="o">=</span> <span class="s1">'([^%s%p%d]+[.]?[-/][^%s%p%d]+[.]?)'</span> <span class="c1">-- mois-mois en toute lettre</span> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a> <span class="kd">local</span> <span class="n">aj</span> <span class="o">=</span> <span class="s1">'(%-?%d+)'</span> <span class="c1">-- année ou jour</span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="s1">'[ ./-]+'</span> <span class="c1">-- séparateur simple</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a> <span class="kd">local</span> <span class="n">sep</span> <span class="o">=</span> <span class="s1">'([ ./-]+)'</span> <span class="c1">-- séparateur avec capture, pour le détecter deux fois</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a> <span class="kd">local</span> <span class="n">moins</span> <span class="o">=</span> <span class="s1">'(%-?)'</span> <span class="c1">-- signe moins pour signifier qu'il ne faut pas afficher cette donnée</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></span></a> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">nettoyageJour</span><span class="p">(</span> <span class="n">date</span> <span class="p">)</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a> <span class="kr">if</span> <span class="n">date</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Date'</span><span class="p">,</span> <span class="n">dateAvantCleanup</span> <span class="p">)</span> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a> <span class="kr">end</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> <span class="kr">if</span> <span class="n">date</span><span class="p">:</span><span class="n">find</span><span class="p">(</span> <span class="s1">'[['</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="kc">true</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="n">date</span> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a> <span class="c1">-- suppression catégories (doit être exécuté avant le code de suppression des liens)</span> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'%[%[[Cc]atégorie:.-%]%]'</span><span class="p">,</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'%[%[[Cc]ategory:.-%]%]'</span><span class="p">,</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="c1">-- suppression liens</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'%[%[([^%[%]|]*)|?([^%[%]]*)%]%]'</span><span class="p">,</span> <span class="kr">function</span> <span class="p">(</span> <span class="n">l</span><span class="p">,</span> <span class="n">t</span> <span class="p">)</span> <span class="kr">return</span> <span class="n">trim</span><span class="p">(</span> <span class="n">t</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">l</span> <span class="kr">end</span> <span class="p">)</span> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="kr">end</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="n">date</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="c1">-- suppression balises</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'%b<>'</span><span class="p">,</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="c1">-- suppression des espaces insécables</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> <span class="c1">-- nbsp</span> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'</span><span class="se">\194\160</span><span class="s1">'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'&nbsp;'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'&#160;'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a> <span class="c1">-- narrow nbsp</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'</span><span class="se">\226\128\175</span><span class="s1">'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'&#8239;'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a> <span class="c1">-- thin space</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'</span><span class="se">\226\128\137</span><span class="s1">'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'&thinsp;'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'&#8201;'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a> <span class="c1">-- simple space</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'&#32;'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a> <span class="c1">-- plusieurs espaces (doit être exécuté après les autres remplacements)</span> </span><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">' +'</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a> <span class="c1">-- réduction av. J-C pour simplifier un peu les regex</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'(%d+) ?[Aa][Vv]%.? ?[Jj][ .-]*[Cc]%.?'</span><span class="p">,</span> <span class="s1">'-%1'</span> <span class="p">)</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a> <span class="c1">-- suppression de l'heure dans les dates ISO</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'^+?([%d-]*%d%d%-%d%d)T%d%d[%d:,.+-]*Z?$'</span> <span class="p">,</span> <span class="s1">'%1'</span><span class="p">)</span> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a> <span class="c1">-- test année seule</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a> <span class="kr">if</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a> <span class="kr">elseif</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">s</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a> <span class="c1">-- jj/mm, mm/aaaa ou aaaa/mm</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a> <span class="kd">local</span> <span class="n">a</span><span class="p">,</span> <span class="n">separateur</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">sb</span> <span class="o">=</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">sep</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> </span><span id="L-246"><a href="#L-246"><span class="linenos" data-line="246"></span></a> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">a</span> <span class="p">),</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">b</span> <span class="p">)</span> </span><span id="L-247"><a href="#L-247"><span class="linenos" data-line="247"></span></a> <span class="kr">if</span> <span class="n">separateur</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^.+%-$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a> <span class="c1">-- probablement mm/-aaaa, année av.JC</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a> <span class="n">b</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">-</span> <span class="n">b</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a> <span class="kr">end</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a> <span class="kr">if</span> <span class="n">a</span> <span class="o">></span> <span class="mi">12</span> <span class="ow">and</span> <span class="p">(</span> <span class="n">b</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">b</span> <span class="o">></span> <span class="mi">31</span> <span class="p">)</span> <span class="ow">or</span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a> <span class="n">b</span> <span class="o">></span> <span class="mi">12</span> <span class="ow">and</span> <span class="p">(</span> <span class="n">a</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">a</span> <span class="o">></span> <span class="mi">31</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Date'</span><span class="p">,</span> <span class="n">dateAvantCleanup</span> <span class="p">)</span> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a> <span class="kr">elseif</span> <span class="n">b</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">b</span> <span class="o">></span> <span class="mi">31</span> <span class="kr">then</span> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a> <span class="n">mois</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">sb</span> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a> <span class="kr">elseif</span> <span class="n">a</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">a</span> <span class="o">></span> <span class="mi">31</span> <span class="kr">then</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span> <span class="o">=</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a> <span class="kr">elseif</span> <span class="n">b</span> <span class="o">></span> <span class="mi">12</span> <span class="kr">then</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Mois'</span><span class="p">,</span> <span class="n">b</span> <span class="p">)</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a> <span class="kr">else</span> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a> <span class="n">jour</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">masquerMois</span> <span class="o">=</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">sb</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a> <span class="kr">end</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a> <span class="kr">elseif</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">sep</span><span class="o">..</span><span class="n">m</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'%2'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a> <span class="c1">-- jj/mm/aaaa ou aaaa/mm/jj</span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a> <span class="n">jour</span><span class="p">,</span> <span class="n">separateur</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">masquerMois</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">sep</span><span class="o">..</span><span class="n">m</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'%2'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a> <span class="kr">if</span> <span class="n">separateur</span> <span class="o">==</span> <span class="s1">'-'</span> <span class="ow">and</span> <span class="n">masquerMois</span> <span class="o">==</span> <span class="s1">'-'</span> <span class="ow">and</span> <span class="n">masquerAnnee</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">and</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a> <span class="c1">-- date au format jj-mm--aaaa type 17-06--44 pour 17 juin 44 av. JC</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a> <span class="n">masquerMois</span> <span class="o">=</span> <span class="kc">nil</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">-</span> <span class="n">annee</span> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a> <span class="kr">end</span> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a> <span class="kr">elseif</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">j</span><span class="o">..</span><span class="n">sep</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'%2'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a> <span class="c1">-- jj mmm aaaa</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a> <span class="n">jour</span><span class="p">,</span> <span class="n">separateur</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">masquerMois</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">j</span><span class="o">..</span><span class="n">sep</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'%2'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a> <span class="kr">elseif</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="n">s</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a> <span class="c1">-- mmm aaaa</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a> <span class="n">mois</span><span class="p">,</span> <span class="n">separateur</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="n">sep</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> <span class="kr">if</span> <span class="n">separateur</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^.+%-$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="s1">'-'</span> <span class="o">..</span> <span class="n">annee</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a> <span class="kr">end</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a> <span class="kr">elseif</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">mmm2</span><span class="o">..</span><span class="n">s</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> <span class="c1">-- mmm-mmm aaaa</span> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a> <span class="n">mois</span><span class="p">,</span> <span class="n">separateur</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">mmm2</span><span class="o">..</span><span class="n">sep</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> <span class="kr">if</span> <span class="n">separateur</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^.+%-$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="s1">'-'</span> <span class="o">..</span> <span class="n">annee</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a> <span class="kr">end</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a> <span class="kr">elseif</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">j</span><span class="o">..</span><span class="n">s</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> <span class="c1">-- jj mmm</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> <span class="n">jour</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">masquerMois</span> <span class="o">=</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">j</span><span class="o">..</span><span class="n">s</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="n">moins</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> <span class="kr">elseif</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="n">s</span><span class="o">..</span><span class="n">j</span><span class="o">..</span><span class="s1">', ?'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="s1">'$'</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a> <span class="c1">-- mmm jj, aaaa (format anglo-saxon)</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a> <span class="n">mois</span><span class="p">,</span> <span class="n">jour</span><span class="p">,</span> <span class="n">annee</span> <span class="o">=</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="n">s</span><span class="o">..</span><span class="n">j</span><span class="o">..</span><span class="s1">', ?'</span><span class="o">..</span><span class="n">aj</span><span class="o">..</span><span class="s1">'$'</span><span class="p">)</span> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> <span class="kr">elseif</span> <span class="n">date</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^'</span><span class="o">..</span><span class="n">mmm</span><span class="o">..</span><span class="s1">'$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a> <span class="n">mois</span> <span class="o">=</span> <span class="n">date</span> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a> <span class="kr">else</span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Date'</span><span class="p">,</span> <span class="n">dateAvantCleanup</span> <span class="p">)</span> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a> <span class="kr">end</span> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a> <span class="kd">local</span> <span class="n">jn</span><span class="p">,</span> <span class="n">an</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">jour</span> <span class="p">),</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a> <span class="kr">if</span> <span class="n">jn</span> <span class="ow">and</span> <span class="n">an</span> <span class="ow">and</span> <span class="p">(</span> <span class="n">jn</span> <span class="o">></span> <span class="mi">31</span> <span class="ow">or</span> <span class="n">jn</span> <span class="o"><</span> <span class="mi">0</span> <span class="ow">or</span> <span class="o">#</span><span class="n">jour</span> <span class="o">>=</span> <span class="mi">3</span> <span class="p">)</span> <span class="ow">and</span> <span class="n">an</span> <span class="o"><=</span> <span class="mi">31</span> <span class="kr">then</span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a> <span class="c1">-- cas notamment des date ISO 2015-06-17, -0044-06-17 et -0002-06-17</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a> <span class="c1">-- inversion du jour et de l'année</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a> <span class="kd">local</span> <span class="n">temp</span> <span class="o">=</span> <span class="n">annee</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="n">jour</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="n">temp</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a> <span class="kr">end</span> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a> <span class="kr">return</span> <span class="n">fun</span><span class="p">.</span><span class="n">validationJourMoisAnnee</span><span class="p">{</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a> <span class="n">jour</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a> <span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">masquerAnnee</span> <span class="p">)</span> <span class="ow">and</span> <span class="kc">true</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">,</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a> <span class="n">masquerMois</span> <span class="o">=</span> <span class="p">(</span> <span class="n">trim</span><span class="p">(</span> <span class="n">masquerAnnee</span> <span class="p">)</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">annee</span> <span class="p">)</span> <span class="ow">and</span> <span class="n">trim</span><span class="p">(</span> <span class="n">masquerMois</span> <span class="p">)</span> <span class="ow">and</span> <span class="kc">true</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">,</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a> <span class="c1">-- or nil sert juste à éviter de trainer une valeur false dans tous les tests unitaires.</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a> <span class="p">}</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a> <span class="kr">else</span> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a> <span class="kr">return</span> <span class="kc">true</span><span class="p">,</span> <span class="p">{}</span> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a> <span class="kr">end</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a><span class="kr">end</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a><span class="c1">---</span> </span><span id="L-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a><span class="c1">-- validationJourMoisAnnee vérifie que les paramètres correspondent à une date valide.</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a><span class="c1">-- la date peut être dans les paramètres 1 à 3, ou dans des paramètres jour, mois et annee.</span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a><span class="c1">-- La fonction retourne true suivi d'une table avec la date en paramètres nommés (sans accent sur année)</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a><span class="c1">-- ou false suivi d'un message d'erreur.</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">validationJourMoisAnnee</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">Outils</span><span class="p">.</span><span class="n">extractArgs</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a> <span class="kd">local</span> <span class="n">jour</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">annee</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a> <span class="kd">local</span> <span class="n">bjour</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'jour'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a> <span class="kd">local</span> <span class="n">bmois</span> <span class="o">=</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'mois'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a> <span class="kd">local</span> <span class="n">bannee</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'annee'</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'année'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">erreur</span><span class="p">(</span> <span class="n">periode</span><span class="p">,</span> <span class="n">valeur</span> <span class="p">)</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> <span class="kr">return</span> <span class="kc">false</span><span class="p">,</span> <span class="s1">'<span class="error">'</span> <span class="o">..</span> <span class="n">periode</span> <span class="o">..</span> <span class="s1">' invalide ('</span> <span class="o">..</span> <span class="n">valeur</span> <span class="o">..</span> <span class="s1">')</span>'</span> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="kr">end</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> <span class="c1">-- on traite l'année</span> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a> <span class="kr">if</span> <span class="n">Outils</span><span class="p">.</span><span class="n">notEmpty</span><span class="p">(</span> <span class="n">bannee</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">bannee</span> <span class="p">)</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span> <span class="n">bannee</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a> <span class="c1">-- test si l'année contient av. J.-C.</span> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="n">bannee</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^(%d+) ?[Aa][Vv]%.? ?[Jj][ .-]*[Cc]%.?'</span> <span class="p">)</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="kr">then</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">-</span> <span class="n">annee</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a> <span class="kr">else</span> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Année'</span><span class="p">,</span> <span class="n">bannee</span> <span class="p">)</span> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a> <span class="kr">end</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a> <span class="kr">elseif</span> <span class="n">annee</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Année'</span><span class="p">,</span> <span class="mi">0</span> <span class="p">)</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a> <span class="kr">end</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a> <span class="kr">else</span> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="kc">nil</span> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a> <span class="kr">end</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a> <span class="c1">-- on traite le mois</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a> <span class="kr">if</span> <span class="n">Outils</span><span class="p">.</span><span class="n">notEmpty</span><span class="p">(</span> <span class="n">bmois</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a> <span class="n">mois</span><span class="p">,</span> <span class="n">numMois</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">determinationMois</span><span class="p">(</span> <span class="n">bmois</span> <span class="p">)</span> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a> <span class="kr">if</span> <span class="n">mois</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a> <span class="n">mois</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">determinationSaison</span><span class="p">(</span> <span class="n">bmois</span> <span class="p">)</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a> <span class="kr">if</span> <span class="n">mois</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a> <span class="kd">local</span> <span class="n">mois1</span><span class="p">,</span> <span class="n">sep</span><span class="p">,</span> <span class="n">mois2</span> <span class="o">=</span> <span class="n">bmois</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^([^%s%p%d]+[.]?)([-/])([^%s%p%d]+[.]?)$'</span> <span class="p">)</span> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a> <span class="kr">if</span> <span class="n">mois1</span> <span class="kr">then</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a> <span class="n">mois1</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">determinationMois</span><span class="p">(</span> <span class="n">mois1</span> <span class="p">)</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a> <span class="n">mois2</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">determinationMois</span><span class="p">(</span> <span class="n">mois2</span> <span class="p">)</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a> <span class="kr">if</span> <span class="n">mois1</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">or</span> <span class="n">mois2</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Mois'</span><span class="p">,</span> <span class="n">bmois</span> <span class="p">)</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a> <span class="kr">end</span> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a> <span class="n">mois</span> <span class="o">=</span> <span class="n">mois1</span> <span class="o">..</span> <span class="n">sep</span> <span class="o">..</span> <span class="n">mois2</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a> <span class="kr">else</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Mois'</span><span class="p">,</span> <span class="n">bmois</span> <span class="p">)</span> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a> <span class="kr">end</span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a> <span class="kr">end</span> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a> <span class="kr">end</span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a> <span class="c1">-- on traite le jour si présent</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a> <span class="kr">if</span> <span class="n">Outils</span><span class="p">.</span><span class="n">notEmpty</span><span class="p">(</span> <span class="n">bjour</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">numMois</span> <span class="kr">then</span> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Date'</span><span class="p">,</span> <span class="s1">'jour avec saison ou plusieurs mois'</span> <span class="p">)</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a> <span class="kr">end</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">bjour</span> <span class="p">)</span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">fun</span><span class="p">.</span><span class="n">nettoyageJour</span><span class="p">(</span> <span class="n">bjour</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a> <span class="kr">end</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Jour'</span><span class="p">,</span> <span class="n">bjour</span> <span class="p">)</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="kr">end</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> <span class="c1">-- on valide que le jour est correct</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">jour</span> <span class="o">></span> <span class="mi">31</span> <span class="kr">then</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Jour'</span><span class="p">,</span> <span class="n">bjour</span> <span class="p">)</span> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a> <span class="kr">elseif</span> <span class="n">jour</span> <span class="o">></span> <span class="n">listeMois</span><span class="p">[</span><span class="n">numMois</span><span class="p">].</span><span class="n">nJour</span> <span class="kr">then</span> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Jour'</span><span class="p">,</span> <span class="n">bjour</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a> <span class="kr">elseif</span> <span class="n">jour</span> <span class="o">==</span> <span class="mi">29</span> <span class="ow">and</span> <span class="n">numMois</span> <span class="o">==</span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">annee</span> <span class="ow">and</span> <span class="p">(</span> <span class="nb">math.fmod</span><span class="p">(</span> <span class="n">annee</span><span class="p">,</span> <span class="mi">4</span> <span class="p">)</span> <span class="o">~=</span> <span class="mi">0</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-390"><a href="#L-390"><span class="linenos" data-line="390"></span></a> <span class="c1">-- l'année bisextile sur les siècles est toujours acceptée pour être compatible avec les dates juliennes.</span> </span><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Jour'</span><span class="p">,</span> <span class="s1">'29 février '</span> <span class="o">..</span> <span class="n">annee</span> <span class="p">)</span> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a> <span class="kr">end</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a> <span class="kr">else</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a> <span class="c1">-- S'il n'y a pas de jour on regarde si la première lettre du mois est en majuscule</span> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a> <span class="kr">if</span> <span class="n">bmois</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^%u'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a> <span class="c1">-- oui, on passe la première lettre en majuscule</span> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a> <span class="n">mois</span> <span class="o">=</span> <span class="n">ucfirst</span><span class="p">(</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a> <span class="kr">end</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> <span class="c1">-- s'il n'y a pas d'année non plus on retourne le mois simple</span> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a> <span class="kr">end</span> </span><span id="L-401"><a href="#L-401"><span class="linenos" data-line="401"></span></a> <span class="kr">else</span> </span><span id="L-402"><a href="#L-402"><span class="linenos" data-line="402"></span></a> <span class="c1">-- on teste le jour si présent</span> </span><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a> <span class="kr">if</span> <span class="n">Outils</span><span class="p">.</span><span class="n">notEmpty</span><span class="p">(</span> <span class="n">bjour</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="kr">then</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Mois'</span><span class="p">,</span> <span class="s1">'absent'</span> <span class="p">)</span> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></span></a> <span class="kr">else</span> </span><span id="L-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a> <span class="n">bjour</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">nettoyageJour</span><span class="p">(</span> <span class="n">bjour</span> <span class="p">)</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">bjour</span> <span class="p">)</span> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="kr">then</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="o">></span> <span class="mi">31</span> <span class="ow">or</span> <span class="n">jour</span> <span class="o"><</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="n">jour</span> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="kc">nil</span> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></span></a> <span class="kr">else</span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Date'</span><span class="p">,</span> <span class="s1">'jour seul : '</span> <span class="o">..</span> <span class="n">bjour</span> <span class="p">)</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a> <span class="kr">end</span> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a> <span class="kr">else</span> </span><span id="L-417"><a href="#L-417"><span class="linenos" data-line="417"></span></a> <span class="kr">return</span> <span class="n">erreur</span><span class="p">(</span> <span class="s1">'Jour'</span><span class="p">,</span> <span class="n">bjour</span> <span class="p">)</span> </span><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a> <span class="kr">end</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a> <span class="kr">end</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a> <span class="kr">end</span> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></span></a> <span class="kr">end</span> </span><span id="L-422"><a href="#L-422"><span class="linenos" data-line="422"></span></a> </span><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a> <span class="c1">-- vérification de l'absence d'un décalage</span> </span><span id="L-424"><a href="#L-424"><span class="linenos" data-line="424"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="ow">and</span> <span class="n">annee</span> <span class="o"><</span> <span class="mi">13</span> <span class="ow">and</span> <span class="n">annee</span> <span class="o">></span> <span class="mi">0</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">jour</span> <span class="ow">and</span> <span class="p">(</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">bmois</span> <span class="p">)</span> <span class="ow">or</span> <span class="p">(</span> <span class="ow">not</span> <span class="n">mois</span> <span class="ow">and</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="p">)</span> <span class="p">)</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-425"><a href="#L-425"><span class="linenos" data-line="425"></span></a> <span class="kr">return</span> <span class="kc">false</span><span class="p">,</span> <span class="s1">'<span class="error">année improbable ('</span> <span class="o">..</span> <span class="n">annee</span> <span class="o">..</span> <span class="s1">')</span>'</span> </span><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a> <span class="kr">end</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a> <span class="kd">local</span> <span class="n">resultat</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="n">jour</span><span class="p">,</span> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a> <span class="n">mois</span> <span class="o">=</span> <span class="n">mois</span><span class="p">,</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a> <span class="n">numMois</span> <span class="o">=</span> <span class="n">numMois</span><span class="p">,</span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="n">annee</span><span class="p">,</span> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a> <span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerAnnee</span><span class="p">,</span> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a> <span class="n">masquerMois</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerMois</span><span class="p">,</span> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a> <span class="p">}</span> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a> <span class="kr">return</span> <span class="kc">true</span><span class="p">,</span> <span class="n">resultat</span> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a><span class="kr">end</span> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a> </span><span id="L-439"><a href="#L-439"><span class="linenos" data-line="439"></span></a> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a><span class="c1">---</span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a><span class="c1">-- émule le modèle {{m|Date}}.</span> </span><span id="L-442"><a href="#L-442"><span class="linenos" data-line="442"></span></a><span class="c1">-- Paramètres :</span> </span><span id="L-443"><a href="#L-443"><span class="linenos" data-line="443"></span></a><span class="c1">-- 1 : jour (numéro ou "1er") ou la date complète</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a><span class="c1">-- 2 : mois (en toutes lettres) ou spécialité de l'année</span> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a><span class="c1">-- 3 : année (nombre)</span> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a><span class="c1">-- 4 : spécialité de l'année</span> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a><span class="c1">-- julien : date dans le calendrier julien</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a><span class="c1">-- compact : affiche le mois sous forme d'abréviation</span> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a><span class="c1">-- avJC : non pour désactiver l'affichage de « av. J.-C. » pour les dates négatives</span> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a><span class="c1">-- âge : ajoute la durée depuis cette date</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a><span class="c1">-- agePrefix : préfixe pour l'age, 'à ' par défaut pour les décès</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a><span class="c1">-- liens : active les liens par défaut</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></span></a><span class="c1">-- nolinks : ne met pas de lien sur la date (a précédence sur le paramètre "liens")</span> </span><span id="L-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a><span class="c1">-- afficherErreurs : en cas d'erreur, si défini à "non" ne retourne pas un message d'erreur, mais le 1er argument inchangé</span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a><span class="c1">-- categoriserErreurs : en cas d'erreur, si défini à "non" ne catégorise pas ; peut aussi être défini avec une catégorie à utiliser à la place de celle par défaut</span> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a><span class="c1">-- naissance : ajoute la class "bday"</span> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a><span class="c1">-- mort : ajoute la class "dday"</span> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">modeleDate</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-459"><a href="#L-459"><span class="linenos" data-line="459"></span></a> <span class="kd">local</span> <span class="n">Yesno</span> <span class="o">=</span> <span class="nb">require</span> <span class="s1">'Module:Yesno'</span> </span><span id="L-460"><a href="#L-460"><span class="linenos" data-line="460"></span></a> </span><span id="L-461"><a href="#L-461"><span class="linenos" data-line="461"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">Outils</span><span class="p">.</span><span class="n">extractArgs</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a> <span class="kd">local</span> <span class="n">resultat</span> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a> <span class="kd">local</span> <span class="n">dateNaissanceMort</span> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a> <span class="c1">-- analyse des paramètres non nommés (ou paramètres de la date jour, mois, annee)</span> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a> <span class="kd">local</span> <span class="n">test</span><span class="p">,</span> <span class="n">params</span> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a> <span class="kd">local</span> <span class="n">arg1</span><span class="p">,</span> <span class="n">arg2</span><span class="p">,</span> <span class="n">arg3</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">nettoyageJour</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="p">),</span> <span class="n">trim</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="p">),</span> <span class="n">trim</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">arg1</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">arg3</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">and</span> <span class="p">(</span> <span class="n">arg1</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'[^ ./-][ ./-]+[^ ./-]'</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">arg2</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">or</span> <span class="n">dataLiens</span><span class="p">[</span><span class="n">arg2</span><span class="p">]</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> <span class="n">arg2</span><span class="p">,</span> <span class="s1">'%a %a'</span> <span class="p">)</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a> <span class="c1">-- la date est dans le premier paramètre</span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a> <span class="n">test</span><span class="p">,</span> <span class="n">params</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">separationJourMoisAnnee</span><span class="p">(</span> <span class="n">arg1</span> <span class="p">)</span> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a> <span class="kr">if</span> <span class="n">test</span> <span class="kr">then</span> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a> <span class="n">dateNaissanceMort</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">arg2</span> <span class="p">)</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a> <span class="kr">if</span> <span class="n">dataLiens</span><span class="p">[</span><span class="n">trim</span><span class="p">(</span> <span class="n">arg2</span> <span class="p">)]</span> <span class="kr">then</span> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">qualificatif</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">arg2</span> <span class="p">)</span> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a> <span class="kr">end</span> </span><span id="L-477"><a href="#L-477"><span class="linenos" data-line="477"></span></a> <span class="kr">end</span> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span> <span class="n">arg1</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span> <span class="n">arg2</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">arg3</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="ow">and</span> <span class="p">(</span> <span class="n">arg1</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'[^ ./-][ ./-]+[^ ./-]'</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">dataLiens</span><span class="p">[</span><span class="n">arg3</span><span class="p">]</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> <span class="n">arg3</span><span class="p">,</span> <span class="s1">'%a %a'</span> <span class="p">)</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a> <span class="c1">-- la date est dans le premier paramètre</span> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a> <span class="n">test</span><span class="p">,</span> <span class="n">params</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">separationJourMoisAnnee</span><span class="p">(</span> <span class="n">arg1</span> <span class="p">)</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a> <span class="kr">if</span> <span class="n">test</span> <span class="kr">then</span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a> <span class="n">dateNaissanceMort</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">arg2</span> <span class="p">)</span> </span><span id="L-483"><a href="#L-483"><span class="linenos" data-line="483"></span></a> <span class="kr">if</span> <span class="n">dataLiens</span><span class="p">[</span><span class="n">trim</span><span class="p">(</span> <span class="n">arg3</span> <span class="p">)]</span> <span class="kr">then</span> </span><span id="L-484"><a href="#L-484"><span class="linenos" data-line="484"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">qualificatif</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">arg3</span> <span class="p">)</span> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a> <span class="kr">end</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a> <span class="kr">end</span> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></span></a> <span class="kr">else</span> </span><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">masquerParam</span><span class="p">(</span> <span class="n">p</span> <span class="p">)</span> </span><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a> <span class="c1">-- sépare le signe moins final éventuel signifiant que le paramètre ne doit pas être affiché.</span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">p</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a> <span class="kr">return</span> <span class="n">p</span><span class="p">,</span> <span class="kc">nil</span> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a> <span class="kr">end</span> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a> <span class="kd">local</span> <span class="n">value</span><span class="p">,</span> <span class="n">mask</span> <span class="o">=</span> <span class="n">p</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^%s*(.-)(%-?)%s*$'</span> <span class="p">)</span> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a> <span class="kr">return</span> <span class="n">value</span><span class="p">,</span> <span class="p">(</span> <span class="n">mask</span> <span class="o">==</span> <span class="s1">'-'</span> <span class="ow">or</span> <span class="kc">nil</span> <span class="p">)</span> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a> <span class="kr">end</span> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a> <span class="kd">local</span> <span class="n">cleanArgs</span> <span class="o">=</span> <span class="p">{</span> <span class="n">arg1</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">jour</span> <span class="p">}</span> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a> <span class="n">cleanArgs</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> <span class="n">cleanArgs</span><span class="p">.</span><span class="n">masquerMois</span> <span class="o">=</span> <span class="n">masquerParam</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">mois</span> <span class="p">)</span> </span><span id="L-498"><a href="#L-498"><span class="linenos" data-line="498"></span></a> <span class="n">cleanArgs</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span> <span class="n">cleanArgs</span><span class="p">.</span><span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">masquerParam</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">annee</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'année'</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-499"><a href="#L-499"><span class="linenos" data-line="499"></span></a> </span><span id="L-500"><a href="#L-500"><span class="linenos" data-line="500"></span></a> <span class="c1">-- Si les paramètres ont été envoyés directement, ils ont précédence</span> </span><span id="L-501"><a href="#L-501"><span class="linenos" data-line="501"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerMois</span> <span class="kr">then</span> <span class="n">cleanArgs</span><span class="p">.</span><span class="n">masquerMois</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerMois</span> <span class="kr">end</span> </span><span id="L-502"><a href="#L-502"><span class="linenos" data-line="502"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerAnnee</span> <span class="kr">then</span> <span class="n">cleanArgs</span><span class="p">.</span><span class="n">masquerAnnee</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerAnnee</span> <span class="kr">end</span> </span><span id="L-503"><a href="#L-503"><span class="linenos" data-line="503"></span></a> </span><span id="L-504"><a href="#L-504"><span class="linenos" data-line="504"></span></a> <span class="n">test</span><span class="p">,</span> <span class="n">params</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">validationJourMoisAnnee</span><span class="p">(</span> <span class="n">cleanArgs</span> <span class="p">)</span> </span><span id="L-505"><a href="#L-505"><span class="linenos" data-line="505"></span></a> <span class="kr">if</span> <span class="n">test</span> <span class="ow">and</span> <span class="n">dataLiens</span><span class="p">[</span><span class="n">trim</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="p">)]</span> <span class="kr">then</span> </span><span id="L-506"><a href="#L-506"><span class="linenos" data-line="506"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">qualificatif</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-507"><a href="#L-507"><span class="linenos" data-line="507"></span></a> <span class="kr">end</span> </span><span id="L-508"><a href="#L-508"><span class="linenos" data-line="508"></span></a> <span class="kr">end</span> </span><span id="L-509"><a href="#L-509"><span class="linenos" data-line="509"></span></a> </span><span id="L-510"><a href="#L-510"><span class="linenos" data-line="510"></span></a> <span class="c1">-- analyse des paramètres nommés</span> </span><span id="L-511"><a href="#L-511"><span class="linenos" data-line="511"></span></a> <span class="kr">if</span> <span class="n">test</span> <span class="kr">then</span> </span><span id="L-512"><a href="#L-512"><span class="linenos" data-line="512"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">agePrefix</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">agePrefix</span> </span><span id="L-513"><a href="#L-513"><span class="linenos" data-line="513"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">qualificatif</span> <span class="ow">and</span> <span class="n">dataLiens</span><span class="p">[</span><span class="n">args</span><span class="p">.</span><span class="n">qualificatif</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-514"><a href="#L-514"><span class="linenos" data-line="514"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">qualificatif</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">qualificatif</span> </span><span id="L-515"><a href="#L-515"><span class="linenos" data-line="515"></span></a> <span class="kr">end</span> </span><span id="L-516"><a href="#L-516"><span class="linenos" data-line="516"></span></a> </span><span id="L-517"><a href="#L-517"><span class="linenos" data-line="517"></span></a> <span class="c1">-- julien peut avoir trois valeurs : inactif, format standard (true), format court</span> </span><span id="L-518"><a href="#L-518"><span class="linenos" data-line="518"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">julien</span> <span class="o">=</span> <span class="n">Yesno</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">julien</span><span class="p">,</span> <span class="s1">'court'</span><span class="p">,</span> <span class="kc">false</span> <span class="p">)</span> </span><span id="L-519"><a href="#L-519"><span class="linenos" data-line="519"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">avJC</span> <span class="o">=</span> <span class="n">Yesno</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">avJC</span> <span class="p">)</span> </span><span id="L-520"><a href="#L-520"><span class="linenos" data-line="520"></span></a> </span><span id="L-521"><a href="#L-521"><span class="linenos" data-line="521"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">[</span><span class="s1">'républicain'</span><span class="p">]</span> <span class="ow">and</span> <span class="n">args</span><span class="p">[</span><span class="s1">'républicain'</span><span class="p">]</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-522"><a href="#L-522"><span class="linenos" data-line="522"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">[</span><span class="s1">'républicain'</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'liens'</span> <span class="kr">then</span> </span><span id="L-523"><a href="#L-523"><span class="linenos" data-line="523"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">republicain</span> <span class="o">=</span> <span class="s1">'liens'</span> </span><span id="L-524"><a href="#L-524"><span class="linenos" data-line="524"></span></a> <span class="kr">else</span> </span><span id="L-525"><a href="#L-525"><span class="linenos" data-line="525"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">republicain</span> <span class="o">=</span> <span class="n">Yesno</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="s1">'républicain'</span><span class="p">],</span> <span class="kc">false</span> <span class="p">)</span> </span><span id="L-526"><a href="#L-526"><span class="linenos" data-line="526"></span></a> <span class="kr">end</span> </span><span id="L-527"><a href="#L-527"><span class="linenos" data-line="527"></span></a> <span class="kr">else</span> </span><span id="L-528"><a href="#L-528"><span class="linenos" data-line="528"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">republicain</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-529"><a href="#L-529"><span class="linenos" data-line="529"></span></a> <span class="kr">end</span> </span><span id="L-530"><a href="#L-530"><span class="linenos" data-line="530"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">dateNaissanceMort</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">dateNaissanceMort</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-531"><a href="#L-531"><span class="linenos" data-line="531"></span></a> <span class="n">dateNaissanceMort</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">dateNaissanceMort</span> </span><span id="L-532"><a href="#L-532"><span class="linenos" data-line="532"></span></a> <span class="kr">elseif</span> <span class="n">args</span><span class="p">[</span><span class="s1">'dateNaissanceÉvénement'</span><span class="p">]</span> <span class="ow">and</span> <span class="n">args</span><span class="p">[</span><span class="s1">'dateNaissanceÉvénement'</span><span class="p">]</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-533"><a href="#L-533"><span class="linenos" data-line="533"></span></a> <span class="n">dateNaissanceMort</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s1">'dateNaissanceÉvénement'</span><span class="p">]</span> </span><span id="L-534"><a href="#L-534"><span class="linenos" data-line="534"></span></a> <span class="kr">end</span> </span><span id="L-535"><a href="#L-535"><span class="linenos" data-line="535"></span></a> <span class="kr">if</span> <span class="n">dateNaissanceMort</span> <span class="kr">then</span> </span><span id="L-536"><a href="#L-536"><span class="linenos" data-line="536"></span></a> <span class="kd">local</span> <span class="n">testNaissanceMort</span><span class="p">,</span> <span class="n">paramsNaissanceMort</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">separationJourMoisAnnee</span><span class="p">(</span> <span class="n">dateNaissanceMort</span> <span class="p">)</span> </span><span id="L-537"><a href="#L-537"><span class="linenos" data-line="537"></span></a> <span class="kr">if</span> <span class="n">testNaissanceMort</span> <span class="kr">then</span> </span><span id="L-538"><a href="#L-538"><span class="linenos" data-line="538"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">anneeNaissanceMort</span><span class="p">,</span> <span class="n">params</span><span class="p">.</span><span class="n">moisNaissanceMort</span><span class="p">,</span> <span class="n">params</span><span class="p">.</span><span class="n">numMoisNaissanceMort</span><span class="p">,</span> <span class="n">params</span><span class="p">.</span><span class="n">jourNaissanceMort</span> <span class="o">=</span> <span class="n">paramsNaissanceMort</span><span class="p">.</span><span class="n">annee</span><span class="p">,</span> <span class="n">paramsNaissanceMort</span><span class="p">.</span><span class="n">mois</span><span class="p">,</span> <span class="n">paramsNaissanceMort</span><span class="p">.</span><span class="n">numMois</span><span class="p">,</span> <span class="n">paramsNaissanceMort</span><span class="p">.</span><span class="n">jour</span> </span><span id="L-539"><a href="#L-539"><span class="linenos" data-line="539"></span></a> <span class="kr">end</span> </span><span id="L-540"><a href="#L-540"><span class="linenos" data-line="540"></span></a> <span class="kr">end</span> </span><span id="L-541"><a href="#L-541"><span class="linenos" data-line="541"></span></a> </span><span id="L-542"><a href="#L-542"><span class="linenos" data-line="542"></span></a> <span class="kd">local</span> <span class="n">listeParam</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-543"><a href="#L-543"><span class="linenos" data-line="543"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="s1">'âge'</span><span class="p">,</span> </span><span id="L-544"><a href="#L-544"><span class="linenos" data-line="544"></span></a> <span class="p">[</span><span class="s1">'âge'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'âge'</span><span class="p">,</span> </span><span id="L-545"><a href="#L-545"><span class="linenos" data-line="545"></span></a> <span class="n">naissance</span> <span class="o">=</span> <span class="s1">'naissance'</span><span class="p">,</span> </span><span id="L-546"><a href="#L-546"><span class="linenos" data-line="546"></span></a> <span class="n">mort</span> <span class="o">=</span> <span class="s1">'mort'</span><span class="p">,</span> </span><span id="L-547"><a href="#L-547"><span class="linenos" data-line="547"></span></a> <span class="p">[</span><span class="s1">'événement'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'événement'</span><span class="p">,</span> </span><span id="L-548"><a href="#L-548"><span class="linenos" data-line="548"></span></a> <span class="n">evenement</span> <span class="o">=</span> <span class="s1">'evenement'</span><span class="p">,</span> </span><span id="L-549"><a href="#L-549"><span class="linenos" data-line="549"></span></a> <span class="p">[</span><span class="s1">'décès'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'mort'</span><span class="p">,</span> </span><span id="L-550"><a href="#L-550"><span class="linenos" data-line="550"></span></a> <span class="n">apJC</span> <span class="o">=</span> <span class="s1">'apJC'</span><span class="p">,</span> </span><span id="L-551"><a href="#L-551"><span class="linenos" data-line="551"></span></a> <span class="n">nolinks</span> <span class="o">=</span> <span class="s1">'nolinks'</span><span class="p">,</span> </span><span id="L-552"><a href="#L-552"><span class="linenos" data-line="552"></span></a> <span class="n">compact</span> <span class="o">=</span> <span class="s1">'compact'</span><span class="p">,</span> </span><span id="L-553"><a href="#L-553"><span class="linenos" data-line="553"></span></a> <span class="n">compacte</span> <span class="o">=</span> <span class="s1">'compact'</span><span class="p">,</span> </span><span id="L-554"><a href="#L-554"><span class="linenos" data-line="554"></span></a> <span class="p">}</span> </span><span id="L-555"><a href="#L-555"><span class="linenos" data-line="555"></span></a> <span class="kr">for</span> <span class="n">n</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span> <span class="n">listeParam</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-556"><a href="#L-556"><span class="linenos" data-line="556"></span></a> <span class="n">params</span><span class="p">[</span><span class="n">v</span><span class="p">]</span> <span class="o">=</span> <span class="n">params</span><span class="p">[</span><span class="n">v</span><span class="p">]</span> <span class="ow">or</span> <span class="n">Yesno</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="n">n</span><span class="p">],</span> <span class="kc">true</span><span class="p">,</span> <span class="kc">false</span> <span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-557"><a href="#L-557"><span class="linenos" data-line="557"></span></a> <span class="kr">end</span> </span><span id="L-558"><a href="#L-558"><span class="linenos" data-line="558"></span></a> </span><span id="L-559"><a href="#L-559"><span class="linenos" data-line="559"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">params</span><span class="p">.</span><span class="n">nolinks</span> <span class="kr">then</span> </span><span id="L-560"><a href="#L-560"><span class="linenos" data-line="560"></span></a> <span class="kd">local</span> <span class="n">liens</span> <span class="o">=</span> <span class="n">Yesno</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">liens</span> <span class="p">)</span> </span><span id="L-561"><a href="#L-561"><span class="linenos" data-line="561"></span></a> <span class="kr">if</span> <span class="n">liens</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-562"><a href="#L-562"><span class="linenos" data-line="562"></span></a> <span class="c1">-- liens actifs par défaut si qualificatif</span> </span><span id="L-563"><a href="#L-563"><span class="linenos" data-line="563"></span></a> <span class="n">liens</span> <span class="o">=</span> <span class="n">params</span><span class="p">.</span><span class="n">qualificatif</span> <span class="ow">and</span> <span class="n">params</span><span class="p">.</span><span class="n">qualificatif</span> <span class="o">~=</span> <span class="s2">""</span> <span class="ow">and</span> <span class="kc">true</span> <span class="ow">or</span> <span class="kc">false</span> </span><span id="L-564"><a href="#L-564"><span class="linenos" data-line="564"></span></a> <span class="kr">end</span> </span><span id="L-565"><a href="#L-565"><span class="linenos" data-line="565"></span></a> <span class="n">params</span><span class="p">.</span><span class="n">nolinks</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">liens</span> </span><span id="L-566"><a href="#L-566"><span class="linenos" data-line="566"></span></a> <span class="kr">end</span> </span><span id="L-567"><a href="#L-567"><span class="linenos" data-line="567"></span></a> </span><span id="L-568"><a href="#L-568"><span class="linenos" data-line="568"></span></a> <span class="c1">-- sortie pour les tests unitaire, ou pour débugger</span> </span><span id="L-569"><a href="#L-569"><span class="linenos" data-line="569"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">debug</span> <span class="kr">then</span> </span><span id="L-570"><a href="#L-570"><span class="linenos" data-line="570"></span></a> <span class="kr">return</span> <span class="n">params</span> </span><span id="L-571"><a href="#L-571"><span class="linenos" data-line="571"></span></a> <span class="kr">end</span> </span><span id="L-572"><a href="#L-572"><span class="linenos" data-line="572"></span></a> </span><span id="L-573"><a href="#L-573"><span class="linenos" data-line="573"></span></a> <span class="n">resultat</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">_modeleDate</span><span class="p">(</span> <span class="n">params</span> <span class="p">)</span> </span><span id="L-574"><a href="#L-574"><span class="linenos" data-line="574"></span></a> </span><span id="L-575"><a href="#L-575"><span class="linenos" data-line="575"></span></a> <span class="kr">else</span> </span><span id="L-576"><a href="#L-576"><span class="linenos" data-line="576"></span></a> <span class="kd">local</span> <span class="n">yn_afficherErreurs</span> <span class="o">=</span> <span class="n">Yesno</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">afficherErreurs</span> <span class="p">)</span> </span><span id="L-577"><a href="#L-577"><span class="linenos" data-line="577"></span></a> <span class="kr">if</span> <span class="n">yn_afficherErreurs</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">or</span> <span class="n">yn_afficherErreurs</span> <span class="o">==</span> <span class="kc">true</span> <span class="kr">then</span> </span><span id="L-578"><a href="#L-578"><span class="linenos" data-line="578"></span></a> <span class="n">resultat</span> <span class="o">=</span> <span class="n">params</span> </span><span id="L-579"><a href="#L-579"><span class="linenos" data-line="579"></span></a> <span class="kr">else</span> </span><span id="L-580"><a href="#L-580"><span class="linenos" data-line="580"></span></a> <span class="n">resultat</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> </span><span id="L-581"><a href="#L-581"><span class="linenos" data-line="581"></span></a> <span class="kr">end</span> </span><span id="L-582"><a href="#L-582"><span class="linenos" data-line="582"></span></a> </span><span id="L-583"><a href="#L-583"><span class="linenos" data-line="583"></span></a> <span class="kd">local</span> <span class="n">currentTitle</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">getCurrentTitle</span><span class="p">()</span> </span><span id="L-584"><a href="#L-584"><span class="linenos" data-line="584"></span></a> </span><span id="L-585"><a href="#L-585"><span class="linenos" data-line="585"></span></a> <span class="kr">if</span> <span class="n">currentTitle</span><span class="p">:</span><span class="n">inNamespaces</span><span class="p">(</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">14</span><span class="p">,</span> <span class="mi">100</span> <span class="p">)</span> </span><span id="L-586"><a href="#L-586"><span class="linenos" data-line="586"></span></a> <span class="ow">and</span> <span class="ow">not</span> <span class="n">Outils</span><span class="p">.</span><span class="n">notEmpty</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">nocat</span> <span class="p">)</span> </span><span id="L-587"><a href="#L-587"><span class="linenos" data-line="587"></span></a> <span class="ow">and</span> <span class="ow">not</span> <span class="n">currentTitle</span><span class="p">.</span><span class="n">prefixedText</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^Modèle:.+/Test$'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-588"><a href="#L-588"><span class="linenos" data-line="588"></span></a> <span class="kd">local</span> <span class="n">categorie</span> </span><span id="L-589"><a href="#L-589"><span class="linenos" data-line="589"></span></a> <span class="kd">local</span> <span class="n">yn_categoriserErreurs</span> <span class="o">=</span> <span class="n">Yesno</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">categoriserErreurs</span><span class="p">,</span> <span class="s1">'custom'</span><span class="p">,</span> <span class="kc">true</span> <span class="p">)</span> </span><span id="L-590"><a href="#L-590"><span class="linenos" data-line="590"></span></a> <span class="kr">if</span> <span class="n">yn_categoriserErreurs</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">or</span> <span class="n">yn_categoriserErreurs</span> <span class="o">==</span> <span class="kc">true</span> <span class="kr">then</span> </span><span id="L-591"><a href="#L-591"><span class="linenos" data-line="591"></span></a> <span class="n">categorie</span> <span class="o">=</span> <span class="s1">'[[Catégorie:Page utilisant le modèle date avec une syntaxe erronée]]'</span> </span><span id="L-592"><a href="#L-592"><span class="linenos" data-line="592"></span></a> <span class="kr">elseif</span> <span class="n">yn_categoriserErreurs</span> <span class="o">==</span> <span class="kc">false</span> <span class="kr">then</span> </span><span id="L-593"><a href="#L-593"><span class="linenos" data-line="593"></span></a> <span class="n">categorie</span> <span class="o">=</span> <span class="s1">''</span> </span><span id="L-594"><a href="#L-594"><span class="linenos" data-line="594"></span></a> <span class="kr">else</span> </span><span id="L-595"><a href="#L-595"><span class="linenos" data-line="595"></span></a> <span class="kd">local</span> <span class="n">nomCategorie</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">categoriserErreurs</span> </span><span id="L-596"><a href="#L-596"><span class="linenos" data-line="596"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'^%[%['</span><span class="p">,</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-597"><a href="#L-597"><span class="linenos" data-line="597"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'%]%]$'</span><span class="p">,</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-598"><a href="#L-598"><span class="linenos" data-line="598"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'^:?[Cc]atégorie:'</span><span class="p">,</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-599"><a href="#L-599"><span class="linenos" data-line="599"></span></a> <span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'^:?[Cc]atégory:'</span><span class="p">,</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-600"><a href="#L-600"><span class="linenos" data-line="600"></span></a> <span class="n">categorie</span> <span class="o">=</span> <span class="s1">'[[Catégorie:'</span> <span class="o">..</span> <span class="n">nomCategorie</span> <span class="o">..</span> <span class="s1">']]'</span> </span><span id="L-601"><a href="#L-601"><span class="linenos" data-line="601"></span></a> <span class="kr">end</span> </span><span id="L-602"><a href="#L-602"><span class="linenos" data-line="602"></span></a> <span class="n">resultat</span> <span class="o">=</span> <span class="n">resultat</span> <span class="o">..</span> <span class="n">categorie</span> </span><span id="L-603"><a href="#L-603"><span class="linenos" data-line="603"></span></a> <span class="kr">end</span> </span><span id="L-604"><a href="#L-604"><span class="linenos" data-line="604"></span></a> <span class="kr">end</span> </span><span id="L-605"><a href="#L-605"><span class="linenos" data-line="605"></span></a> </span><span id="L-606"><a href="#L-606"><span class="linenos" data-line="606"></span></a> <span class="kr">return</span> <span class="n">resultat</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-607"><a href="#L-607"><span class="linenos" data-line="607"></span></a><span class="kr">end</span> </span><span id="L-608"><a href="#L-608"><span class="linenos" data-line="608"></span></a> </span><span id="L-609"><a href="#L-609"><span class="linenos" data-line="609"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">_modeleDate</span><span class="p">(</span> <span class="n">args</span> <span class="p">)</span> </span><span id="L-610"><a href="#L-610"><span class="linenos" data-line="610"></span></a> <span class="kd">local</span> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">annee</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">mois</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">numMois</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">jour</span> </span><span id="L-611"><a href="#L-611"><span class="linenos" data-line="611"></span></a> <span class="kd">local</span> <span class="n">qualificatif</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">qualificatif</span> </span><span id="L-612"><a href="#L-612"><span class="linenos" data-line="612"></span></a> </span><span id="L-613"><a href="#L-613"><span class="linenos" data-line="613"></span></a> <span class="kr">if</span> <span class="p">(</span> <span class="n">annee</span> <span class="ow">or</span> <span class="n">mois</span> <span class="ow">or</span> <span class="n">jour</span> <span class="p">)</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-614"><a href="#L-614"><span class="linenos" data-line="614"></span></a> <span class="kr">return</span> </span><span id="L-615"><a href="#L-615"><span class="linenos" data-line="615"></span></a> <span class="kr">end</span> </span><span id="L-616"><a href="#L-616"><span class="linenos" data-line="616"></span></a> </span><span id="L-617"><a href="#L-617"><span class="linenos" data-line="617"></span></a> <span class="c1">-- on traite l'âge, naissance et mort</span> </span><span id="L-618"><a href="#L-618"><span class="linenos" data-line="618"></span></a> <span class="kd">local</span> <span class="n">agePrefix</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">agePrefix</span> </span><span id="L-619"><a href="#L-619"><span class="linenos" data-line="619"></span></a> <span class="kd">local</span> <span class="n">age</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s1">'âge'</span><span class="p">]</span> <span class="ow">and</span> <span class="n">fun</span><span class="p">.</span><span class="n">age</span><span class="p">(</span> <span class="n">annee</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-620"><a href="#L-620"><span class="linenos" data-line="620"></span></a> <span class="kd">local</span> <span class="n">naissance</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">naissance</span> </span><span id="L-621"><a href="#L-621"><span class="linenos" data-line="621"></span></a> <span class="kd">local</span> <span class="n">mort</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">mort</span> </span><span id="L-622"><a href="#L-622"><span class="linenos" data-line="622"></span></a> <span class="kd">local</span> <span class="n">evenement</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s1">'événement'</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">evenement</span> </span><span id="L-623"><a href="#L-623"><span class="linenos" data-line="623"></span></a> <span class="kr">if</span> <span class="n">mort</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">anneeNaissanceMort</span> <span class="kr">then</span> </span><span id="L-624"><a href="#L-624"><span class="linenos" data-line="624"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">age</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">anneeNaissanceMort</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">numMoisNaissanceMort</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">jourNaissanceMort</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-625"><a href="#L-625"><span class="linenos" data-line="625"></span></a> <span class="n">agePrefix</span> <span class="o">=</span> <span class="n">agePrefix</span> <span class="ow">or</span> <span class="s1">'à '</span> <span class="c1">-- faut-il mettre \194\160 ?</span> </span><span id="L-626"><a href="#L-626"><span class="linenos" data-line="626"></span></a> <span class="kr">elseif</span> <span class="n">evenement</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">anneeNaissanceMort</span> <span class="kr">then</span> </span><span id="L-627"><a href="#L-627"><span class="linenos" data-line="627"></span></a> <span class="kr">if</span> <span class="n">naissance</span> <span class="kr">then</span> </span><span id="L-628"><a href="#L-628"><span class="linenos" data-line="628"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">age</span><span class="p">(</span> <span class="n">annee</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">anneeNaissanceMort</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">numMoisNaissanceMort</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">jourNaissanceMort</span> <span class="p">)</span> </span><span id="L-629"><a href="#L-629"><span class="linenos" data-line="629"></span></a> <span class="kr">else</span> </span><span id="L-630"><a href="#L-630"><span class="linenos" data-line="630"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">age</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">anneeNaissanceMort</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">numMoisNaissanceMort</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">jourNaissanceMort</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-631"><a href="#L-631"><span class="linenos" data-line="631"></span></a> <span class="kr">end</span> </span><span id="L-632"><a href="#L-632"><span class="linenos" data-line="632"></span></a> <span class="kr">end</span> </span><span id="L-633"><a href="#L-633"><span class="linenos" data-line="633"></span></a> <span class="n">agePrefix</span> <span class="o">=</span> <span class="n">agePrefix</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-634"><a href="#L-634"><span class="linenos" data-line="634"></span></a> </span><span id="L-635"><a href="#L-635"><span class="linenos" data-line="635"></span></a> <span class="c1">-- on traite le calendrier</span> </span><span id="L-636"><a href="#L-636"><span class="linenos" data-line="636"></span></a> <span class="kd">local</span> <span class="n">gannee</span><span class="p">,</span> <span class="n">gmois</span><span class="p">,</span> <span class="n">gjour</span> <span class="o">=</span> <span class="n">annee</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span> <span class="c1">-- date suivant le calendrier grégorien pour <time></span> </span><span id="L-637"><a href="#L-637"><span class="linenos" data-line="637"></span></a> <span class="kd">local</span> <span class="n">jannee</span><span class="p">,</span> <span class="n">jmois</span><span class="p">,</span> <span class="n">jjour</span> <span class="o">=</span> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">jour</span> <span class="c1">-- date suivant le calendrier julien si necessaire</span> </span><span id="L-638"><a href="#L-638"><span class="linenos" data-line="638"></span></a> <span class="kd">local</span> <span class="n">julienDate</span><span class="p">,</span> <span class="n">julienSup</span><span class="p">,</span> <span class="n">julienSep</span> <span class="c1">-- servira éventuellement à afficher la date selon le calendrier julien</span> </span><span id="L-639"><a href="#L-639"><span class="linenos" data-line="639"></span></a> <span class="kd">local</span> <span class="n">gregAprMois</span><span class="p">,</span> <span class="n">gregAprAn</span><span class="p">,</span> <span class="n">gregFin</span> <span class="c1">-- message de calendrier grégorien lorsque la date est selon le calendrier julien</span> </span><span id="L-640"><a href="#L-640"><span class="linenos" data-line="640"></span></a> <span class="kd">local</span> <span class="n">dateRepublicaine</span> </span><span id="L-641"><a href="#L-641"><span class="linenos" data-line="641"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="ow">and</span> <span class="n">jour</span> <span class="kr">then</span> </span><span id="L-642"><a href="#L-642"><span class="linenos" data-line="642"></span></a> <span class="kd">local</span> <span class="n">amj</span> <span class="o">=</span> <span class="n">annee</span> <span class="o">*</span> <span class="mi">10000</span> <span class="o">+</span> <span class="n">numMois</span> <span class="o">*</span> <span class="mi">100</span> <span class="o">+</span> <span class="n">jour</span> </span><span id="L-643"><a href="#L-643"><span class="linenos" data-line="643"></span></a> <span class="kr">if</span> <span class="n">amj</span> <span class="o"><</span> <span class="mi">15821014</span> <span class="kr">then</span> </span><span id="L-644"><a href="#L-644"><span class="linenos" data-line="644"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-645"><a href="#L-645"><span class="linenos" data-line="645"></span></a> <span class="n">gannee</span><span class="p">,</span> <span class="n">gmois</span><span class="p">,</span> <span class="n">gjour</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">julianToGregorian</span><span class="p">(</span> <span class="n">annee</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-646"><a href="#L-646"><span class="linenos" data-line="646"></span></a> <span class="kr">else</span> </span><span id="L-647"><a href="#L-647"><span class="linenos" data-line="647"></span></a> <span class="c1">-- calendrier grégorien proleptique avec année 0.</span> </span><span id="L-648"><a href="#L-648"><span class="linenos" data-line="648"></span></a> <span class="n">gannee</span><span class="p">,</span> <span class="n">gmois</span><span class="p">,</span> <span class="n">gjour</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">julianToGregorian</span><span class="p">(</span> <span class="n">annee</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-649"><a href="#L-649"><span class="linenos" data-line="649"></span></a> <span class="kr">end</span> </span><span id="L-650"><a href="#L-650"><span class="linenos" data-line="650"></span></a> <span class="n">args</span><span class="p">.</span><span class="n">julien</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-651"><a href="#L-651"><span class="linenos" data-line="651"></span></a> </span><span id="L-652"><a href="#L-652"><span class="linenos" data-line="652"></span></a> <span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">julien</span> <span class="kr">then</span> </span><span id="L-653"><a href="#L-653"><span class="linenos" data-line="653"></span></a> <span class="n">gannee</span><span class="p">,</span> <span class="n">gmois</span><span class="p">,</span> <span class="n">gjour</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">julianToGregorian</span><span class="p">(</span> <span class="n">annee</span><span class="p">,</span> <span class="n">numMois</span><span class="p">,</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-654"><a href="#L-654"><span class="linenos" data-line="654"></span></a> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">jour</span> <span class="o">=</span> <span class="n">gannee</span><span class="p">,</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">gmois</span><span class="p">].</span><span class="n">nom</span><span class="p">,</span> <span class="n">gjour</span> </span><span id="L-655"><a href="#L-655"><span class="linenos" data-line="655"></span></a> <span class="kr">if</span> <span class="n">jjour</span> <span class="o">==</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-656"><a href="#L-656"><span class="linenos" data-line="656"></span></a> <span class="n">jjour</span> <span class="o">=</span> <span class="n">modelePremier</span> </span><span id="L-657"><a href="#L-657"><span class="linenos" data-line="657"></span></a> <span class="kr">end</span> </span><span id="L-658"><a href="#L-658"><span class="linenos" data-line="658"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">compact</span> <span class="kr">then</span> </span><span id="L-659"><a href="#L-659"><span class="linenos" data-line="659"></span></a> <span class="n">jmois</span> <span class="o">=</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">jmois</span><span class="p">].</span><span class="n">abrev</span> </span><span id="L-660"><a href="#L-660"><span class="linenos" data-line="660"></span></a> <span class="kr">end</span> </span><span id="L-661"><a href="#L-661"><span class="linenos" data-line="661"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">julien</span> <span class="o">==</span> <span class="s1">'court'</span> <span class="kr">then</span> </span><span id="L-662"><a href="#L-662"><span class="linenos" data-line="662"></span></a> <span class="n">julienDate</span> <span class="o">=</span> <span class="n">jjour</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">jmois</span> <span class="o">..</span> <span class="s1">' '</span> </span><span id="L-663"><a href="#L-663"><span class="linenos" data-line="663"></span></a> <span class="n">julienSup</span> <span class="o">=</span> <span class="s1">'<sup>[[calendrier julien|jul.]]</sup>'</span> </span><span id="L-664"><a href="#L-664"><span class="linenos" data-line="664"></span></a> <span class="kr">if</span> <span class="n">jannee</span> <span class="o">==</span> <span class="n">annee</span> <span class="kr">then</span> </span><span id="L-665"><a href="#L-665"><span class="linenos" data-line="665"></span></a> <span class="n">gregAprMois</span> <span class="o">=</span> <span class="s1">'<sup>[[calendrier grégorien|grég.]]</sup>'</span> </span><span id="L-666"><a href="#L-666"><span class="linenos" data-line="666"></span></a> <span class="kr">else</span> </span><span id="L-667"><a href="#L-667"><span class="linenos" data-line="667"></span></a> <span class="n">julienDate</span> <span class="o">=</span> <span class="n">julienDate</span> <span class="o">..</span> <span class="n">jannee</span> <span class="o">..</span> <span class="s1">' '</span> </span><span id="L-668"><a href="#L-668"><span class="linenos" data-line="668"></span></a> <span class="n">gregAprAn</span> <span class="o">=</span> <span class="s1">'<sup>[[calendrier grégorien|grég.]]</sup>'</span> </span><span id="L-669"><a href="#L-669"><span class="linenos" data-line="669"></span></a> <span class="kr">end</span> </span><span id="L-670"><a href="#L-670"><span class="linenos" data-line="670"></span></a> <span class="n">julienSep</span> <span class="o">=</span> <span class="s1">' / '</span> </span><span id="L-671"><a href="#L-671"><span class="linenos" data-line="671"></span></a> <span class="kr">else</span> </span><span id="L-672"><a href="#L-672"><span class="linenos" data-line="672"></span></a> <span class="n">julienDate</span> <span class="o">=</span> <span class="n">jjour</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">jmois</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">jannee</span> </span><span id="L-673"><a href="#L-673"><span class="linenos" data-line="673"></span></a> <span class="n">julienSep</span> <span class="o">=</span> <span class="s1">' ('</span> </span><span id="L-674"><a href="#L-674"><span class="linenos" data-line="674"></span></a> <span class="n">gregFin</span> <span class="o">=</span> <span class="s1">' [[Passage du calendrier julien au calendrier grégorien|dans le calendrier grégorien]])'</span> </span><span id="L-675"><a href="#L-675"><span class="linenos" data-line="675"></span></a> <span class="kr">end</span> </span><span id="L-676"><a href="#L-676"><span class="linenos" data-line="676"></span></a> </span><span id="L-677"><a href="#L-677"><span class="linenos" data-line="677"></span></a> <span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">republicain</span> <span class="kr">then</span> </span><span id="L-678"><a href="#L-678"><span class="linenos" data-line="678"></span></a> <span class="kd">local</span> <span class="n">DateRep</span> <span class="o">=</span> <span class="nb">require</span> <span class="s1">'Module:Date républicaine'</span> </span><span id="L-679"><a href="#L-679"><span class="linenos" data-line="679"></span></a> <span class="kd">local</span> <span class="n">RepSansLiens</span> </span><span id="L-680"><a href="#L-680"><span class="linenos" data-line="680"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">republicain</span> <span class="o">==</span> <span class="s1">'liens'</span> <span class="kr">then</span> </span><span id="L-681"><a href="#L-681"><span class="linenos" data-line="681"></span></a> <span class="n">RepSansLiens</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-682"><a href="#L-682"><span class="linenos" data-line="682"></span></a> <span class="kr">else</span> </span><span id="L-683"><a href="#L-683"><span class="linenos" data-line="683"></span></a> <span class="n">RepSansLiens</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-684"><a href="#L-684"><span class="linenos" data-line="684"></span></a> <span class="kr">end</span> </span><span id="L-685"><a href="#L-685"><span class="linenos" data-line="685"></span></a> <span class="n">dateRepublicaine</span> <span class="o">=</span> <span class="n">DateRep</span><span class="p">.</span><span class="n">_date_republicaine</span><span class="p">(</span> </span><span id="L-686"><a href="#L-686"><span class="linenos" data-line="686"></span></a> <span class="n">RepSansLiens</span><span class="p">,</span> </span><span id="L-687"><a href="#L-687"><span class="linenos" data-line="687"></span></a> <span class="p">{</span> <span class="n">fun</span><span class="p">.</span><span class="n">formatRepCal</span><span class="p">(</span> <span class="n">fun</span><span class="p">.</span><span class="n">do_toRepCal</span><span class="p">{</span><span class="n">gannee</span><span class="p">,</span> <span class="n">gmois</span><span class="p">,</span> <span class="n">gjour</span><span class="p">}</span> <span class="p">)</span> <span class="p">}</span> </span><span id="L-688"><a href="#L-688"><span class="linenos" data-line="688"></span></a> <span class="p">)</span> </span><span id="L-689"><a href="#L-689"><span class="linenos" data-line="689"></span></a> <span class="kr">end</span> </span><span id="L-690"><a href="#L-690"><span class="linenos" data-line="690"></span></a> <span class="kr">else</span> </span><span id="L-691"><a href="#L-691"><span class="linenos" data-line="691"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="ow">and</span> <span class="n">annee</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-692"><a href="#L-692"><span class="linenos" data-line="692"></span></a> <span class="n">gannee</span> <span class="o">=</span> <span class="n">gannee</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-693"><a href="#L-693"><span class="linenos" data-line="693"></span></a> <span class="kr">end</span> </span><span id="L-694"><a href="#L-694"><span class="linenos" data-line="694"></span></a> <span class="n">args</span><span class="p">.</span><span class="n">julien</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-695"><a href="#L-695"><span class="linenos" data-line="695"></span></a> <span class="n">args</span><span class="p">.</span><span class="n">republicain</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-696"><a href="#L-696"><span class="linenos" data-line="696"></span></a> <span class="kr">end</span> </span><span id="L-697"><a href="#L-697"><span class="linenos" data-line="697"></span></a> </span><span id="L-698"><a href="#L-698"><span class="linenos" data-line="698"></span></a> <span class="c1">-- on génère le résultat</span> </span><span id="L-699"><a href="#L-699"><span class="linenos" data-line="699"></span></a> </span><span id="L-700"><a href="#L-700"><span class="linenos" data-line="700"></span></a> <span class="c1">-- Déclarations des variables</span> </span><span id="L-701"><a href="#L-701"><span class="linenos" data-line="701"></span></a> <span class="kd">local</span> <span class="n">wikiListe</span> <span class="o">=</span> <span class="p">{}</span> <span class="c1">-- reçoit le texte affiché pour chaque paramètre</span> </span><span id="L-702"><a href="#L-702"><span class="linenos" data-line="702"></span></a> <span class="kd">local</span> <span class="n">iso</span> <span class="o">=</span> <span class="p">{}</span> <span class="c1">-- reçoit le format date ISO de ce paramètre</span> </span><span id="L-703"><a href="#L-703"><span class="linenos" data-line="703"></span></a> <span class="kd">local</span> <span class="n">texteMois</span> <span class="o">=</span> <span class="n">mois</span> <span class="c1">-- texte du mois qui sera affiché (éventuellement l'abréviation)</span> </span><span id="L-704"><a href="#L-704"><span class="linenos" data-line="704"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">compact</span> <span class="kr">then</span> </span><span id="L-705"><a href="#L-705"><span class="linenos" data-line="705"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">numMois</span> <span class="kr">then</span> </span><span id="L-706"><a href="#L-706"><span class="linenos" data-line="706"></span></a> <span class="c1">-- mois est autre chose qu'un simple mois : saison, mois-mois... auquel cas, pas d'abréviation (provoquait erreur Lua)</span> </span><span id="L-707"><a href="#L-707"><span class="linenos" data-line="707"></span></a> <span class="c1">-- (les abréviations pour le cas "mois[-/]mois" seraient théoriquement possibles, mais ça reste à implémenter)</span> </span><span id="L-708"><a href="#L-708"><span class="linenos" data-line="708"></span></a> <span class="kr">else</span> </span><span id="L-709"><a href="#L-709"><span class="linenos" data-line="709"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">nolinks</span> <span class="kr">then</span> </span><span id="L-710"><a href="#L-710"><span class="linenos" data-line="710"></span></a> <span class="n">texteMois</span> <span class="o">=</span> <span class="s1">'<abbr class="abbr" title="'</span> <span class="o">..</span> <span class="n">mois</span> <span class="o">..</span> <span class="s1">'">'</span> <span class="o">..</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">mois</span><span class="p">].</span><span class="n">abrev</span> <span class="o">..</span> <span class="s1">'</abbr>'</span> </span><span id="L-711"><a href="#L-711"><span class="linenos" data-line="711"></span></a> <span class="kr">else</span> </span><span id="L-712"><a href="#L-712"><span class="linenos" data-line="712"></span></a> <span class="n">texteMois</span> <span class="o">=</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">mois</span><span class="p">].</span><span class="n">abrev</span> </span><span id="L-713"><a href="#L-713"><span class="linenos" data-line="713"></span></a> <span class="kr">end</span> </span><span id="L-714"><a href="#L-714"><span class="linenos" data-line="714"></span></a> <span class="kr">end</span> </span><span id="L-715"><a href="#L-715"><span class="linenos" data-line="715"></span></a> <span class="kr">end</span> </span><span id="L-716"><a href="#L-716"><span class="linenos" data-line="716"></span></a> <span class="n">mois</span> <span class="o">=</span> <span class="n">mois</span> <span class="ow">and</span> <span class="n">mois</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s1">'aout'</span><span class="p">,</span> <span class="s1">'août'</span> <span class="p">)</span> </span><span id="L-717"><a href="#L-717"><span class="linenos" data-line="717"></span></a> </span><span id="L-718"><a href="#L-718"><span class="linenos" data-line="718"></span></a> <span class="kd">local</span> <span class="n">dataQualificatif</span><span class="p">,</span> <span class="n">dataCat</span> </span><span id="L-719"><a href="#L-719"><span class="linenos" data-line="719"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">nolinks</span> <span class="kr">then</span> </span><span id="L-720"><a href="#L-720"><span class="linenos" data-line="720"></span></a> <span class="n">dataQualificatif</span> <span class="o">=</span> <span class="n">dataLiens</span><span class="p">[</span><span class="n">qualificatif</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">]</span> </span><span id="L-721"><a href="#L-721"><span class="linenos" data-line="721"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">dataQualificatif</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="kr">then</span> </span><span id="L-722"><a href="#L-722"><span class="linenos" data-line="722"></span></a> <span class="c1">-- si le qualificatif n'est pas dans la base de données, on crée une table minimum,</span> </span><span id="L-723"><a href="#L-723"><span class="linenos" data-line="723"></span></a> <span class="c1">-- qui imposera un test sur l'année, mais considère qu'il n'y a pas de lien sur le jour ou le mois</span> </span><span id="L-724"><a href="#L-724"><span class="linenos" data-line="724"></span></a> <span class="n">dataQualificatif</span> <span class="o">=</span> <span class="p">{</span> <span class="n">qualificatif</span> <span class="o">=</span> <span class="n">qualificatif</span><span class="p">,</span> <span class="n">annee</span> <span class="o">=</span> <span class="p">{</span> <span class="p">}</span> <span class="p">}</span> </span><span id="L-725"><a href="#L-725"><span class="linenos" data-line="725"></span></a> <span class="kr">end</span> </span><span id="L-726"><a href="#L-726"><span class="linenos" data-line="726"></span></a> <span class="n">dataCat</span> <span class="o">=</span> <span class="n">dataLiens</span><span class="p">[</span><span class="n">dataQualificatif</span><span class="p">.</span><span class="n">cat</span><span class="p">]</span> </span><span id="L-727"><a href="#L-727"><span class="linenos" data-line="727"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">dataCat</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="ow">or</span> <span class="n">dataCat</span> <span class="o">==</span> <span class="n">dataQualificatif</span> <span class="kr">then</span> </span><span id="L-728"><a href="#L-728"><span class="linenos" data-line="728"></span></a> <span class="n">dataCat</span> <span class="o">=</span> <span class="p">{</span> <span class="n">qualificatif</span> <span class="o">=</span> <span class="s1">''</span> <span class="p">}</span> </span><span id="L-729"><a href="#L-729"><span class="linenos" data-line="729"></span></a> <span class="kr">end</span> </span><span id="L-730"><a href="#L-730"><span class="linenos" data-line="730"></span></a> <span class="kr">end</span> </span><span id="L-731"><a href="#L-731"><span class="linenos" data-line="731"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">wikiLien</span><span class="p">(</span> <span class="n">lien</span><span class="p">,</span> <span class="n">texte</span> <span class="p">)</span> </span><span id="L-732"><a href="#L-732"><span class="linenos" data-line="732"></span></a> <span class="kr">if</span> <span class="n">lien</span> <span class="o">==</span> <span class="n">texte</span> <span class="kr">then</span> </span><span id="L-733"><a href="#L-733"><span class="linenos" data-line="733"></span></a> <span class="kr">return</span> <span class="s1">'[['</span> <span class="o">..</span> <span class="n">texte</span> <span class="o">..</span> <span class="s1">']]'</span> </span><span id="L-734"><a href="#L-734"><span class="linenos" data-line="734"></span></a> <span class="kr">else</span> </span><span id="L-735"><a href="#L-735"><span class="linenos" data-line="735"></span></a> <span class="kr">return</span> <span class="s1">'[['</span> <span class="o">..</span> <span class="n">lien</span> <span class="o">..</span> <span class="s1">'|'</span> <span class="o">..</span> <span class="n">texte</span> <span class="o">..</span> <span class="s1">']]'</span> </span><span id="L-736"><a href="#L-736"><span class="linenos" data-line="736"></span></a> <span class="kr">end</span> </span><span id="L-737"><a href="#L-737"><span class="linenos" data-line="737"></span></a> <span class="kr">end</span> </span><span id="L-738"><a href="#L-738"><span class="linenos" data-line="738"></span></a> </span><span id="L-739"><a href="#L-739"><span class="linenos" data-line="739"></span></a> </span><span id="L-740"><a href="#L-740"><span class="linenos" data-line="740"></span></a> <span class="c1">-- le jour si présent</span> </span><span id="L-741"><a href="#L-741"><span class="linenos" data-line="741"></span></a> <span class="kd">local</span> <span class="n">qualifJour</span> <span class="o">=</span> <span class="s1">''</span> </span><span id="L-742"><a href="#L-742"><span class="linenos" data-line="742"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="kr">then</span> </span><span id="L-743"><a href="#L-743"><span class="linenos" data-line="743"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">nolinks</span> <span class="kr">then</span> </span><span id="L-744"><a href="#L-744"><span class="linenos" data-line="744"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="o">==</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-745"><a href="#L-745"><span class="linenos" data-line="745"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="n">modelePremier</span> </span><span id="L-746"><a href="#L-746"><span class="linenos" data-line="746"></span></a> <span class="kr">end</span> </span><span id="L-747"><a href="#L-747"><span class="linenos" data-line="747"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-748"><a href="#L-748"><span class="linenos" data-line="748"></span></a> <span class="kr">else</span> </span><span id="L-749"><a href="#L-749"><span class="linenos" data-line="749"></span></a> <span class="n">qualifJour</span> <span class="o">=</span> <span class="n">dataQualificatif</span><span class="p">.</span><span class="n">jour</span> <span class="ow">and</span> <span class="n">dataQualificatif</span><span class="p">.</span><span class="n">qualificatif</span> </span><span id="L-750"><a href="#L-750"><span class="linenos" data-line="750"></span></a> <span class="ow">or</span> <span class="n">dataCat</span><span class="p">.</span><span class="n">jour</span> <span class="ow">and</span> <span class="n">dataCat</span><span class="p">.</span><span class="n">qualificatif</span> </span><span id="L-751"><a href="#L-751"><span class="linenos" data-line="751"></span></a> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-752"><a href="#L-752"><span class="linenos" data-line="752"></span></a> <span class="kd">local</span> <span class="n">texteJour</span><span class="p">,</span> <span class="n">lien</span> </span><span id="L-753"><a href="#L-753"><span class="linenos" data-line="753"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="o">==</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-754"><a href="#L-754"><span class="linenos" data-line="754"></span></a> <span class="n">texteJour</span> <span class="o">=</span> <span class="s1">'1<sup>er</sup>'</span> </span><span id="L-755"><a href="#L-755"><span class="linenos" data-line="755"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="s1">'1er '</span> <span class="o">..</span> <span class="n">mois</span> </span><span id="L-756"><a href="#L-756"><span class="linenos" data-line="756"></span></a> <span class="kr">else</span> </span><span id="L-757"><a href="#L-757"><span class="linenos" data-line="757"></span></a> <span class="n">texteJour</span> <span class="o">=</span> <span class="n">jour</span> </span><span id="L-758"><a href="#L-758"><span class="linenos" data-line="758"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="n">jour</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">mois</span> </span><span id="L-759"><a href="#L-759"><span class="linenos" data-line="759"></span></a> <span class="kr">end</span> </span><span id="L-760"><a href="#L-760"><span class="linenos" data-line="760"></span></a> <span class="kr">if</span> <span class="n">qualifJour</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-761"><a href="#L-761"><span class="linenos" data-line="761"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="n">lien</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">qualifJour</span> </span><span id="L-762"><a href="#L-762"><span class="linenos" data-line="762"></span></a> <span class="kr">end</span> </span><span id="L-763"><a href="#L-763"><span class="linenos" data-line="763"></span></a> <span class="c1">-- s'il n'y a pas de lien sur le mois, il sera affiché avec le jour.</span> </span><span id="L-764"><a href="#L-764"><span class="linenos" data-line="764"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">wikiLien</span><span class="p">(</span> <span class="n">lien</span><span class="p">,</span> <span class="n">texteJour</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-765"><a href="#L-765"><span class="linenos" data-line="765"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">wikiLien</span><span class="p">(</span> <span class="n">lien</span><span class="p">,</span> <span class="n">texteJour</span> <span class="o">..</span> <span class="s1">' '</span><span class="o">..</span> <span class="n">texteMois</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-766"><a href="#L-766"><span class="linenos" data-line="766"></span></a> <span class="kr">end</span> </span><span id="L-767"><a href="#L-767"><span class="linenos" data-line="767"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">iso</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="nb">string.sub</span><span class="p">(</span> <span class="s1">'0'</span> <span class="o">..</span> <span class="n">gjour</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-768"><a href="#L-768"><span class="linenos" data-line="768"></span></a> <span class="kr">end</span> </span><span id="L-769"><a href="#L-769"><span class="linenos" data-line="769"></span></a> </span><span id="L-770"><a href="#L-770"><span class="linenos" data-line="770"></span></a> <span class="c1">-- le mois</span> </span><span id="L-771"><a href="#L-771"><span class="linenos" data-line="771"></span></a> <span class="kr">if</span> <span class="n">mois</span> <span class="kr">then</span> </span><span id="L-772"><a href="#L-772"><span class="linenos" data-line="772"></span></a> <span class="kr">if</span> <span class="o">#</span><span class="n">wikiListe</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">annee</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-773"><a href="#L-773"><span class="linenos" data-line="773"></span></a> <span class="kr">return</span> <span class="n">texteMois</span> </span><span id="L-774"><a href="#L-774"><span class="linenos" data-line="774"></span></a> <span class="kr">end</span> </span><span id="L-775"><a href="#L-775"><span class="linenos" data-line="775"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">nolinks</span> <span class="kr">then</span> </span><span id="L-776"><a href="#L-776"><span class="linenos" data-line="776"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerMois</span> <span class="kr">then</span> </span><span id="L-777"><a href="#L-777"><span class="linenos" data-line="777"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">texteMois</span> <span class="p">)</span> </span><span id="L-778"><a href="#L-778"><span class="linenos" data-line="778"></span></a> <span class="kr">end</span> </span><span id="L-779"><a href="#L-779"><span class="linenos" data-line="779"></span></a> <span class="kr">else</span> </span><span id="L-780"><a href="#L-780"><span class="linenos" data-line="780"></span></a> <span class="kd">local</span> <span class="n">lien</span> </span><span id="L-781"><a href="#L-781"><span class="linenos" data-line="781"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="kr">then</span> </span><span id="L-782"><a href="#L-782"><span class="linenos" data-line="782"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">numMois</span> <span class="kr">then</span> </span><span id="L-783"><a href="#L-783"><span class="linenos" data-line="783"></span></a> <span class="c1">-- mois est autre chose qu'un simple mois : saison, mois-mois... auquel cas, pas de lien</span> </span><span id="L-784"><a href="#L-784"><span class="linenos" data-line="784"></span></a> <span class="kr">else</span> </span><span id="L-785"><a href="#L-785"><span class="linenos" data-line="785"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="n">existDate</span><span class="p">(</span> <span class="n">dataQualificatif</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">existDate</span><span class="p">(</span> <span class="n">dataCat</span><span class="p">,</span> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-786"><a href="#L-786"><span class="linenos" data-line="786"></span></a> <span class="kr">if</span> <span class="n">lien</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">and</span> <span class="n">qualificatif</span> <span class="ow">and</span> <span class="n">qualifJour</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-787"><a href="#L-787"><span class="linenos" data-line="787"></span></a> <span class="c1">-- nouveau test sans le qualificatif uniquement s'il n'y a pas d'éphémérides pour ce qualificatif.</span> </span><span id="L-788"><a href="#L-788"><span class="linenos" data-line="788"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="n">existDate</span><span class="p">(</span> <span class="n">dataLiens</span><span class="p">[</span><span class="s1">''</span><span class="p">],</span> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-789"><a href="#L-789"><span class="linenos" data-line="789"></span></a> <span class="kr">end</span> </span><span id="L-790"><a href="#L-790"><span class="linenos" data-line="790"></span></a> <span class="kr">end</span> </span><span id="L-791"><a href="#L-791"><span class="linenos" data-line="791"></span></a> <span class="kr">end</span> </span><span id="L-792"><a href="#L-792"><span class="linenos" data-line="792"></span></a> <span class="kr">if</span> <span class="n">lien</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerMois</span> <span class="kr">then</span> </span><span id="L-793"><a href="#L-793"><span class="linenos" data-line="793"></span></a> <span class="c1">-- s'il y a un lien on retire le lien affichant 'jour mois' pour ajouter '[[mois annee|mois]]'</span> </span><span id="L-794"><a href="#L-794"><span class="linenos" data-line="794"></span></a> <span class="nb">table.remove</span><span class="p">(</span> <span class="n">wikiListe</span> <span class="p">)</span> </span><span id="L-795"><a href="#L-795"><span class="linenos" data-line="795"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerMois</span> <span class="kr">then</span> </span><span id="L-796"><a href="#L-796"><span class="linenos" data-line="796"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">wikiLien</span><span class="p">(</span> <span class="n">lien</span><span class="p">,</span> <span class="n">texteMois</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-797"><a href="#L-797"><span class="linenos" data-line="797"></span></a> <span class="kr">end</span> </span><span id="L-798"><a href="#L-798"><span class="linenos" data-line="798"></span></a> <span class="kr">elseif</span> <span class="o">#</span><span class="n">wikiListe</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-799"><a href="#L-799"><span class="linenos" data-line="799"></span></a> <span class="c1">-- sinon on retire le lien affichant 'jour' pour ne garder que le lien 'jour mois'</span> </span><span id="L-800"><a href="#L-800"><span class="linenos" data-line="800"></span></a> <span class="nb">table.remove</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="o">#</span><span class="n">wikiListe</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">)</span> </span><span id="L-801"><a href="#L-801"><span class="linenos" data-line="801"></span></a> <span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerAnnee</span> <span class="kr">then</span> </span><span id="L-802"><a href="#L-802"><span class="linenos" data-line="802"></span></a> <span class="c1">-- s'il n'y a pas de jour et que l'année n'est pas affichée, on insère le mois seul.</span> </span><span id="L-803"><a href="#L-803"><span class="linenos" data-line="803"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">texteMois</span> <span class="p">)</span> </span><span id="L-804"><a href="#L-804"><span class="linenos" data-line="804"></span></a> <span class="kr">end</span> </span><span id="L-805"><a href="#L-805"><span class="linenos" data-line="805"></span></a> <span class="kr">end</span> </span><span id="L-806"><a href="#L-806"><span class="linenos" data-line="806"></span></a> <span class="kr">if</span> <span class="n">gmois</span> <span class="kr">then</span> </span><span id="L-807"><a href="#L-807"><span class="linenos" data-line="807"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">iso</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="nb">string.sub</span><span class="p">(</span> <span class="s1">'0'</span> <span class="o">..</span> <span class="n">gmois</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-808"><a href="#L-808"><span class="linenos" data-line="808"></span></a> <span class="kr">end</span> </span><span id="L-809"><a href="#L-809"><span class="linenos" data-line="809"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">gregAprMois</span> <span class="p">)</span> </span><span id="L-810"><a href="#L-810"><span class="linenos" data-line="810"></span></a> <span class="kr">end</span> </span><span id="L-811"><a href="#L-811"><span class="linenos" data-line="811"></span></a> </span><span id="L-812"><a href="#L-812"><span class="linenos" data-line="812"></span></a> <span class="c1">-- l'année</span> </span><span id="L-813"><a href="#L-813"><span class="linenos" data-line="813"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="ow">and</span> <span class="ow">not</span> <span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">julien</span> <span class="o">==</span> <span class="kc">true</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">nolinks</span> <span class="ow">and</span> <span class="n">jannee</span> <span class="o">==</span> <span class="n">annee</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-814"><a href="#L-814"><span class="linenos" data-line="814"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">masquerAnnee</span> <span class="kr">then</span> </span><span id="L-815"><a href="#L-815"><span class="linenos" data-line="815"></span></a> <span class="kd">local</span> <span class="n">texteAnnee</span> <span class="o">=</span> <span class="n">annee</span> </span><span id="L-816"><a href="#L-816"><span class="linenos" data-line="816"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-817"><a href="#L-817"><span class="linenos" data-line="817"></span></a> <span class="kd">local</span> <span class="n">anneeAvJc</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">-</span> <span class="n">annee</span> </span><span id="L-818"><a href="#L-818"><span class="linenos" data-line="818"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">avJC</span> <span class="o">==</span> <span class="kc">false</span> <span class="kr">then</span> </span><span id="L-819"><a href="#L-819"><span class="linenos" data-line="819"></span></a> <span class="n">texteAnnee</span> <span class="o">=</span> <span class="n">anneeAvJc</span> </span><span id="L-820"><a href="#L-820"><span class="linenos" data-line="820"></span></a> <span class="kr">else</span> </span><span id="L-821"><a href="#L-821"><span class="linenos" data-line="821"></span></a> <span class="n">texteAnnee</span> <span class="o">=</span> <span class="n">anneeAvJc</span> <span class="o">..</span> <span class="s1">' <abbr class="abbr" title="'</span> </span><span id="L-822"><a href="#L-822"><span class="linenos" data-line="822"></span></a> <span class="o">..</span> <span class="s1">'avant Jésus-Christ">av. J.-C.</abbr>'</span> </span><span id="L-823"><a href="#L-823"><span class="linenos" data-line="823"></span></a> <span class="kr">end</span> </span><span id="L-824"><a href="#L-824"><span class="linenos" data-line="824"></span></a> <span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">apJC</span> <span class="kr">then</span> </span><span id="L-825"><a href="#L-825"><span class="linenos" data-line="825"></span></a> <span class="n">texteAnnee</span> <span class="o">=</span> <span class="n">texteAnnee</span> <span class="o">..</span> <span class="s1">' <abbr class="abbr" title="'</span> </span><span id="L-826"><a href="#L-826"><span class="linenos" data-line="826"></span></a> <span class="o">..</span> <span class="s1">'après Jésus-Christ">apr. J.-C.</abbr>'</span> </span><span id="L-827"><a href="#L-827"><span class="linenos" data-line="827"></span></a> <span class="kr">end</span> </span><span id="L-828"><a href="#L-828"><span class="linenos" data-line="828"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">nolinks</span> <span class="kr">then</span> <span class="c1">-- seulement si on doit l'afficher</span> </span><span id="L-829"><a href="#L-829"><span class="linenos" data-line="829"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">texteAnnee</span> <span class="p">)</span> </span><span id="L-830"><a href="#L-830"><span class="linenos" data-line="830"></span></a> <span class="kr">else</span> </span><span id="L-831"><a href="#L-831"><span class="linenos" data-line="831"></span></a> <span class="kd">local</span> <span class="n">lien</span> <span class="o">=</span> <span class="n">existDate</span><span class="p">(</span> <span class="n">dataQualificatif</span><span class="p">,</span> <span class="n">annee</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">existDate</span><span class="p">(</span> <span class="n">dataCat</span><span class="p">,</span> <span class="n">annee</span> <span class="p">)</span> </span><span id="L-832"><a href="#L-832"><span class="linenos" data-line="832"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">lien</span> <span class="kr">then</span> </span><span id="L-833"><a href="#L-833"><span class="linenos" data-line="833"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-834"><a href="#L-834"><span class="linenos" data-line="834"></span></a> <span class="kd">local</span> <span class="n">anneeAvJc</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">-</span> <span class="n">annee</span> </span><span id="L-835"><a href="#L-835"><span class="linenos" data-line="835"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="n">anneeAvJc</span> <span class="o">..</span> <span class="s1">' av. J.-C.'</span> </span><span id="L-836"><a href="#L-836"><span class="linenos" data-line="836"></span></a> <span class="kr">else</span> </span><span id="L-837"><a href="#L-837"><span class="linenos" data-line="837"></span></a> <span class="n">lien</span> <span class="o">=</span> <span class="n">annee</span> </span><span id="L-838"><a href="#L-838"><span class="linenos" data-line="838"></span></a> <span class="kr">end</span> </span><span id="L-839"><a href="#L-839"><span class="linenos" data-line="839"></span></a> <span class="kr">end</span> </span><span id="L-840"><a href="#L-840"><span class="linenos" data-line="840"></span></a> <span class="kr">if</span> <span class="n">mois</span> <span class="ow">and</span> <span class="o">#</span><span class="n">wikiListe</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-841"><a href="#L-841"><span class="linenos" data-line="841"></span></a> <span class="c1">-- si le mois n'a pas de lien et n'est pas affiché avec le jour, il est affiché avec l'année.</span> </span><span id="L-842"><a href="#L-842"><span class="linenos" data-line="842"></span></a> <span class="n">texteAnnee</span> <span class="o">=</span> <span class="n">texteMois</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">texteAnnee</span> </span><span id="L-843"><a href="#L-843"><span class="linenos" data-line="843"></span></a> <span class="kr">end</span> </span><span id="L-844"><a href="#L-844"><span class="linenos" data-line="844"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">wikiLien</span><span class="p">(</span> <span class="n">lien</span><span class="p">,</span> <span class="n">texteAnnee</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-845"><a href="#L-845"><span class="linenos" data-line="845"></span></a> <span class="kr">end</span> </span><span id="L-846"><a href="#L-846"><span class="linenos" data-line="846"></span></a> <span class="kr">end</span> </span><span id="L-847"><a href="#L-847"><span class="linenos" data-line="847"></span></a> <span class="kr">end</span> </span><span id="L-848"><a href="#L-848"><span class="linenos" data-line="848"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="kr">then</span> </span><span id="L-849"><a href="#L-849"><span class="linenos" data-line="849"></span></a> <span class="kr">if</span> <span class="n">gannee</span> <span class="o">></span> <span class="mi">999</span> <span class="kr">then</span> </span><span id="L-850"><a href="#L-850"><span class="linenos" data-line="850"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">iso</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">gannee</span> <span class="p">)</span> </span><span id="L-851"><a href="#L-851"><span class="linenos" data-line="851"></span></a> <span class="kr">elseif</span> <span class="n">gannee</span> <span class="o">></span> <span class="o">-</span><span class="mi">1</span> <span class="kr">then</span> </span><span id="L-852"><a href="#L-852"><span class="linenos" data-line="852"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">iso</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="nb">string.sub</span><span class="p">(</span> <span class="s1">'000'</span> <span class="o">..</span> <span class="n">gannee</span> <span class="p">,</span> <span class="o">-</span><span class="mi">4</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-853"><a href="#L-853"><span class="linenos" data-line="853"></span></a> <span class="kr">elseif</span> <span class="n">gannee</span> <span class="o">></span> <span class="o">-</span><span class="mi">999</span> <span class="kr">then</span> </span><span id="L-854"><a href="#L-854"><span class="linenos" data-line="854"></span></a> <span class="c1">-- calendrier grégorien proleptique avec année 0.</span> </span><span id="L-855"><a href="#L-855"><span class="linenos" data-line="855"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">iso</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s1">'U-'</span> <span class="o">..</span> <span class="nb">string.sub</span><span class="p">(</span> <span class="s1">'000'</span> <span class="o">..</span> <span class="p">(</span> <span class="mi">0</span> <span class="o">-</span> <span class="n">gannee</span> <span class="p">),</span> <span class="o">-</span><span class="mi">4</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-856"><a href="#L-856"><span class="linenos" data-line="856"></span></a> <span class="kr">else</span> </span><span id="L-857"><a href="#L-857"><span class="linenos" data-line="857"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">iso</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s1">'U'</span> <span class="o">..</span> <span class="n">gannee</span> <span class="p">)</span> </span><span id="L-858"><a href="#L-858"><span class="linenos" data-line="858"></span></a> <span class="kr">end</span> </span><span id="L-859"><a href="#L-859"><span class="linenos" data-line="859"></span></a> <span class="kr">end</span> </span><span id="L-860"><a href="#L-860"><span class="linenos" data-line="860"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="n">gregAprAn</span> <span class="p">)</span> </span><span id="L-861"><a href="#L-861"><span class="linenos" data-line="861"></span></a> </span><span id="L-862"><a href="#L-862"><span class="linenos" data-line="862"></span></a> <span class="c1">-- l'age</span> </span><span id="L-863"><a href="#L-863"><span class="linenos" data-line="863"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">age</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'number'</span> <span class="ow">and</span> <span class="n">age</span> <span class="o">>=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="p">(</span> <span class="ow">not</span> <span class="n">naissance</span> <span class="ow">or</span> <span class="n">age</span> <span class="o"><</span> <span class="mi">120</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-864"><a href="#L-864"><span class="linenos" data-line="864"></span></a> <span class="kr">if</span> <span class="n">age</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-865"><a href="#L-865"><span class="linenos" data-line="865"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="s1">'('</span> <span class="o">..</span> <span class="n">agePrefix</span> <span class="o">..</span> <span class="s1">'moins d’un</span><span class="se">\194\160</span><span class="s1">an)'</span> </span><span id="L-866"><a href="#L-866"><span class="linenos" data-line="866"></span></a> <span class="kr">elseif</span> <span class="n">age</span> <span class="o">==</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-867"><a href="#L-867"><span class="linenos" data-line="867"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="s1">'('</span> <span class="o">..</span> <span class="n">agePrefix</span> <span class="o">..</span> <span class="s1">'1</span><span class="se">\194\160</span><span class="s1">an)'</span> </span><span id="L-868"><a href="#L-868"><span class="linenos" data-line="868"></span></a> <span class="kr">else</span> </span><span id="L-869"><a href="#L-869"><span class="linenos" data-line="869"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="s1">'('</span><span class="o">..</span> <span class="n">agePrefix</span> <span class="o">..</span> <span class="n">age</span> <span class="o">..</span> <span class="s1">'</span><span class="se">\194\160</span><span class="s1">ans)'</span> </span><span id="L-870"><a href="#L-870"><span class="linenos" data-line="870"></span></a> <span class="kr">end</span> </span><span id="L-871"><a href="#L-871"><span class="linenos" data-line="871"></span></a> <span class="kr">else</span> </span><span id="L-872"><a href="#L-872"><span class="linenos" data-line="872"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-873"><a href="#L-873"><span class="linenos" data-line="873"></span></a> <span class="kr">end</span> </span><span id="L-874"><a href="#L-874"><span class="linenos" data-line="874"></span></a> </span><span id="L-875"><a href="#L-875"><span class="linenos" data-line="875"></span></a> </span><span id="L-876"><a href="#L-876"><span class="linenos" data-line="876"></span></a> <span class="c1">-- compilation du résultat</span> </span><span id="L-877"><a href="#L-877"><span class="linenos" data-line="877"></span></a> <span class="kd">local</span> <span class="n">wikiTexte</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span> <span class="n">wikiListe</span><span class="p">,</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-878"><a href="#L-878"><span class="linenos" data-line="878"></span></a> <span class="kd">local</span> <span class="n">isoTexte</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span> <span class="n">iso</span><span class="p">,</span> <span class="s1">'-'</span> <span class="p">)</span> </span><span id="L-879"><a href="#L-879"><span class="linenos" data-line="879"></span></a> </span><span id="L-880"><a href="#L-880"><span class="linenos" data-line="880"></span></a> <span class="c1">-- On ajoute un peu de sémantique.</span> </span><span id="L-881"><a href="#L-881"><span class="linenos" data-line="881"></span></a> <span class="kd">local</span> <span class="n">wikiHtml</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">html</span><span class="p">.</span><span class="n">create</span><span class="p">(</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-882"><a href="#L-882"><span class="linenos" data-line="882"></span></a> </span><span id="L-883"><a href="#L-883"><span class="linenos" data-line="883"></span></a> <span class="kr">if</span> <span class="n">julienDate</span> <span class="kr">then</span> </span><span id="L-884"><a href="#L-884"><span class="linenos" data-line="884"></span></a> <span class="n">wikiHtml</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'span'</span><span class="p">)</span> </span><span id="L-885"><a href="#L-885"><span class="linenos" data-line="885"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span> <span class="s1">'nowrap'</span> <span class="p">)</span> </span><span id="L-886"><a href="#L-886"><span class="linenos" data-line="886"></span></a> <span class="p">:</span><span class="n">attr</span><span class="p">(</span> <span class="s1">'data-sort-value'</span><span class="p">,</span> <span class="n">isoTexte</span> <span class="p">)</span> </span><span id="L-887"><a href="#L-887"><span class="linenos" data-line="887"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">julienDate</span> <span class="p">)</span> </span><span id="L-888"><a href="#L-888"><span class="linenos" data-line="888"></span></a> <span class="p">:</span><span class="n">node</span><span class="p">(</span> <span class="n">julienSup</span> <span class="p">)</span> </span><span id="L-889"><a href="#L-889"><span class="linenos" data-line="889"></span></a> <span class="p">:</span><span class="n">done</span><span class="p">()</span> </span><span id="L-890"><a href="#L-890"><span class="linenos" data-line="890"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">julienSep</span> <span class="p">)</span> </span><span id="L-891"><a href="#L-891"><span class="linenos" data-line="891"></span></a> <span class="kr">end</span> </span><span id="L-892"><a href="#L-892"><span class="linenos" data-line="892"></span></a> </span><span id="L-893"><a href="#L-893"><span class="linenos" data-line="893"></span></a> <span class="kd">local</span> <span class="n">dateHtml</span> <span class="o">=</span> <span class="n">wikiHtml</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'time'</span> <span class="p">)</span> </span><span id="L-894"><a href="#L-894"><span class="linenos" data-line="894"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">wikiTexte</span> <span class="p">)</span> </span><span id="L-895"><a href="#L-895"><span class="linenos" data-line="895"></span></a> <span class="kr">if</span> <span class="n">wikiTexte</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">' '</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-896"><a href="#L-896"><span class="linenos" data-line="896"></span></a> <span class="n">dateHtml</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span> <span class="s1">'nowrap'</span> <span class="p">)</span> </span><span id="L-897"><a href="#L-897"><span class="linenos" data-line="897"></span></a> <span class="kr">end</span> </span><span id="L-898"><a href="#L-898"><span class="linenos" data-line="898"></span></a> <span class="kr">if</span> <span class="n">isoTexte</span> <span class="o">~=</span> <span class="n">wikiTexte</span> <span class="kr">then</span> </span><span id="L-899"><a href="#L-899"><span class="linenos" data-line="899"></span></a> <span class="n">dateHtml</span><span class="p">:</span><span class="n">attr</span><span class="p">(</span> <span class="s1">'datetime'</span><span class="p">,</span> <span class="n">isoTexte</span> <span class="p">)</span> </span><span id="L-900"><a href="#L-900"><span class="linenos" data-line="900"></span></a> <span class="p">:</span><span class="n">attr</span><span class="p">(</span> <span class="s1">'data-sort-value'</span><span class="p">,</span> <span class="n">isoTexte</span> <span class="p">)</span> </span><span id="L-901"><a href="#L-901"><span class="linenos" data-line="901"></span></a> <span class="kr">end</span> </span><span id="L-902"><a href="#L-902"><span class="linenos" data-line="902"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">nolinks</span> <span class="kr">then</span> </span><span id="L-903"><a href="#L-903"><span class="linenos" data-line="903"></span></a> <span class="n">dateHtml</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span> <span class="s1">'date-lien'</span> <span class="p">)</span> </span><span id="L-904"><a href="#L-904"><span class="linenos" data-line="904"></span></a> <span class="kr">end</span> </span><span id="L-905"><a href="#L-905"><span class="linenos" data-line="905"></span></a> <span class="kr">if</span> <span class="n">naissance</span> <span class="kr">then</span> </span><span id="L-906"><a href="#L-906"><span class="linenos" data-line="906"></span></a> <span class="n">dateHtml</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span> <span class="s1">'bday'</span> <span class="p">)</span> </span><span id="L-907"><a href="#L-907"><span class="linenos" data-line="907"></span></a> <span class="kr">elseif</span> <span class="n">mort</span> <span class="kr">then</span> </span><span id="L-908"><a href="#L-908"><span class="linenos" data-line="908"></span></a> <span class="n">dateHtml</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span> <span class="s1">'dday'</span> <span class="p">)</span> </span><span id="L-909"><a href="#L-909"><span class="linenos" data-line="909"></span></a> <span class="kr">end</span> </span><span id="L-910"><a href="#L-910"><span class="linenos" data-line="910"></span></a> </span><span id="L-911"><a href="#L-911"><span class="linenos" data-line="911"></span></a> <span class="n">wikiHtml</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">gregFin</span> <span class="p">)</span> </span><span id="L-912"><a href="#L-912"><span class="linenos" data-line="912"></span></a> </span><span id="L-913"><a href="#L-913"><span class="linenos" data-line="913"></span></a> <span class="kr">if</span> <span class="n">dateRepublicaine</span> <span class="kr">then</span> </span><span id="L-914"><a href="#L-914"><span class="linenos" data-line="914"></span></a> <span class="n">wikiHtml</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="s1">' ('</span><span class="p">,</span> <span class="n">dateRepublicaine</span><span class="p">,</span> <span class="s1">')'</span> <span class="p">)</span> </span><span id="L-915"><a href="#L-915"><span class="linenos" data-line="915"></span></a> <span class="kr">end</span> </span><span id="L-916"><a href="#L-916"><span class="linenos" data-line="916"></span></a> </span><span id="L-917"><a href="#L-917"><span class="linenos" data-line="917"></span></a> <span class="kr">if</span> <span class="n">age</span> <span class="kr">then</span> </span><span id="L-918"><a href="#L-918"><span class="linenos" data-line="918"></span></a> <span class="n">wikiHtml</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="s1">' '</span> <span class="p">)</span> </span><span id="L-919"><a href="#L-919"><span class="linenos" data-line="919"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'span'</span> <span class="p">)</span> </span><span id="L-920"><a href="#L-920"><span class="linenos" data-line="920"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span> <span class="s1">'noprint'</span><span class="p">)</span> </span><span id="L-921"><a href="#L-921"><span class="linenos" data-line="921"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">age</span> <span class="p">)</span> </span><span id="L-922"><a href="#L-922"><span class="linenos" data-line="922"></span></a> <span class="p">:</span><span class="n">done</span><span class="p">()</span> </span><span id="L-923"><a href="#L-923"><span class="linenos" data-line="923"></span></a> <span class="kr">end</span> </span><span id="L-924"><a href="#L-924"><span class="linenos" data-line="924"></span></a> </span><span id="L-925"><a href="#L-925"><span class="linenos" data-line="925"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">wikiHtml</span> <span class="p">)</span> </span><span id="L-926"><a href="#L-926"><span class="linenos" data-line="926"></span></a><span class="kr">end</span> </span><span id="L-927"><a href="#L-927"><span class="linenos" data-line="927"></span></a> </span><span id="L-928"><a href="#L-928"><span class="linenos" data-line="928"></span></a> </span><span id="L-929"><a href="#L-929"><span class="linenos" data-line="929"></span></a><span class="c1">-- isoJourMoisAnnee transforme une date iso en un tableau équivalent à celui retourné par separationJourMoisAnnee</span> </span><span id="L-930"><a href="#L-930"><span class="linenos" data-line="930"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">isoJourMoisAnnee</span><span class="p">(</span> <span class="n">dateiso</span> <span class="p">)</span> </span><span id="L-931"><a href="#L-931"><span class="linenos" data-line="931"></span></a> <span class="kr">if</span> <span class="n">dateiso</span> <span class="ow">and</span> <span class="n">dateiso</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'U-'</span> <span class="kr">then</span> </span><span id="L-932"><a href="#L-932"><span class="linenos" data-line="932"></span></a> <span class="n">dateiso</span> <span class="o">=</span> <span class="n">dateiso</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span> <span class="mi">2</span> <span class="p">)</span> </span><span id="L-933"><a href="#L-933"><span class="linenos" data-line="933"></span></a> <span class="kr">end</span> </span><span id="L-934"><a href="#L-934"><span class="linenos" data-line="934"></span></a> <span class="kd">local</span> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">jour</span> <span class="o">=</span> <span class="n">dateiso</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^(%-?%d%d%d%d+)%-(%d+)%-(%d+)$'</span> <span class="p">)</span> </span><span id="L-935"><a href="#L-935"><span class="linenos" data-line="935"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">annee</span> <span class="kr">then</span> </span><span id="L-936"><a href="#L-936"><span class="linenos" data-line="936"></span></a> <span class="n">annee</span><span class="p">,</span> <span class="n">mois</span> <span class="o">=</span> <span class="n">dateiso</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^(%-?%d%d%d%d+)%-(%d+)$'</span> <span class="p">)</span> </span><span id="L-937"><a href="#L-937"><span class="linenos" data-line="937"></span></a> <span class="kr">end</span> </span><span id="L-938"><a href="#L-938"><span class="linenos" data-line="938"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">annee</span> <span class="kr">then</span> </span><span id="L-939"><a href="#L-939"><span class="linenos" data-line="939"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="n">dateiso</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^(%-?%d%d%d%d+)$'</span> <span class="p">)</span> </span><span id="L-940"><a href="#L-940"><span class="linenos" data-line="940"></span></a> <span class="kr">end</span> </span><span id="L-941"><a href="#L-941"><span class="linenos" data-line="941"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="ow">and</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> <span class="o"><=</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-942"><a href="#L-942"><span class="linenos" data-line="942"></span></a> <span class="c1">-- la date iso utilise une année 0</span> </span><span id="L-943"><a href="#L-943"><span class="linenos" data-line="943"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> </span><span id="L-944"><a href="#L-944"><span class="linenos" data-line="944"></span></a> <span class="kr">end</span> </span><span id="L-945"><a href="#L-945"><span class="linenos" data-line="945"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">annee</span> <span class="kr">then</span> </span><span id="L-946"><a href="#L-946"><span class="linenos" data-line="946"></span></a> <span class="n">mois</span><span class="p">,</span> <span class="n">jour</span> <span class="o">=</span> <span class="n">dateiso</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^(%d+)%-(%d+)$'</span> <span class="p">)</span> </span><span id="L-947"><a href="#L-947"><span class="linenos" data-line="947"></span></a> <span class="kr">end</span> </span><span id="L-948"><a href="#L-948"><span class="linenos" data-line="948"></span></a> <span class="kr">return</span> <span class="n">fun</span><span class="p">.</span><span class="n">validationJourMoisAnnee</span><span class="p">{</span> <span class="n">jour</span><span class="p">,</span> <span class="n">mois</span><span class="p">,</span> <span class="n">annee</span> <span class="p">}</span> </span><span id="L-949"><a href="#L-949"><span class="linenos" data-line="949"></span></a><span class="kr">end</span> </span><span id="L-950"><a href="#L-950"><span class="linenos" data-line="950"></span></a> </span><span id="L-951"><a href="#L-951"><span class="linenos" data-line="951"></span></a><span class="c1">-- analyseDate sépare la date du contenu qui précède et suit, supprime les liens, et retourne si possible une table avec jour mois année</span> </span><span id="L-952"><a href="#L-952"><span class="linenos" data-line="952"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">analyseDate</span><span class="p">(</span> <span class="n">d</span> <span class="p">)</span> </span><span id="L-953"><a href="#L-953"><span class="linenos" data-line="953"></span></a> <span class="kr">if</span> <span class="n">trim</span><span class="p">(</span> <span class="n">d</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-954"><a href="#L-954"><span class="linenos" data-line="954"></span></a> <span class="kd">local</span> <span class="n">datesMultiples</span> <span class="o">=</span> <span class="n">d</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">' ou '</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">d</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^[Ee]ntre '</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">d</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'<time.->.-<time.->'</span> <span class="p">)</span> </span><span id="L-955"><a href="#L-955"><span class="linenos" data-line="955"></span></a> <span class="kr">if</span> <span class="n">datesMultiples</span> <span class="kr">then</span> </span><span id="L-956"><a href="#L-956"><span class="linenos" data-line="956"></span></a> <span class="kr">return</span> <span class="n">d</span> </span><span id="L-957"><a href="#L-957"><span class="linenos" data-line="957"></span></a> <span class="kr">end</span> </span><span id="L-958"><a href="#L-958"><span class="linenos" data-line="958"></span></a> <span class="kd">local</span> <span class="n">approx</span> <span class="o">=</span> <span class="n">d</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^[Vv]ers '</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">d</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^[Aa]près '</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">d</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^[Aa]vant '</span> <span class="p">)</span> </span><span id="L-959"><a href="#L-959"><span class="linenos" data-line="959"></span></a> <span class="c1">-- booléen qui indique que la date est approximative, empêchant l'affichage de l'âge ou de la durée</span> </span><span id="L-960"><a href="#L-960"><span class="linenos" data-line="960"></span></a> <span class="n">approx</span> <span class="o">=</span> <span class="n">approx</span> <span class="ow">and</span> <span class="kc">true</span> <span class="ow">or</span> <span class="kc">false</span> </span><span id="L-961"><a href="#L-961"><span class="linenos" data-line="961"></span></a> </span><span id="L-962"><a href="#L-962"><span class="linenos" data-line="962"></span></a> <span class="kd">local</span> <span class="n">analyse</span> <span class="o">=</span> <span class="n">d</span> </span><span id="L-963"><a href="#L-963"><span class="linenos" data-line="963"></span></a> <span class="c1">-- s'il s'agit d'une date formattée avec {{date}}, on utilisera la valeur du datetime pour reconstruire la date</span> </span><span id="L-964"><a href="#L-964"><span class="linenos" data-line="964"></span></a> <span class="kd">local</span> <span class="n">dateiso</span> <span class="o">=</span> <span class="n">d</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'datetime="([U%d-]+)"'</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">d</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'<time>(.-)</time>'</span> <span class="p">)</span> </span><span id="L-965"><a href="#L-965"><span class="linenos" data-line="965"></span></a> <span class="kd">local</span> <span class="n">debut</span><span class="p">,</span> <span class="n">strDate</span><span class="p">,</span> <span class="n">fin</span> </span><span id="L-966"><a href="#L-966"><span class="linenos" data-line="966"></span></a> <span class="kr">if</span> <span class="n">dateiso</span> <span class="kr">then</span> </span><span id="L-967"><a href="#L-967"><span class="linenos" data-line="967"></span></a> <span class="c1">-- supprime le formatage créé par {{date}}</span> </span><span id="L-968"><a href="#L-968"><span class="linenos" data-line="968"></span></a> <span class="n">debut</span><span class="p">,</span> <span class="n">strDate</span><span class="p">,</span> <span class="n">fin</span> <span class="o">=</span> <span class="n">analyse</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'(.-)<time.->(.-)</time>(.*)'</span> <span class="p">)</span> </span><span id="L-969"><a href="#L-969"><span class="linenos" data-line="969"></span></a> <span class="kr">end</span> </span><span id="L-970"><a href="#L-970"><span class="linenos" data-line="970"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">strDate</span> <span class="kr">then</span> </span><span id="L-971"><a href="#L-971"><span class="linenos" data-line="971"></span></a> <span class="c1">-- sépare une date av. J.-C. du contenu qui suit</span> </span><span id="L-972"><a href="#L-972"><span class="linenos" data-line="972"></span></a> <span class="n">strDate</span><span class="p">,</span> <span class="n">fin</span> <span class="o">=</span> <span class="n">analyse</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'(.-%d av%. J%.%-C%.]*%-?)(.*)'</span> <span class="p">)</span> </span><span id="L-973"><a href="#L-973"><span class="linenos" data-line="973"></span></a> <span class="kr">end</span> </span><span id="L-974"><a href="#L-974"><span class="linenos" data-line="974"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">strDate</span> <span class="kr">then</span> </span><span id="L-975"><a href="#L-975"><span class="linenos" data-line="975"></span></a> <span class="c1">-- sépare la date (avec ses liens) d'une référence ou contenu commençant par un espace</span> </span><span id="L-976"><a href="#L-976"><span class="linenos" data-line="976"></span></a> <span class="n">strDate</span><span class="p">,</span> <span class="n">fin</span> <span class="o">=</span> <span class="n">analyse</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'(.-%d%d%d%]*%-?)([</span><span class="se">\127</span><span class="s1"> ].+)'</span> <span class="p">)</span> </span><span id="L-977"><a href="#L-977"><span class="linenos" data-line="977"></span></a> <span class="kr">end</span> </span><span id="L-978"><a href="#L-978"><span class="linenos" data-line="978"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">strDate</span> <span class="kr">then</span> </span><span id="L-979"><a href="#L-979"><span class="linenos" data-line="979"></span></a> <span class="c1">-- sépare la date du contenu commençant par <br></span> </span><span id="L-980"><a href="#L-980"><span class="linenos" data-line="980"></span></a> <span class="n">strDate</span><span class="p">,</span> <span class="n">fin</span> <span class="o">=</span> <span class="n">analyse</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'(.-%d%d%d%]*%-?)(<br ?/?>.+)'</span> <span class="p">)</span> </span><span id="L-981"><a href="#L-981"><span class="linenos" data-line="981"></span></a> <span class="kr">end</span> </span><span id="L-982"><a href="#L-982"><span class="linenos" data-line="982"></span></a> <span class="n">analyse</span> <span class="o">=</span> <span class="n">strDate</span> <span class="ow">or</span> <span class="n">analyse</span> </span><span id="L-983"><a href="#L-983"><span class="linenos" data-line="983"></span></a> <span class="c1">-- supprime les liens</span> </span><span id="L-984"><a href="#L-984"><span class="linenos" data-line="984"></span></a> <span class="n">analyse</span> <span class="o">=</span> <span class="n">analyse</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span> </span><span id="L-985"><a href="#L-985"><span class="linenos" data-line="985"></span></a> <span class="s1">'%[%[([^%[%]|]*)|?([^%[%]]*)%]%]'</span><span class="p">,</span> </span><span id="L-986"><a href="#L-986"><span class="linenos" data-line="986"></span></a> <span class="kr">function</span> <span class="p">(</span> <span class="n">l</span><span class="p">,</span> <span class="n">t</span> <span class="p">)</span> </span><span id="L-987"><a href="#L-987"><span class="linenos" data-line="987"></span></a> <span class="kr">return</span> <span class="n">trim</span><span class="p">(</span> <span class="n">t</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">l</span> </span><span id="L-988"><a href="#L-988"><span class="linenos" data-line="988"></span></a> <span class="kr">end</span> </span><span id="L-989"><a href="#L-989"><span class="linenos" data-line="989"></span></a> <span class="p">)</span> </span><span id="L-990"><a href="#L-990"><span class="linenos" data-line="990"></span></a> </span><span id="L-991"><a href="#L-991"><span class="linenos" data-line="991"></span></a> <span class="kd">local</span> <span class="n">t</span><span class="p">,</span> <span class="n">r</span> </span><span id="L-992"><a href="#L-992"><span class="linenos" data-line="992"></span></a> <span class="kr">if</span> <span class="n">dateiso</span> <span class="kr">then</span> </span><span id="L-993"><a href="#L-993"><span class="linenos" data-line="993"></span></a> <span class="c1">-- Si la date était formatée avec {{date}}, on la reconstruit à partir de la valeur de datetime</span> </span><span id="L-994"><a href="#L-994"><span class="linenos" data-line="994"></span></a> <span class="n">t</span><span class="p">,</span> <span class="n">r</span> <span class="o">=</span> <span class="n">isoJourMoisAnnee</span><span class="p">(</span> <span class="n">dateiso</span> <span class="p">)</span> </span><span id="L-995"><a href="#L-995"><span class="linenos" data-line="995"></span></a> <span class="kr">end</span> </span><span id="L-996"><a href="#L-996"><span class="linenos" data-line="996"></span></a> <span class="kr">if</span> <span class="n">t</span> <span class="kr">then</span> </span><span id="L-997"><a href="#L-997"><span class="linenos" data-line="997"></span></a> <span class="kd">local</span> <span class="n">tTexte</span><span class="p">,</span> <span class="n">rTexte</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">separationJourMoisAnnee</span><span class="p">(</span> <span class="n">analyse</span> <span class="p">)</span> </span><span id="L-998"><a href="#L-998"><span class="linenos" data-line="998"></span></a> <span class="kr">if</span> <span class="n">r</span><span class="p">.</span><span class="n">annee</span> <span class="ow">and</span> <span class="n">r</span><span class="p">.</span><span class="n">jour</span> <span class="kr">then</span> </span><span id="L-999"><a href="#L-999"><span class="linenos" data-line="999"></span></a> <span class="kd">local</span> <span class="n">amj</span> <span class="o">=</span> <span class="n">r</span><span class="p">.</span><span class="n">annee</span> <span class="o">*</span> <span class="mi">10000</span> <span class="o">+</span> <span class="n">r</span><span class="p">.</span><span class="n">numMois</span> <span class="o">*</span> <span class="mi">100</span> <span class="o">+</span> <span class="n">r</span><span class="p">.</span><span class="n">jour</span> </span><span id="L-1000"><a href="#L-1000"><span class="linenos" data-line="1000"></span></a> <span class="c1">-- Les dates avant le 14 octobre 1582 sont dans le calendrier julien mais utilisent un datetime grégorien</span> </span><span id="L-1001"><a href="#L-1001"><span class="linenos" data-line="1001"></span></a> <span class="kd">local</span> <span class="n">gregToJul</span> <span class="o">=</span> <span class="n">amj</span> <span class="o"><</span> <span class="mi">15821014</span> </span><span id="L-1002"><a href="#L-1002"><span class="linenos" data-line="1002"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">gregToJul</span> <span class="ow">and</span> <span class="n">amj</span> <span class="o"><</span> <span class="mi">15821024</span> <span class="kr">then</span> </span><span id="L-1003"><a href="#L-1003"><span class="linenos" data-line="1003"></span></a> <span class="c1">-- Entre le 14 et le 23 octobre, on ne peut pas différencier entre julien et grégorien sans comparer avec le texte</span> </span><span id="L-1004"><a href="#L-1004"><span class="linenos" data-line="1004"></span></a> <span class="n">gregToJul</span> <span class="o">=</span> <span class="n">tTexte</span> <span class="ow">and</span> <span class="n">rTexte</span><span class="p">.</span><span class="n">jour</span> <span class="o">~=</span> <span class="n">r</span><span class="p">.</span><span class="n">jour</span> </span><span id="L-1005"><a href="#L-1005"><span class="linenos" data-line="1005"></span></a> <span class="kr">end</span> </span><span id="L-1006"><a href="#L-1006"><span class="linenos" data-line="1006"></span></a> <span class="kr">if</span> <span class="n">gregToJul</span> <span class="kr">then</span> </span><span id="L-1007"><a href="#L-1007"><span class="linenos" data-line="1007"></span></a> <span class="kd">local</span> <span class="n">jannee</span><span class="p">,</span> <span class="n">jmois</span><span class="p">,</span> <span class="n">jjour</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">gregorianToJulian</span><span class="p">(</span> <span class="n">r</span><span class="p">.</span><span class="n">annee</span><span class="p">,</span> <span class="n">r</span><span class="p">.</span><span class="n">numMois</span><span class="p">,</span> <span class="n">r</span><span class="p">.</span><span class="n">jour</span> <span class="p">)</span> </span><span id="L-1008"><a href="#L-1008"><span class="linenos" data-line="1008"></span></a> <span class="n">r</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-1009"><a href="#L-1009"><span class="linenos" data-line="1009"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="n">jannee</span><span class="p">,</span> </span><span id="L-1010"><a href="#L-1010"><span class="linenos" data-line="1010"></span></a> <span class="n">numMois</span> <span class="o">=</span> <span class="n">jmois</span><span class="p">,</span> </span><span id="L-1011"><a href="#L-1011"><span class="linenos" data-line="1011"></span></a> <span class="n">mois</span> <span class="o">=</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">jmois</span><span class="p">].</span><span class="n">nom</span><span class="p">,</span> </span><span id="L-1012"><a href="#L-1012"><span class="linenos" data-line="1012"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="n">jjour</span> </span><span id="L-1013"><a href="#L-1013"><span class="linenos" data-line="1013"></span></a> <span class="p">}</span> </span><span id="L-1014"><a href="#L-1014"><span class="linenos" data-line="1014"></span></a> <span class="kr">end</span> </span><span id="L-1015"><a href="#L-1015"><span class="linenos" data-line="1015"></span></a> <span class="kr">end</span> </span><span id="L-1016"><a href="#L-1016"><span class="linenos" data-line="1016"></span></a> <span class="kr">if</span> <span class="n">tTexte</span> <span class="kr">then</span> </span><span id="L-1017"><a href="#L-1017"><span class="linenos" data-line="1017"></span></a> <span class="c1">-- On analyse le texte de la date pour repérer les dates partiellement masquées</span> </span><span id="L-1018"><a href="#L-1018"><span class="linenos" data-line="1018"></span></a> <span class="c1">-- Si seul le jour est affiché, separationJourMoisAnnee l'interprète comme une année</span> </span><span id="L-1019"><a href="#L-1019"><span class="linenos" data-line="1019"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">rTexte</span><span class="p">.</span><span class="n">jour</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">rTexte</span><span class="p">.</span><span class="n">mois</span> <span class="ow">and</span> <span class="n">rTexte</span><span class="p">.</span><span class="n">annee</span> <span class="o">==</span> <span class="n">r</span><span class="p">.</span><span class="n">jour</span> <span class="kr">then</span> </span><span id="L-1020"><a href="#L-1020"><span class="linenos" data-line="1020"></span></a> <span class="n">r</span><span class="p">.</span><span class="n">masquerMois</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-1021"><a href="#L-1021"><span class="linenos" data-line="1021"></span></a> <span class="n">r</span><span class="p">.</span><span class="n">masquerAnnee</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-1022"><a href="#L-1022"><span class="linenos" data-line="1022"></span></a> <span class="kr">elseif</span> <span class="n">rTexte</span><span class="p">.</span><span class="n">jour</span> <span class="o">==</span> <span class="n">r</span><span class="p">.</span><span class="n">jour</span> <span class="ow">and</span> <span class="n">rTexte</span><span class="p">.</span><span class="n">mois</span> <span class="o">==</span> <span class="n">r</span><span class="p">.</span><span class="n">mois</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">rTexte</span><span class="p">.</span><span class="n">annee</span> <span class="kr">then</span> </span><span id="L-1023"><a href="#L-1023"><span class="linenos" data-line="1023"></span></a> <span class="n">r</span><span class="p">.</span><span class="n">masquerAnnee</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-1024"><a href="#L-1024"><span class="linenos" data-line="1024"></span></a> <span class="kr">end</span> </span><span id="L-1025"><a href="#L-1025"><span class="linenos" data-line="1025"></span></a> <span class="kr">end</span> </span><span id="L-1026"><a href="#L-1026"><span class="linenos" data-line="1026"></span></a> <span class="kr">else</span> </span><span id="L-1027"><a href="#L-1027"><span class="linenos" data-line="1027"></span></a> <span class="n">t</span><span class="p">,</span> <span class="n">r</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">separationJourMoisAnnee</span><span class="p">(</span> <span class="n">analyse</span> <span class="p">)</span> </span><span id="L-1028"><a href="#L-1028"><span class="linenos" data-line="1028"></span></a> <span class="kr">end</span> </span><span id="L-1029"><a href="#L-1029"><span class="linenos" data-line="1029"></span></a> <span class="kr">if</span> <span class="n">t</span> <span class="kr">then</span> </span><span id="L-1030"><a href="#L-1030"><span class="linenos" data-line="1030"></span></a> <span class="kr">return</span> <span class="n">r</span><span class="p">,</span> <span class="n">fin</span><span class="p">,</span> <span class="n">debut</span><span class="p">,</span> <span class="n">approx</span> </span><span id="L-1031"><a href="#L-1031"><span class="linenos" data-line="1031"></span></a> <span class="kr">else</span> </span><span id="L-1032"><a href="#L-1032"><span class="linenos" data-line="1032"></span></a> <span class="kr">return</span> <span class="n">d</span><span class="p">,</span> <span class="n">fin</span><span class="p">,</span> <span class="n">debut</span><span class="p">,</span> <span class="n">approx</span> </span><span id="L-1033"><a href="#L-1033"><span class="linenos" data-line="1033"></span></a> <span class="kr">end</span> </span><span id="L-1034"><a href="#L-1034"><span class="linenos" data-line="1034"></span></a> <span class="kr">end</span> </span><span id="L-1035"><a href="#L-1035"><span class="linenos" data-line="1035"></span></a><span class="kr">end</span> </span><span id="L-1036"><a href="#L-1036"><span class="linenos" data-line="1036"></span></a> </span><span id="L-1037"><a href="#L-1037"><span class="linenos" data-line="1037"></span></a><span class="c1">---</span> </span><span id="L-1038"><a href="#L-1038"><span class="linenos" data-line="1038"></span></a><span class="c1">-- fonction destinée aux infobox, notamment pour afficher les dates de naissance et de mort</span> </span><span id="L-1039"><a href="#L-1039"><span class="linenos" data-line="1039"></span></a><span class="c1">-- les liens présent dans les dates fournies sont automatiquement supprimés pour gérer les cas où</span> </span><span id="L-1040"><a href="#L-1040"><span class="linenos" data-line="1040"></span></a><span class="c1">-- le paramètre contient déjà un modèle date.</span> </span><span id="L-1041"><a href="#L-1041"><span class="linenos" data-line="1041"></span></a><span class="c1">-- Paramètres :</span> </span><span id="L-1042"><a href="#L-1042"><span class="linenos" data-line="1042"></span></a><span class="c1">-- 1 : type de date à afficher (naissance / n, mort / m, ou date / d)</span> </span><span id="L-1043"><a href="#L-1043"><span class="linenos" data-line="1043"></span></a><span class="c1">-- 2 : Date ou date de naissance</span> </span><span id="L-1044"><a href="#L-1044"><span class="linenos" data-line="1044"></span></a><span class="c1">-- 3 : Date de mort si type n ou m</span> </span><span id="L-1045"><a href="#L-1045"><span class="linenos" data-line="1045"></span></a><span class="c1">-- qualificatif = suffixe des page de date à lier (exemple : en musique)</span> </span><span id="L-1046"><a href="#L-1046"><span class="linenos" data-line="1046"></span></a><span class="c1">-- nolinks : n'affiche pas de lien</span> </span><span id="L-1047"><a href="#L-1047"><span class="linenos" data-line="1047"></span></a><span class="c1">-- préfixe : préfixe à afficher s'il y a un jour (par défaut '')</span> </span><span id="L-1048"><a href="#L-1048"><span class="linenos" data-line="1048"></span></a><span class="c1">-- préfixe sans jour : préfixe à afficher s'il n'y a pas de jour (par défaut : '')</span> </span><span id="L-1049"><a href="#L-1049"><span class="linenos" data-line="1049"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">dateInfobox</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-1050"><a href="#L-1050"><span class="linenos" data-line="1050"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span> </span><span id="L-1051"><a href="#L-1051"><span class="linenos" data-line="1051"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">args</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="ow">or</span> <span class="ow">not</span> <span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1052"><a href="#L-1052"><span class="linenos" data-line="1052"></span></a> <span class="kr">return</span> </span><span id="L-1053"><a href="#L-1053"><span class="linenos" data-line="1053"></span></a> <span class="kr">end</span> </span><span id="L-1054"><a href="#L-1054"><span class="linenos" data-line="1054"></span></a> <span class="c1">-- prefix ajoute un préfixe en fonction de la présence ou non du jour si le paramètre "préfixe sans jour" est défini</span> </span><span id="L-1055"><a href="#L-1055"><span class="linenos" data-line="1055"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">prefix</span><span class="p">(</span> <span class="n">dateString</span> <span class="p">)</span> </span><span id="L-1056"><a href="#L-1056"><span class="linenos" data-line="1056"></span></a> <span class="kr">if</span> <span class="n">dateString</span> <span class="kr">then</span> </span><span id="L-1057"><a href="#L-1057"><span class="linenos" data-line="1057"></span></a> <span class="kd">local</span> <span class="n">datetime</span> <span class="o">=</span> <span class="n">dateString</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'datetime="([U%d%-]+)"'</span> <span class="p">)</span> </span><span id="L-1058"><a href="#L-1058"><span class="linenos" data-line="1058"></span></a> <span class="kr">if</span> <span class="n">datetime</span> <span class="ow">and</span> <span class="n">datetime</span><span class="p">:</span><span class="n">match</span><span class="p">(</span><span class="s1">'%-%d%d%-%d%d'</span><span class="p">)</span> <span class="ow">and</span> <span class="n">trim</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="s1">'préfixe'</span><span class="p">]</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1059"><a href="#L-1059"><span class="linenos" data-line="1059"></span></a> <span class="kr">return</span> <span class="n">args</span><span class="p">[</span><span class="s1">'préfixe'</span><span class="p">]</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">dateString</span> </span><span id="L-1060"><a href="#L-1060"><span class="linenos" data-line="1060"></span></a> <span class="kr">end</span> </span><span id="L-1061"><a href="#L-1061"><span class="linenos" data-line="1061"></span></a> <span class="kr">if</span> <span class="n">trim</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="s1">'préfixe sans jour'</span><span class="p">]</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1062"><a href="#L-1062"><span class="linenos" data-line="1062"></span></a> <span class="kr">return</span> <span class="n">args</span><span class="p">[</span><span class="s1">'préfixe sans jour'</span><span class="p">]</span> <span class="o">..</span> <span class="s1">' '</span> <span class="o">..</span> <span class="n">dateString</span> </span><span id="L-1063"><a href="#L-1063"><span class="linenos" data-line="1063"></span></a> <span class="kr">end</span> </span><span id="L-1064"><a href="#L-1064"><span class="linenos" data-line="1064"></span></a> <span class="kr">end</span> </span><span id="L-1065"><a href="#L-1065"><span class="linenos" data-line="1065"></span></a> <span class="kr">return</span> <span class="n">dateString</span> </span><span id="L-1066"><a href="#L-1066"><span class="linenos" data-line="1066"></span></a> <span class="kr">end</span> </span><span id="L-1067"><a href="#L-1067"><span class="linenos" data-line="1067"></span></a> </span><span id="L-1068"><a href="#L-1068"><span class="linenos" data-line="1068"></span></a> <span class="kd">local</span> <span class="n">naissance</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^n'</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'n'</span> </span><span id="L-1069"><a href="#L-1069"><span class="linenos" data-line="1069"></span></a> <span class="kd">local</span> <span class="n">mort</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^m'</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'décès'</span> <span class="p">)</span> </span><span id="L-1070"><a href="#L-1070"><span class="linenos" data-line="1070"></span></a> <span class="kd">local</span> <span class="n">evenement</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'^é'</span> <span class="p">)</span> </span><span id="L-1071"><a href="#L-1071"><span class="linenos" data-line="1071"></span></a> <span class="kd">local</span> <span class="n">affichageDate</span><span class="p">,</span> <span class="n">qualificatif</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> <span class="n">args</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> </span><span id="L-1072"><a href="#L-1072"><span class="linenos" data-line="1072"></span></a> <span class="kd">local</span> <span class="n">affichageDateTab</span><span class="p">,</span> <span class="n">resultatDate</span><span class="p">,</span> <span class="n">complementDate</span><span class="p">,</span> <span class="n">prefixeDate</span><span class="p">,</span> <span class="n">approxDate</span> </span><span id="L-1073"><a href="#L-1073"><span class="linenos" data-line="1073"></span></a> <span class="kd">local</span> <span class="n">dateNaissance</span><span class="p">,</span> <span class="n">dateMort</span><span class="p">,</span> <span class="n">approxNaissance</span><span class="p">,</span> <span class="n">approxMort</span> </span><span id="L-1074"><a href="#L-1074"><span class="linenos" data-line="1074"></span></a> <span class="kr">if</span> <span class="n">mort</span> <span class="ow">or</span> <span class="n">evenement</span> <span class="kr">then</span> </span><span id="L-1075"><a href="#L-1075"><span class="linenos" data-line="1075"></span></a> <span class="n">affichageDate</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> </span><span id="L-1076"><a href="#L-1076"><span class="linenos" data-line="1076"></span></a> <span class="kr">end</span> </span><span id="L-1077"><a href="#L-1077"><span class="linenos" data-line="1077"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">trim</span><span class="p">(</span> <span class="n">affichageDate</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1078"><a href="#L-1078"><span class="linenos" data-line="1078"></span></a> <span class="kr">return</span> </span><span id="L-1079"><a href="#L-1079"><span class="linenos" data-line="1079"></span></a> <span class="kr">end</span> </span><span id="L-1080"><a href="#L-1080"><span class="linenos" data-line="1080"></span></a> </span><span id="L-1081"><a href="#L-1081"><span class="linenos" data-line="1081"></span></a> <span class="kr">if</span> <span class="n">affichageDate</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">']]</time>'</span> <span class="p">)</span> <span class="ow">or</span> <span class="n">affichageDate</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'</time>]]'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1082"><a href="#L-1082"><span class="linenos" data-line="1082"></span></a> <span class="c1">-- S'il y a des liens il y a probablement déjà un modèle date, évitons de l'exécuter une 2e fois</span> </span><span id="L-1083"><a href="#L-1083"><span class="linenos" data-line="1083"></span></a> <span class="kr">if</span> <span class="p">(</span> <span class="n">naissance</span> <span class="ow">or</span> <span class="n">mort</span> <span class="ow">or</span> <span class="n">evenement</span> <span class="p">)</span> <span class="ow">and</span> <span class="p">(</span> <span class="n">affichageDate</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'wikidata%-linkback'</span> <span class="p">))</span> <span class="kr">then</span> </span><span id="L-1084"><a href="#L-1084"><span class="linenos" data-line="1084"></span></a> <span class="kd">local</span> <span class="n">_</span> </span><span id="L-1085"><a href="#L-1085"><span class="linenos" data-line="1085"></span></a> <span class="n">dateNaissance</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">approxNaissance</span> <span class="o">=</span> <span class="n">analyseDate</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-1086"><a href="#L-1086"><span class="linenos" data-line="1086"></span></a> <span class="n">dateMort</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">approxMort</span> <span class="o">=</span> <span class="n">analyseDate</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-1087"><a href="#L-1087"><span class="linenos" data-line="1087"></span></a> <span class="n">resultatDate</span> <span class="o">=</span> <span class="n">affichageDate</span> </span><span id="L-1088"><a href="#L-1088"><span class="linenos" data-line="1088"></span></a> <span class="kr">else</span> </span><span id="L-1089"><a href="#L-1089"><span class="linenos" data-line="1089"></span></a> <span class="kr">return</span> <span class="n">prefix</span><span class="p">(</span> <span class="n">affichageDate</span> <span class="p">)</span> </span><span id="L-1090"><a href="#L-1090"><span class="linenos" data-line="1090"></span></a> <span class="kr">end</span> </span><span id="L-1091"><a href="#L-1091"><span class="linenos" data-line="1091"></span></a> <span class="kr">else</span> </span><span id="L-1092"><a href="#L-1092"><span class="linenos" data-line="1092"></span></a> <span class="n">affichageDateTab</span><span class="p">,</span> <span class="n">complementDate</span><span class="p">,</span> <span class="n">prefixeDate</span><span class="p">,</span> <span class="n">approxDate</span> <span class="o">=</span> <span class="n">analyseDate</span><span class="p">(</span> <span class="n">affichageDate</span> <span class="p">)</span> </span><span id="L-1093"><a href="#L-1093"><span class="linenos" data-line="1093"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">affichageDateTab</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="kr">then</span> </span><span id="L-1094"><a href="#L-1094"><span class="linenos" data-line="1094"></span></a> <span class="kr">return</span> <span class="n">affichageDateTab</span> </span><span id="L-1095"><a href="#L-1095"><span class="linenos" data-line="1095"></span></a> <span class="kr">else</span> </span><span id="L-1096"><a href="#L-1096"><span class="linenos" data-line="1096"></span></a> <span class="kr">if</span> <span class="n">naissance</span> <span class="kr">then</span> </span><span id="L-1097"><a href="#L-1097"><span class="linenos" data-line="1097"></span></a> <span class="kd">local</span> <span class="n">_</span> </span><span id="L-1098"><a href="#L-1098"><span class="linenos" data-line="1098"></span></a> <span class="n">dateNaissance</span><span class="p">,</span> <span class="n">approxNaissance</span> <span class="o">=</span> <span class="n">affichageDateTab</span><span class="p">,</span> <span class="n">approxDate</span> </span><span id="L-1099"><a href="#L-1099"><span class="linenos" data-line="1099"></span></a> <span class="n">dateMort</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">approxMort</span> <span class="o">=</span> <span class="n">analyseDate</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-1100"><a href="#L-1100"><span class="linenos" data-line="1100"></span></a> <span class="kr">elseif</span> <span class="n">mort</span> <span class="kr">then</span> </span><span id="L-1101"><a href="#L-1101"><span class="linenos" data-line="1101"></span></a> <span class="kd">local</span> <span class="n">_</span> </span><span id="L-1102"><a href="#L-1102"><span class="linenos" data-line="1102"></span></a> <span class="n">dateNaissance</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">approxNaissance</span> <span class="o">=</span> <span class="n">analyseDate</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-1103"><a href="#L-1103"><span class="linenos" data-line="1103"></span></a> <span class="n">dateMort</span><span class="p">,</span> <span class="n">approxMort</span> <span class="o">=</span> <span class="n">affichageDateTab</span><span class="p">,</span> <span class="n">approxDate</span> </span><span id="L-1104"><a href="#L-1104"><span class="linenos" data-line="1104"></span></a> <span class="kr">else</span> </span><span id="L-1105"><a href="#L-1105"><span class="linenos" data-line="1105"></span></a> <span class="n">qualificatif</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> </span><span id="L-1106"><a href="#L-1106"><span class="linenos" data-line="1106"></span></a> <span class="kr">end</span> </span><span id="L-1107"><a href="#L-1107"><span class="linenos" data-line="1107"></span></a> <span class="n">affichageDateTab</span><span class="p">.</span><span class="n">naissance</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">approxNaissance</span> <span class="ow">and</span> <span class="n">naissance</span> </span><span id="L-1108"><a href="#L-1108"><span class="linenos" data-line="1108"></span></a> <span class="n">affichageDateTab</span><span class="p">.</span><span class="n">mort</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">approxMort</span> <span class="ow">and</span> <span class="n">mort</span> </span><span id="L-1109"><a href="#L-1109"><span class="linenos" data-line="1109"></span></a> <span class="n">affichageDateTab</span><span class="p">.</span><span class="n">evenement</span> <span class="o">=</span> <span class="n">evenement</span> </span><span id="L-1110"><a href="#L-1110"><span class="linenos" data-line="1110"></span></a> <span class="n">affichageDateTab</span><span class="p">.</span><span class="n">qualificatif</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">qualificatif</span> <span class="ow">or</span> <span class="n">qualificatif</span> </span><span id="L-1111"><a href="#L-1111"><span class="linenos" data-line="1111"></span></a> <span class="n">affichageDateTab</span><span class="p">.</span><span class="n">liens</span> <span class="o">=</span> <span class="kc">true</span> <span class="c1">-- Dans les infobox, liens activés par défaut</span> </span><span id="L-1112"><a href="#L-1112"><span class="linenos" data-line="1112"></span></a> <span class="n">affichageDateTab</span><span class="p">.</span><span class="n">nolinks</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">nolinks</span> </span><span id="L-1113"><a href="#L-1113"><span class="linenos" data-line="1113"></span></a> <span class="n">affichageDateTab</span><span class="p">.</span><span class="n">nocat</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">nocat</span> </span><span id="L-1114"><a href="#L-1114"><span class="linenos" data-line="1114"></span></a> <span class="n">affichageDateTab</span><span class="p">.</span><span class="n">julien</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">julien</span> </span><span id="L-1115"><a href="#L-1115"><span class="linenos" data-line="1115"></span></a> <span class="kr">end</span> </span><span id="L-1116"><a href="#L-1116"><span class="linenos" data-line="1116"></span></a> <span class="kr">end</span> </span><span id="L-1117"><a href="#L-1117"><span class="linenos" data-line="1117"></span></a> <span class="n">resultatDate</span> <span class="o">=</span> <span class="n">resultatDate</span> <span class="ow">or</span> <span class="n">fun</span><span class="p">.</span><span class="n">modeleDate</span><span class="p">(</span> <span class="n">affichageDateTab</span> <span class="p">)</span> </span><span id="L-1118"><a href="#L-1118"><span class="linenos" data-line="1118"></span></a> </span><span id="L-1119"><a href="#L-1119"><span class="linenos" data-line="1119"></span></a> <span class="kd">local</span> <span class="n">age</span><span class="p">,</span> <span class="n">prefixAge</span><span class="p">,</span> <span class="n">suffixAge</span><span class="p">,</span> <span class="n">calculAge</span> <span class="o">=</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">' <span class="noprint">('</span><span class="p">,</span> <span class="s1">')</span>'</span><span class="p">,</span> <span class="kc">nil</span> </span><span id="L-1120"><a href="#L-1120"><span class="linenos" data-line="1120"></span></a> <span class="kr">if</span> <span class="n">naissance</span> <span class="ow">and</span> </span><span id="L-1121"><a href="#L-1121"><span class="linenos" data-line="1121"></span></a> <span class="n">dateNaissance</span> <span class="ow">and</span> </span><span id="L-1122"><a href="#L-1122"><span class="linenos" data-line="1122"></span></a> <span class="ow">not</span> <span class="n">approxNaissance</span> <span class="ow">and</span> </span><span id="L-1123"><a href="#L-1123"><span class="linenos" data-line="1123"></span></a> <span class="ow">not</span> <span class="n">dateMort</span> <span class="ow">and</span> </span><span id="L-1124"><a href="#L-1124"><span class="linenos" data-line="1124"></span></a> <span class="nb">type</span><span class="p">(</span> <span class="n">dateNaissance</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> </span><span id="L-1125"><a href="#L-1125"><span class="linenos" data-line="1125"></span></a> <span class="kr">then</span> </span><span id="L-1126"><a href="#L-1126"><span class="linenos" data-line="1126"></span></a> <span class="n">calculAge</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">age</span><span class="p">(</span> <span class="n">dateNaissance</span><span class="p">.</span><span class="n">annee</span><span class="p">,</span> <span class="n">dateNaissance</span><span class="p">.</span><span class="n">numMois</span><span class="p">,</span> <span class="n">dateNaissance</span><span class="p">.</span><span class="n">jour</span> <span class="p">)</span> </span><span id="L-1127"><a href="#L-1127"><span class="linenos" data-line="1127"></span></a> <span class="kr">if</span> <span class="n">calculAge</span> <span class="ow">and</span> <span class="n">calculAge</span> <span class="o">></span> <span class="mi">120</span> <span class="kr">then</span> </span><span id="L-1128"><a href="#L-1128"><span class="linenos" data-line="1128"></span></a> <span class="n">calculAge</span> <span class="o">=</span> <span class="kc">nil</span> </span><span id="L-1129"><a href="#L-1129"><span class="linenos" data-line="1129"></span></a> <span class="kr">end</span> </span><span id="L-1130"><a href="#L-1130"><span class="linenos" data-line="1130"></span></a> <span class="kr">elseif</span> <span class="p">(</span> <span class="n">mort</span> <span class="ow">or</span> <span class="n">evenement</span> <span class="p">)</span> <span class="ow">and</span> </span><span id="L-1131"><a href="#L-1131"><span class="linenos" data-line="1131"></span></a> <span class="n">dateNaissance</span> <span class="ow">and</span> </span><span id="L-1132"><a href="#L-1132"><span class="linenos" data-line="1132"></span></a> <span class="n">dateMort</span> <span class="ow">and</span> </span><span id="L-1133"><a href="#L-1133"><span class="linenos" data-line="1133"></span></a> <span class="ow">not</span> <span class="n">approxNaissance</span> <span class="ow">and</span> </span><span id="L-1134"><a href="#L-1134"><span class="linenos" data-line="1134"></span></a> <span class="ow">not</span> <span class="n">approxMort</span> <span class="ow">and</span> </span><span id="L-1135"><a href="#L-1135"><span class="linenos" data-line="1135"></span></a> <span class="nb">type</span><span class="p">(</span> <span class="n">dateNaissance</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> </span><span id="L-1136"><a href="#L-1136"><span class="linenos" data-line="1136"></span></a> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span> <span class="n">dateMort</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> </span><span id="L-1137"><a href="#L-1137"><span class="linenos" data-line="1137"></span></a> <span class="kr">then</span> </span><span id="L-1138"><a href="#L-1138"><span class="linenos" data-line="1138"></span></a> <span class="n">calculAge</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">age</span><span class="p">(</span> </span><span id="L-1139"><a href="#L-1139"><span class="linenos" data-line="1139"></span></a> <span class="n">dateNaissance</span><span class="p">.</span><span class="n">annee</span><span class="p">,</span> </span><span id="L-1140"><a href="#L-1140"><span class="linenos" data-line="1140"></span></a> <span class="n">dateNaissance</span><span class="p">.</span><span class="n">numMois</span><span class="p">,</span> </span><span id="L-1141"><a href="#L-1141"><span class="linenos" data-line="1141"></span></a> <span class="n">dateNaissance</span><span class="p">.</span><span class="n">jour</span><span class="p">,</span> </span><span id="L-1142"><a href="#L-1142"><span class="linenos" data-line="1142"></span></a> <span class="n">dateMort</span><span class="p">.</span><span class="n">annee</span><span class="p">,</span> </span><span id="L-1143"><a href="#L-1143"><span class="linenos" data-line="1143"></span></a> <span class="n">dateMort</span><span class="p">.</span><span class="n">numMois</span><span class="p">,</span> </span><span id="L-1144"><a href="#L-1144"><span class="linenos" data-line="1144"></span></a> <span class="n">dateMort</span><span class="p">.</span><span class="n">jour</span> </span><span id="L-1145"><a href="#L-1145"><span class="linenos" data-line="1145"></span></a> <span class="p">)</span> </span><span id="L-1146"><a href="#L-1146"><span class="linenos" data-line="1146"></span></a> <span class="n">prefixAge</span> <span class="o">=</span> <span class="s1">' (à '</span> </span><span id="L-1147"><a href="#L-1147"><span class="linenos" data-line="1147"></span></a> <span class="n">suffixAge</span> <span class="o">=</span> <span class="s1">')'</span> </span><span id="L-1148"><a href="#L-1148"><span class="linenos" data-line="1148"></span></a> <span class="kr">end</span> </span><span id="L-1149"><a href="#L-1149"><span class="linenos" data-line="1149"></span></a> <span class="kr">if</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">calculAge</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1150"><a href="#L-1150"><span class="linenos" data-line="1150"></span></a> <span class="kr">if</span> <span class="n">calculAge</span> <span class="o">></span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-1151"><a href="#L-1151"><span class="linenos" data-line="1151"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="n">prefixAge</span> <span class="o">..</span> <span class="n">calculAge</span> <span class="o">..</span> <span class="s1">'</span><span class="se">\194\160</span><span class="s1">ans'</span> <span class="o">..</span> <span class="n">suffixAge</span> </span><span id="L-1152"><a href="#L-1152"><span class="linenos" data-line="1152"></span></a> <span class="kr">elseif</span> <span class="n">calculAge</span> <span class="o">==</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-1153"><a href="#L-1153"><span class="linenos" data-line="1153"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="n">prefixAge</span> <span class="o">..</span> <span class="s1">'un</span><span class="se">\194\160</span><span class="s1">an'</span> <span class="o">..</span> <span class="n">suffixAge</span> </span><span id="L-1154"><a href="#L-1154"><span class="linenos" data-line="1154"></span></a> <span class="kr">elseif</span> <span class="n">calculAge</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-1155"><a href="#L-1155"><span class="linenos" data-line="1155"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="n">prefixAge</span> <span class="o">..</span> <span class="s1">'moins d’un</span><span class="se">\194\160</span><span class="s1">an'</span> <span class="o">..</span> <span class="n">suffixAge</span> </span><span id="L-1156"><a href="#L-1156"><span class="linenos" data-line="1156"></span></a> <span class="kr">end</span> </span><span id="L-1157"><a href="#L-1157"><span class="linenos" data-line="1157"></span></a> <span class="kr">if</span> <span class="n">complementDate</span> <span class="ow">and</span> <span class="n">complementDate</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s1">'ans?%)'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1158"><a href="#L-1158"><span class="linenos" data-line="1158"></span></a> <span class="n">complementDate</span> <span class="o">=</span> <span class="s1">''</span> </span><span id="L-1159"><a href="#L-1159"><span class="linenos" data-line="1159"></span></a> <span class="kr">end</span> </span><span id="L-1160"><a href="#L-1160"><span class="linenos" data-line="1160"></span></a> <span class="kr">end</span> </span><span id="L-1161"><a href="#L-1161"><span class="linenos" data-line="1161"></span></a> </span><span id="L-1162"><a href="#L-1162"><span class="linenos" data-line="1162"></span></a> <span class="kr">return</span> <span class="p">(</span> <span class="n">prefixeDate</span> <span class="ow">or</span> <span class="s1">''</span> <span class="p">)</span> <span class="o">..</span> <span class="n">prefix</span><span class="p">(</span> <span class="n">resultatDate</span> <span class="p">)</span> <span class="o">..</span> <span class="p">(</span> <span class="n">complementDate</span> <span class="ow">or</span> <span class="s1">''</span> <span class="p">)</span> <span class="o">..</span> <span class="n">age</span> </span><span id="L-1163"><a href="#L-1163"><span class="linenos" data-line="1163"></span></a><span class="kr">end</span> </span><span id="L-1164"><a href="#L-1164"><span class="linenos" data-line="1164"></span></a> </span><span id="L-1165"><a href="#L-1165"><span class="linenos" data-line="1165"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">dureeInfobox</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-1166"><a href="#L-1166"><span class="linenos" data-line="1166"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span> </span><span id="L-1167"><a href="#L-1167"><span class="linenos" data-line="1167"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">args</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-1168"><a href="#L-1168"><span class="linenos" data-line="1168"></span></a> <span class="kr">return</span> </span><span id="L-1169"><a href="#L-1169"><span class="linenos" data-line="1169"></span></a> <span class="kr">end</span> </span><span id="L-1170"><a href="#L-1170"><span class="linenos" data-line="1170"></span></a> </span><span id="L-1171"><a href="#L-1171"><span class="linenos" data-line="1171"></span></a> <span class="c1">-- vérifie si une chaîne semble contenir une durée</span> </span><span id="L-1172"><a href="#L-1172"><span class="linenos" data-line="1172"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">contientDuree</span><span class="p">(</span> <span class="n">chaine</span> <span class="p">)</span> </span><span id="L-1173"><a href="#L-1173"><span class="linenos" data-line="1173"></span></a> <span class="kr">return</span> <span class="n">chaine</span> <span class="ow">and</span> <span class="p">(</span> </span><span id="L-1174"><a href="#L-1174"><span class="linenos" data-line="1174"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> <span class="n">chaine</span><span class="p">,</span> <span class="s1">'%f[%w]ans?%f[^%w]'</span> <span class="p">)</span> <span class="ow">or</span> </span><span id="L-1175"><a href="#L-1175"><span class="linenos" data-line="1175"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> <span class="n">chaine</span><span class="p">,</span> <span class="s1">'%f[%w]mois%f[^%w]'</span> <span class="p">)</span> <span class="ow">or</span> </span><span id="L-1176"><a href="#L-1176"><span class="linenos" data-line="1176"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> <span class="n">chaine</span><span class="p">,</span> <span class="s1">'%f[%w]jours?%f[^%w]'</span> <span class="p">)</span> </span><span id="L-1177"><a href="#L-1177"><span class="linenos" data-line="1177"></span></a> <span class="p">)</span> </span><span id="L-1178"><a href="#L-1178"><span class="linenos" data-line="1178"></span></a> <span class="kr">end</span> </span><span id="L-1179"><a href="#L-1179"><span class="linenos" data-line="1179"></span></a> </span><span id="L-1180"><a href="#L-1180"><span class="linenos" data-line="1180"></span></a> <span class="kd">local</span> <span class="n">jour1</span><span class="p">,</span> <span class="n">mois1</span><span class="p">,</span> <span class="n">annee1</span><span class="p">,</span> <span class="n">jour2</span><span class="p">,</span> <span class="n">mois2</span><span class="p">,</span> <span class="n">annee2</span> <span class="o">=</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span> </span><span id="L-1181"><a href="#L-1181"><span class="linenos" data-line="1181"></span></a> <span class="kd">local</span> <span class="n">t1</span><span class="p">,</span> <span class="n">fin1</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">approx1</span> <span class="o">=</span> <span class="n">analyseDate</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-1182"><a href="#L-1182"><span class="linenos" data-line="1182"></span></a> <span class="kr">if</span> <span class="n">approx1</span> <span class="ow">or</span> <span class="nb">type</span><span class="p">(</span> <span class="n">t1</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="kr">then</span> </span><span id="L-1183"><a href="#L-1183"><span class="linenos" data-line="1183"></span></a> <span class="kr">return</span> </span><span id="L-1184"><a href="#L-1184"><span class="linenos" data-line="1184"></span></a> <span class="kr">end</span> </span><span id="L-1185"><a href="#L-1185"><span class="linenos" data-line="1185"></span></a> <span class="n">jour1</span> <span class="o">=</span> <span class="n">t1</span><span class="p">.</span><span class="n">jour</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-1186"><a href="#L-1186"><span class="linenos" data-line="1186"></span></a> <span class="n">mois1</span> <span class="o">=</span> <span class="n">t1</span><span class="p">.</span><span class="n">numMois</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-1187"><a href="#L-1187"><span class="linenos" data-line="1187"></span></a> <span class="n">annee1</span> <span class="o">=</span> <span class="n">t1</span><span class="p">.</span><span class="n">annee</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-1188"><a href="#L-1188"><span class="linenos" data-line="1188"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">and</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">~=</span> <span class="s2">""</span> <span class="kr">then</span> </span><span id="L-1189"><a href="#L-1189"><span class="linenos" data-line="1189"></span></a> <span class="kd">local</span> <span class="n">t2</span><span class="p">,</span> <span class="n">fin2</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">approx2</span> <span class="o">=</span> <span class="n">analyseDate</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-1190"><a href="#L-1190"><span class="linenos" data-line="1190"></span></a> <span class="kr">if</span> <span class="n">approx2</span> <span class="ow">or</span> <span class="nb">type</span><span class="p">(</span> <span class="n">t2</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="kr">then</span> </span><span id="L-1191"><a href="#L-1191"><span class="linenos" data-line="1191"></span></a> <span class="kr">return</span> </span><span id="L-1192"><a href="#L-1192"><span class="linenos" data-line="1192"></span></a> <span class="kr">end</span> </span><span id="L-1193"><a href="#L-1193"><span class="linenos" data-line="1193"></span></a> <span class="kr">if</span> <span class="n">contientDuree</span><span class="p">(</span> <span class="n">fin2</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1194"><a href="#L-1194"><span class="linenos" data-line="1194"></span></a> <span class="c1">-- La durée semble déjà renseignée manuellement</span> </span><span id="L-1195"><a href="#L-1195"><span class="linenos" data-line="1195"></span></a> <span class="kr">return</span> </span><span id="L-1196"><a href="#L-1196"><span class="linenos" data-line="1196"></span></a> <span class="kr">end</span> </span><span id="L-1197"><a href="#L-1197"><span class="linenos" data-line="1197"></span></a> <span class="n">jour2</span> <span class="o">=</span> <span class="n">t2</span><span class="p">.</span><span class="n">jour</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-1198"><a href="#L-1198"><span class="linenos" data-line="1198"></span></a> <span class="n">mois2</span> <span class="o">=</span> <span class="n">t2</span><span class="p">.</span><span class="n">numMois</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-1199"><a href="#L-1199"><span class="linenos" data-line="1199"></span></a> <span class="n">annee2</span> <span class="o">=</span> <span class="n">t2</span><span class="p">.</span><span class="n">annee</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-1200"><a href="#L-1200"><span class="linenos" data-line="1200"></span></a> <span class="kr">if</span> <span class="n">annee1</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">or</span> <span class="n">annee2</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-1201"><a href="#L-1201"><span class="linenos" data-line="1201"></span></a> <span class="c1">-- Mieux vaut ne pas extrapoler l'année</span> </span><span id="L-1202"><a href="#L-1202"><span class="linenos" data-line="1202"></span></a> <span class="kr">return</span> </span><span id="L-1203"><a href="#L-1203"><span class="linenos" data-line="1203"></span></a> <span class="kr">end</span> </span><span id="L-1204"><a href="#L-1204"><span class="linenos" data-line="1204"></span></a> <span class="kr">if</span> <span class="p">(</span> <span class="n">jour1</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">jour2</span> <span class="o">==</span> <span class="s1">''</span> <span class="p">)</span> <span class="ow">or</span> </span><span id="L-1205"><a href="#L-1205"><span class="linenos" data-line="1205"></span></a> <span class="p">(</span> <span class="n">mois1</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">mois2</span> <span class="o">==</span> <span class="s1">''</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1206"><a href="#L-1206"><span class="linenos" data-line="1206"></span></a> <span class="c1">-- Si la deuxième date est moins précise que la première, mieux vaut ne rien afficher</span> </span><span id="L-1207"><a href="#L-1207"><span class="linenos" data-line="1207"></span></a> <span class="kr">return</span> </span><span id="L-1208"><a href="#L-1208"><span class="linenos" data-line="1208"></span></a> <span class="kr">end</span> </span><span id="L-1209"><a href="#L-1209"><span class="linenos" data-line="1209"></span></a> <span class="kr">elseif</span> <span class="n">annee1</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">or</span> <span class="n">contientDuree</span><span class="p">(</span> <span class="n">fin1</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-1210"><a href="#L-1210"><span class="linenos" data-line="1210"></span></a> <span class="c1">-- L'année n'est pas spécifiée ou la durée semble déjà renseignée</span> </span><span id="L-1211"><a href="#L-1211"><span class="linenos" data-line="1211"></span></a> <span class="kr">return</span> </span><span id="L-1212"><a href="#L-1212"><span class="linenos" data-line="1212"></span></a> <span class="kr">end</span> </span><span id="L-1213"><a href="#L-1213"><span class="linenos" data-line="1213"></span></a> <span class="kd">local</span> <span class="n">duree</span> <span class="o">=</span> <span class="p">(</span><span class="nb">require</span> <span class="s1">'Module:Durée'</span><span class="p">).</span><span class="n">_duree</span><span class="p">({</span> <span class="n">jour1</span><span class="p">,</span> <span class="n">mois1</span><span class="p">,</span> <span class="n">annee1</span><span class="p">,</span> <span class="n">jour2</span><span class="p">,</span> <span class="n">mois2</span><span class="p">,</span> <span class="n">annee2</span><span class="p">,</span> <span class="n">noerror</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">})</span> </span><span id="L-1214"><a href="#L-1214"><span class="linenos" data-line="1214"></span></a> <span class="kr">if</span> <span class="n">duree</span> <span class="kr">then</span> </span><span id="L-1215"><a href="#L-1215"><span class="linenos" data-line="1215"></span></a> <span class="kr">return</span> <span class="s1">'<br /><small>('</span> <span class="o">..</span> <span class="n">duree</span> <span class="o">..</span> <span class="s1">')</small>'</span> </span><span id="L-1216"><a href="#L-1216"><span class="linenos" data-line="1216"></span></a> <span class="kr">end</span> </span><span id="L-1217"><a href="#L-1217"><span class="linenos" data-line="1217"></span></a><span class="kr">end</span> </span><span id="L-1218"><a href="#L-1218"><span class="linenos" data-line="1218"></span></a> </span><span id="L-1219"><a href="#L-1219"><span class="linenos" data-line="1219"></span></a><span class="c1">---</span> </span><span id="L-1220"><a href="#L-1220"><span class="linenos" data-line="1220"></span></a><span class="c1">-- la fonction dateISO renvoie un date au format aaaa-mm-jj (sans liens)</span> </span><span id="L-1221"><a href="#L-1221"><span class="linenos" data-line="1221"></span></a><span class="c1">-- l'année peut être sous la forme 2013 ou [[2013 en litérature|2013]]</span> </span><span id="L-1222"><a href="#L-1222"><span class="linenos" data-line="1222"></span></a><span class="c1">-- le mois peut être en lettres ou en chiffres</span> </span><span id="L-1223"><a href="#L-1223"><span class="linenos" data-line="1223"></span></a><span class="c1">-- le jour peut être sous la forme '05', '{{1er}}' ou 'vendredi 13'</span> </span><span id="L-1224"><a href="#L-1224"><span class="linenos" data-line="1224"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">dateISO</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-1225"><a href="#L-1225"><span class="linenos" data-line="1225"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">Outils</span><span class="p">.</span><span class="n">extractArgs</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-1226"><a href="#L-1226"><span class="linenos" data-line="1226"></span></a> <span class="kd">local</span> <span class="n">annee</span> <span class="o">=</span> <span class="n">Outils</span><span class="p">.</span><span class="n">notEmpty</span><span class="p">(</span> <span class="n">args</span><span class="p">[</span><span class="s1">'année'</span><span class="p">],</span> <span class="n">args</span><span class="p">.</span><span class="n">annee</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">year</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> <span class="p">)</span> </span><span id="L-1227"><a href="#L-1227"><span class="linenos" data-line="1227"></span></a> <span class="c1">-- extraction de l'année</span> </span><span id="L-1228"><a href="#L-1228"><span class="linenos" data-line="1228"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-1229"><a href="#L-1229"><span class="linenos" data-line="1229"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="p">(</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> <span class="c1">-- match '2013'</span> </span><span id="L-1230"><a href="#L-1230"><span class="linenos" data-line="1230"></span></a> <span class="ow">or</span> <span class="nb">string.match</span> <span class="p">(</span> <span class="n">annee</span><span class="p">,</span> <span class="s1">'%D(%d%d%d%d)%D'</span> <span class="p">)</span> <span class="c1">-- match '[[2013 en musique|2013]]'</span> </span><span id="L-1231"><a href="#L-1231"><span class="linenos" data-line="1231"></span></a> <span class="ow">or</span> <span class="nb">string.match</span> <span class="p">(</span> <span class="n">annee</span><span class="p">,</span> <span class="s1">'%D(%d%d%d%d)$'</span> <span class="p">)</span> <span class="c1">-- match '17 septembre 2013'</span> </span><span id="L-1232"><a href="#L-1232"><span class="linenos" data-line="1232"></span></a> <span class="ow">or</span> <span class="nb">string.match</span> <span class="p">(</span> <span class="n">annee</span><span class="p">,</span> <span class="s1">'^(%d%d%d%d)%D'</span> <span class="p">)</span> <span class="c1">-- match '2013-09-17'</span> </span><span id="L-1233"><a href="#L-1233"><span class="linenos" data-line="1233"></span></a> <span class="p">)</span> </span><span id="L-1234"><a href="#L-1234"><span class="linenos" data-line="1234"></span></a> <span class="kr">end</span> </span><span id="L-1235"><a href="#L-1235"><span class="linenos" data-line="1235"></span></a> <span class="n">annee</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> </span><span id="L-1236"><a href="#L-1236"><span class="linenos" data-line="1236"></span></a> </span><span id="L-1237"><a href="#L-1237"><span class="linenos" data-line="1237"></span></a> <span class="c1">-- le format de date iso est défini suivant le calendrier grégorien.</span> </span><span id="L-1238"><a href="#L-1238"><span class="linenos" data-line="1238"></span></a> <span class="c1">-- Avant l'année 1583 la date est calendrier est probablement du calendrier julien,</span> </span><span id="L-1239"><a href="#L-1239"><span class="linenos" data-line="1239"></span></a> <span class="c1">-- donc autant s'abstenir.</span> </span><span id="L-1240"><a href="#L-1240"><span class="linenos" data-line="1240"></span></a> <span class="kr">if</span> <span class="n">annee</span> <span class="ow">and</span> <span class="n">annee</span> <span class="o">></span> <span class="mi">1582</span> <span class="kr">then</span> </span><span id="L-1241"><a href="#L-1241"><span class="linenos" data-line="1241"></span></a> <span class="kd">local</span> <span class="n">mois</span> <span class="o">=</span> <span class="n">Outils</span><span class="p">.</span><span class="n">notEmpty</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">mois</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">month</span> <span class="p">)</span> </span><span id="L-1242"><a href="#L-1242"><span class="linenos" data-line="1242"></span></a> <span class="c1">-- num mois trouve le numéro du mois, qu'il soit numérique ou texte, complet ou abrégé.</span> </span><span id="L-1243"><a href="#L-1243"><span class="linenos" data-line="1243"></span></a> <span class="kd">local</span> <span class="n">nomMois</span><span class="p">,</span> <span class="n">numMois</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">determinationMois</span><span class="p">(</span> <span class="n">mois</span> <span class="p">)</span> </span><span id="L-1244"><a href="#L-1244"><span class="linenos" data-line="1244"></span></a> <span class="kr">if</span> <span class="n">numMois</span> <span class="kr">then</span> </span><span id="L-1245"><a href="#L-1245"><span class="linenos" data-line="1245"></span></a> <span class="n">mois</span> <span class="o">=</span> <span class="s1">'-'</span> <span class="o">..</span> <span class="nb">string.sub</span><span class="p">(</span> <span class="s1">'0'</span> <span class="o">..</span> <span class="n">numMois</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span> <span class="p">)</span> </span><span id="L-1246"><a href="#L-1246"><span class="linenos" data-line="1246"></span></a> </span><span id="L-1247"><a href="#L-1247"><span class="linenos" data-line="1247"></span></a> <span class="kd">local</span> <span class="n">jour</span> <span class="o">=</span> <span class="n">Outils</span><span class="p">.</span><span class="n">notEmpty</span><span class="p">(</span> <span class="n">args</span><span class="p">.</span><span class="n">jour</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">day</span><span class="p">,</span> <span class="n">args</span><span class="p">[</span><span class="s1">'quantième'</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-1248"><a href="#L-1248"><span class="linenos" data-line="1248"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">jour</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-1249"><a href="#L-1249"><span class="linenos" data-line="1249"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">jour</span> <span class="p">)</span> <span class="ow">or</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="nb">string.match</span> <span class="p">(</span> <span class="n">jour</span><span class="p">,</span> <span class="s1">'%d+'</span><span class="p">)</span> <span class="p">)</span> </span><span id="L-1250"><a href="#L-1250"><span class="linenos" data-line="1250"></span></a> <span class="kr">end</span> </span><span id="L-1251"><a href="#L-1251"><span class="linenos" data-line="1251"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">jour</span> <span class="p">)</span> </span><span id="L-1252"><a href="#L-1252"><span class="linenos" data-line="1252"></span></a> <span class="kr">if</span> <span class="n">jour</span> <span class="ow">and</span> <span class="n">jour</span> <span class="o"><=</span> <span class="n">listeMois</span><span class="p">[</span><span class="n">numMois</span><span class="p">].</span><span class="n">nJour</span> <span class="kr">then</span> </span><span id="L-1253"><a href="#L-1253"><span class="linenos" data-line="1253"></span></a> <span class="n">jour</span> <span class="o">=</span> <span class="s1">'-'</span> <span class="o">..</span> <span class="nb">string.sub</span><span class="p">(</span> <span class="s1">'0'</span> <span class="o">..</span> <span class="n">jour</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span> <span class="p">)</span> </span><span id="L-1254"><a href="#L-1254"><span class="linenos" data-line="1254"></span></a> <span class="kr">return</span> <span class="n">annee</span> <span class="o">..</span> <span class="n">mois</span> <span class="o">..</span> <span class="n">jour</span> </span><span id="L-1255"><a href="#L-1255"><span class="linenos" data-line="1255"></span></a> <span class="kr">else</span> </span><span id="L-1256"><a href="#L-1256"><span class="linenos" data-line="1256"></span></a> <span class="kr">return</span> <span class="n">annee</span> <span class="o">..</span> <span class="n">mois</span> </span><span id="L-1257"><a href="#L-1257"><span class="linenos" data-line="1257"></span></a> <span class="kr">end</span> </span><span id="L-1258"><a href="#L-1258"><span class="linenos" data-line="1258"></span></a> <span class="kr">else</span> </span><span id="L-1259"><a href="#L-1259"><span class="linenos" data-line="1259"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">annee</span> <span class="p">)</span> </span><span id="L-1260"><a href="#L-1260"><span class="linenos" data-line="1260"></span></a> <span class="kr">end</span> </span><span id="L-1261"><a href="#L-1261"><span class="linenos" data-line="1261"></span></a> <span class="kr">end</span> </span><span id="L-1262"><a href="#L-1262"><span class="linenos" data-line="1262"></span></a><span class="kr">end</span> </span><span id="L-1263"><a href="#L-1263"><span class="linenos" data-line="1263"></span></a> </span><span id="L-1264"><a href="#L-1264"><span class="linenos" data-line="1264"></span></a><span class="c1">---</span> </span><span id="L-1265"><a href="#L-1265"><span class="linenos" data-line="1265"></span></a><span class="c1">-- Rang du jour dans l'année</span> </span><span id="L-1266"><a href="#L-1266"><span class="linenos" data-line="1266"></span></a><span class="c1">-- Usage : do_dayRank{année,mois,jour}</span> </span><span id="L-1267"><a href="#L-1267"><span class="linenos" data-line="1267"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">do_dayRank</span><span class="p">(</span><span class="n">arguments</span><span class="p">)</span> </span><span id="L-1268"><a href="#L-1268"><span class="linenos" data-line="1268"></span></a> <span class="kd">local</span> <span class="n">yr</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">arguments</span><span class="p">.</span><span class="n">year</span> <span class="ow">or</span> <span class="n">arguments</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-1269"><a href="#L-1269"><span class="linenos" data-line="1269"></span></a> <span class="kd">local</span> <span class="n">mt</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">arguments</span><span class="p">.</span><span class="n">month</span> <span class="ow">or</span> <span class="n">arguments</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-1270"><a href="#L-1270"><span class="linenos" data-line="1270"></span></a> <span class="kd">local</span> <span class="n">dy</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">arguments</span><span class="p">.</span><span class="n">day</span> <span class="ow">or</span> <span class="n">arguments</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-1271"><a href="#L-1271"><span class="linenos" data-line="1271"></span></a> <span class="c1">-- Rangs des premiers des mois</span> </span><span id="L-1272"><a href="#L-1272"><span class="linenos" data-line="1272"></span></a> <span class="kd">local</span> <span class="n">ranks</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="mi">31</span><span class="p">,</span><span class="mi">59</span><span class="p">,</span><span class="mi">90</span><span class="p">,</span><span class="mi">120</span><span class="p">,</span><span class="mi">151</span><span class="p">,</span><span class="mi">181</span><span class="p">,</span><span class="mi">212</span><span class="p">,</span><span class="mi">243</span><span class="p">,</span><span class="mi">273</span><span class="p">,</span><span class="mi">304</span><span class="p">,</span><span class="mi">334</span><span class="p">}</span> </span><span id="L-1273"><a href="#L-1273"><span class="linenos" data-line="1273"></span></a> </span><span id="L-1274"><a href="#L-1274"><span class="linenos" data-line="1274"></span></a> <span class="kd">local</span> <span class="n">rank</span> <span class="o">=</span> <span class="p">(</span><span class="n">ranks</span><span class="p">[</span><span class="n">mt</span><span class="p">]</span> <span class="ow">or</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">dy</span> <span class="o">-</span> <span class="mi">1</span> </span><span id="L-1275"><a href="#L-1275"><span class="linenos" data-line="1275"></span></a> <span class="kr">if</span><span class="p">(</span><span class="n">fun</span><span class="p">.</span><span class="n">isLeapYear</span><span class="p">(</span><span class="n">yr</span><span class="p">)</span> <span class="ow">and</span> <span class="p">(</span><span class="n">mt</span> <span class="o">>=</span> <span class="mi">3</span><span class="p">))</span> <span class="kr">then</span> </span><span id="L-1276"><a href="#L-1276"><span class="linenos" data-line="1276"></span></a> <span class="n">rank</span> <span class="o">=</span> <span class="n">rank</span><span class="o">+</span><span class="mi">1</span> </span><span id="L-1277"><a href="#L-1277"><span class="linenos" data-line="1277"></span></a> <span class="kr">end</span> </span><span id="L-1278"><a href="#L-1278"><span class="linenos" data-line="1278"></span></a> <span class="kr">return</span> <span class="n">rank</span> </span><span id="L-1279"><a href="#L-1279"><span class="linenos" data-line="1279"></span></a><span class="kr">end</span> </span><span id="L-1280"><a href="#L-1280"><span class="linenos" data-line="1280"></span></a> </span><span id="L-1281"><a href="#L-1281"><span class="linenos" data-line="1281"></span></a><span class="c1">-- Nombre de jours entre deux années (du 1er janvier au 1er janvier)</span> </span><span id="L-1282"><a href="#L-1282"><span class="linenos" data-line="1282"></span></a><span class="c1">-- Suit le calendrier grégorien</span> </span><span id="L-1283"><a href="#L-1283"><span class="linenos" data-line="1283"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">do_daysBetween</span><span class="p">(</span><span class="n">arguments</span><span class="p">)</span> </span><span id="L-1284"><a href="#L-1284"><span class="linenos" data-line="1284"></span></a> <span class="kd">local</span> <span class="n">yr1</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">arguments</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">0</span> </span><span id="L-1285"><a href="#L-1285"><span class="linenos" data-line="1285"></span></a> <span class="kd">local</span> <span class="n">yr2</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">arguments</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">0</span> </span><span id="L-1286"><a href="#L-1286"><span class="linenos" data-line="1286"></span></a> </span><span id="L-1287"><a href="#L-1287"><span class="linenos" data-line="1287"></span></a> <span class="kr">return</span> <span class="n">fun</span><span class="p">.</span><span class="n">daysSinceOrigin</span><span class="p">(</span><span class="n">yr2</span><span class="p">)</span> <span class="o">-</span> <span class="n">fun</span><span class="p">.</span><span class="n">daysSinceOrigin</span><span class="p">(</span><span class="n">yr1</span><span class="p">)</span> </span><span id="L-1288"><a href="#L-1288"><span class="linenos" data-line="1288"></span></a><span class="kr">end</span> </span><span id="L-1289"><a href="#L-1289"><span class="linenos" data-line="1289"></span></a> </span><span id="L-1290"><a href="#L-1290"><span class="linenos" data-line="1290"></span></a><span class="c1">-- Nombre de jours depuis l'année 1 (du 1er janvier au 1er janvier)</span> </span><span id="L-1291"><a href="#L-1291"><span class="linenos" data-line="1291"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">daysSinceOrigin</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> </span><span id="L-1292"><a href="#L-1292"><span class="linenos" data-line="1292"></span></a> <span class="kd">local</span> <span class="n">yr</span> <span class="o">=</span> <span class="n">year</span><span class="o">-</span><span class="mi">1</span> </span><span id="L-1293"><a href="#L-1293"><span class="linenos" data-line="1293"></span></a> <span class="kr">return</span> <span class="mi">365</span><span class="o">*</span><span class="n">yr</span> <span class="o">+</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">yr</span><span class="o">/</span><span class="mi">4</span><span class="p">)</span> <span class="o">-</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">yr</span><span class="o">/</span><span class="mi">100</span><span class="p">)</span> <span class="o">+</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">yr</span><span class="o">/</span><span class="mi">400</span><span class="p">)</span> </span><span id="L-1294"><a href="#L-1294"><span class="linenos" data-line="1294"></span></a><span class="kr">end</span> </span><span id="L-1295"><a href="#L-1295"><span class="linenos" data-line="1295"></span></a> </span><span id="L-1296"><a href="#L-1296"><span class="linenos" data-line="1296"></span></a><span class="c1">-- Test d'année bissextile (Suit le calendrier grégorien)</span> </span><span id="L-1297"><a href="#L-1297"><span class="linenos" data-line="1297"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">isLeapYear</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> </span><span id="L-1298"><a href="#L-1298"><span class="linenos" data-line="1298"></span></a> <span class="kd">local</span> <span class="n">yr</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-1299"><a href="#L-1299"><span class="linenos" data-line="1299"></span></a> <span class="kr">return</span> <span class="p">(</span><span class="n">yr</span><span class="o">%</span><span class="mi">4</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="ow">and</span> <span class="p">((</span><span class="n">yr</span><span class="o">%</span><span class="mi">100</span> <span class="o">~=</span> <span class="mi">0</span><span class="p">)</span> <span class="ow">or</span> <span class="p">(</span><span class="n">yr</span><span class="o">%</span><span class="mi">400</span> <span class="o">==</span> <span class="mi">0</span><span class="p">))</span> </span><span id="L-1300"><a href="#L-1300"><span class="linenos" data-line="1300"></span></a><span class="kr">end</span> </span><span id="L-1301"><a href="#L-1301"><span class="linenos" data-line="1301"></span></a> </span><span id="L-1302"><a href="#L-1302"><span class="linenos" data-line="1302"></span></a><span class="c1">-- Conversion d'un nombre en chiffres romains</span> </span><span id="L-1303"><a href="#L-1303"><span class="linenos" data-line="1303"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">toRoman</span><span class="p">(</span><span class="n">number</span><span class="p">)</span> </span><span id="L-1304"><a href="#L-1304"><span class="linenos" data-line="1304"></span></a> <span class="kd">local</span> <span class="n">n</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">number</span><span class="p">)</span> </span><span id="L-1305"><a href="#L-1305"><span class="linenos" data-line="1305"></span></a> <span class="kd">local</span> <span class="n">letters</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"I"</span><span class="p">,</span><span class="s2">"V"</span><span class="p">,</span><span class="s2">"X"</span><span class="p">,</span><span class="s2">"L"</span><span class="p">,</span><span class="s2">"C"</span><span class="p">,</span><span class="s2">"D"</span><span class="p">,</span><span class="s2">"M"</span><span class="p">,</span><span class="s2">""</span><span class="p">,</span><span class="s2">""</span><span class="p">}</span> </span><span id="L-1306"><a href="#L-1306"><span class="linenos" data-line="1306"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="p">{</span><span class="s2">""</span><span class="p">,</span><span class="s2">"0"</span><span class="p">,</span><span class="s2">"00"</span><span class="p">,</span><span class="s2">"000"</span><span class="p">,</span><span class="s2">"01"</span><span class="p">,</span><span class="s2">"1"</span><span class="p">,</span><span class="s2">"10"</span><span class="p">,</span><span class="s2">"100"</span><span class="p">,</span><span class="s2">"1000"</span><span class="p">,</span><span class="s2">"02"</span><span class="p">}</span> </span><span id="L-1307"><a href="#L-1307"><span class="linenos" data-line="1307"></span></a> <span class="kd">local</span> <span class="n">result</span> <span class="o">=</span> <span class="s2">""</span> </span><span id="L-1308"><a href="#L-1308"><span class="linenos" data-line="1308"></span></a> <span class="kr">if</span><span class="p">(</span><span class="n">n</span><span class="o"><=</span><span class="mi">0</span> <span class="ow">or</span> <span class="n">n</span><span class="o">>=</span><span class="mi">4000</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-1309"><a href="#L-1309"><span class="linenos" data-line="1309"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="s2">"---"</span> </span><span id="L-1310"><a href="#L-1310"><span class="linenos" data-line="1310"></span></a> <span class="kr">else</span> </span><span id="L-1311"><a href="#L-1311"><span class="linenos" data-line="1311"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">2</span> <span class="kr">do</span> </span><span id="L-1312"><a href="#L-1312"><span class="linenos" data-line="1312"></span></a> <span class="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="n">pattern</span><span class="p">[</span><span class="n">n</span><span class="o">%</span><span class="mi">10</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> </span><span id="L-1313"><a href="#L-1313"><span class="linenos" data-line="1313"></span></a> <span class="kr">for</span> <span class="n">j</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span> <span class="kr">do</span> </span><span id="L-1314"><a href="#L-1314"><span class="linenos" data-line="1314"></span></a> <span class="n">p</span> <span class="o">=</span> <span class="nb">string.gsub</span><span class="p">(</span><span class="n">p</span><span class="p">,</span><span class="nb">tostring</span><span class="p">(</span><span class="n">j</span><span class="p">),</span><span class="n">letters</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="n">j</span><span class="p">])</span> </span><span id="L-1315"><a href="#L-1315"><span class="linenos" data-line="1315"></span></a> <span class="kr">end</span> </span><span id="L-1316"><a href="#L-1316"><span class="linenos" data-line="1316"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">p</span> <span class="o">..</span> <span class="n">result</span> </span><span id="L-1317"><a href="#L-1317"><span class="linenos" data-line="1317"></span></a> <span class="n">n</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">n</span><span class="o">/</span><span class="mi">10</span><span class="p">)</span> </span><span id="L-1318"><a href="#L-1318"><span class="linenos" data-line="1318"></span></a> <span class="kr">end</span> </span><span id="L-1319"><a href="#L-1319"><span class="linenos" data-line="1319"></span></a> <span class="kr">end</span> </span><span id="L-1320"><a href="#L-1320"><span class="linenos" data-line="1320"></span></a> <span class="kr">return</span> <span class="n">result</span> </span><span id="L-1321"><a href="#L-1321"><span class="linenos" data-line="1321"></span></a><span class="kr">end</span> </span><span id="L-1322"><a href="#L-1322"><span class="linenos" data-line="1322"></span></a> </span><span id="L-1323"><a href="#L-1323"><span class="linenos" data-line="1323"></span></a><span class="c1">-- Conversion et affichage d'une date dans le calendrier républicain</span> </span><span id="L-1324"><a href="#L-1324"><span class="linenos" data-line="1324"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">dateRepublicain</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-1325"><a href="#L-1325"><span class="linenos" data-line="1325"></span></a> <span class="kd">local</span> <span class="n">pframe</span> <span class="o">=</span> <span class="n">frame</span><span class="p">:</span><span class="n">getParent</span><span class="p">()</span> </span><span id="L-1326"><a href="#L-1326"><span class="linenos" data-line="1326"></span></a> <span class="kd">local</span> <span class="n">arguments</span> <span class="o">=</span> <span class="n">pframe</span><span class="p">.</span><span class="n">args</span> </span><span id="L-1327"><a href="#L-1327"><span class="linenos" data-line="1327"></span></a> <span class="kr">return</span> <span class="n">fun</span><span class="p">.</span><span class="n">formatRepCal</span><span class="p">(</span><span class="n">fun</span><span class="p">.</span><span class="n">do_toRepCal</span><span class="p">(</span><span class="n">arguments</span><span class="p">))</span> </span><span id="L-1328"><a href="#L-1328"><span class="linenos" data-line="1328"></span></a><span class="kr">end</span> </span><span id="L-1329"><a href="#L-1329"><span class="linenos" data-line="1329"></span></a> </span><span id="L-1330"><a href="#L-1330"><span class="linenos" data-line="1330"></span></a><span class="c1">---</span> </span><span id="L-1331"><a href="#L-1331"><span class="linenos" data-line="1331"></span></a><span class="c1">-- Calcul d'une date dans le calendrier républicain</span> </span><span id="L-1332"><a href="#L-1332"><span class="linenos" data-line="1332"></span></a><span class="c1">-- On suppose que les années 4n+3 sont sextiles (3, 7, 11...)</span> </span><span id="L-1333"><a href="#L-1333"><span class="linenos" data-line="1333"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">do_toRepCal</span><span class="p">(</span><span class="n">arguments</span><span class="p">)</span> </span><span id="L-1334"><a href="#L-1334"><span class="linenos" data-line="1334"></span></a> <span class="kd">local</span> <span class="n">yr</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">arguments</span><span class="p">.</span><span class="n">year</span> <span class="ow">or</span> <span class="n">arguments</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">2000</span> </span><span id="L-1335"><a href="#L-1335"><span class="linenos" data-line="1335"></span></a> <span class="c1">-- rang absolu du jour demandé, le jour 0 étant le 22 septembre 1792 (1er jour de l'an I)</span> </span><span id="L-1336"><a href="#L-1336"><span class="linenos" data-line="1336"></span></a> <span class="kd">local</span> <span class="n">repDays</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">do_dayRank</span><span class="p">(</span><span class="n">arguments</span><span class="p">)</span> <span class="o">+</span> <span class="n">fun</span><span class="p">.</span><span class="n">do_daysBetween</span><span class="p">{</span><span class="mi">1792</span><span class="p">,</span><span class="n">yr</span><span class="p">}</span> <span class="o">-</span> <span class="n">fun</span><span class="p">.</span><span class="n">do_dayRank</span><span class="p">{</span><span class="mi">1792</span><span class="p">,</span><span class="mi">9</span><span class="p">,</span><span class="mi">22</span><span class="p">}</span> </span><span id="L-1337"><a href="#L-1337"><span class="linenos" data-line="1337"></span></a> <span class="kd">local</span> <span class="n">repYear</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">((</span><span class="n">repDays</span><span class="o">+</span><span class="mi">731</span><span class="p">)</span><span class="o">/</span><span class="mf">365.25</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> </span><span id="L-1338"><a href="#L-1338"><span class="linenos" data-line="1338"></span></a> <span class="kd">local</span> <span class="n">repDayRank</span> <span class="o">=</span> <span class="n">repDays</span> <span class="o">-</span> <span class="mi">365</span><span class="o">*</span><span class="p">(</span><span class="n">repYear</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">-</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">repYear</span><span class="o">/</span><span class="mi">4</span><span class="p">)</span> </span><span id="L-1339"><a href="#L-1339"><span class="linenos" data-line="1339"></span></a> <span class="kd">local</span> <span class="n">repMonth</span><span class="p">,</span> <span class="n">repDay</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">repDayRank</span><span class="o">/</span><span class="mi">30</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="p">(</span><span class="n">repDayRank</span><span class="o">%</span><span class="mi">30</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span> </span><span id="L-1340"><a href="#L-1340"><span class="linenos" data-line="1340"></span></a> <span class="kr">return</span> <span class="p">{</span><span class="n">repYear</span><span class="p">,</span> <span class="n">repMonth</span><span class="p">,</span> <span class="n">repDay</span><span class="p">}</span> </span><span id="L-1341"><a href="#L-1341"><span class="linenos" data-line="1341"></span></a><span class="kr">end</span> </span><span id="L-1342"><a href="#L-1342"><span class="linenos" data-line="1342"></span></a> </span><span id="L-1343"><a href="#L-1343"><span class="linenos" data-line="1343"></span></a><span class="c1">---</span> </span><span id="L-1344"><a href="#L-1344"><span class="linenos" data-line="1344"></span></a><span class="c1">-- Formatage d'une date selon le calendrier républicain</span> </span><span id="L-1345"><a href="#L-1345"><span class="linenos" data-line="1345"></span></a><span class="c1">-- Usage : fun.formatRepCal{année,mois,jour}</span> </span><span id="L-1346"><a href="#L-1346"><span class="linenos" data-line="1346"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">formatRepCal</span><span class="p">(</span><span class="n">arguments</span><span class="p">)</span> </span><span id="L-1347"><a href="#L-1347"><span class="linenos" data-line="1347"></span></a> <span class="kd">local</span> <span class="n">months</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"Vendémiaire"</span><span class="p">,</span><span class="s2">"Brumaire"</span><span class="p">,</span><span class="s2">"Frimaire"</span><span class="p">,</span><span class="s2">"Nivôse"</span><span class="p">,</span><span class="s2">"Pluviôse"</span><span class="p">,</span><span class="s2">"Ventôse"</span><span class="p">,</span><span class="s2">"Germinal"</span><span class="p">,</span><span class="s2">"Floréal"</span><span class="p">,</span><span class="s2">"Prairial"</span><span class="p">,</span><span class="s2">"Messidor"</span><span class="p">,</span><span class="s2">"Thermidor"</span><span class="p">,</span><span class="s2">"Fructidor"</span><span class="p">}</span> </span><span id="L-1348"><a href="#L-1348"><span class="linenos" data-line="1348"></span></a> <span class="kd">local</span> <span class="n">extras</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"de la vertu"</span><span class="p">,</span><span class="s2">"du génie"</span><span class="p">,</span><span class="s2">"du travail"</span><span class="p">,</span><span class="s2">"des récompenses"</span><span class="p">,</span><span class="s2">"de l'opinion"</span><span class="p">,</span><span class="s2">"de la Révolution"</span><span class="p">}</span> </span><span id="L-1349"><a href="#L-1349"><span class="linenos" data-line="1349"></span></a> <span class="kd">local</span> <span class="n">result</span> <span class="o">=</span> <span class="s2">""</span> </span><span id="L-1350"><a href="#L-1350"><span class="linenos" data-line="1350"></span></a> <span class="kr">if</span><span class="p">(</span><span class="n">arguments</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o"><</span> <span class="mi">13</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-1351"><a href="#L-1351"><span class="linenos" data-line="1351"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">result</span> <span class="o">..</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">arguments</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> <span class="o">..</span> <span class="s2">"</span><span class="se">\194\160</span><span class="s2">"</span> <span class="o">..</span> <span class="n">months</span><span class="p">[</span><span class="n">arguments</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> </span><span id="L-1352"><a href="#L-1352"><span class="linenos" data-line="1352"></span></a> <span class="kr">else</span> </span><span id="L-1353"><a href="#L-1353"><span class="linenos" data-line="1353"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">result</span> <span class="o">..</span> <span class="s2">"jour "</span> <span class="o">..</span> <span class="n">extras</span><span class="p">[</span><span class="n">arguments</span><span class="p">[</span><span class="mi">3</span><span class="p">]]</span> </span><span id="L-1354"><a href="#L-1354"><span class="linenos" data-line="1354"></span></a> <span class="kr">end</span> </span><span id="L-1355"><a href="#L-1355"><span class="linenos" data-line="1355"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">result</span> <span class="o">..</span> <span class="s2">" de l'an "</span> <span class="o">..</span> <span class="n">fun</span><span class="p">.</span><span class="n">toRoman</span><span class="p">(</span><span class="n">arguments</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> </span><span id="L-1356"><a href="#L-1356"><span class="linenos" data-line="1356"></span></a> <span class="kr">return</span> <span class="n">result</span> </span><span id="L-1357"><a href="#L-1357"><span class="linenos" data-line="1357"></span></a><span class="kr">end</span> </span><span id="L-1358"><a href="#L-1358"><span class="linenos" data-line="1358"></span></a> </span><span id="L-1359"><a href="#L-1359"><span class="linenos" data-line="1359"></span></a><span class="c1">---</span> </span><span id="L-1360"><a href="#L-1360"><span class="linenos" data-line="1360"></span></a><span class="c1">-- Voir Modèle:Âge</span> </span><span id="L-1361"><a href="#L-1361"><span class="linenos" data-line="1361"></span></a><span class="c1">-- retourne l'âge en fonction de la ou les dates fournies. La valeur retournée est de type 'number'</span> </span><span id="L-1362"><a href="#L-1362"><span class="linenos" data-line="1362"></span></a><span class="c1">-- Paramètres :</span> </span><span id="L-1363"><a href="#L-1363"><span class="linenos" data-line="1363"></span></a><span class="c1">-- 1, 2, 3 : année, mois jour de naissance (supposé dans le calendrier grégorien)</span> </span><span id="L-1364"><a href="#L-1364"><span class="linenos" data-line="1364"></span></a><span class="c1">-- 4, 5, 6 : année, mois, jour du calcul (facultatif, par défaut la date UTC courante).</span> </span><span id="L-1365"><a href="#L-1365"><span class="linenos" data-line="1365"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">age</span><span class="p">(</span> <span class="n">an</span><span class="p">,</span> <span class="n">mn</span><span class="p">,</span> <span class="n">jn</span><span class="p">,</span> <span class="n">ac</span><span class="p">,</span> <span class="n">mc</span><span class="p">,</span> <span class="n">jc</span> <span class="p">)</span> </span><span id="L-1366"><a href="#L-1366"><span class="linenos" data-line="1366"></span></a> <span class="kr">if</span> <span class="n">ac</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-1367"><a href="#L-1367"><span class="linenos" data-line="1367"></span></a> <span class="kd">local</span> <span class="n">today</span> <span class="o">=</span> <span class="nb">os.date</span><span class="p">(</span> <span class="s1">'!*t'</span> <span class="p">)</span> </span><span id="L-1368"><a href="#L-1368"><span class="linenos" data-line="1368"></span></a> <span class="n">ac</span> <span class="o">=</span> <span class="n">today</span><span class="p">.</span><span class="n">year</span> </span><span id="L-1369"><a href="#L-1369"><span class="linenos" data-line="1369"></span></a> <span class="n">mc</span> <span class="o">=</span> <span class="n">today</span><span class="p">.</span><span class="n">month</span> </span><span id="L-1370"><a href="#L-1370"><span class="linenos" data-line="1370"></span></a> <span class="n">jc</span> <span class="o">=</span> <span class="n">today</span><span class="p">.</span><span class="n">day</span> </span><span id="L-1371"><a href="#L-1371"><span class="linenos" data-line="1371"></span></a> <span class="kr">else</span> </span><span id="L-1372"><a href="#L-1372"><span class="linenos" data-line="1372"></span></a> <span class="n">ac</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">ac</span> <span class="p">)</span> </span><span id="L-1373"><a href="#L-1373"><span class="linenos" data-line="1373"></span></a> <span class="n">mc</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">mc</span> <span class="p">)</span> </span><span id="L-1374"><a href="#L-1374"><span class="linenos" data-line="1374"></span></a> <span class="n">jc</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">jc</span> <span class="p">)</span> </span><span id="L-1375"><a href="#L-1375"><span class="linenos" data-line="1375"></span></a> <span class="kr">end</span> </span><span id="L-1376"><a href="#L-1376"><span class="linenos" data-line="1376"></span></a> </span><span id="L-1377"><a href="#L-1377"><span class="linenos" data-line="1377"></span></a> <span class="n">an</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">an</span> <span class="p">)</span> </span><span id="L-1378"><a href="#L-1378"><span class="linenos" data-line="1378"></span></a> <span class="n">mn</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">mn</span> <span class="p">)</span> </span><span id="L-1379"><a href="#L-1379"><span class="linenos" data-line="1379"></span></a> <span class="n">jn</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">jn</span> <span class="p">)</span> </span><span id="L-1380"><a href="#L-1380"><span class="linenos" data-line="1380"></span></a> </span><span id="L-1381"><a href="#L-1381"><span class="linenos" data-line="1381"></span></a> <span class="kr">if</span> <span class="n">an</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">or</span> <span class="n">ac</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">or</span> <span class="n">mn</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">or</span> <span class="n">mc</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-1382"><a href="#L-1382"><span class="linenos" data-line="1382"></span></a> <span class="c1">-- pas de message d'erreur qui risque de faire planter la fonction appelante</span> </span><span id="L-1383"><a href="#L-1383"><span class="linenos" data-line="1383"></span></a> <span class="c1">-- à elle de gérer ce retour.</span> </span><span id="L-1384"><a href="#L-1384"><span class="linenos" data-line="1384"></span></a> <span class="kr">return</span> </span><span id="L-1385"><a href="#L-1385"><span class="linenos" data-line="1385"></span></a> <span class="kr">end</span> </span><span id="L-1386"><a href="#L-1386"><span class="linenos" data-line="1386"></span></a> </span><span id="L-1387"><a href="#L-1387"><span class="linenos" data-line="1387"></span></a> <span class="kd">local</span> <span class="n">age</span> <span class="o">=</span> <span class="n">ac</span> <span class="o">-</span> <span class="n">an</span> </span><span id="L-1388"><a href="#L-1388"><span class="linenos" data-line="1388"></span></a> </span><span id="L-1389"><a href="#L-1389"><span class="linenos" data-line="1389"></span></a> <span class="c1">-- si l'intervalle traverse l'année zéro, il faut soustraire une année</span> </span><span id="L-1390"><a href="#L-1390"><span class="linenos" data-line="1390"></span></a> <span class="c1">-- parce que cette année n'existe pas dans les calendriers chrétiens</span> </span><span id="L-1391"><a href="#L-1391"><span class="linenos" data-line="1391"></span></a> <span class="kr">if</span> <span class="n">an</span> <span class="o"><</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">ac</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-1392"><a href="#L-1392"><span class="linenos" data-line="1392"></span></a> <span class="n">age</span> <span class="o">=</span> <span class="n">age</span> <span class="o">-</span> <span class="mi">1</span> </span><span id="L-1393"><a href="#L-1393"><span class="linenos" data-line="1393"></span></a> <span class="kr">end</span> </span><span id="L-1394"><a href="#L-1394"><span class="linenos" data-line="1394"></span></a> </span><span id="L-1395"><a href="#L-1395"><span class="linenos" data-line="1395"></span></a> <span class="kr">if</span> <span class="n">mc</span> <span class="o">==</span> <span class="n">mn</span> <span class="kr">then</span> </span><span id="L-1396"><a href="#L-1396"><span class="linenos" data-line="1396"></span></a> <span class="kr">if</span> <span class="n">jc</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">or</span> <span class="n">jn</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-1397"><a href="#L-1397"><span class="linenos" data-line="1397"></span></a> <span class="kr">return</span> </span><span id="L-1398"><a href="#L-1398"><span class="linenos" data-line="1398"></span></a> <span class="kr">end</span> </span><span id="L-1399"><a href="#L-1399"><span class="linenos" data-line="1399"></span></a> <span class="kr">return</span> <span class="n">age</span> <span class="o">-</span> <span class="p">(</span> <span class="n">jc</span> <span class="o"><</span> <span class="n">jn</span> <span class="ow">and</span> <span class="mi">1</span> <span class="ow">or</span> <span class="mi">0</span> <span class="p">)</span> </span><span id="L-1400"><a href="#L-1400"><span class="linenos" data-line="1400"></span></a> <span class="kr">else</span> </span><span id="L-1401"><a href="#L-1401"><span class="linenos" data-line="1401"></span></a> <span class="kr">return</span> <span class="n">age</span> <span class="o">-</span> <span class="p">(</span> <span class="n">mc</span> <span class="o"><</span> <span class="n">mn</span> <span class="ow">and</span> <span class="mi">1</span> <span class="ow">or</span> <span class="mi">0</span> <span class="p">)</span> </span><span id="L-1402"><a href="#L-1402"><span class="linenos" data-line="1402"></span></a> <span class="kr">end</span> </span><span id="L-1403"><a href="#L-1403"><span class="linenos" data-line="1403"></span></a><span class="kr">end</span> </span><span id="L-1404"><a href="#L-1404"><span class="linenos" data-line="1404"></span></a> </span><span id="L-1405"><a href="#L-1405"><span class="linenos" data-line="1405"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">modeleAge</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-1406"><a href="#L-1406"><span class="linenos" data-line="1406"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">Outils</span><span class="p">.</span><span class="n">extractArgs</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-1407"><a href="#L-1407"><span class="linenos" data-line="1407"></span></a> <span class="kd">local</span> <span class="n">age</span> <span class="o">=</span> <span class="n">fun</span><span class="p">.</span><span class="n">age</span><span class="p">(</span> </span><span id="L-1408"><a href="#L-1408"><span class="linenos" data-line="1408"></span></a> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'année'</span><span class="p">],</span> </span><span id="L-1409"><a href="#L-1409"><span class="linenos" data-line="1409"></span></a> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'mois'</span><span class="p">],</span> </span><span id="L-1410"><a href="#L-1410"><span class="linenos" data-line="1410"></span></a> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'jour'</span><span class="p">],</span> </span><span id="L-1411"><a href="#L-1411"><span class="linenos" data-line="1411"></span></a> <span class="n">args</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span> </span><span id="L-1412"><a href="#L-1412"><span class="linenos" data-line="1412"></span></a> <span class="n">args</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span> </span><span id="L-1413"><a href="#L-1413"><span class="linenos" data-line="1413"></span></a> <span class="n">args</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> </span><span id="L-1414"><a href="#L-1414"><span class="linenos" data-line="1414"></span></a> <span class="p">)</span> </span><span id="L-1415"><a href="#L-1415"><span class="linenos" data-line="1415"></span></a> <span class="kr">if</span> <span class="n">age</span> <span class="kr">then</span> </span><span id="L-1416"><a href="#L-1416"><span class="linenos" data-line="1416"></span></a> <span class="kr">return</span> <span class="n">age</span> </span><span id="L-1417"><a href="#L-1417"><span class="linenos" data-line="1417"></span></a> <span class="kr">else</span> </span><span id="L-1418"><a href="#L-1418"><span class="linenos" data-line="1418"></span></a> <span class="kr">return</span> <span class="s1">'<span class="error">Paramètres incorrects ou insuffisants pour calculer l</span><span class="se">\'</span><span class="s1">âge précis</span>'</span> </span><span id="L-1419"><a href="#L-1419"><span class="linenos" data-line="1419"></span></a> <span class="kr">end</span> </span><span id="L-1420"><a href="#L-1420"><span class="linenos" data-line="1420"></span></a><span class="kr">end</span> </span><span id="L-1421"><a href="#L-1421"><span class="linenos" data-line="1421"></span></a> </span><span id="L-1422"><a href="#L-1422"><span class="linenos" data-line="1422"></span></a><span class="c1">---</span> </span><span id="L-1423"><a href="#L-1423"><span class="linenos" data-line="1423"></span></a><span class="c1">-- calcul du jour julien à partir d'une date du calendrier grégorien</span> </span><span id="L-1424"><a href="#L-1424"><span class="linenos" data-line="1424"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">julianDay</span><span class="p">(</span> <span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span><span class="p">,</span> <span class="n">hour</span><span class="p">,</span> <span class="n">min</span><span class="p">,</span> <span class="n">sec</span> <span class="p">)</span> </span><span id="L-1425"><a href="#L-1425"><span class="linenos" data-line="1425"></span></a> <span class="kd">local</span> <span class="n">julian</span> </span><span id="L-1426"><a href="#L-1426"><span class="linenos" data-line="1426"></span></a> <span class="n">julian</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="n">year</span> <span class="o">*</span> <span class="mi">12</span> <span class="o">+</span> <span class="n">month</span> <span class="o">+</span> <span class="mi">57609</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">12</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">)</span> <span class="o">*</span> <span class="mi">1461</span> <span class="o">/</span> <span class="mi">4</span> <span class="p">)</span> </span><span id="L-1427"><a href="#L-1427"><span class="linenos" data-line="1427"></span></a> <span class="o">-</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="n">year</span> <span class="o">*</span> <span class="mi">12</span> <span class="o">+</span> <span class="n">month</span> <span class="o">+</span> <span class="mi">57609</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">12</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">100</span> <span class="p">)</span> </span><span id="L-1428"><a href="#L-1428"><span class="linenos" data-line="1428"></span></a> <span class="o">+</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="n">year</span> <span class="o">*</span> <span class="mi">12</span> <span class="o">+</span> <span class="n">month</span> <span class="o">+</span> <span class="mi">57609</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">12</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">400</span> <span class="p">)</span> </span><span id="L-1429"><a href="#L-1429"><span class="linenos" data-line="1429"></span></a> <span class="o">+</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="nb">math.fmod</span><span class="p">(</span> <span class="n">month</span> <span class="o">+</span> <span class="mi">57609</span><span class="p">,</span> <span class="mi">12</span> <span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="p">)</span> <span class="o">*</span> <span class="mi">153</span> <span class="o">/</span> <span class="mi">5</span> <span class="p">)</span> </span><span id="L-1430"><a href="#L-1430"><span class="linenos" data-line="1430"></span></a> <span class="o">+</span> <span class="n">day</span> <span class="o">+</span> <span class="p">(</span> <span class="n">hour</span> <span class="ow">or</span> <span class="mi">12</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">24</span> <span class="o">+</span> <span class="p">(</span> <span class="n">min</span> <span class="ow">or</span> <span class="mi">0</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">1440</span> <span class="o">+</span> <span class="p">(</span> <span class="n">sec</span> <span class="ow">or</span> <span class="mi">0</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">86400</span> </span><span id="L-1431"><a href="#L-1431"><span class="linenos" data-line="1431"></span></a> <span class="o">-</span> <span class="mf">32167.5</span> </span><span id="L-1432"><a href="#L-1432"><span class="linenos" data-line="1432"></span></a> <span class="kr">return</span> <span class="n">julian</span> </span><span id="L-1433"><a href="#L-1433"><span class="linenos" data-line="1433"></span></a><span class="kr">end</span> </span><span id="L-1434"><a href="#L-1434"><span class="linenos" data-line="1434"></span></a> </span><span id="L-1435"><a href="#L-1435"><span class="linenos" data-line="1435"></span></a><span class="c1">---</span> </span><span id="L-1436"><a href="#L-1436"><span class="linenos" data-line="1436"></span></a><span class="c1">-- calcul du jour julien à partir d'une date du calendrier julien</span> </span><span id="L-1437"><a href="#L-1437"><span class="linenos" data-line="1437"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">julianDayJulian</span><span class="p">(</span> <span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span><span class="p">,</span> <span class="n">hour</span><span class="p">,</span> <span class="n">min</span><span class="p">,</span> <span class="n">sec</span> <span class="p">)</span> </span><span id="L-1438"><a href="#L-1438"><span class="linenos" data-line="1438"></span></a> <span class="kd">local</span> <span class="n">julian</span> </span><span id="L-1439"><a href="#L-1439"><span class="linenos" data-line="1439"></span></a> <span class="n">julian</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="n">year</span> <span class="o">*</span> <span class="mi">12</span> <span class="o">+</span> <span class="n">month</span> <span class="o">+</span> <span class="mi">57609</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">12</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">)</span> <span class="o">*</span> <span class="mi">1461</span> <span class="o">/</span> <span class="mi">4</span> <span class="p">)</span> </span><span id="L-1440"><a href="#L-1440"><span class="linenos" data-line="1440"></span></a> <span class="o">+</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="nb">math.fmod</span><span class="p">(</span> <span class="n">month</span> <span class="o">+</span> <span class="mi">57609</span><span class="p">,</span> <span class="mi">12</span> <span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="p">)</span> <span class="o">*</span> <span class="mi">153</span> <span class="o">/</span> <span class="mi">5</span> <span class="p">)</span> </span><span id="L-1441"><a href="#L-1441"><span class="linenos" data-line="1441"></span></a> <span class="o">+</span> <span class="n">day</span> <span class="o">+</span> <span class="p">(</span> <span class="n">hour</span> <span class="ow">or</span> <span class="mi">12</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">24</span> <span class="o">+</span> <span class="p">(</span> <span class="n">min</span> <span class="ow">or</span> <span class="mi">0</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">1440</span> <span class="o">+</span> <span class="p">(</span> <span class="n">sec</span> <span class="ow">or</span> <span class="mi">0</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">86400</span> </span><span id="L-1442"><a href="#L-1442"><span class="linenos" data-line="1442"></span></a> <span class="o">-</span> <span class="mf">32205.5</span> </span><span id="L-1443"><a href="#L-1443"><span class="linenos" data-line="1443"></span></a> <span class="kr">return</span> <span class="n">julian</span> </span><span id="L-1444"><a href="#L-1444"><span class="linenos" data-line="1444"></span></a><span class="kr">end</span> </span><span id="L-1445"><a href="#L-1445"><span class="linenos" data-line="1445"></span></a> </span><span id="L-1446"><a href="#L-1446"><span class="linenos" data-line="1446"></span></a><span class="c1">---</span> </span><span id="L-1447"><a href="#L-1447"><span class="linenos" data-line="1447"></span></a><span class="c1">-- calcul d'une date dans le calendrier grégorien à partir du jour julien</span> </span><span id="L-1448"><a href="#L-1448"><span class="linenos" data-line="1448"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">julianDayToGregorian</span><span class="p">(</span> <span class="n">julianDay</span> <span class="p">)</span> </span><span id="L-1449"><a href="#L-1449"><span class="linenos" data-line="1449"></span></a> <span class="kd">local</span> <span class="n">base</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">julianDay</span> <span class="o">+</span> <span class="mf">32044.5</span> <span class="p">)</span> <span class="c1">-- 1 March -4800 (proleptic Gregorian date)</span> </span><span id="L-1450"><a href="#L-1450"><span class="linenos" data-line="1450"></span></a> <span class="kd">local</span> <span class="n">nCentury</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="n">base</span> <span class="o">*</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">3</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">146097</span> <span class="p">)</span> </span><span id="L-1451"><a href="#L-1451"><span class="linenos" data-line="1451"></span></a> <span class="kd">local</span> <span class="n">sinceCentury</span> <span class="o">=</span> <span class="n">base</span> <span class="o">-</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">nCentury</span> <span class="o">*</span> <span class="mi">146097</span> <span class="o">/</span> <span class="mi">4</span> <span class="p">)</span> </span><span id="L-1452"><a href="#L-1452"><span class="linenos" data-line="1452"></span></a> <span class="kd">local</span> <span class="n">nYear</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="n">sinceCentury</span> <span class="o">*</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">3</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">1461</span> <span class="p">)</span> </span><span id="L-1453"><a href="#L-1453"><span class="linenos" data-line="1453"></span></a> <span class="kd">local</span> <span class="n">sinceYear</span> <span class="o">=</span> <span class="n">sinceCentury</span> <span class="o">-</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">nYear</span> <span class="o">*</span> <span class="mi">1461</span> <span class="o">/</span> <span class="mi">4</span> <span class="p">)</span> </span><span id="L-1454"><a href="#L-1454"><span class="linenos" data-line="1454"></span></a> <span class="kd">local</span> <span class="n">nMonth</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="n">sinceYear</span> <span class="o">*</span> <span class="mi">5</span> <span class="o">+</span> <span class="mi">2</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">153</span> <span class="p">)</span> </span><span id="L-1455"><a href="#L-1455"><span class="linenos" data-line="1455"></span></a> </span><span id="L-1456"><a href="#L-1456"><span class="linenos" data-line="1456"></span></a> <span class="kd">local</span> <span class="n">day</span> <span class="o">=</span> <span class="n">sinceYear</span> <span class="o">-</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="p">(</span> <span class="n">nMonth</span> <span class="o">*</span> <span class="mi">153</span> <span class="o">+</span> <span class="mi">2</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">5</span> <span class="p">)</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-1457"><a href="#L-1457"><span class="linenos" data-line="1457"></span></a> <span class="kd">local</span> <span class="n">month</span> <span class="o">=</span> <span class="n">nMonth</span> <span class="o">-</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">nMonth</span> <span class="o">/</span> <span class="mi">10</span> <span class="p">)</span> <span class="o">*</span> <span class="mi">12</span> <span class="o">+</span> <span class="mi">3</span> </span><span id="L-1458"><a href="#L-1458"><span class="linenos" data-line="1458"></span></a> <span class="kd">local</span> <span class="n">year</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">sinceYear</span> <span class="o">/</span> <span class="mi">306</span> <span class="p">)</span> <span class="o">+</span> <span class="n">nYear</span> <span class="o">+</span> <span class="mi">100</span> <span class="o">*</span> <span class="n">nCentury</span> <span class="o">-</span> <span class="mi">4800</span> </span><span id="L-1459"><a href="#L-1459"><span class="linenos" data-line="1459"></span></a> </span><span id="L-1460"><a href="#L-1460"><span class="linenos" data-line="1460"></span></a> <span class="kr">return</span> <span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span> </span><span id="L-1461"><a href="#L-1461"><span class="linenos" data-line="1461"></span></a><span class="kr">end</span> </span><span id="L-1462"><a href="#L-1462"><span class="linenos" data-line="1462"></span></a> </span><span id="L-1463"><a href="#L-1463"><span class="linenos" data-line="1463"></span></a><span class="c1">---</span> </span><span id="L-1464"><a href="#L-1464"><span class="linenos" data-line="1464"></span></a><span class="c1">-- calcul d'une date dans le calendrier julien à partir du jour julien</span> </span><span id="L-1465"><a href="#L-1465"><span class="linenos" data-line="1465"></span></a><span class="c1">-- calcul basé sur l'algorithme de la page https://en.wikipedia.org/wiki/Julian_day#Julian_or_Gregorian_calendar_from_Julian_day_number</span> </span><span id="L-1466"><a href="#L-1466"><span class="linenos" data-line="1466"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">julianDayToJulian</span><span class="p">(</span> <span class="n">julianDay</span> <span class="p">)</span> </span><span id="L-1467"><a href="#L-1467"><span class="linenos" data-line="1467"></span></a> <span class="kd">local</span> <span class="n">y</span> <span class="o">=</span> <span class="mi">4716</span> </span><span id="L-1468"><a href="#L-1468"><span class="linenos" data-line="1468"></span></a> <span class="kd">local</span> <span class="n">v</span> <span class="o">=</span> <span class="mi">3</span> </span><span id="L-1469"><a href="#L-1469"><span class="linenos" data-line="1469"></span></a> <span class="kd">local</span> <span class="n">j</span> <span class="o">=</span> <span class="mi">1401</span> </span><span id="L-1470"><a href="#L-1470"><span class="linenos" data-line="1470"></span></a> <span class="kd">local</span> <span class="n">u</span> <span class="o">=</span> <span class="mi">5</span> </span><span id="L-1471"><a href="#L-1471"><span class="linenos" data-line="1471"></span></a> <span class="kd">local</span> <span class="n">m</span> <span class="o">=</span> <span class="mi">2</span> </span><span id="L-1472"><a href="#L-1472"><span class="linenos" data-line="1472"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="mi">153</span> </span><span id="L-1473"><a href="#L-1473"><span class="linenos" data-line="1473"></span></a> <span class="kd">local</span> <span class="n">n</span> <span class="o">=</span> <span class="mi">12</span> </span><span id="L-1474"><a href="#L-1474"><span class="linenos" data-line="1474"></span></a> <span class="kd">local</span> <span class="n">w</span> <span class="o">=</span> <span class="mi">2</span> </span><span id="L-1475"><a href="#L-1475"><span class="linenos" data-line="1475"></span></a> <span class="kd">local</span> <span class="n">r</span> <span class="o">=</span> <span class="mi">4</span> </span><span id="L-1476"><a href="#L-1476"><span class="linenos" data-line="1476"></span></a> <span class="kd">local</span> <span class="n">B</span> <span class="o">=</span> <span class="mi">274277</span> </span><span id="L-1477"><a href="#L-1477"><span class="linenos" data-line="1477"></span></a> <span class="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="mi">1461</span> </span><span id="L-1478"><a href="#L-1478"><span class="linenos" data-line="1478"></span></a> <span class="kd">local</span> <span class="n">C</span> <span class="o">=</span> <span class="o">-</span><span class="mi">38</span> </span><span id="L-1479"><a href="#L-1479"><span class="linenos" data-line="1479"></span></a> <span class="kd">local</span> <span class="n">f</span> <span class="o">=</span> <span class="n">julianDay</span> <span class="o">+</span> <span class="n">j</span> </span><span id="L-1480"><a href="#L-1480"><span class="linenos" data-line="1480"></span></a> <span class="kd">local</span> <span class="n">e</span> <span class="o">=</span> <span class="n">r</span> <span class="o">*</span> <span class="n">f</span> <span class="o">+</span> <span class="n">v</span> </span><span id="L-1481"><a href="#L-1481"><span class="linenos" data-line="1481"></span></a> <span class="kd">local</span> <span class="n">g</span> <span class="o">=</span> <span class="nb">math.modf</span><span class="p">(</span> <span class="nb">math.fmod</span><span class="p">(</span> <span class="n">e</span><span class="p">,</span> <span class="n">p</span> <span class="p">)</span> <span class="o">/</span> <span class="n">r</span> <span class="p">)</span> </span><span id="L-1482"><a href="#L-1482"><span class="linenos" data-line="1482"></span></a> <span class="kd">local</span> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span> <span class="o">*</span> <span class="n">g</span> <span class="o">+</span> <span class="n">w</span> </span><span id="L-1483"><a href="#L-1483"><span class="linenos" data-line="1483"></span></a> <span class="kd">local</span> <span class="n">D</span> <span class="o">=</span> <span class="nb">math.modf</span><span class="p">(</span> <span class="nb">math.fmod</span><span class="p">(</span> <span class="n">h</span><span class="p">,</span> <span class="n">s</span> <span class="p">)</span> <span class="o">/</span> <span class="n">u</span> <span class="p">)</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-1484"><a href="#L-1484"><span class="linenos" data-line="1484"></span></a> <span class="kd">local</span> <span class="n">M</span> <span class="o">=</span> <span class="nb">math.fmod</span><span class="p">(</span> <span class="nb">math.modf</span><span class="p">(</span> <span class="n">h</span> <span class="o">/</span> <span class="n">s</span> <span class="p">)</span> <span class="o">+</span> <span class="n">m</span><span class="p">,</span> <span class="n">n</span> <span class="p">)</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-1485"><a href="#L-1485"><span class="linenos" data-line="1485"></span></a> <span class="kd">local</span> <span class="n">Y</span> <span class="o">=</span> <span class="nb">math.modf</span><span class="p">(</span> <span class="n">e</span> <span class="o">/</span> <span class="n">p</span> <span class="p">)</span> <span class="o">-</span> <span class="n">y</span> <span class="o">+</span> <span class="nb">math.modf</span><span class="p">(</span> <span class="p">(</span> <span class="n">n</span> <span class="o">+</span> <span class="n">m</span> <span class="o">-</span> <span class="n">M</span> <span class="p">)</span> <span class="o">/</span> <span class="n">n</span> <span class="p">)</span> </span><span id="L-1486"><a href="#L-1486"><span class="linenos" data-line="1486"></span></a> <span class="kr">return</span> <span class="n">Y</span><span class="p">,</span> <span class="n">M</span><span class="p">,</span> <span class="n">D</span> </span><span id="L-1487"><a href="#L-1487"><span class="linenos" data-line="1487"></span></a><span class="kr">end</span> </span><span id="L-1488"><a href="#L-1488"><span class="linenos" data-line="1488"></span></a> </span><span id="L-1489"><a href="#L-1489"><span class="linenos" data-line="1489"></span></a><span class="c1">---</span> </span><span id="L-1490"><a href="#L-1490"><span class="linenos" data-line="1490"></span></a><span class="c1">-- calcul d'une date dans le calendrier grégorien à partir d'une date dans le calendrier julien</span> </span><span id="L-1491"><a href="#L-1491"><span class="linenos" data-line="1491"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">julianToGregorian</span><span class="p">(</span> <span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span> <span class="p">)</span> </span><span id="L-1492"><a href="#L-1492"><span class="linenos" data-line="1492"></span></a> <span class="kr">return</span> <span class="n">fun</span><span class="p">.</span><span class="n">julianDayToGregorian</span><span class="p">(</span> <span class="n">fun</span><span class="p">.</span><span class="n">julianDayJulian</span><span class="p">(</span> <span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-1493"><a href="#L-1493"><span class="linenos" data-line="1493"></span></a><span class="kr">end</span> </span><span id="L-1494"><a href="#L-1494"><span class="linenos" data-line="1494"></span></a> </span><span id="L-1495"><a href="#L-1495"><span class="linenos" data-line="1495"></span></a><span class="c1">---</span> </span><span id="L-1496"><a href="#L-1496"><span class="linenos" data-line="1496"></span></a><span class="c1">-- calcul d'une date dans le calendrier julien à partir d'une date dans le calendrier grégorien</span> </span><span id="L-1497"><a href="#L-1497"><span class="linenos" data-line="1497"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">gregorianToJulian</span><span class="p">(</span> <span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span> <span class="p">)</span> </span><span id="L-1498"><a href="#L-1498"><span class="linenos" data-line="1498"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> </span><span id="L-1499"><a href="#L-1499"><span class="linenos" data-line="1499"></span></a> <span class="kr">if</span> <span class="n">month</span> <span class="kr">then</span> <span class="n">month</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">month</span><span class="p">)</span> <span class="kr">else</span> <span class="n">month</span> <span class="o">=</span> <span class="mi">6</span> <span class="kr">end</span> <span class="c1">--prend une valeur centrale pour donner un best "guess"</span> </span><span id="L-1500"><a href="#L-1500"><span class="linenos" data-line="1500"></span></a> <span class="kr">if</span> <span class="n">day</span> <span class="kr">then</span> <span class="n">day</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">day</span><span class="p">)</span> <span class="kr">else</span> <span class="n">day</span> <span class="o">=</span> <span class="mi">15</span> <span class="kr">end</span> </span><span id="L-1501"><a href="#L-1501"><span class="linenos" data-line="1501"></span></a> <span class="kr">return</span> <span class="n">fun</span><span class="p">.</span><span class="n">julianDayToJulian</span><span class="p">(</span> <span class="n">fun</span><span class="p">.</span><span class="n">julianDay</span><span class="p">(</span> <span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-1502"><a href="#L-1502"><span class="linenos" data-line="1502"></span></a><span class="kr">end</span> </span><span id="L-1503"><a href="#L-1503"><span class="linenos" data-line="1503"></span></a> </span><span id="L-1504"><a href="#L-1504"><span class="linenos" data-line="1504"></span></a> </span><span id="L-1505"><a href="#L-1505"><span class="linenos" data-line="1505"></span></a><span class="cm">--[[</span> </span><span id="L-1506"><a href="#L-1506"><span class="linenos" data-line="1506"></span></a><span class="cm"> Cette fonction retourne "CET" ou "CEST" selon que dans la pseudo-timezone en cours</span> </span><span id="L-1507"><a href="#L-1507"><span class="linenos" data-line="1507"></span></a><span class="cm"> c'est l'heure d'été ou l'heure d'hiver.</span> </span><span id="L-1508"><a href="#L-1508"><span class="linenos" data-line="1508"></span></a><span class="cm"> Cette fonction n'a de sens a priori que pour des modèles utilisés en Europe</span> </span><span id="L-1509"><a href="#L-1509"><span class="linenos" data-line="1509"></span></a> </span><span id="L-1510"><a href="#L-1510"><span class="linenos" data-line="1510"></span></a><span class="cm"> Paramètre optionnel non nommé : "sans lien" : retourne le texte CET/CEST. sinon</span> </span><span id="L-1511"><a href="#L-1511"><span class="linenos" data-line="1511"></span></a><span class="cm"> retourne ce même texte avec un wikilien vers les articles correspondants</span> </span><span id="L-1512"><a href="#L-1512"><span class="linenos" data-line="1512"></span></a><span class="cm">--]]</span> </span><span id="L-1513"><a href="#L-1513"><span class="linenos" data-line="1513"></span></a><span class="kr">function</span> <span class="nc">fun</span><span class="p">.</span><span class="nf">CEST</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-1514"><a href="#L-1514"><span class="linenos" data-line="1514"></span></a> <span class="c1">-- option : ne pas créer de wikilien</span> </span><span id="L-1515"><a href="#L-1515"><span class="linenos" data-line="1515"></span></a> <span class="kd">local</span> <span class="n">opt</span> <span class="o">=</span> <span class="n">trim</span><span class="p">(</span><span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">or</span> <span class="n">frame</span><span class="p">:</span><span class="n">getParent</span><span class="p">().</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> </span><span id="L-1516"><a href="#L-1516"><span class="linenos" data-line="1516"></span></a> <span class="c1">-- on récupère l'information dans la zone courante</span> </span><span id="L-1517"><a href="#L-1517"><span class="linenos" data-line="1517"></span></a> <span class="kd">local</span> <span class="n">t</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">():</span><span class="n">formatDate</span><span class="p">(</span><span class="s2">"I"</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="kc">true</span><span class="p">)</span> </span><span id="L-1518"><a href="#L-1518"><span class="linenos" data-line="1518"></span></a> </span><span id="L-1519"><a href="#L-1519"><span class="linenos" data-line="1519"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="n">t</span> <span class="o">==</span> <span class="s2">"1"</span><span class="p">)</span> <span class="kr">then</span> <span class="c1">-- heure d'été</span> </span><span id="L-1520"><a href="#L-1520"><span class="linenos" data-line="1520"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="n">opt</span> <span class="o">==</span> <span class="s2">"sans lien"</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-1521"><a href="#L-1521"><span class="linenos" data-line="1521"></span></a> <span class="kr">return</span> <span class="s2">"CEST"</span> </span><span id="L-1522"><a href="#L-1522"><span class="linenos" data-line="1522"></span></a> <span class="kr">elseif</span> <span class="p">(</span><span class="n">opt</span> <span class="o">==</span> <span class="s2">"décalage"</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-1523"><a href="#L-1523"><span class="linenos" data-line="1523"></span></a> <span class="kr">return</span> <span class="s2">"2"</span> </span><span id="L-1524"><a href="#L-1524"><span class="linenos" data-line="1524"></span></a> <span class="kr">else</span> </span><span id="L-1525"><a href="#L-1525"><span class="linenos" data-line="1525"></span></a> <span class="kr">return</span> <span class="s2">"[[Heure d'été d'Europe centrale|CEST]]"</span> </span><span id="L-1526"><a href="#L-1526"><span class="linenos" data-line="1526"></span></a> <span class="kr">end</span> </span><span id="L-1527"><a href="#L-1527"><span class="linenos" data-line="1527"></span></a> <span class="kr">else</span> <span class="c1">-- heure d'hiver (ou autre zone où ça ne s'applique pas)</span> </span><span id="L-1528"><a href="#L-1528"><span class="linenos" data-line="1528"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="n">opt</span> <span class="o">==</span> <span class="s2">"sans lien"</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-1529"><a href="#L-1529"><span class="linenos" data-line="1529"></span></a> <span class="kr">return</span> <span class="s2">"CET"</span> </span><span id="L-1530"><a href="#L-1530"><span class="linenos" data-line="1530"></span></a> <span class="kr">elseif</span> <span class="p">(</span><span class="n">opt</span> <span class="o">==</span> <span class="s2">"décalage"</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-1531"><a href="#L-1531"><span class="linenos" data-line="1531"></span></a> <span class="kr">return</span> <span class="s2">"1"</span> </span><span id="L-1532"><a href="#L-1532"><span class="linenos" data-line="1532"></span></a> <span class="kr">else</span> </span><span id="L-1533"><a href="#L-1533"><span class="linenos" data-line="1533"></span></a> <span class="kr">return</span> <span class="s2">"[[Heure normale d'Europe centrale|CET]]"</span> </span><span id="L-1534"><a href="#L-1534"><span class="linenos" data-line="1534"></span></a> <span class="kr">end</span> </span><span id="L-1535"><a href="#L-1535"><span class="linenos" data-line="1535"></span></a> <span class="kr">end</span> </span><span id="L-1536"><a href="#L-1536"><span class="linenos" data-line="1536"></span></a><span class="kr">end</span> </span><span id="L-1537"><a href="#L-1537"><span class="linenos" data-line="1537"></span></a> </span><span id="L-1538"><a href="#L-1538"><span class="linenos" data-line="1538"></span></a><span class="kr">return</span> <span class="n">fun</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐rkk8l Cached time: 20241124022516 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.142 seconds Real time usage: 0.170 seconds Preprocessor visited node count: 964/1000000 Post‐expand include size: 115567/2097152 bytes Template argument size: 349/2097152 bytes Highest expansion depth: 12/100 Expensive parser function count: 3/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 4021/5000000 bytes Lua time usage: 0.083/10.000 seconds Lua memory usage: 2279775/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 128.927 1 -total 100.00% 128.927 1 Modèle:Documentation_module 98.99% 127.622 1 Modèle:Méta_documentation_de_modèle 5.33% 6.870 1 Modèle:Projet_Scribunto 4.78% 6.167 8 Modèle:Date_de_naissance 2.98% 3.840 1 Modèle:Méta_lien_vers_projet 2.52% 3.246 3 Modèle:Date 1.60% 2.062 2 Modèle:M 1.22% 1.579 1 Modèle:Test_sous-page_documentation 1.06% 1.368 1 Modèle:Liste_horizontale --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Ce document provient de « <a dir="ltr" href="https://fr.wikipedia.org/w/index.php?title=Module:Date&oldid=217715467">https://fr.wikipedia.org/w/index.php?title=Module:Date&oldid=217715467</a> ».</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Cat%C3%A9gorie:Accueil" title="Catégorie:Accueil">Catégories</a> : <ul><li><a href="/wiki/Cat%C3%A9gorie:Module_appel%C3%A9_directement_par_un_mod%C3%A8le" title="Catégorie:Module appelé directement par un modèle">Module appelé directement par un modèle</a></li><li><a href="/wiki/Cat%C3%A9gorie:Module_appel%C3%A9_par_un_autre_module" title="Catégorie:Module appelé par un autre module">Module appelé par un autre module</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Catégorie cachée : <ul><li><a href="/wiki/Cat%C3%A9gorie:Module_prot%C3%A9g%C3%A9" title="Catégorie:Module protégé">Module protégé</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> La dernière modification de cette page a été faite le 16 août 2024 à 04:44.</li> <li id="footer-info-copyright"><span style="white-space: normal"><a href="/wiki/Wikip%C3%A9dia:Citation_et_r%C3%A9utilisation_du_contenu_de_Wikip%C3%A9dia" title="Wikipédia:Citation et réutilisation du contenu de Wikipédia">Droit d'auteur</a> : les textes sont disponibles sous <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">licence Creative Commons attribution, partage dans les mêmes conditions</a> ; d’autres conditions peuvent s’appliquer. Voyez les <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/fr">conditions d’utilisation</a> pour plus de détails, ainsi que les <a href="/wiki/Wikip%C3%A9dia:Cr%C3%A9dits_graphiques" title="Wikipédia:Crédits graphiques">crédits graphiques</a>. <br /> Wikipedia® est une marque déposée de la <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, organisation de bienfaisance régie par le paragraphe <a href="/wiki/501c" title="501c">501(c)(3)</a> du code fiscal des États-Unis.</span><br /></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/fr">Politique de confidentialité</a></li> <li id="footer-places-about"><a href="/wiki/Wikip%C3%A9dia:%C3%80_propos_de_Wikip%C3%A9dia">À propos de Wikipédia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikip%C3%A9dia:Avertissements_g%C3%A9n%C3%A9raux">Avertissements</a></li> <li id="footer-places-contact"><a href="//fr.wikipedia.org/wiki/Wikipédia:Contact">Contact</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code de conduite</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Développeurs</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/fr.wikipedia.org">Statistiques</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Déclaration sur les témoins (cookies)</a></li> <li id="footer-places-mobileview"><a href="//fr.m.wikipedia.org/w/index.php?title=Module:Date&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Version mobile</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-rkk8l","wgBackendResponseTime":499,"wgPageParseReport":{"limitreport":{"cputime":"0.142","walltime":"0.170","ppvisitednodes":{"value":964,"limit":1000000},"postexpandincludesize":{"value":115567,"limit":2097152},"templateargumentsize":{"value":349,"limit":2097152},"expansiondepth":{"value":12,"limit":100},"expensivefunctioncount":{"value":3,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":4021,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 128.927 1 -total","100.00% 128.927 1 Modèle:Documentation_module"," 98.99% 127.622 1 Modèle:Méta_documentation_de_modèle"," 5.33% 6.870 1 Modèle:Projet_Scribunto"," 4.78% 6.167 8 Modèle:Date_de_naissance"," 2.98% 3.840 1 Modèle:Méta_lien_vers_projet"," 2.52% 3.246 3 Modèle:Date"," 1.60% 2.062 2 Modèle:M"," 1.22% 1.579 1 Modèle:Test_sous-page_documentation"," 1.06% 1.368 1 Modèle:Liste_horizontale"]},"scribunto":{"limitreport-timeusage":{"value":"0.083","limit":"10.000"},"limitreport-memusage":{"value":2279775,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-rkk8l","timestamp":"20241124022516","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>