Wikinews
frwikinews
https://fr.wikinews.org/wiki/Accueil
MediaWiki 1.39.0-wmf.25
first-letter
Média
Spécial
Discussion
Utilisateur
Discussion utilisateur
Wikinews
Discussion Wikinews
Fichier
Discussion fichier
MediaWiki
Discussion MediaWiki
Modèle
Discussion modèle
Aide
Discussion aide
Catégorie
Discussion catégorie
Transwiki
Discussion Transwiki
Page
Discussion Page
Dossier
Discussion Dossier
TimedText
TimedText talk
Module
Discussion module
Gadget
Discussion gadget
Définition de gadget
Discussion définition de gadget
Catégorie:Montélimar
14
5718
873090
333969
2022-08-23T11:20:43Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Montelimar}}
[[Catégorie:Ville française]]
[[Catégorie:Drôme]]
pe5cgled1jk76v209lbj9b908ytwg9b
Catégorie:Mulhouse
14
5805
873091
749803
2022-08-23T11:23:22Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Pouilly-en-Auxois
14
8532
873100
205983
2022-08-23T11:32:31Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Côte d'Or]]
[[Catégorie:Ville française]]
9sre5qrhh6epav3nvlbg6l3pymiapm2
Catégorie:Annecy
14
8725
873028
206043
2022-08-22T19:54:19Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Haute-Savoie]]
[[Catégorie:Ville française]]
344t2wnxko3lwljlbdbe9gyjti4zzfz
Catégorie:Longvic
14
9231
873084
205978
2022-08-23T11:13:05Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Côte d'Or]]
[[Catégorie:Ville française]]
9sre5qrhh6epav3nvlbg6l3pymiapm2
Catégorie:Quetigny
14
9232
873104
205984
2022-08-23T11:36:39Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Côte d'Or]]
[[Catégorie:Grand Dijon]]
[[Catégorie:Ville française]]
rpfrx23d3q0z5elzwtb5nwbrqyq7o22
Catégorie:Bègles
14
10172
873030
333999
2022-08-22T19:56:57Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Begles}}
[[Catégorie:Gironde]]
[[Catégorie:Ville française]]
6w3jrwzxhepfc9qnullr9hemq3ds1qr
Catégorie:Pouldreuzic
14
10716
873101
205997
2022-08-23T11:33:25Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Finistère]]
[[Catégorie:Ville française]]
d7ozue0howmqis3i9lmenj43887ww4a
Catégorie:Chenôve
14
11267
873060
333998
2022-08-23T10:00:49Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Chenove}}
[[Catégorie:Côte d'Or]]
[[Catégorie:Grand Dijon]]
[[Catégorie:Ville française]]
78vf3doe16rbdm5ac7vg9fngsngbkss
Catégorie:Cour d'appel de Paris
14
12270
873097
190694
2022-08-23T11:29:06Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Justice|Cour d'appel de Paris]]
[[Catégorie:Droit en France|Cour d'appel de Paris]]
[[Catégorie:Paris|Cour d'appel]]
cm6rld8jfuc9jw3f9ux982kerzknr4h
Catégorie:Déservillers
14
15317
873066
333996
2022-08-23T10:08:40Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Deservillers}}
[[Catégorie:Doubs]]
[[Catégorie:Ville française]]
bycynj8dgm0c94crya1hfwxyw2is9bg
Catégorie:Chèvreville
14
16429
873061
598020
2022-08-23T10:03:08Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Chevreville}}
[[Catégorie:Manche]]
[[Catégorie:Ville française]]
85x1j7s7o4c4ntzs1o2ruvm86cezrb6
Catégorie:Montbard
14
18590
873089
205980
2022-08-23T11:20:19Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Côte d'Or]]
[[Catégorie:Ville française]]
9sre5qrhh6epav3nvlbg6l3pymiapm2
Wikinews:Intervention sur une page archivée
4
19508
873003
872932
2022-08-22T18:23:19Z
Wyslijp16
45738
/* France : le ministère de l'Économie cible d'une cyberattaque de grande ampleur */ nouvelle section
wikitext
text/x-wiki
{{/en-tête}}
= Archives =
''Les requêtes antérieures sont archivées [[Wikinews:Intervention sur une page archivée/Archives|ici]].''
= Requêtes traitées en 2022 =
== [[Un accord de libre-échange pourrait être signé entre la Suisse et l'Inde en 2009]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 16:33 (UTC)
* '''Requête''' :<br>
Dans "les importations en provenance d'Inde atteignaient '''quand''' à elles", remplacer "quand à" par "'''quant''' à". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:16 (UTC)
== [[Fidji : Frank Bainimarama est nommé Premier ministre par intérim]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 17:30 (UTC)
* '''Requête''' :<br>
Dans la phrase "il se refusait toutefois à percevoir un traitement en '''temps''' que Premier ministre", remplacer "temps" par "'''tant'''". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:18 (UTC)
== [[Hugo Chávez demande à l'Afrique de s'unir contre les États-Unis]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:21 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 18:31 (UTC)
* '''Requête''' :
Orthographe : remplacer "les même" par "les mêmes"
== [[ CAN : le Ghana et la Guinée qualifiés pour les quarts-de-finale]] ==
* '''Demandé''' par Voivod le 22 juillet 2021
* '''Requête''' : acceptée
Bonjour,
L'URL de l'article est : https://fr.wikinews.org/w/index.php?title=CAN_:_le_Ghana_et_la_Guin%C3%A9e_qualifi%C3%A9s_pour_les_quarts-de-finale&stable=0&redirect=no
Dans cet article, la formulation "[...] alors que le Maroc avait bien '''''débuté''''' sa compétition [...]" est fautive, en effet, le verbe "débuter" est intransitif.
il faut donc remplacer par "[...] alors que le Maroc avait bien '''''commencé''''' sa compétition [...]"
cf.
https://dictionnaire.lerobert.com/definition/debuter
https://www.larousse.fr/dictionnaires/francais/d%c3%a9buter/21955
https://www.academie-francaise.fr/debuter-demarrer
http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2312
Merci d'avance
Cordialement
Voivod
== [[Vatican : Benoît XVI annonce sa démission]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:05 (UTC)
* '''Requête''' : acceptée
orthographe replacer "les même" par "les mêmes"
== [[Brèves : 13 mai 2007]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:06 (UTC)
* '''Requête''' :
orthographe : Remplacer "les même" par "les mêmes"
== [[Corée : deux trains passent à nouveau la frontière]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:08 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[L'ONU déclare le 2 novembre journée internationale pour la protection des journalistes]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:10 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== [[Jean Sarkozy futur président de l'ÉPAD : l'opposition accuse l'Élysée de népotisme]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:11 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[Suisse : la neige et le froid ont perturbé les transports]] orthographe : les mêmes ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:13 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même " par "les même'''s'''"
== [[Internationaux de France de Roland-Garros 2007 : 2ème journée]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:14 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== La pétition française EUCD.INFO contre le projet de loi DADVSI dépasse les 68 000 signatures ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:VirguloMane|VirguloMane]] ([[Discussion utilisateur:VirguloMane|discussion]]) le 21 janvier 2022 à 10:23 (UTC)
* '''Requête''' : bonjour à vous. Je propose juste de remplacer "Wiki-XXX" par "Wiki(-)...", "X" étant avant tout une lettre ou un chiffre (...), et pas un bouche-"trou" abusif trop pratique. Aimablement.
== [[Championnat du monde de handball féminin 2009 : la France bat l'Autriche]] ==
{{Statut|acceptée}}
* '''Demandé''' par Ejeancolas le 28 janvier 2022
* '''Requête''' : Orthographe. "Quelque soit" est mal orthographié. Quelque n'est jamais suivi d'un verbe. Il faut mettre "Quel que soit"
== [[Des incendies incontrôlables continuent d'embraser la Californie]] ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 14 avril 2022 à 20:26 (UTC)
* '''Requête''' :
Orthographe
Remplacer "ont été envoyé" par "ont été envoyés".
== Titre avec faute d'orthographe [[STS-129 : la navette Atlantis a atterrit en Floride]] ! ! ! ==
{{Statut|acceptée}}
[[STS-129 : la navette Atlantis a atterri en Floride]]
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 1 mai 2022 à 12:57 (UTC)
* '''Requête''' :
Même le titre a une faute d'orthographe. Il faut remplacer "''a atterri'''t'''''" par "''a atterr'''i'''".
Il y a une deuxième faute d'orthographe : il faut remplacer "''l'astronaute Américaine Nicole Stott a pri'''t''' la place de Jeffrey Williams''" par "''l'astronaute Américaine Nicole Stott a pri'''s''' la place de Jeffrey Williams''"
== [[Gilets jaunes : jeudi 27 décembre 2018]] ==
{{Statut|refusée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:39 (UTC)
* '''Requête''' :
Orthographe
Remplacer "''est poursuivi'''t'''''" par "''est poursuiv'''i'''''".
:{{notif|Romanc19s}} Cette page n'est pas protégée --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:30 (UTC)
::{{notif|SleaY}} : Navré. oups ! ! ! Je n'avais pas vu que cette page était modifiable. Comme elle était vieille de plus de 3 ans, je n'avais pas vérifié. Maintnant que vous me l'avez indiqué, j'ai fait la correction. [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:43 (UTC)
== [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:32 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:46 (UTC)
* '''Requête''' :
Orthographe : Remplacer "''est suivi'''t'''''" par "''est suiv'''i'''''".
: Un grand merci à SleaY ; je viens de voir d'autre(s) faute(s) d'orthographe ; je vais demander
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
: il faut mettre à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
: [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:51 (UTC)
== [[Manifestations en Tunisie : répression sanglante]] orthographe "les même" ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:37 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:09 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même moyens" par "les même'''s''' moyens"
= Requêtes à traiter =
; [[:Catégorie:Intervention sur une page archivée|Article(s) et modèle(s) où est actuellement demandée une intervention]] <nowiki>:</nowiki>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=0
suppresserrors=true
</DynamicPageList>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=10
suppresserrors=true
</DynamicPageList>
== 2 autres fautes d'orthographe sur [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 14:54 (UTC)
* '''Requête''' :
La phrase suivante est à corriger
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
Il faut mettre la phrase suivante à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
Remarque : désolé, je n'ai vu ces 2 fautes d'orthographe qu'à l'instant.
== [[Aviation civile : Nouvelles mesures pour les bagages en cabine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Litlok|Litlok]] ([[Discussion utilisateur:Litlok|discussion]]) le 15 mai 2022 à 20:07 (UTC)
* '''Requête''' : il faudrait corriger 2 fautes d'orthographe :
** dans le premier paragraphe, remplacer « rentrée en vigueur » par « entrée en vigueur »
** dans le troisième paragraphe, remplacer « quelque soit sa destination » par « quelle que soit sa destination »
Merci!
== [[Marchés financiers : forte baisse le 30 mars 2009]] ==
Bonjour. Modifier dollards en dollars. Cdt. --[[Utilisateur:Cjp24|Cjp24]] ([[Discussion utilisateur:Cjp24|discussion]]) 31 juillet 2022 à 15:11 (UTC)
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal récidive]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:31 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal reprend les commandes]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:32 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Ski alpin : Aksel Lund Svindal se blesse]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Jeux olympiques d'hiver de 2010 : Aksel Lund Svindal remporte l'épreuve de super-G masculine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : doublé suisse à Sölden]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:36 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Beat Feuz s'impose en descente du super combiné]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:41 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Ivica Kostelic remporte le super combiné à Chamonix]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:43 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Lech Kaczinsky : La Russie n'est pas visée par l'ABM]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 20 août 2022 à 12:50 (UTC)
* '''Requête''' : Changement de titre, remplacer ''Kaczinsky'' par Kaczyński. Correction dans le texte, remplacer ''Kaczynski'' par Kaczyński
== [[France : le ministère de l'Économie cible d'une cyberattaque de grande ampleur]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:23 (UTC)
* '''Requête''' : Image manquante, probablement supprimée, à remplacer.
d584do9b9j2i2vv6qxe2upfezl8x3dr
873006
873003
2022-08-22T18:40:54Z
Wyslijp16
45738
/* France : l'élection municipale de Corbeil-Essonnes une nouvelle fois annulée */ nouvelle section
wikitext
text/x-wiki
{{/en-tête}}
= Archives =
''Les requêtes antérieures sont archivées [[Wikinews:Intervention sur une page archivée/Archives|ici]].''
= Requêtes traitées en 2022 =
== [[Un accord de libre-échange pourrait être signé entre la Suisse et l'Inde en 2009]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 16:33 (UTC)
* '''Requête''' :<br>
Dans "les importations en provenance d'Inde atteignaient '''quand''' à elles", remplacer "quand à" par "'''quant''' à". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:16 (UTC)
== [[Fidji : Frank Bainimarama est nommé Premier ministre par intérim]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 17:30 (UTC)
* '''Requête''' :<br>
Dans la phrase "il se refusait toutefois à percevoir un traitement en '''temps''' que Premier ministre", remplacer "temps" par "'''tant'''". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:18 (UTC)
== [[Hugo Chávez demande à l'Afrique de s'unir contre les États-Unis]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:21 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 18:31 (UTC)
* '''Requête''' :
Orthographe : remplacer "les même" par "les mêmes"
== [[ CAN : le Ghana et la Guinée qualifiés pour les quarts-de-finale]] ==
* '''Demandé''' par Voivod le 22 juillet 2021
* '''Requête''' : acceptée
Bonjour,
L'URL de l'article est : https://fr.wikinews.org/w/index.php?title=CAN_:_le_Ghana_et_la_Guin%C3%A9e_qualifi%C3%A9s_pour_les_quarts-de-finale&stable=0&redirect=no
Dans cet article, la formulation "[...] alors que le Maroc avait bien '''''débuté''''' sa compétition [...]" est fautive, en effet, le verbe "débuter" est intransitif.
il faut donc remplacer par "[...] alors que le Maroc avait bien '''''commencé''''' sa compétition [...]"
cf.
https://dictionnaire.lerobert.com/definition/debuter
https://www.larousse.fr/dictionnaires/francais/d%c3%a9buter/21955
https://www.academie-francaise.fr/debuter-demarrer
http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2312
Merci d'avance
Cordialement
Voivod
== [[Vatican : Benoît XVI annonce sa démission]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:05 (UTC)
* '''Requête''' : acceptée
orthographe replacer "les même" par "les mêmes"
== [[Brèves : 13 mai 2007]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:06 (UTC)
* '''Requête''' :
orthographe : Remplacer "les même" par "les mêmes"
== [[Corée : deux trains passent à nouveau la frontière]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:08 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[L'ONU déclare le 2 novembre journée internationale pour la protection des journalistes]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:10 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== [[Jean Sarkozy futur président de l'ÉPAD : l'opposition accuse l'Élysée de népotisme]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:11 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[Suisse : la neige et le froid ont perturbé les transports]] orthographe : les mêmes ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:13 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même " par "les même'''s'''"
== [[Internationaux de France de Roland-Garros 2007 : 2ème journée]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:14 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== La pétition française EUCD.INFO contre le projet de loi DADVSI dépasse les 68 000 signatures ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:VirguloMane|VirguloMane]] ([[Discussion utilisateur:VirguloMane|discussion]]) le 21 janvier 2022 à 10:23 (UTC)
* '''Requête''' : bonjour à vous. Je propose juste de remplacer "Wiki-XXX" par "Wiki(-)...", "X" étant avant tout une lettre ou un chiffre (...), et pas un bouche-"trou" abusif trop pratique. Aimablement.
== [[Championnat du monde de handball féminin 2009 : la France bat l'Autriche]] ==
{{Statut|acceptée}}
* '''Demandé''' par Ejeancolas le 28 janvier 2022
* '''Requête''' : Orthographe. "Quelque soit" est mal orthographié. Quelque n'est jamais suivi d'un verbe. Il faut mettre "Quel que soit"
== [[Des incendies incontrôlables continuent d'embraser la Californie]] ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 14 avril 2022 à 20:26 (UTC)
* '''Requête''' :
Orthographe
Remplacer "ont été envoyé" par "ont été envoyés".
== Titre avec faute d'orthographe [[STS-129 : la navette Atlantis a atterrit en Floride]] ! ! ! ==
{{Statut|acceptée}}
[[STS-129 : la navette Atlantis a atterri en Floride]]
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 1 mai 2022 à 12:57 (UTC)
* '''Requête''' :
Même le titre a une faute d'orthographe. Il faut remplacer "''a atterri'''t'''''" par "''a atterr'''i'''".
Il y a une deuxième faute d'orthographe : il faut remplacer "''l'astronaute Américaine Nicole Stott a pri'''t''' la place de Jeffrey Williams''" par "''l'astronaute Américaine Nicole Stott a pri'''s''' la place de Jeffrey Williams''"
== [[Gilets jaunes : jeudi 27 décembre 2018]] ==
{{Statut|refusée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:39 (UTC)
* '''Requête''' :
Orthographe
Remplacer "''est poursuivi'''t'''''" par "''est poursuiv'''i'''''".
:{{notif|Romanc19s}} Cette page n'est pas protégée --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:30 (UTC)
::{{notif|SleaY}} : Navré. oups ! ! ! Je n'avais pas vu que cette page était modifiable. Comme elle était vieille de plus de 3 ans, je n'avais pas vérifié. Maintnant que vous me l'avez indiqué, j'ai fait la correction. [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:43 (UTC)
== [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:32 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:46 (UTC)
* '''Requête''' :
Orthographe : Remplacer "''est suivi'''t'''''" par "''est suiv'''i'''''".
: Un grand merci à SleaY ; je viens de voir d'autre(s) faute(s) d'orthographe ; je vais demander
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
: il faut mettre à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
: [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:51 (UTC)
== [[Manifestations en Tunisie : répression sanglante]] orthographe "les même" ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:37 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:09 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même moyens" par "les même'''s''' moyens"
= Requêtes à traiter =
; [[:Catégorie:Intervention sur une page archivée|Article(s) et modèle(s) où est actuellement demandée une intervention]] <nowiki>:</nowiki>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=0
suppresserrors=true
</DynamicPageList>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=10
suppresserrors=true
</DynamicPageList>
== 2 autres fautes d'orthographe sur [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 14:54 (UTC)
* '''Requête''' :
La phrase suivante est à corriger
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
Il faut mettre la phrase suivante à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
Remarque : désolé, je n'ai vu ces 2 fautes d'orthographe qu'à l'instant.
== [[Aviation civile : Nouvelles mesures pour les bagages en cabine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Litlok|Litlok]] ([[Discussion utilisateur:Litlok|discussion]]) le 15 mai 2022 à 20:07 (UTC)
* '''Requête''' : il faudrait corriger 2 fautes d'orthographe :
** dans le premier paragraphe, remplacer « rentrée en vigueur » par « entrée en vigueur »
** dans le troisième paragraphe, remplacer « quelque soit sa destination » par « quelle que soit sa destination »
Merci!
== [[Marchés financiers : forte baisse le 30 mars 2009]] ==
Bonjour. Modifier dollards en dollars. Cdt. --[[Utilisateur:Cjp24|Cjp24]] ([[Discussion utilisateur:Cjp24|discussion]]) 31 juillet 2022 à 15:11 (UTC)
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal récidive]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:31 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal reprend les commandes]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:32 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Ski alpin : Aksel Lund Svindal se blesse]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Jeux olympiques d'hiver de 2010 : Aksel Lund Svindal remporte l'épreuve de super-G masculine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : doublé suisse à Sölden]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:36 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Beat Feuz s'impose en descente du super combiné]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:41 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Ivica Kostelic remporte le super combiné à Chamonix]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:43 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Lech Kaczinsky : La Russie n'est pas visée par l'ABM]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 20 août 2022 à 12:50 (UTC)
* '''Requête''' : Changement de titre, remplacer ''Kaczinsky'' par Kaczyński. Correction dans le texte, remplacer ''Kaczynski'' par Kaczyński
== [[France : le ministère de l'Économie cible d'une cyberattaque de grande ampleur]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:23 (UTC)
* '''Requête''' : Image manquante, probablement supprimée, à remplacer.
== [[France : l'élection municipale de Corbeil-Essonnes une nouvelle fois annulée]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:40 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
m93xlclkis0c6gwft4m6rqwtinyb3gr
873007
873006
2022-08-22T18:41:29Z
Wyslijp16
45738
/* France : Inéligibilité de Serge Dassault et annulation des élections municipales de Corbeil-Essonnes confirmées */ nouvelle section
wikitext
text/x-wiki
{{/en-tête}}
= Archives =
''Les requêtes antérieures sont archivées [[Wikinews:Intervention sur une page archivée/Archives|ici]].''
= Requêtes traitées en 2022 =
== [[Un accord de libre-échange pourrait être signé entre la Suisse et l'Inde en 2009]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 16:33 (UTC)
* '''Requête''' :<br>
Dans "les importations en provenance d'Inde atteignaient '''quand''' à elles", remplacer "quand à" par "'''quant''' à". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:16 (UTC)
== [[Fidji : Frank Bainimarama est nommé Premier ministre par intérim]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 17:30 (UTC)
* '''Requête''' :<br>
Dans la phrase "il se refusait toutefois à percevoir un traitement en '''temps''' que Premier ministre", remplacer "temps" par "'''tant'''". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:18 (UTC)
== [[Hugo Chávez demande à l'Afrique de s'unir contre les États-Unis]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:21 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 18:31 (UTC)
* '''Requête''' :
Orthographe : remplacer "les même" par "les mêmes"
== [[ CAN : le Ghana et la Guinée qualifiés pour les quarts-de-finale]] ==
* '''Demandé''' par Voivod le 22 juillet 2021
* '''Requête''' : acceptée
Bonjour,
L'URL de l'article est : https://fr.wikinews.org/w/index.php?title=CAN_:_le_Ghana_et_la_Guin%C3%A9e_qualifi%C3%A9s_pour_les_quarts-de-finale&stable=0&redirect=no
Dans cet article, la formulation "[...] alors que le Maroc avait bien '''''débuté''''' sa compétition [...]" est fautive, en effet, le verbe "débuter" est intransitif.
il faut donc remplacer par "[...] alors que le Maroc avait bien '''''commencé''''' sa compétition [...]"
cf.
https://dictionnaire.lerobert.com/definition/debuter
https://www.larousse.fr/dictionnaires/francais/d%c3%a9buter/21955
https://www.academie-francaise.fr/debuter-demarrer
http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2312
Merci d'avance
Cordialement
Voivod
== [[Vatican : Benoît XVI annonce sa démission]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:05 (UTC)
* '''Requête''' : acceptée
orthographe replacer "les même" par "les mêmes"
== [[Brèves : 13 mai 2007]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:06 (UTC)
* '''Requête''' :
orthographe : Remplacer "les même" par "les mêmes"
== [[Corée : deux trains passent à nouveau la frontière]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:08 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[L'ONU déclare le 2 novembre journée internationale pour la protection des journalistes]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:10 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== [[Jean Sarkozy futur président de l'ÉPAD : l'opposition accuse l'Élysée de népotisme]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:11 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[Suisse : la neige et le froid ont perturbé les transports]] orthographe : les mêmes ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:13 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même " par "les même'''s'''"
== [[Internationaux de France de Roland-Garros 2007 : 2ème journée]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:14 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== La pétition française EUCD.INFO contre le projet de loi DADVSI dépasse les 68 000 signatures ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:VirguloMane|VirguloMane]] ([[Discussion utilisateur:VirguloMane|discussion]]) le 21 janvier 2022 à 10:23 (UTC)
* '''Requête''' : bonjour à vous. Je propose juste de remplacer "Wiki-XXX" par "Wiki(-)...", "X" étant avant tout une lettre ou un chiffre (...), et pas un bouche-"trou" abusif trop pratique. Aimablement.
== [[Championnat du monde de handball féminin 2009 : la France bat l'Autriche]] ==
{{Statut|acceptée}}
* '''Demandé''' par Ejeancolas le 28 janvier 2022
* '''Requête''' : Orthographe. "Quelque soit" est mal orthographié. Quelque n'est jamais suivi d'un verbe. Il faut mettre "Quel que soit"
== [[Des incendies incontrôlables continuent d'embraser la Californie]] ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 14 avril 2022 à 20:26 (UTC)
* '''Requête''' :
Orthographe
Remplacer "ont été envoyé" par "ont été envoyés".
== Titre avec faute d'orthographe [[STS-129 : la navette Atlantis a atterrit en Floride]] ! ! ! ==
{{Statut|acceptée}}
[[STS-129 : la navette Atlantis a atterri en Floride]]
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 1 mai 2022 à 12:57 (UTC)
* '''Requête''' :
Même le titre a une faute d'orthographe. Il faut remplacer "''a atterri'''t'''''" par "''a atterr'''i'''".
Il y a une deuxième faute d'orthographe : il faut remplacer "''l'astronaute Américaine Nicole Stott a pri'''t''' la place de Jeffrey Williams''" par "''l'astronaute Américaine Nicole Stott a pri'''s''' la place de Jeffrey Williams''"
== [[Gilets jaunes : jeudi 27 décembre 2018]] ==
{{Statut|refusée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:39 (UTC)
* '''Requête''' :
Orthographe
Remplacer "''est poursuivi'''t'''''" par "''est poursuiv'''i'''''".
:{{notif|Romanc19s}} Cette page n'est pas protégée --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:30 (UTC)
::{{notif|SleaY}} : Navré. oups ! ! ! Je n'avais pas vu que cette page était modifiable. Comme elle était vieille de plus de 3 ans, je n'avais pas vérifié. Maintnant que vous me l'avez indiqué, j'ai fait la correction. [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:43 (UTC)
== [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:32 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:46 (UTC)
* '''Requête''' :
Orthographe : Remplacer "''est suivi'''t'''''" par "''est suiv'''i'''''".
: Un grand merci à SleaY ; je viens de voir d'autre(s) faute(s) d'orthographe ; je vais demander
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
: il faut mettre à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
: [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:51 (UTC)
== [[Manifestations en Tunisie : répression sanglante]] orthographe "les même" ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:37 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:09 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même moyens" par "les même'''s''' moyens"
= Requêtes à traiter =
; [[:Catégorie:Intervention sur une page archivée|Article(s) et modèle(s) où est actuellement demandée une intervention]] <nowiki>:</nowiki>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=0
suppresserrors=true
</DynamicPageList>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=10
suppresserrors=true
</DynamicPageList>
== 2 autres fautes d'orthographe sur [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 14:54 (UTC)
* '''Requête''' :
La phrase suivante est à corriger
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
Il faut mettre la phrase suivante à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
Remarque : désolé, je n'ai vu ces 2 fautes d'orthographe qu'à l'instant.
== [[Aviation civile : Nouvelles mesures pour les bagages en cabine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Litlok|Litlok]] ([[Discussion utilisateur:Litlok|discussion]]) le 15 mai 2022 à 20:07 (UTC)
* '''Requête''' : il faudrait corriger 2 fautes d'orthographe :
** dans le premier paragraphe, remplacer « rentrée en vigueur » par « entrée en vigueur »
** dans le troisième paragraphe, remplacer « quelque soit sa destination » par « quelle que soit sa destination »
Merci!
== [[Marchés financiers : forte baisse le 30 mars 2009]] ==
Bonjour. Modifier dollards en dollars. Cdt. --[[Utilisateur:Cjp24|Cjp24]] ([[Discussion utilisateur:Cjp24|discussion]]) 31 juillet 2022 à 15:11 (UTC)
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal récidive]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:31 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal reprend les commandes]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:32 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Ski alpin : Aksel Lund Svindal se blesse]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Jeux olympiques d'hiver de 2010 : Aksel Lund Svindal remporte l'épreuve de super-G masculine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : doublé suisse à Sölden]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:36 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Beat Feuz s'impose en descente du super combiné]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:41 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Ivica Kostelic remporte le super combiné à Chamonix]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:43 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Lech Kaczinsky : La Russie n'est pas visée par l'ABM]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 20 août 2022 à 12:50 (UTC)
* '''Requête''' : Changement de titre, remplacer ''Kaczinsky'' par Kaczyński. Correction dans le texte, remplacer ''Kaczynski'' par Kaczyński
== [[France : le ministère de l'Économie cible d'une cyberattaque de grande ampleur]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:23 (UTC)
* '''Requête''' : Image manquante, probablement supprimée, à remplacer.
== [[France : l'élection municipale de Corbeil-Essonnes une nouvelle fois annulée]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:40 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
== [[France : Inéligibilité de Serge Dassault et annulation des élections municipales de Corbeil-Essonnes confirmées]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:41 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
19yqqe9sp5b2ocye2g7xi46vsogdnoc
873008
873007
2022-08-22T18:41:57Z
Wyslijp16
45738
/* France : les élections municipales de Corbeil-Essonnes annulées et Serge Dassault déclaré inéligible */ nouvelle section
wikitext
text/x-wiki
{{/en-tête}}
= Archives =
''Les requêtes antérieures sont archivées [[Wikinews:Intervention sur une page archivée/Archives|ici]].''
= Requêtes traitées en 2022 =
== [[Un accord de libre-échange pourrait être signé entre la Suisse et l'Inde en 2009]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 16:33 (UTC)
* '''Requête''' :<br>
Dans "les importations en provenance d'Inde atteignaient '''quand''' à elles", remplacer "quand à" par "'''quant''' à". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:16 (UTC)
== [[Fidji : Frank Bainimarama est nommé Premier ministre par intérim]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 17:30 (UTC)
* '''Requête''' :<br>
Dans la phrase "il se refusait toutefois à percevoir un traitement en '''temps''' que Premier ministre", remplacer "temps" par "'''tant'''". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:18 (UTC)
== [[Hugo Chávez demande à l'Afrique de s'unir contre les États-Unis]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:21 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 18:31 (UTC)
* '''Requête''' :
Orthographe : remplacer "les même" par "les mêmes"
== [[ CAN : le Ghana et la Guinée qualifiés pour les quarts-de-finale]] ==
* '''Demandé''' par Voivod le 22 juillet 2021
* '''Requête''' : acceptée
Bonjour,
L'URL de l'article est : https://fr.wikinews.org/w/index.php?title=CAN_:_le_Ghana_et_la_Guin%C3%A9e_qualifi%C3%A9s_pour_les_quarts-de-finale&stable=0&redirect=no
Dans cet article, la formulation "[...] alors que le Maroc avait bien '''''débuté''''' sa compétition [...]" est fautive, en effet, le verbe "débuter" est intransitif.
il faut donc remplacer par "[...] alors que le Maroc avait bien '''''commencé''''' sa compétition [...]"
cf.
https://dictionnaire.lerobert.com/definition/debuter
https://www.larousse.fr/dictionnaires/francais/d%c3%a9buter/21955
https://www.academie-francaise.fr/debuter-demarrer
http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2312
Merci d'avance
Cordialement
Voivod
== [[Vatican : Benoît XVI annonce sa démission]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:05 (UTC)
* '''Requête''' : acceptée
orthographe replacer "les même" par "les mêmes"
== [[Brèves : 13 mai 2007]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:06 (UTC)
* '''Requête''' :
orthographe : Remplacer "les même" par "les mêmes"
== [[Corée : deux trains passent à nouveau la frontière]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:08 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[L'ONU déclare le 2 novembre journée internationale pour la protection des journalistes]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:10 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== [[Jean Sarkozy futur président de l'ÉPAD : l'opposition accuse l'Élysée de népotisme]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:11 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[Suisse : la neige et le froid ont perturbé les transports]] orthographe : les mêmes ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:13 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même " par "les même'''s'''"
== [[Internationaux de France de Roland-Garros 2007 : 2ème journée]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:14 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== La pétition française EUCD.INFO contre le projet de loi DADVSI dépasse les 68 000 signatures ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:VirguloMane|VirguloMane]] ([[Discussion utilisateur:VirguloMane|discussion]]) le 21 janvier 2022 à 10:23 (UTC)
* '''Requête''' : bonjour à vous. Je propose juste de remplacer "Wiki-XXX" par "Wiki(-)...", "X" étant avant tout une lettre ou un chiffre (...), et pas un bouche-"trou" abusif trop pratique. Aimablement.
== [[Championnat du monde de handball féminin 2009 : la France bat l'Autriche]] ==
{{Statut|acceptée}}
* '''Demandé''' par Ejeancolas le 28 janvier 2022
* '''Requête''' : Orthographe. "Quelque soit" est mal orthographié. Quelque n'est jamais suivi d'un verbe. Il faut mettre "Quel que soit"
== [[Des incendies incontrôlables continuent d'embraser la Californie]] ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 14 avril 2022 à 20:26 (UTC)
* '''Requête''' :
Orthographe
Remplacer "ont été envoyé" par "ont été envoyés".
== Titre avec faute d'orthographe [[STS-129 : la navette Atlantis a atterrit en Floride]] ! ! ! ==
{{Statut|acceptée}}
[[STS-129 : la navette Atlantis a atterri en Floride]]
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 1 mai 2022 à 12:57 (UTC)
* '''Requête''' :
Même le titre a une faute d'orthographe. Il faut remplacer "''a atterri'''t'''''" par "''a atterr'''i'''".
Il y a une deuxième faute d'orthographe : il faut remplacer "''l'astronaute Américaine Nicole Stott a pri'''t''' la place de Jeffrey Williams''" par "''l'astronaute Américaine Nicole Stott a pri'''s''' la place de Jeffrey Williams''"
== [[Gilets jaunes : jeudi 27 décembre 2018]] ==
{{Statut|refusée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:39 (UTC)
* '''Requête''' :
Orthographe
Remplacer "''est poursuivi'''t'''''" par "''est poursuiv'''i'''''".
:{{notif|Romanc19s}} Cette page n'est pas protégée --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:30 (UTC)
::{{notif|SleaY}} : Navré. oups ! ! ! Je n'avais pas vu que cette page était modifiable. Comme elle était vieille de plus de 3 ans, je n'avais pas vérifié. Maintnant que vous me l'avez indiqué, j'ai fait la correction. [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:43 (UTC)
== [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:32 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:46 (UTC)
* '''Requête''' :
Orthographe : Remplacer "''est suivi'''t'''''" par "''est suiv'''i'''''".
: Un grand merci à SleaY ; je viens de voir d'autre(s) faute(s) d'orthographe ; je vais demander
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
: il faut mettre à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
: [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:51 (UTC)
== [[Manifestations en Tunisie : répression sanglante]] orthographe "les même" ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:37 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:09 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même moyens" par "les même'''s''' moyens"
= Requêtes à traiter =
; [[:Catégorie:Intervention sur une page archivée|Article(s) et modèle(s) où est actuellement demandée une intervention]] <nowiki>:</nowiki>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=0
suppresserrors=true
</DynamicPageList>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=10
suppresserrors=true
</DynamicPageList>
== 2 autres fautes d'orthographe sur [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 14:54 (UTC)
* '''Requête''' :
La phrase suivante est à corriger
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
Il faut mettre la phrase suivante à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
Remarque : désolé, je n'ai vu ces 2 fautes d'orthographe qu'à l'instant.
== [[Aviation civile : Nouvelles mesures pour les bagages en cabine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Litlok|Litlok]] ([[Discussion utilisateur:Litlok|discussion]]) le 15 mai 2022 à 20:07 (UTC)
* '''Requête''' : il faudrait corriger 2 fautes d'orthographe :
** dans le premier paragraphe, remplacer « rentrée en vigueur » par « entrée en vigueur »
** dans le troisième paragraphe, remplacer « quelque soit sa destination » par « quelle que soit sa destination »
Merci!
== [[Marchés financiers : forte baisse le 30 mars 2009]] ==
Bonjour. Modifier dollards en dollars. Cdt. --[[Utilisateur:Cjp24|Cjp24]] ([[Discussion utilisateur:Cjp24|discussion]]) 31 juillet 2022 à 15:11 (UTC)
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal récidive]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:31 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal reprend les commandes]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:32 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Ski alpin : Aksel Lund Svindal se blesse]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Jeux olympiques d'hiver de 2010 : Aksel Lund Svindal remporte l'épreuve de super-G masculine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : doublé suisse à Sölden]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:36 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Beat Feuz s'impose en descente du super combiné]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:41 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Ivica Kostelic remporte le super combiné à Chamonix]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:43 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Lech Kaczinsky : La Russie n'est pas visée par l'ABM]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 20 août 2022 à 12:50 (UTC)
* '''Requête''' : Changement de titre, remplacer ''Kaczinsky'' par Kaczyński. Correction dans le texte, remplacer ''Kaczynski'' par Kaczyński
== [[France : le ministère de l'Économie cible d'une cyberattaque de grande ampleur]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:23 (UTC)
* '''Requête''' : Image manquante, probablement supprimée, à remplacer.
== [[France : l'élection municipale de Corbeil-Essonnes une nouvelle fois annulée]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:40 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
== [[France : Inéligibilité de Serge Dassault et annulation des élections municipales de Corbeil-Essonnes confirmées]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:41 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
== [[France : les élections municipales de Corbeil-Essonnes annulées et Serge Dassault déclaré inéligible]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:41 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
kteraadmmswh1nd3i1d235bfpdrzr55
873023
873008
2022-08-22T19:46:36Z
Wyslijp16
45738
/* France : la régularisation d'un médecin rwandais recherché pour génocide embarrasse l'UMP */ nouvelle section
wikitext
text/x-wiki
{{/en-tête}}
= Archives =
''Les requêtes antérieures sont archivées [[Wikinews:Intervention sur une page archivée/Archives|ici]].''
= Requêtes traitées en 2022 =
== [[Un accord de libre-échange pourrait être signé entre la Suisse et l'Inde en 2009]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 16:33 (UTC)
* '''Requête''' :<br>
Dans "les importations en provenance d'Inde atteignaient '''quand''' à elles", remplacer "quand à" par "'''quant''' à". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:16 (UTC)
== [[Fidji : Frank Bainimarama est nommé Premier ministre par intérim]] ==
* '''Demandé''' par [[Utilisateur:Captaincama|Captaincama]] ([[Discussion utilisateur:Captaincama|discussion]]) le 22 juillet 2021 à 17:30 (UTC)
* '''Requête''' :<br>
Dans la phrase "il se refusait toutefois à percevoir un traitement en '''temps''' que Premier ministre", remplacer "temps" par "'''tant'''". Merci !
:{{fait}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:18 (UTC)
== [[Hugo Chávez demande à l'Afrique de s'unir contre les États-Unis]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 8 mars 2022 à 14:21 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 18:31 (UTC)
* '''Requête''' :
Orthographe : remplacer "les même" par "les mêmes"
== [[ CAN : le Ghana et la Guinée qualifiés pour les quarts-de-finale]] ==
* '''Demandé''' par Voivod le 22 juillet 2021
* '''Requête''' : acceptée
Bonjour,
L'URL de l'article est : https://fr.wikinews.org/w/index.php?title=CAN_:_le_Ghana_et_la_Guin%C3%A9e_qualifi%C3%A9s_pour_les_quarts-de-finale&stable=0&redirect=no
Dans cet article, la formulation "[...] alors que le Maroc avait bien '''''débuté''''' sa compétition [...]" est fautive, en effet, le verbe "débuter" est intransitif.
il faut donc remplacer par "[...] alors que le Maroc avait bien '''''commencé''''' sa compétition [...]"
cf.
https://dictionnaire.lerobert.com/definition/debuter
https://www.larousse.fr/dictionnaires/francais/d%c3%a9buter/21955
https://www.academie-francaise.fr/debuter-demarrer
http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2312
Merci d'avance
Cordialement
Voivod
== [[Vatican : Benoît XVI annonce sa démission]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:05 (UTC)
* '''Requête''' : acceptée
orthographe replacer "les même" par "les mêmes"
== [[Brèves : 13 mai 2007]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:06 (UTC)
* '''Requête''' :
orthographe : Remplacer "les même" par "les mêmes"
== [[Corée : deux trains passent à nouveau la frontière]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:08 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[L'ONU déclare le 2 novembre journée internationale pour la protection des journalistes]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:10 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== [[Jean Sarkozy futur président de l'ÉPAD : l'opposition accuse l'Élysée de népotisme]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:11 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les mêmes"
== [[Suisse : la neige et le froid ont perturbé les transports]] orthographe : les mêmes ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:13 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même " par "les même'''s'''"
== [[Internationaux de France de Roland-Garros 2007 : 2ème journée]] orthographe "les même" ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:14 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même" par "les même'''s'''"
== La pétition française EUCD.INFO contre le projet de loi DADVSI dépasse les 68 000 signatures ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:VirguloMane|VirguloMane]] ([[Discussion utilisateur:VirguloMane|discussion]]) le 21 janvier 2022 à 10:23 (UTC)
* '''Requête''' : bonjour à vous. Je propose juste de remplacer "Wiki-XXX" par "Wiki(-)...", "X" étant avant tout une lettre ou un chiffre (...), et pas un bouche-"trou" abusif trop pratique. Aimablement.
== [[Championnat du monde de handball féminin 2009 : la France bat l'Autriche]] ==
{{Statut|acceptée}}
* '''Demandé''' par Ejeancolas le 28 janvier 2022
* '''Requête''' : Orthographe. "Quelque soit" est mal orthographié. Quelque n'est jamais suivi d'un verbe. Il faut mettre "Quel que soit"
== [[Des incendies incontrôlables continuent d'embraser la Californie]] ==
{{Statut|acceptée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 14 avril 2022 à 20:26 (UTC)
* '''Requête''' :
Orthographe
Remplacer "ont été envoyé" par "ont été envoyés".
== Titre avec faute d'orthographe [[STS-129 : la navette Atlantis a atterrit en Floride]] ! ! ! ==
{{Statut|acceptée}}
[[STS-129 : la navette Atlantis a atterri en Floride]]
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 1 mai 2022 à 12:57 (UTC)
* '''Requête''' :
Même le titre a une faute d'orthographe. Il faut remplacer "''a atterri'''t'''''" par "''a atterr'''i'''".
Il y a une deuxième faute d'orthographe : il faut remplacer "''l'astronaute Américaine Nicole Stott a pri'''t''' la place de Jeffrey Williams''" par "''l'astronaute Américaine Nicole Stott a pri'''s''' la place de Jeffrey Williams''"
== [[Gilets jaunes : jeudi 27 décembre 2018]] ==
{{Statut|refusée}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:39 (UTC)
* '''Requête''' :
Orthographe
Remplacer "''est poursuivi'''t'''''" par "''est poursuiv'''i'''''".
:{{notif|Romanc19s}} Cette page n'est pas protégée --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:30 (UTC)
::{{notif|SleaY}} : Navré. oups ! ! ! Je n'avais pas vu que cette page était modifiable. Comme elle était vieille de plus de 3 ans, je n'avais pas vérifié. Maintnant que vous me l'avez indiqué, j'ai fait la correction. [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:43 (UTC)
== [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:32 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 09:46 (UTC)
* '''Requête''' :
Orthographe : Remplacer "''est suivi'''t'''''" par "''est suiv'''i'''''".
: Un grand merci à SleaY ; je viens de voir d'autre(s) faute(s) d'orthographe ; je vais demander
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
: il faut mettre à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
: [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) 7 mai 2022 à 14:51 (UTC)
== [[Manifestations en Tunisie : répression sanglante]] orthographe "les même" ==
{{Statut|traitée|[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 7 mai 2022 à 13:37 (UTC)}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 6 novembre 2021 à 21:09 (UTC)
* '''Requête''' :
Orthographe
Remplacer "les même moyens" par "les même'''s''' moyens"
= Requêtes à traiter =
; [[:Catégorie:Intervention sur une page archivée|Article(s) et modèle(s) où est actuellement demandée une intervention]] <nowiki>:</nowiki>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=0
suppresserrors=true
</DynamicPageList>
<DynamicPageList>
category=Intervention sur une page archivée
namespace=10
suppresserrors=true
</DynamicPageList>
== 2 autres fautes d'orthographe sur [[Championnats du monde d'athlétisme 2011 : Yohan Blake remporte le 100m]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Romanc19s|Romanc19s]] ([[Discussion utilisateur:Romanc19s|discussion]]) le 7 mai 2022 à 14:54 (UTC)
* '''Requête''' :
La phrase suivante est à corriger
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présen'''t''' en finale, c'est la première fois que deux français sont en finale'''s'''
Il faut mettre la phrase suivante à la place
: ''{{w|Christophe Lemaitre}}, 21 ans et {{w|Jimmy Vicaut}}, 19 ans sont présent'''s''' en finale, c'est la première fois que deux français sont en final'''e'''
Remarque : désolé, je n'ai vu ces 2 fautes d'orthographe qu'à l'instant.
== [[Aviation civile : Nouvelles mesures pour les bagages en cabine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Litlok|Litlok]] ([[Discussion utilisateur:Litlok|discussion]]) le 15 mai 2022 à 20:07 (UTC)
* '''Requête''' : il faudrait corriger 2 fautes d'orthographe :
** dans le premier paragraphe, remplacer « rentrée en vigueur » par « entrée en vigueur »
** dans le troisième paragraphe, remplacer « quelque soit sa destination » par « quelle que soit sa destination »
Merci!
== [[Marchés financiers : forte baisse le 30 mars 2009]] ==
Bonjour. Modifier dollards en dollars. Cdt. --[[Utilisateur:Cjp24|Cjp24]] ([[Discussion utilisateur:Cjp24|discussion]]) 31 juillet 2022 à 15:11 (UTC)
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal récidive]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:31 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : Aksel Lund Svindal reprend les commandes]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:32 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Ski alpin : Aksel Lund Svindal se blesse]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Jeux olympiques d'hiver de 2010 : Aksel Lund Svindal remporte l'épreuve de super-G masculine]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:33 (UTC)
* '''Requête''' : Ajouter la Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin 2009 : doublé suisse à Sölden]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:36 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Beat Feuz s'impose en descente du super combiné]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:41 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Coupe du monde de ski alpin de 2010-2011 : Ivica Kostelic remporte le super combiné à Chamonix]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 12 août 2022 à 14:43 (UTC)
* '''Requête''' : Ajouter Catégorie:Aksel Lund Svindal
== [[Lech Kaczinsky : La Russie n'est pas visée par l'ABM]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 20 août 2022 à 12:50 (UTC)
* '''Requête''' : Changement de titre, remplacer ''Kaczinsky'' par Kaczyński. Correction dans le texte, remplacer ''Kaczynski'' par Kaczyński
== [[France : le ministère de l'Économie cible d'une cyberattaque de grande ampleur]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:23 (UTC)
* '''Requête''' : Image manquante, probablement supprimée, à remplacer.
== [[France : l'élection municipale de Corbeil-Essonnes une nouvelle fois annulée]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:40 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
== [[France : Inéligibilité de Serge Dassault et annulation des élections municipales de Corbeil-Essonnes confirmées]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:41 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
== [[France : les élections municipales de Corbeil-Essonnes annulées et Serge Dassault déclaré inéligible]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 18:41 (UTC)
* '''Requête''' : Ajouter la Catégorie:Corbeil-Essonnes
== [[France : la régularisation d'un médecin rwandais recherché pour génocide embarrasse l'UMP]] ==
{{Statut|traitement}}
* '''Demandé''' par [[Utilisateur:Wyslijp16|Wyslijp16]] ([[Discussion utilisateur:Wyslijp16|discussion]]) le 22 août 2022 à 19:46 (UTC)
* '''Requête''' : Ajouter la Catégorie:Maubeuge
o7x1b63qj2t4p1lzgem1n4dlcb2wknl
Catégorie:Mesquer
14
19685
873088
206029
2022-08-23T11:19:10Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Loire-Atlantique]]
[[Catégorie:Ville française]]
4qk9o1efa67t45px2v5z4vlarvu7i2u
Modèle:Market Data
10
21126
872993
872971
2022-08-22T12:00:49Z
BOT-Superzerocool
2931
Bot: Mise à jour Stock Index [[:es:User Talk:Superzerocool|Comments (es.wikinews)]]
wikitext
text/x-wiki
{{Market Data/core
| date = lundi 22 août 2022
| heures= 12:00
| description= {{{description|}}}
| align = {{{align}}}
| width= {{{width|{{#if:{{{width|}}}|50%|35%}}}}}}
| pays= {{{pays}}}
| IBEX 35 = 8267,50
| IBEX 35-c = -70,60
| IBEX 35-p = -0,85
| IBEX 35-tl = {{loss}}
| FTSE 100 = 7533,10
| FTSE 100-c = -17,27
| FTSE 100-p = -0,23
| FTSE 100-tl = {{loss}}
| DAX = 13288,15
| DAX-c = -256,37
| DAX-p = -1,89
| DAX-tl = {{loss}}
| SMI = 11087,73
| SMI-c = -68,99
| SMI-p = -0,62
| SMI-tl = {{loss}}
| AEX = 711,90
| AEX-c = -7,62
| AEX-p = -1,06
| AEX-tl = {{loss}}
| BEL20 = 3723,43
| BEL20-c = -46,31
| BEL20-p = -1,23
| BEL20-tl = {{loss}}
| OMX Stockholm 30 = 2006,01
| OMX Stockholm 30-c = -47,32
| OMX Stockholm 30-p = -2,30
| OMX Stockholm 30-tl = {{loss}}
| Nasdaq = 12705,22
| Nasdaq-c = -260,13
| Nasdaq-p = -2,01
| Nasdaq-tl = {{loss}}
| S&P 500 = 4228,48
| S&P 500-c = -55,26
| S&P 500-p = -1,29
| S&P 500-tl = {{loss}}
| Bovespa = 111496,21
| Bovespa-c = -2316,66
| Bovespa-p = -2,04
| Bovespa-tl = {{loss}}
| All Ordinaries = 7287,20
| All Ordinaries-c = -71,50
| All Ordinaries-p = -0,97
| All Ordinaries-tl = {{loss}}
| Nikkei = 28794,50
| Nikkei-c = -135,83
| Nikkei-p = -0,47
| Nikkei-tl = {{loss}}
| Hang Seng = 19656,98
| Hang Seng-c = -116,05
| Hang Seng-p = -0,59
| Hang Seng-tl = {{loss}}
| BSE Sensex = 58773,87
| BSE Sensex-c = -872,28
| BSE Sensex-p = -1,46
| BSE Sensex-tl = {{loss}}
| IDX Composite = 7107,98
| IDX Composite-c = -64,45
| IDX Composite-p = -0,90
| IDX Composite-tl = {{loss}}
}}<noinclude></noinclude>
17yqlm3p9uomfv5hpmo1f4r483mavdi
873049
872993
2022-08-23T00:01:05Z
BOT-Superzerocool
2931
Bot: Mise à jour Stock Index [[:es:User Talk:Superzerocool|Comments (es.wikinews)]]
wikitext
text/x-wiki
{{Market Data/core
| date = mardi 23 août 2022
| heures= 00:00
| description= {{{description|}}}
| align = {{{align}}}
| width= {{{width|{{#if:{{{width|}}}|50%|35%}}}}}}
| pays= {{{pays}}}
| IBEX 35 = 8284,80
| IBEX 35-c = -53,30
| IBEX 35-p = -0,64
| IBEX 35-tl = {{loss}}
| FTSE 100 = 7533,79
| FTSE 100-c = -16,58
| FTSE 100-p = -0,22
| FTSE 100-tl = {{loss}}
| DAX = 13230,57
| DAX-c = -313,95
| DAX-p = -2,32
| DAX-tl = {{loss}}
| SMI = 11085,84
| SMI-c = -70,88
| SMI-p = -0,64
| SMI-tl = {{loss}}
| AEX = 711,04
| AEX-c = -8,48
| AEX-p = -1,18
| AEX-tl = {{loss}}
| BEL20 = 3736,60
| BEL20-c = -33,14
| BEL20-p = -0,88
| BEL20-tl = {{loss}}
| OMX Stockholm 30 = 1995,99
| OMX Stockholm 30-c = -41,98
| OMX Stockholm 30-p = -2,06
| OMX Stockholm 30-tl = {{loss}}
| Nasdaq = 12381,57
| Nasdaq-c = -323,64
| Nasdaq-p = -2,55
| Nasdaq-tl = {{loss}}
| S&P 500 = 4137,99
| S&P 500-c = -90,49
| S&P 500-p = -2,14
| S&P 500-tl = {{loss}}
| Bovespa = 110500,53
| Bovespa-c = -995,68
| Bovespa-p = -0,89
| Bovespa-tl = {{loss}}
| All Ordinaries = 7287,20
| All Ordinaries-c = 0,00
| All Ordinaries-p = 0,00
| All Ordinaries-tl = {{loss}}
| Nikkei = 28794,50
| Nikkei-c = -135,83
| Nikkei-p = -0,47
| Nikkei-tl = {{loss}}
| Hang Seng = 19656,98
| Hang Seng-c = -116,05
| Hang Seng-p = -0,59
| Hang Seng-tl = {{loss}}
| BSE Sensex = 58773,87
| BSE Sensex-c = -872,28
| BSE Sensex-p = -1,46
| BSE Sensex-tl = {{loss}}
| IDX Composite = 7107,98
| IDX Composite-c = -64,45
| IDX Composite-p = -0,90
| IDX Composite-tl = {{loss}}
}}<noinclude></noinclude>
4qrwn7mnju0ols88pv8uijavurwn3j2
Catégorie:Montpellier
14
22099
873014
722935
2022-08-22T19:27:12Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
[[de:Kategorie:Montpellier]]
[[sv:Kategori:Montpellier]]
4a1rkngyb777jvoxolz33kno4zskunw
873015
873014
2022-08-22T19:29:33Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Catégorie:Rochefort (Charente-Maritime)
14
23108
873106
206038
2022-08-23T11:38:32Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Charente-Maritime]]
[[Catégorie:Ville française]]
gn6mrlz4svu7bu4bxrv8412dpk95114
Catégorie:Nogent-le-Rotrou
14
23955
873016
206001
2022-08-22T19:30:44Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Eure-et-Loir]]
[[Catégorie:Ville française]]
acxpppibgjoaucuz1qxx31qzhm52afk
Catégorie:Fougères
14
23957
873072
333993
2022-08-23T10:16:56Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Fougeres}}
[[Catégorie:Ille-et-Vilaine]]
[[Catégorie:Ville française]]
eq7t3wsjsjw8k98wddnxmpv3b7hqk09
Catégorie:Gemeaux
14
24277
873073
205977
2022-08-23T10:18:06Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Côte d'Or]]
[[Catégorie:Ville française]]
9sre5qrhh6epav3nvlbg6l3pymiapm2
Catégorie:Juvignac
14
24479
873077
206009
2022-08-23T11:09:38Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Catégorie:Grigny (Essonne)
14
24483
873012
206049
2022-08-22T18:47:06Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Essonne]]
[[Catégorie:Ville française]]
0w4q91efmp9zrkx7r8izwj17qkbbk5o
Catégorie:Grabels
14
24659
873074
206008
2022-08-23T10:21:00Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Modèle:Exchange Rates
10
24987
873055
872984
2022-08-23T08:00:51Z
BOT-Superzerocool
2931
Bot: Mise à Taux de Change [[:es:User Talk:Superzerocool|Comments (es.wikinews)]]
wikitext
text/x-wiki
{{Modèle:Exchange Rates/core
| date = mardi 23 août 2022
| heures= 08:00
| description= {{{description|}}}
| align = {{{align}}}
| width= {{{width|{{#if:{{{width|}}}|50%|35%}}}}}}
| pays= {{{pays}}}
| AUD = 1,443443
| USD = 0,993493
| JPY = 136,360342
| GBP = 0,844364
| CHF = 0,958542
| BRL = 5,123841
| CNY = 6,81457
| MXN = 19,945994
| HKD = 7,795788
| RUB = 59,535033
| INR = 79,321433
| CRC = 652,409654
| ARS = 135,758814
| CLP = 931,89597
| BOB = 6,913582
| COP = 4371,685498
| NIO = 35,959446
| PEN = 3,867
| UYU = 40,546334
}}<noinclude></noinclude>
1gzjvyjzl6z4q0z8e345wa6k9qk678u
Catégorie:Étampes
14
24997
873009
333989
2022-08-22T18:45:21Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Etampes}}
[[Catégorie:Essonne]]
[[Catégorie:Ville française]]
51xzqgten4gk9sir9d1orn3sqwkutli
Catégorie:Lycée Geoffroy-Saint-Hilaire
14
24999
873070
154167
2022-08-23T10:14:41Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Étampes]]
l469xk91mrzbakkmmlx9mgumdf4fsaw
Catégorie:Clisson
14
25822
873063
432402
2022-08-23T10:05:13Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Loire-Atlantique]]
[[Catégorie:Ville française]]
4qk9o1efa67t45px2v5z4vlarvu7i2u
Catégorie:Fénay
14
26682
873071
333994
2022-08-23T10:15:41Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Fenay}}
[[Catégorie:Côte d'Or]]
[[Catégorie:Ville française]]
jiv8mfx006cpraosm1cmxe0l76jd8y3
Catégorie:Prades-le-Lez
14
27327
873102
206015
2022-08-23T11:34:52Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Catégorie:Cournonsec
14
28147
873064
206006
2022-08-23T10:05:26Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Catégorie:Cournonterral
14
28148
873065
206007
2022-08-23T10:06:38Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Catégorie:Lattes
14
28149
873078
426784
2022-08-23T11:10:28Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Catégorie:Lavérune
14
28150
873079
333984
2022-08-23T11:10:52Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Laverune}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
89xglowzysyafin7exl0bya4mvrce86
Catégorie:Murviel-lès-Montpellier
14
28151
873092
206013
2022-08-23T11:23:39Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Catégorie:Pignan
14
28152
873099
206014
2022-08-23T11:32:03Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
nz5rjsg6e3ut1d3qeo5ac9rajvc6bax
Catégorie:Pérols
14
28153
873098
333986
2022-08-23T11:31:28Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
{{DEFAULTSORT:Perols}}
[[Catégorie:Hérault]]
[[Catégorie:Ville française]]
7s38mxbywvm979f8s92dd2ap2s3ub4q
Catégorie:Paris-Roubaix 2010
14
30646
873107
205924
2022-08-23T11:39:05Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Paris-Roubaix|2010]]
8hxht6w4rzn2g3b2bamtwzvz8a65orq
Catégorie:Mérignac (Gironde)
14
38473
873087
722845
2022-08-23T11:18:42Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Gironde]]
[[Catégorie:Ville française]]
tbpxkvgstylkhoe3p1zf5ixgz661rrs
Catégorie:Utopiales
14
41701
873094
632182
2022-08-23T11:26:05Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Nantes]]
[[Catégorie:Science-fiction]]
[[Catégorie:Cinéma]]
[[Catégorie:Littérature]]
[[Catégorie:Fantasy]]
dejg7gbjkyycxmirphwuiuefh984o7e
Catégorie:Lille
14
42216
873082
722936
2022-08-23T11:12:19Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
[[Catégorie:Nord]]
i54lr5nku90fq1msshdjr3h6z1yg19b
Catégorie:Reims
14
42220
873105
388938
2022-08-23T11:37:50Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Saint-Etienne
14
42222
873111
388940
2022-08-23T11:57:10Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Le Mans
14
42224
873080
426860
2022-08-23T11:11:08Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Amiens
14
42231
873027
389011
2022-08-22T19:53:44Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française|Amiens]]
srl11ttnspp6omo2qdt7luvdbrzvhgz
Catégorie:Saint-Arnoult-en-Yvelines
14
45018
873110
533391
2022-08-23T11:46:07Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:April (association)
14
45482
873002
449710
2022-08-22T17:38:03Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Association loi de 1901]]
[[Catégorie:Association ou organisme]]
[[Catégorie:Informatique]]
44lz05qy8z1zzv7pqwvfqee2p33zauj
Catégorie:Armada de Rouen
14
49020
873109
641591
2022-08-23T11:41:05Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Évènements culturels]]
[[Catégorie:Rouen]]
[[Catégorie:Culture en France]]
8e6udor58ioixhkegwjgeuiyztm1vec
Catégorie:Ambérieu-en-Bugey
14
49235
873026
483303
2022-08-22T19:53:10Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ain]]
[[Catégorie:Ville française]]
[[Catégorie:Bugey]]
o4m9qnmw0647nwk3apcwhux7qpdruea
Catégorie:Oyonnax
14
49236
873096
483304
2022-08-23T11:28:21Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ain]]
[[Catégorie:Ville française]]
[[Catégorie:Bugey]]
o4m9qnmw0647nwk3apcwhux7qpdruea
Catégorie:Grasse
14
49955
873075
613037
2022-08-23T11:03:52Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Aéroport de Notre-Dame-des-Landes
14
49987
873093
640623
2022-08-23T11:25:11Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Nantes]]
[[Catégorie:Aéroport|Notre-Dame-des-Landes]]
[[Catégorie:Économie de la France]]
pmre1cl5g0fkourqndu3qhsbc0pqlmu
Catégorie:Belley
14
50129
873031
494162
2022-08-22T19:57:16Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ain]]
[[Catégorie:Ville française]]
[[Catégorie:Bugey]]
o4m9qnmw0647nwk3apcwhux7qpdruea
Catégorie:Levallois-Perret
14
50503
873081
501729
2022-08-23T11:11:35Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Quatre Jours de Dunkerque 2014
14
51733
873069
753057
2022-08-23T10:12:10Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Quatre Jours de Dunkerque]]
57gibycs083tfmfkdjykx75iwyk9ebw
Catégorie:Quatre Jours de Dunkerque
14
51734
873068
753045
2022-08-23T10:11:14Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Compétition cycliste]]
[[Catégorie:Dunkerque]]
s6o5uwhjzmkh5egfvo2noopglx9h629
Catégorie:Limoges
14
54162
873083
533427
2022-08-23T11:12:44Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Guingamp
14
54194
873076
533650
2022-08-23T11:05:36Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
[[Catégorie:Côtes-d'Armor]]
gs2jj5zrs89msx1xv3g39apmmppeekg
Catégorie:Brétigny-sur-Orge
14
54598
873005
539434
2022-08-22T18:33:00Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Essonne]]
s7hhk0l32zja9kqjki7prfx4a9yb3pk
873010
873005
2022-08-22T18:45:48Z
Wyslijp16
45738
Ajout de catégories
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Essonne]]
[[Catégorie:Ville française]]
0w4q91efmp9zrkx7r8izwj17qkbbk5o
Catégorie:Biarritz
14
55559
873032
501731
2022-08-22T19:57:26Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Paris-Roubaix 2015
14
58892
873108
635886
2022-08-23T11:39:35Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Paris-Roubaix]]
[[Catégorie:Avril 2015 en France]]
jejyeugzxk4f2g51gans0u44qps5ajv
Catégorie:Puteaux
14
59237
873103
588876
2022-08-23T11:35:49Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Clichy-la-Garenne
14
59238
873062
588877
2022-08-23T10:04:41Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Asnières
14
59239
873029
588878
2022-08-22T19:54:56Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Catégorie:Dunkerque
14
59505
873067
592807
2022-08-23T10:10:42Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
tv3ljwphhcnuy3mhtjqpnq4puebbnov
Module:Cycling race
828
63590
872998
823499
2022-08-22T14:38:45Z
Psemdel
30544
Scribunto
text/plain
local p = {}
local wiki = string.match(mw.site.server, "%a+")
if wiki == "www" then
wiki = "fr"
end
--import translation
local l10n = mw.loadData("Module:Cycling race/l10n")
--import data
local data = mw.loadData("Module:Cycling race/data")
local contentLanguage = mw.getContentLanguage()
local wikilang = contentLanguage:getCode()
local wikibase = mw.wikibase
local localframe -- Value may be given by functions which use frame functions like getReference
local arwiki_totemplate = mw.getCurrentFrame():getParent().args["totemplate"] or mw.getCurrentFrame().args["totemplate"]
arwiki_totemplate = (wiki == "ar" and arwiki_totemplate and arwiki_totemplate ~= "") or false
-- == Structure of the code ==
-- I) Constant
-- II) Translation
-- III) Basic functions
-- IV) Functions less basic called from other functions
-----A) Time functions
-----B) Link functions
-----C) Functions for the output, like table
-----D) Jersey, flag functions
-----E) Other (winner)
-- V) Main functions
----- A) Function race reference
----- B) Calendar
----- C) Victory
----- Cbis) Function for infobox
----- D) Stage infobox
----- E) List of teams
----- F) Classifications
----- G) Infobox
----- H) Race infobox
----- I) Team roster
----- J) Function list of winners (palmarès)
----- K) List of stages
----- L) List of stages classification
----- M) Start list
----- N) Rider ranking
----- O) Rider infobox
----- P) Team infobox
-- ..................
----- Z) Miscellaneous / Other / Tests
--Tip: search "--==" to navigate between the sections
--== I) Classes declared as global ==
--dictionnaries
local teamCats=data.teamCats
local class_sort=data.class_sort
local class_dic=data.class_dic
local UCI_Circuits=data.UCI_Circuits
local stages=data.stages
local bg_color_table = data.bg_color_table
local NationalRoadCyclingChampionships=data.NationalRoadCyclingChampionships
local NationalITTCyclingChampionships=data.NationalITTCyclingChampionships
local womenNcRoadtable=data.womenNcRoadtable
local womenNcITTtable=data.womenNcITTtable
local menNcRoadtable=data.menNcRoadtable
local menNcITTtable=data.menNcITTtable
local amateurcat=data.amateurcat
local nationalcat=data.nationalcat
local available, translations = pcall(require, "Module:Cycling race/lang")
local available_list = available and type(translations.list) == "function"
local available_lang_priority = available == true and type(translations.lang_priority) == "table"
local textalign = "left"
local floattable = "left"
local floatinfobox = "right"
if wiki == "ar" or wiki == "fa" or wiki == "ur" or wiki == "he" then
textalign = "right"
floattable = "right"
floatinfobox = "left"
end
local Wikidatalogosize = "12px"
if wiki == "ar" then Wikidatalogosize = "15px" end
local standardtablecss=data.standardtablecss_part1..textalign..data.standardtablecss_part2
local no_country_calendar={'ru','ar'}
local no_country_victories={'ru','ar'}
local no_country_classification={'es','da','no','ru','ar'}
local no_roll_startlist={'fr','da','no','ar','ru','de'}
local display_language_in_riderinfobox={'ru'}
local display_flag_in_riderinfobox={'ru'}
local display_birthnameastitle_in_riderinfobox={'ru'}
local display_noweight_in_riderinfobox={'fr','pl'}
local display_noage_in_riderinfobox={'pl'}
local silver_theme_countries={'da'}
local backgroundColor="#FFDF80"
local backgroundColorLight="#FFF7DF"
for _, value in pairs(silver_theme_countries) do -- get data if country should be printed in this wiki
if value == wiki then
backgroundColor="#EAECF0"
backgroundColorLight="#EFEFEF"
end
end
local function istrue(x)
if x and (x == 1 or x == "1" or x == "true") then return true end
return nil
end
--== II) Translation ==
local function translate(func_name_short, index, womenrace_bool, title)
if index == nil then index=1 end -- for prologue
if index==1000 then --code for some custom function
return title
else
if func_name_short then
local func_name
if womenrace_bool then
func_name=func_name_short.."_women_translate"
if l10n[func_name] and l10n[func_name][index] then
return l10n[func_name][index]
end
end
func_name=func_name_short.."_translate"
if l10n[func_name][index] then
return l10n[func_name][index]
end
return "translation for "..func_name.." index ".. tostring(index).." not found"
else
return "error: no func_name found"
end
end
end
function plural(num)
local plural=false --latin language
local gen_singular=false --for slavic language
local gen_plural=false --for slavic language
if num then
if num > 1 then
plural=true
if num < 5 then -- 2, 3 and 4
gen_singular = true
elseif num > 20 then
local modulo = math.fmod( num, 10)
--modulo==1 --> nothing, it is singular
if modulo>1 and modulo<5 then
gen_singular = true
elseif modulo>4 then
gen_plural=true
end
else
gen_plural=true
end
end
end
return plural, gen_singular, gen_plural
end
function black_list( Label)
local black_list=l10n.black_list
--[[ List of Wikipedia articles with the same lemma as the non existing rider article. Those lemmas are printed
as text "black" in the tables, not "blue" or "red". This way there will be no false wikilinks at the WhatLinksHere entry.
List should be updated maybe once a year. ]]
return black_list[Label]
end
local function stageLink(x, a, b) -- x= 10a: a = 10, b = a. x = 5: a = 5, b = ""
local l10nDef = {["fr"]="étape", ["en"]="stage", ["ar"]="المرحلة", ["br"]="Tennad", ["ca"]="etapa", ["cs"]="etapa", ["de"]="Etappe", ["da"]="etape", ["eo"]="Etapo",
["es"]="etapa", ["eu"]="Etapa", ["fi"]="Etappi", ["fo"]="teinur", ["hu"]="szakasz", ["it"]="Tappa", ["ja"]="ステージ", ["la"]="Statio", ["lb"]="Etapp",
["lv"]="Posms", ["mk"]="Етапа", ["nl"]="Etappe", ["no"]="etappe", ["pl"]="Etap", ["pt"]="Etapa", ["ro"]="Etapa", ["ru"]="Этап", ["sk"]="Etapa",
["sv"]="Etapp", ["ast"]="etapa" }
local word1, word2
word2=l10nDef[wiki]
if word2 == nil then word2=l10nDef["en"] end -- if no translation, show en translation
local word = word2
if wiki=="ar" then return word2 .. " " .. ( a or "" ) , "#" .. word2 .. " " .. ( a or "" ) end
-- fr: {{1re}} étape, {{2e}} étape
if wiki=="fr" then
if b == "" then -- series_ordinal without character
if a == "1" then word1 = "1<sup>re</sup> "..word else word1 = a.."<sup>e</sup> "..word end -- table text = {{1re}} étape, {{2ae}} étape,
if a == "1" then word2 = "#1re "..word else word2 = "#"..a.."e "..word end --text of section header = #1re étape, #2e étape
return word1, word2
end
if b ~= "" then -- series_ordinal with character: instead of eg "1a re" it is "1re a"
if a == "1" then word1 = "1<sup>re</sup> "..b.." "..word else word1 = a.."<sup>e</sup> "..b.." "..word end -- table text = {{1re}} étape, {{2ae}} étape,
if a == "1" then word2 = "#1re "..b.." "..word else word2 = "#"..a.."e"..b.." "..word end --text of section header = #1re étape, #2e étape
return word1, word2
end
end
if wiki=="hu" then
if b == "" then return a..". "..word, "#"..a..". "..word
else return a..b.." "..word, "#"..a..b.." "..word end
end
if wiki=="de" or wiki=="da" or wiki=="fo" or wiki=="lb" or wiki=="no" then return a..". "..b.." "..word, "#"..a..". "..b.." "..word end
if wiki=="ca" then return a.."a "..b.." "..word, "#"..a..". "..b.." "..word end
if wiki=="es" then return a..".ª "..word.." "..b, "#"..a..".ª "..word.." "..b end
if wiki=="ast" then
if b == "" then -- series_ordinal without character
if a == "1" or a == "3" then word1 = a.."ᵉʳ "..word else word1 = a.."ª "..word end -- table text = 1ᵉʳ etapa, 2ª etapa, 3ᵉʳ etapa,
if a == "1" or a == "3" then word2 = "#"..a.."ᵉʳ "..word else word2 = "#"..a.."ª "..word end --text of section header = #1ᵉʳ etapa, #2ª etapa, #3ᵉʳ etapa
return word1, word2
end
if b ~= "" then -- series_ordinal with character: instead of eg "1a re" it is "1re a"
if a == "1" or a == "3" then word1 = a.."ᵉʳ "..b.." "..word else word1 = a.."ª "..b.." "..word end -- table text = {{1ᵉʳ}} etapa, {{2ª}} etapa,
if a == "1" or a == "3" then word2 = "#"..a.."ᵉʳ "..b.." "..word else word2 = "#"..a.."ª"..b.." "..word end --text of section header = #1ᵉʳ etapa, #2ª etapa
return word1, word2
end
end
-- default
word1 = x -- table text = 1, 2a, 3
word2 = "#"..word.." ".. x -- text of section header = #Etappe 2a, #Stage 4
return word1, word2
end
local function typeofstage(x, typ, noborder)
-- plain, hilly, inter, ... must be "" or "any text"
-- l10nDef[""] = {plain = "", hilly="", inter='', mount='', time_prologue='', time_team='', time_indiv='', uphill='', rest=''}
local l10nDef = {
["ar"] = {plain = "مرحلة مستوية", hilly="مرحلة التلال", inter='مرحلة متوسطة', mount='مرحلة جبلية', time_prologue='مرحلة سباق زمني', time_team='مرحلة سباق الزمن للفرق', time_indiv='مرحلة سباق الزمن فردي', uphill='مرحلة تسلق الجبل زمني', rest='يوم راحة'},
["ast"] = {plain = "etapa llana", hilly="etapa escarpada", inter='etapa de mediu monte', mount='etapa de monte', time_prologue='prólogu', time_team='contrarreló per equipos', time_indiv='contrarreló individual', uphill='cronoescalada', rest='xornada de descansu'},
["fr"] = {plain = "étape de plaine", hilly="étape vallonnée", inter='étape de moyenne montagne', mount='étape de montagne', time_prologue='prologue', time_team='contre-la-montre par équipes', time_indiv='contre-la-montre individuel', uphill='contre-la-montre en côte', rest='étape de repos'},
["en"] = {plain = "plain stage", hilly="hilly stage", inter='intermediate stage', mount='mountain stage', time_prologue='time trial stage', time_team='team time trial stage', time_indiv='individual time trial stage', uphill='uphill time trial stage', rest='rest day'},
["br"] = {plain = "tennad plaen", hilly="tennad digompez", inter='tennad damveneziek', mount='tennad meneziek', time_prologue='prolog', time_team='ABEU a-skipailhoù', time_indiv='ABEU', uphill='', rest='devezh diskuizh'},
["ca"] = {plain = "etapa plana", hilly="etapa accidentada", inter='etapa de mitja muntanya', mount='etapa de muntanya', time_prologue='pròleg', time_team='contrarellotge per equips', time_indiv='contrarellotge individual', uphill='', rest='etapa de descans'},
["cs"] = {plain = "rovinatá etapa", hilly="", inter='kopcovitá etapa', mount='horská etapa', time_prologue='prolog', time_team='týmová časovka', time_indiv='individuální časovka', uphill='', rest=''},
["da"] = {plain = "flad etape", hilly="kuperet etape", inter='middel bjergetape', mount='bjergetape', time_prologue='prolog', time_team='holdtidskørsel', time_indiv='enkeltstart', uphill='bjergenkeltstart', rest='hviledag'},
["de"] = {plain = "Flachetappe", hilly="Hügelige Etappe", inter='Mittelschwere Etappe', mount='Hochgebirgsetappe', time_prologue='Prolog', time_team='Teamzeitfahren', time_indiv='Einzelzeitfahren', uphill='Bergzeitfahren', rest='Ruhetag'},
["eo"] = {plain = "ebena etapo", hilly="malebena etapo", inter='mezgranda montaro etapo', mount='montara etapo', time_prologue='prologo', time_team='teama kontraux-la-kronometro', time_indiv='individua kontraux-la-kronometro', uphill='malebena kontraux-la-kronometro', rest='ripoza etapo'},
["es"] = {plain = "etapa llana", hilly="etapa escarpada", inter='etapa de media montaña', mount='etapa de montaña', time_prologue='prólogo', time_team='contrarreloj por equipos', time_indiv='contrarreloj individual', uphill='cronoescalada', rest='jornada de descanso'},
["eu"] = {plain = "etapa laua", hilly="etapa gorabeheratsua", inter='bitarteko etapa', mount='mendiko etapa', time_prologue='aitzinetapa', time_team='taldekako erlojupekoa', time_indiv='banakako erlojupekoa', uphill='erlojupeko igoera', rest='atseden eguna'},
["fi"] = {plain = "Tasamaaetappi", hilly="Mäkietappi", inter='Keskivaikea vuorietappi', mount='Vuorietappi', time_prologue='', time_team='Joukkueaika-ajo', time_indiv='Henkilökohtainen aika-ajo', uphill='mäkiaika-ajo', rest='välipäivä'},
["fo"] = {plain = "Slætt", hilly="Slætt við brúgvasteinum", inter='Óslætt', mount='Fjallateinur', time_prologue='Forteinur', time_team='Liðsúkkling', time_indiv='Einkultstartur', uphill='', rest='Hvílidagur'},
["hu"] = {plain = "sík szakasz", hilly="dombos szakasz", inter='közepes hegyi szakasz', mount='hegyi szakasz', time_prologue='prolog', time_team='csapat időfutam', time_indiv='egyéni időfutam', uphill='hegyi időfutam', rest=''},
["ja"] = {plain = "平坦ステージ", hilly="丘陵ステージ", inter='中間ステージ', mount='山岳ステージ', time_prologue='タイムトライアルステージ', time_team='チームタイムトライアルステージ', time_indiv='個人タイムトライアルステージ', uphill='アップヒルタイムトライアルステージ', rest='休養日'},
["lb"] = {plain = "Flaach Etapp", hilly="Hiwweleg Etapp", inter='Mëttelschwéier Etapp', mount='Biergetapp', time_prologue='Prolog', time_team='Contre-la-montre (Ekipp)', time_indiv='Contre-la-montre (Eenzel)', uphill='Biergcourse', rest='Roudag'},
["lv"] = {plain = "līdzenuma posms", hilly="paugurains posms", inter='vidēju kalnu posms', mount='kalnu posms', time_prologue='individuālais brauciens', time_team='komandu brauciens', time_indiv='individuālais brauciens', uphill='individuālais brauciens kalnā', rest='atpūtas diena'},
["mk"] = {plain = "рамна етапа", hilly="ридеста етапа", inter='среднопланинска етапа', mount='планинска етапа', time_prologue='пролог', time_team='екипен хронометар', time_indiv='индивидуален хронометар', uphill='', rest='ден за одмор'},
["nl"] = {plain = "vlakke rit", hilly="heuvelrit", inter='heuvelrit', mount='bergrit', time_prologue='proloog', time_team='ploegentijdrit', time_indiv='individuele tijdrit', uphill='klimtijdrit', rest='rustdag'},
["no"] = {plain = "flat etappe", hilly="kupert etappe", inter='middels klatreetappe', mount='klatreetappe', time_prologue='prolog', time_team='lagtempo', time_indiv='temporitt', uphill='klatretempoetappe', rest='hviledag'},
["pl"] = {plain = "płaski", hilly="pagórkowaty", inter='górzysty', mount='górski', time_prologue='prolog', time_team='jazda drużynowa na czas', time_indiv='jazda indywidualna na czas', uphill='jazda indywidualna na czas pod górę', rest='dzień przerwy'},
["pt"] = {plain = "etapa plana", hilly="etapa escarpada", inter='média montanha', mount='alta montanha', time_prologue='prólogo', time_team='contrarrelógio por equipes', time_indiv='contrarrelógio individual', uphill='cronoescalada', rest='jornada de descanso'},
["ro"] = {plain = "etapă de plat", hilly="etapă valonată", inter='etapă intermediară', mount='etapă de munte', time_prologue='prolog', time_team='contratimp pe echipe', time_indiv='contratimp individual', uphill='', rest='zi de repaus'},
["ru"] = {plain = "равнинный", hilly="холмистый", inter='среднегорный', mount='горный', time_prologue='пролог', time_team='командная разделка', time_indiv='индивидуальная разделка', uphill='горная разделка', rest='день отдыха'},
["sv"] = {plain = "Flack etapp", hilly="", inter='Kuperat', mount='Bergsetapp', time_prologue='Prolog', time_team='Lagtempoetapp', time_indiv='Tempoetapp', uphill='', rest='Vilodag'},
}
local l10n = l10nDef[wiki]
if not l10n then l10n = l10nDef["en"] end -- default
local border
if noborder then border="" else border="|border|right" end
local stages = {
["plain stage"] = "[[File:Plainstage.svg"..border.."|20px|"..l10n.plain.."]]",
["hilly stage"] = "[[File:Hillystage.svg"..border.."|20px|"..l10n.hilly.."]]",
["intermediate stage"] = "[[File:Mediummountainstage.svg"..border.."|20px|"..l10n.inter.."]]",
["mountain stage"] = "[[File:Mountainstage.svg"..border.."|20px|"..l10n.mount.."]]",
["uphill time trial stage"] = "[[File:Mountain Time Trial Stage.svg"..border.."|20px|"..l10n.uphill.."]]",
["rest day"] = "[[File:Stage rest day.svg"..border.."|20px|"..l10n.rest.."]]"
}
if stages[x] then
return stages[x]
end
if x=='time trial stage' then
if noborder then border="" else border="|right" end
if typ=="Q2348250" then return "[[File:Team Time Trial Stage.svg"..border.."|20px|"..l10n.time_team.."]]" end
if typ=="Q2266066" then return "[[File:Time Trial.svg"..border.."|20px|"..l10n.time_indiv.."]]" end
if typ=="Q485321" then return "[[File:Time Trial.svg"..border.."|20px|"..l10n.time_prologue.."]]" end
end
end
local function typeofstagelogo(stageID, noborder)
local sType
p = mw.wikibase.getBestStatements(stageID, 'P31') -- P31 is 'instance of'
for _,t in pairs(p) do
if t.mainsnak.snaktype == 'value' then
local iOf = t.mainsnak.datavalue.value.id
if iOf == "Q20646667" then sType = typeofstage('plain stage', nil, noborder) break end
if iOf == "Q20646670" then sType = typeofstage('hilly stage', nil,noborder) break end
if iOf == "Q20680270" then sType = typeofstage('intermediate stage', nil,noborder) break end
if iOf == "Q20646668" then sType = typeofstage('mountain stage',nil, noborder) break end
if iOf == "Q485321" then sType = typeofstage('time trial stage', "Q485321", noborder) break end -- prologue
if iOf == "Q2266066" then sType = typeofstage('time trial stage', "Q2266066", noborder) break end -- individual time trial
if iOf == "Q2348250" then sType = typeofstage('time trial stage', "Q2348250", noborder) break end -- team time trial
if iOf == "Q20679712" then sType = typeofstage('uphill time trial stage', nil, noborder) break end
end
end
return sType or ''
end
--== III) basic functions
--[[ Get any value for a property which is not deprecated ]]
local function firstValue(QID, PID, field)
if QID then
local ss = wikibase.getAllStatements(QID, PID)
for _, s in pairs(ss) do
if s.rank ~= 'deprecated' and s.mainsnak.snaktype == 'value' then
return field and s.mainsnak.datavalue.value[field] or s.mainsnak.datavalue.value
end
end
else
return nil
end
end
--[[ Go from season of a team to the team ]]
local function getParentID(teamID)
return firstValue(teamID, 'P5138', 'id') -- P361 is 'part of'
or firstValue(teamID, 'P361', 'id') -- P5138 is 'season of club or team'
end
--[[ Get a label in any of the languages in the fallback list of language codes ]]
local function getLabelFallback(itemID, fallback)
local label
for _, lang in ipairs(fallback) do
label = mw.wikibase.getLabelByLang(itemID, lang)
if label then break end
end
return label
end
--[[ Get a sitelink from the local wiki or from the fallback list of language codes ]]
local function getSitelinkFallback(itemID, fallback)
local link = mw.wikibase.getSitelink(itemID)
if link then return link end
for _, lang in ipairs(fallback) do
link = mw.wikibase.getSitelink(itemID, lang .. 'wiki')
if link then return link end
end
return nil
end
local function make_IllWD2_link(q, arlabel, enlabel, text)
local argse = { ["المعرف"] = q, target='en' }
if arlabel and arlabel ~= '' then
argse.label = arlabel
elseif enlabel and enlabel ~= '' then
argse.enlabel = enlabel
end
if text and text ~= "" then
argse.text = text
end
local final = mw.getCurrentFrame():expandTemplate{ title = 'Ill-WD2', args = argse }
if arwiki_totemplate then
final = "{{Ill-WD2"
for k,v in pairs(argse) do
final = final .. "|" .. k .. "=" .. v
end
final = final .. "}}"
end
return final
end
local function change_listofstages(tab, raceID, header, Id)
-- code used in arwiki only
return tab
end
--[[ Iterator to get all statements for an entity and property which are not deprecated and have a value]]
local function nextStatement(state, i)
repeat
i = i + 1
local s = state[i]
if s and s.rank ~= 'deprecated' and s.mainsnak.snaktype == 'value' then
return i, s
end
until s == nil
end
local function statements(QID, PID)
return nextStatement, wikibase.getAllStatements(QID, PID), 0
end
--[[ Iterator to get all qualifier values for a property for a statement]]
local function nextQualifier(state, i)
repeat
i = i + 1
local q = state[i]
if q and q.snaktype == 'value' then
return i, q.datavalue
end
until q == nil
end
local function qualifiers(statement, PID)
return nextQualifier, statement.qualifiers and statement.qualifiers[PID] or {}, 0
end
local function qualifieramount(element, property)
local result
for _, q in qualifiers(element, property) do
result = tonumber(q.value.amount)
break
end
return result
end
local function dispmoney(amount, unit)
if amount and unit then
local cost = contentLanguage:formatNum(tonumber(amount))
if wiki == 'fo' then cost = string.gsub(cost, "%.", ",") end
if unit == "http://www.wikidata.org/entity/Q4916" then
cost = cost .. ' €'
elseif unit == "http://www.wikidata.org/entity/Q4917" then
cost = cost .. ' $'
end
return cost
end
return nil
end
--== IV) Functions less basic called from other functions ==
--=== A) Time functions ===
--[[ Get a Wikidata statement for an entity and property valid at the given timevalue ]]
local function checktime(s,q, time)
local start, startPrecision, END, endPrecision
if not q then
return s
end
if q.P580 and q.P580[1] and q.P580[1].snaktype == 'value' then -- P580 is start time
start = q.P580[1].datavalue.value.time
startPrecision = q.P580[1].datavalue.value.precision
if startPrecision == 9 then -- precision is years
start = string.sub(start, 1, 5) -- Cut of everything after year
elseif startPrecision == 10 then -- precision is months
start = string.sub(start, 1, 8) -- Cut of everything after month
end
end
if q.P582 and q.P582[1] and q.P582[1].snaktype == 'value' then -- P582 is end time
END = q.P582[1].datavalue.value.time
endPrecision = q.P582[1].datavalue.value.precision
end
if not start or start <= time then
if not END then
return s
end
if endPrecision == 9 then -- precision 9 is 'years'
END = string.sub(END, 1, 6) .. '13' -- Set month to 13
elseif endPrecision == 10 then -- precision 10 is 'months'
END = string.sub(END, 1, 9) .. '32' -- Set day to 32
end
if END >= time then
return s
end
end
return nil
end
local function getStatementForTime(ID, property, time)
local temp
for _, s in statements(ID, property) do
temp =checktime(s, s.qualifiers, time)
if temp then return temp end
end
return nil
end
--Display date interval in a natural way:
--long:
--4-5 January 2020
--4 January - 2 February 2020
--4 January 2020 - 2 February 2021
--small is the same with short month names
--Does not work properly if the precision is not sufficient
local function getStartEndTime(sTime, eTime, mode)
-- Note: Add the 4formats to "formats" and use funcDate
local lang = contentLanguage
local starttime, endtime
local month_pl = {"stycznia", "lutego", "marca", "kwietnia", "maja", "czerwca", "lipca", "sierpnia",
"września", "października", "listopada", "grudnia"}
--local format = formats[wiki] or formats['']
if mode==nil then mode='long' end
-- Timevalues is like "+2015-07-04T00:00:00Z"
local y, m = string.match(sTime, "(%d+)-(%d+)-%d+")
local y2, m2 = string.match(eTime, "(%d+)-(%d+)-%d+")
if m=='00' then --manage the 30 November issue
if mode=='long' then
starttime =lang:formatDate( "Y", sTime )
else
starttime ='-'
end
else
if y ~= y2 then
if mode=='long' then
starttime = lang:formatDate( "j F Y", sTime )
else
starttime = lang:formatDate( "j M Y", sTime )
end
elseif m ~= m2 then
if mode=='long' then
starttime = lang:formatDate( "j F", sTime )
else
starttime = lang:formatDate( "j M", sTime )
end
else
starttime = lang:formatDate( "j", sTime )
end
if wiki == "ar" then
if y ~= y2 then starttime = lang:formatDate( "d F Y", sTime )
elseif m ~= m2 then starttime = lang:formatDate( "d F", sTime )
else starttime = lang:formatDate( "d ", sTime ) end
elseif wiki == "br" then
if y ~= y2 then starttime = lang:formatDate( "j", sTime ) .." a viz ".. lang:formatDate( "F Y", sTime )
elseif m ~= m2 then starttime = lang:formatDate( "j", sTime ) .." a viz ".. lang:formatDate( "F", sTime )
else starttime = lang:formatDate( "j", sTime ) .." "
end
elseif wiki == "ca" or wiki == "es" or wiki == "ast" then
if y ~= y2 then
starttime = lang:formatDate( "j", sTime ) .." de ".. lang:formatDate( "F", sTime ) .." de ".. lang:formatDate( "Y", sTime )
elseif m ~= m2 then
starttime = lang:formatDate( "j", sTime ) .." de ".. lang:formatDate( "F", sTime )
else starttime = lang:formatDate( "j", sTime ) .." "
end
elseif wiki == "cs" then
if y ~= y2 then starttime = lang:formatDate( "j. xg Y", sTime )
elseif m ~= m2 then starttime = lang:formatDate( "j. xg", sTime )
else starttime = lang:formatDate( "j", sTime )
end
elseif wiki == "de" or wiki == "da" or wiki == "fo" or wiki == "lb" or wiki == "no" then
if y ~= y2 then starttime = lang:formatDate( "j. F Y", sTime )
elseif m ~= m2 then starttime = lang:formatDate( "j. F", sTime )
else starttime = lang:formatDate( "j.", sTime )
end
elseif wiki == "fi" then
if y ~= y2 then starttime = lang:formatDate( 'j. F"ta" Y', sTime )
elseif m ~= m2 then starttime = lang:formatDate( 'j. F"ta"', sTime )
else starttime = lang:formatDate( "j.", sTime )
end
elseif wiki == "eo" then
if y ~= y2 then starttime = lang:formatDate( "j", sTime ) .."-a de ".. lang:formatDate( "F Y", sTime )
elseif m ~= m2 then starttime = lang:formatDate( "j", sTime ) .."-a de ".. lang:formatDate( "F", sTime )
else starttime = lang:formatDate( "j", sTime ) .."-a "
end
elseif wiki == "eu" then
if y ~= y2 then starttime = lang:formatDate( "Y", sTime ) ..".eko ".. lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime )
elseif m ~= m2 then starttime = lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime )
else starttime = lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime )
end
elseif wiki == "hu" then
starttime = lang:formatDate( "Y. F j.", sTime)
elseif wiki == "ja" then
if y ~= y2 then starttime = lang:formatDate( "Y年m月d日", sTime )
elseif m ~= m2 then starttime = lang:formatDate( "Y年m月d日", sTime )
else starttime = lang:formatDate( "Y年m月d日", sTime )
end
elseif wiki == "lv" then
if m ~= m2 then starttime = lang:formatDate( "Y. \\g\\a\\d\\a j. F", sTime )
else starttime = lang:formatDate( "Y. \\g\\a\\d\\a j.", sTime )
end
elseif wiki == "pl" then
if y ~= y2 then starttime = lang:formatDate( "j ", sTime ) .. month_pl[tonumber(lang:formatDate( "n", sTime ))] .. lang:formatDate( " Y", sTime )
elseif m ~= m2 then starttime = lang:formatDate( "j ", sTime ) .. month_pl[tonumber(lang:formatDate( "n", sTime ))]
else starttime = lang:formatDate( "j", sTime )
end
end
end
if m2=='00' then --manage the 30 November issue
if mode=='long' then
endtime= lang:formatDate( "Y", eTime )
else
endtime= '-'
end
else
if mode=='long' and y ~= y2 then
endtime = lang:formatDate("j F Y", eTime)
elseif y ~= y2 then --small
endtime = lang:formatDate("j M Y", eTime)
elseif mode=='long' then
endtime = lang:formatDate("j F", eTime)
else
endtime = lang:formatDate("j M", eTime)
end
if wiki == "ar" then
if mode=='long' or y ~= y2 then endtime = lang:formatDate( "d F Y", eTime )
elseif m ~= m2 then endtime = lang:formatDate( "d F Y", eTime )
else endtime = lang:formatDate( "d F Y", eTime )
end
elseif wiki == "br" then endtime = lang:formatDate( "j", eTime ) .." a viz ".. lang:formatDate( "F Y", eTime )
elseif wiki == "ca" or wiki == "es" or wiki == "ast" then
if mode=='long' or y ~= y2 then
endtime = lang:formatDate( "j", eTime ) .." de "..
lang:formatDate( "F", eTime ) .." de ".. lang:formatDate( "Y", eTime )
else
endtime = lang:formatDate( "j", eTime ) .." de "..
lang:formatDate( "F", eTime )
end
elseif wiki == "cs" then endtime = lang:formatDate( "j. xg Y", eTime )
elseif wiki == "de" or wiki == "da" or wiki == "fi" or wiki == "fo" or wiki == "lb" or wiki == "no" then
if mode=='long' or y ~= y2 then
endtime = lang:formatDate( "j. F Y", eTime )
else
endtime = lang:formatDate( "j. M", eTime )
end
elseif wiki == "eo" then endtime = lang:formatDate( "j", eTime ) .."-a de ".. lang:formatDate( "F Y", eTime )
elseif wiki == "eu" then endtime = lang:formatDate( "Y", eTime ) ..".eko ".. lang:formatDate( "F", eTime ) .."k "..
lang:formatDate( "j", eTime )
elseif wiki == "fi" then endtime = lang:formatDate('j F"ta" Y', eTime)
elseif wiki == "hu" then
if y ~= y2 then endtime = lang:formatDate( "Y. F j.", eTime )
elseif m ~= m2 then endtime = lang:formatDate( "F j.", eTime )
else endtime = lang:formatDate( "j.", eTime )
end
--endtime = lang:formatDate( "Y", eTime ) ..". ".. lang:formatDate( "F j", eTime ) .."."
elseif wiki == "ja" then
if y ~= y2 then endtime = lang:formatDate( "Y年m月d日", eTime )
elseif m ~= m2 then endtime = lang:formatDate( "m月d日", eTime )
else endtime = lang:formatDate( "d日", eTime )
end
elseif wiki == "lv" then
if y ~= y2 then endtime = lang:formatDate( "Y. \\g\\a\\d\\a j. F", eTime )
else endtime = lang:formatDate( "j. F", eTime )
end
elseif wiki == "pl" then
endtime = lang:formatDate( "j ", eTime ) .. month_pl[tonumber(lang:formatDate( "n", eTime ))] ..
lang:formatDate( " Y", eTime )
end
end
return starttime, endtime
end
local formats = data.formats
-- Display the date, the mode changes the format
local function funcDate(date, mode)
-- local date = '+2016-05-20'
-- local mode = 'small'
local format = formats[wiki] or formats['']
local lang = contentLanguage
local month_pl = {"stycznia", "lutego", "marca", "kwietnia", "maja", "czerwca", "lipca", "sierpnia",
"września", "października", "listopada", "grudnia"}
--handle problems with lack of precision
local daycorrect=true
local monthcorrect=true
if string.sub(date,10,11)=='00' then daycorrect=false end
if string.sub(date,7,8)=='00' then monthcorrect=false end
if mode == 'Y' then
return string.sub(date,2,5) --only year, note: contentLanguage:formatDate("Y", date) returns the wrong year
end
if daycorrect and monthcorrect then
if wiki=="pl" then-- overcome declination issue
return lang:formatDate( "j ", date ) .. month_pl[tonumber(lang:formatDate( "n", date ))] ..
lang:formatDate( " Y", date )
else
return contentLanguage:formatDate(format[mode], date)
end
else
if daycorrect or (monthcorrect==false and daycorrect==false) then --no month
if mode=='long' then
return string.sub(date,2,5) --only year, note: contentLanguage:formatDate("Y", date) returns the wrong year
else --otherwise we don't know
return '-'
end
else --month correct, but day incorrect
if mode=='onlyday' then
return '-'
else
local newdate=string.sub(date,1,9).."01"..string.sub(date,12)
if wiki=="pl" then
return month_pl[tonumber(lang:formatDate( "n", date ))] ..lang:formatDate( " Y", date )
else
return string.sub(contentLanguage:formatDate(format[mode], newdate), 3) --cut the day
end
end
end
end
end
--[[ get the year for a race as a string, or an empty string]]
local function getYear(raceID)
local year = firstValue(raceID, 'P580', 'time') or -- P580 is 'start time'
firstValue(raceID, 'P585', 'time') -- P585 is 'point in time'
if year then
return string.sub(year, 2, 5)
end
return ''
end
function isdisqualified(p,q) --disqualification can use deprecated or P1534
local cancelled=""
local disqualified=false
if p and p.rank=='deprecated' then
cancelled='text-decoration:line-through;'
disqualified=true
else
if q and q.P1534 and q.P1534[1].snaktype == 'value' then
local tempdsq=q.P1534[1].datavalue.value.id
if tempdsq=='Q1229261' then
cancelled='text-decoration:line-through;'
disqualified=true
end --disqualified
end
end
return cancelled, disqualified
end
--=== B) Link functions ===
local function getOfficialName(teamID, timeOfRace,season,strict) -- for team
--return officialName, isLocal
local strictLang = {mk = true}
local cyrillic = {mk = true, ru = true}
local strictLangBool= strictLang[wiki] or strict
local correcttime, best, name, nametemp
local wantedLanguages = {}
if available_lang_priority then
for i, lang in ipairs(translations.lang_priority) do --from Module:Cycling_race/lang
wantedLanguages[lang] = i
end
end
--case one, one official name / period overloaded with other languages as qualifier
--for instance https://www.wikidata.org/wiki/Q195833
for _, p1448 in statements(teamID, 'P1448') do
correcttime=true
if timeOfRace and timeOfRace ~='' then
correcttime =checktime(p1448, p1448.qualifiers, timeOfRace)
end
if correcttime then
if available_lang_priority and p1448.qualifiers and p1448.qualifiers.P1448 then
local q = p1448.qualifiers.P1448
best = 999
for _, l in pairs(q) do
if l.snaktype == 'value' then
local lang = l.datavalue.value.language
if wantedLanguages[lang] and wantedLanguages[lang] < best then
best = wantedLanguages[lang]
name = l.datavalue.value.text
end
end
end
if name then return name, true end
end
--p1448 and correct time, look in the not qualifier part
lang=p1448.mainsnak.datavalue.value.language
best = 999
if available_lang_priority and wantedLanguages[lang] and wantedLanguages[lang] < best then
best = wantedLanguages[lang]
name = p1448.mainsnak.datavalue.value.text
elseif strictLangBool then
if wiki==lang then
name = p1448.mainsnak.datavalue.value.text
end
else
if cyrillic[lang]==nil then --don't display cyrillic for latin wiki
nametemp = p1448.mainsnak.datavalue.value.text
end
end
end
end
if name then
return name, true
elseif not strictLangBool then
return nametemp, false
end
--no official name, get label
local label=wikibase.getLabel(teamID)
if season and season==true then
if label then return string.sub(label,1,label:len()-5),true end --
else
return label, true -- No official name, try label
end
end
local function revertfirstlast(name)
local nametable = mw.text.split(name, ",")
if nametable[2] then --there is a coma
return nametable[2].." "..nametable[1]
else
return nametable[1]
end
end
-- RiderID --> RiderLink
local function getRiderLink(riderID, startOfSeason) --startOfSeason optional
--Priority order
--#1 P1813, short name, in correct alphabet, correct time
--#2 P1448, official name, in correct alphabet, correct time
--#3 sitelink (so label from wikipedia) in correct language
--#4 label from wikidata in correct language
--#5 label from wikidata in another language
local strictLang = {mk = true, ru = true}
local strictLangBool= strictLang[wiki]
local sitelink = wikibase.getSitelink(riderID)
local officialname,officialnametemp, language, name
local correctlanguage=false
local listOfProperty={'P1813','P1448'}
for _, prop in ipairs(listOfProperty) do
for _, p1813 in statements(riderID, prop) do
if not officialname or not correctlanguage then
language = p1813.mainsnak.datavalue.value.language
officialnametemp = p1813.mainsnak.datavalue.value.text
if strictLangBool then
if wiki==language then
name=officialnametemp --only exact language
correctlanguage=true
end
else
if wiki==language then --exact language --> ok
name=officialnametemp
correctlanguage=true
elseif strictLang[language]==nil and not officialname then
--normally all "latin" languages use the same name, except for cyrillic translation
local russianLabel= wikibase.getLabelByLang(riderID, "ru")
if russianLabel then
local russianEnd=string.sub(russianLabel, -3)
if russianEnd~="вна" and russianEnd~="вич" then --otherwise rejected
name=officialnametemp
correctlanguage=false
end
else -- no russian label, it is most probably not a cyrillic translation
name=officialnametemp --any language latin
correctlanguage=false
end
end
end
if startOfSeason~= nil then
local q = p1813.qualifiers
if q then
local temp = checktime(name,q,startOfSeason)
if temp then officialname = name end--if the time is correct than it is finished
else
officialname = name
end
else
officialname = name
end
end
end
end
if sitelink and officialname then --if there is an official name, then use it
return "[[" .. sitelink .. "|" ..officialname.."]]", correctlanguage
else
if officialname then return officialname end
if sitelink then
if wiki == "de" then
local label = wikibase.getLabelByLang(riderID, wiki)
if label then
local p27 = wikibase.getBestStatements(riderID, 'P27') -- P27 is country of citizenship
if p27[1] and p27[1].mainsnak.snaktype == 'value' then
local c = p27[1].mainsnak.datavalue.value.id
if c=="Q159" or c=="Q184" or c=="Q212" or c=="Q232" then -- Q159, Q184, Q212, Q232 is Russia, Belarus, Ukraine, Kazakhstan
return "[[" .. sitelink .. "|" .. label .. "]]", correctlanguage
end
end
end
end
if wiki == 'ru' then
local label = revertfirstlast(mw.text.trim(string.gsub(sitelink, "%b()", "")))
return "[[" .. sitelink .. "|" .. label.. "]]", correctlanguage
else
return "[[" .. sitelink .. "|" .. mw.text.trim(string.gsub(sitelink, "%b()", "")) .. "]]", correctlanguage
end
end
-- No WP article. Display label, and make it a red link if no other article uses the title
local link
local label = wikibase.getLabelByLang(riderID, wiki)
if label then
if wiki == 'ar' then
link = make_IllWD2_link(riderID, label)
else
if wiki=='ru' then
label=revertfirstlast(label)
end
if black_list( label) then
link = label
else
local title = mw.title.new(label)
if title and title.exists then
link = label
else
link = "[[" .. label.. "]]"
end
end
end
return link, correctlanguage
end
-- No label in the local language. Try other languages, but don't link.
correctlanguage=false
if wiki == 'ar' then
link = make_IllWD2_link(riderID)
else
link = getLabelFallback(riderID, {'en', 'de', 'fr','es'})
if link then
link = string.gsub(link, "%b()", "")
else
link = "(label missing)"
end
end
return link, correctlanguage
end
end
--[[ Get the name of a country ]]
local function getCountryName(countryID)
local name = ''
if available_list then
name = translations.list(countryID)
end
if name == '' then
local label, lang = wikibase.getLabelWithLang(countryID)
--[[ Uses standard language fallback. Should not return nil, nil, as all countries have English labels. ]]
if lang == wikilang then
name = label
elseif lang then
name = label .. ' (' .. lang .. ')'
end
end
return name
end
--[[ Get sitelink with no wiki no formating ]]
local function getRawTeamLink(teamID)
local sitelink
local parentID = getParentID(teamID)
if parentID then -- try parent team first
sitelink = mw.wikibase.getSitelink(parentID)
end
if not sitelink then
sitelink = mw.wikibase.getSitelink(teamID)
end
return sitelink
end
--[[ Get sitelink, categoryID and maybe country for a team.
Returns sitelink, team category ID, countryID (only countryID if country arg is true ]]
local function getTeamLinkCat(teamID, timeOfRace, country, season)
local name, sitelink, parentID, catID
local national_team_boolean=false
-- Find team category
--Hypothesis, it is a season, look in P2094
for _, p2094 in statements(teamID, 'P2094') do
if checktime(p2094, p2094.qualifiers, timeOfRace) then
local natureID = p2094.mainsnak.datavalue.value.id
if teamCats[natureID] then
catID = natureID
break
end
end
end
-- Fallback with P31 (deprecated)
for _, p31 in statements(teamID, 'P31') do
if checktime(p31, p31.qualifiers, timeOfRace) then
local natureID = p31.mainsnak.datavalue.value.id
if teamCats[natureID] then
catID = natureID
break
end
end
end
--look by the parent, then P31 is used
if not catID then
parentID = getParentID(teamID)
if parentID then
local p31 = getStatementForTime(parentID, 'P31', timeOfRace)
if p31 then catID = p31.mainsnak.datavalue.value.id end
end
catID = catID or 'Q53534649'
end
-- Find country if needed
local countryID
if country or catID == 'Q23726798' or catID == 'Q20738667' or catID == 'Q54555994' then
local stm = getStatementForTime(teamID, 'P1532', timeOfRace) -- P1532 is country for sport
if stm == nil then
stm = getStatementForTime(teamID, 'P17', timeOfRace) -- P17 is country
end
if stm then countryID = stm.mainsnak.datavalue.value.id end
end
if countryID and (catID == 'Q23726798' or catID == 'Q20738667'
or catID == 'Q54660600' or catID == 'Q54555994' or catID == 'Q99658502') then
-- It is a national cycling team
national_team_boolean=true
if countryID=='Q145' then
name = getCountryName('Q23666')
else --to solve the United-Kingdom/Great Britain problem by national team
name = getCountryName(countryID)
end
if catID == 'Q20738667' then -- national cycling team U23
local s
if wiki == 'fr' then s = ' espoirs'
elseif wiki == 'mk' then s = ' под 23 години'
elseif wiki == 'ar' then s = ' تحت 23'
elseif wiki == 'es' then s = ' sub-23'
else s = ' U23'
end
name = name .. s
elseif catID == 'Q54555994' then -- national cycling team U19
local s
if wiki == 'fr' then s = ' juniors'
elseif wiki == 'mk' then s = ' под 19 години'
elseif wiki == 'ar' then s = ' تحت 19'
elseif wiki == 'es' then s = ' sub-19'
else s = ' U19'
end
name = name .. s
elseif catID == 'Q99658502' then -- national cycling team "B"
local s
if wiki == 'fr' then s = ' "B"'
elseif wiki == 'mk' then s = ' "B"'
elseif wiki == 'ar' then s = ' "ب"'
elseif wiki == 'es' then s = ' "B"'
else s = ' "B"'
end
name = name .. s
end
sitelink = getRawTeamLink(teamID)
else
-- It is not a national cycling team
local isLocal
if season and season == true then
sitelink = wikibase.getSitelink(teamID)
name, isLocal = getOfficialName(teamID, timeOfRace,true)
if not sitelink then
parentID = getParentID(teamID)
if parentID then sitelink = wikibase.getSitelink(parentID) end
end
else
parentID = getParentID(teamID)
if parentID then -- try parent team first
sitelink = wikibase.getSitelink(parentID)
name, isLocal = getOfficialName(parentID, timeOfRace)
end
if not sitelink then
sitelink = wikibase.getSitelink(teamID)
end
end
if not name or (not isLocal and available_lang_priority) then
local partName, partIsLocal = getOfficialName(teamID, timeOfRace)
if partName and (not name or partIsLocal) then
name = partName
end
end
end
if sitelink then
if name then
sitelink = '[[' .. sitelink .. '|' .. name .. ']]'
else
sitelink = '[[' .. sitelink .. ']]'
end
else
if wiki == "ar" then
local arlabel = mw.wikibase.getLabelByLang((parentID or ''), 'ar') or ""
local texte = mw.wikibase.getLabelByLang(teamID, 'ar') or ""
sitelink = make_IllWD2_link((parentID or teamID), arlabel, name, texte)
else
if name then
sitelink = name
else
sitelink = (parentID and wikibase.getLabel(parentID)) or
wikibase.getLabel(teamID) or 'No name'
end
end
end
return sitelink, catID, countryID, national_team_boolean
end
local function getTeamCodeCat(teamID, timeOfRace)
-- Find team category
local codeUCI
local p1998 =getStatementForTime(teamID, 'P1998', timeOfRace)
if p1998 then
codeUCI = p1998.mainsnak.datavalue.value
else
local parentID = getParentID(teamID)
if parentID then
p1998 =getStatementForTime(parentID, 'P1998', timeOfRace)
if p1998 then
codeUCI = p1998.mainsnak.datavalue.value
end
end
end
return codeUCI
end
local function getReference(statement, outputLocal)
local function formatRefDate(date, precision)
if precision == 9 then -- Precision is year
return string.sub(date, 2, 5)
elseif precision == 10 then -- Precision is month
return contentLanguage:formatDate("F Y", string.sub(date, 2, 8))
elseif precision >= 11 then -- Precision is day (or less)
return funcDate(date, 'long')
end
end
local ref = statement.references
if not ref or not ref[1] then
return nil
end
ref = ref[1].snaks
if ref.P854 and ref.P854[1] and ref.P854[1].snaktype == 'value' then -- P854 is 'reference URL'
local refURL = ref.P854[1].datavalue.value
local refTitle = ''
local refDate = ''
local refRetrieved = ''
local refLang = ''
if ref.P1476 and ref.P1476[1] and ref.P1476[1].snaktype == 'value' then -- P1476 is 'title URL'
refTitle = ref.P1476[1].datavalue.value.text
local lang = ref.P1476[1].datavalue.value.language
if lang ~= wikilang then
refLang = '(' .. lang .. ')'
if wiki == 'ar' then refLang = lang end
end
end
if ref.P577 and ref.P577[1] and ref.P577[1].snaktype == 'value' then -- P577 is 'publication date'
local value = ref.P577[1].datavalue.value
refDate = formatRefDate(value.time, value.precision)
if (wiki == 'ar') then refDate = refDate
else refDate = ', ' .. refDate
end
end
if ref.P813 and ref.P813[1] and ref.P813[1].snaktype == 'value' then -- P813 is 'retrieved'
local value = ref.P813[1].datavalue.value
refRetrieved = formatRefDate(value.time, value.precision)
if wiki == "de" then
refRetrieved = ", (abgerufen am " .. refRetrieved .. ')'
elseif wiki == "ar" then
refRetrieved = refRetrieved
elseif wiki == "fr" then
refRetrieved = " (consulté le " .. refRetrieved .. ')'
elseif wiki == "da" then
refRetrieved = " Hentet " .. refRetrieved .. '.'
else
refRetrieved = " Retrieved " .. refRetrieved .. '.'
end
end
local domain = string.match(refURL, '//([^/]+)')
if string.sub(domain, 1, 4) == 'www.' then
domain = string.sub(domain, 5)
end
local refText
if wiki == "ar" then
refText = '{{web cite' ..
'|url = ' .. refURL ..
'|title= ' .. refTitle ..
'|lang = ' .. refLang ..
'|website=' .. domain ..
'|date=' .. refDate ..
'|accessdate=' .. refRetrieved ..
'}}'
elseif wiki == "fr" then
-- fr: "(en) « Lloyd Mondory ... EPO », sur velonews.competitor.com (consulté le 30 april 2016), 30 octobre 2015."
local sur = ', sur <span style="font-style:italic;"> ' .. domain .. '</span>'
refText = refLang .. ' « ['.. refURL .. ' '.. refTitle .. '] »' .. sur .. refRetrieved .. refDate .. '.'
elseif wiki == "de" then
local In = ' In: <span style="font-style:italic;">' .. domain .. '</span>'
refText = '<span style="font-style:italic;">['.. refURL.. ' '.. refTitle.. '.]</span> ' ..
In .. refDate .. refRetrieved ..'.'
else
local at = ', <span style="font-style:italic;"> ' .. domain .. '</span>'
refText = refLang .. ' [' .. refURL .. ' ' .. refTitle .. ']' .. at .. refDate .. '.' .. refRetrieved
end
if outputLocal==1 then
return refText
else
local refargs = {}
if wiki ~= "ar" then
refargs.name = refText
end
return localframe:extensionTag('ref', refText, refargs)
end
end
end
local function getImageOrMap(QID, PID)
local p18 = wikibase.getBestStatements(QID, PID) -- P18 is 'image'
local first
for _, image in pairs(p18) do
if image.mainsnak.snaktype == 'value' then
if not first then
first = image.mainsnak.datavalue.value
end
local q = image.qualifiers
if q and q.P2096 then
for _, caption in pairs(q.P2096) do -- P2096 is 'caption'
if caption.snaktype == 'value' and caption.datavalue.value.language == wikilang then
return image.mainsnak.datavalue.value, caption.datavalue.value.text
end
end
end
end
end
return first
end
local function getLogo(QID)
return getImageOrMap(QID, 'P154')
end
local function getImage(QID)
return getImageOrMap(QID, 'P18')
end
local function getMap(QID)
return getImageOrMap(QID, 'P242')
end
local function getSectionalView(QID)
return getImageOrMap(QID, 'P2713')
end
--[[ Get link for race or competition]]
local function raceLink(QID)
local sitelink = wikibase.getSitelink(QID)
local instanceOf = firstValue(QID, 'P3450', 'id')
if instanceOf == nil then
instanceOf = firstValue(QID, 'P31', 'id') -- P31 is 'instance of'
end
if instanceOf == 'Q1137352' then -- Q1137352 is 'French Road Cycling Cup'
local label2 = wikibase.getLabel(instanceOf)
if sitelink then
if label2 then return '[[' .. sitelink .. '|' .. label2 .. ']]' end
return '[[' .. sitelink .. ']]'
end
local sitelink2 = wikibase.getSitelink(instanceOf)
if sitelink2 then return '[[' .. sitelink2 ..'|' .. string.gsub(sitelink2, " %b()", "") .. ']]' end
if label2 then return label2 end
end
if sitelink then return "[[".. sitelink.. "]]" end
return wikibase.getLabel(QID) or ''
end
local function getPlaceLink(placeID,timeOfRace)
local sitelink = wikibase.getSitelink(placeID)
local name
if available_list then
name = translations.list(placeID) --return '' if nothing
end
if name==nil or name=='' then
name=getOfficialName(placeID, timeOfRace,nil,true) --name should be in the right language
end
if sitelink then
-- Delete " (...)" form e.g. "Unley (South Australia)"
if name ~=nil then
return '[[' .. sitelink .. '|' .. name .. ']]'
else
return '[[' .. sitelink .. '|' .. string.gsub(sitelink, ' %b()', '') .. ']]'
end
end
local label = wikibase.getLabel(placeID) or ''
if wiki == 'ar' then
arlabel = wikibase.getLabelByLang(placeID, "ar")
return make_IllWD2_link(placeID, arlabel)
end
return contentLanguage:ucfirst(label)
end
-- ClassID --> ClassLink
-- some WPs use a unique article for this case
local function classLinkFn(class, circuitID)
local link, label
if wiki~="fr" then --not used
link= wikibase.getSitelink('Q22348500') -- Q22348500 is 'cycling race class'
elseif circuitID then
link =wikibase.getSitelink(circuitID) --optional parameter to obtain [circuitlink|class label]
end
if class=="Q18536594" then
if wiki=="fr" then
label="JO"
else
label="OG"
end
else
label = getLabelFallback(class, {wikilang, 'en', 'fr', 'de'})
end
if label and link then
link = '[[' .. link .. '|' .. label .. ']]'
elseif link then
link = '[[' .. link .. ']]'
elseif label then
link = label
else
link=''
end
if wiki == "ar" then-- right now Q22348500 has no link in "ar"
link = make_IllWD2_link(class , "", label)
end
return link
end
--[[ Get local content to a infoboxe from template args ]]
local function getLocalContent(contents, args)
for _, content in pairs(contents) do
local name = content.name
if not name then error('translation missing in Module:Cycling race/l10n of your wikipedia') end
local nameNoShy = string.gsub(name, '­', '') -- filter soft hyphen out
local nameNoShyLow, name_pluralNoShyLow
if nameNoShy then
nameNoShyLow = mw.ustring.lower(nameNoShy)
end
local name_plural = content.name_plural
local name_pluralNoShy = name_plural and string.gsub(name_plural, '­', '') -- filter soft hyphen out
if name_pluralNoShy then
name_pluralNoShyLow = mw.ustring.lower(name_pluralNoShy)
end
if args[nameNoShy] and args[nameNoShy] ~= '' then
if content.special then
local newname, value = string.match(args[nameNoShy], '([^:]+):(.*)')
if value and mw.text.trim(value) ~= '' then
content.name = mw.text.trim(newname)
content.content = mw.text.trim(value)
end
else
content.content = mw.text.trim(args[nameNoShy])
end
elseif nameNoShyLow and args[nameNoShyLow] and args[nameNoShyLow] ~= '' then
if content.special then
local newname, value = string.match(args[nameNoShyLow], '([^:]+):(.*)')
if value and mw.text.trim(value) ~= '' then
content.name = mw.text.trim(newname)
content.content = mw.text.trim(value)
end
else
content.content = mw.text.trim(args[nameNoShyLow])
end
elseif args[name_pluralNoShy] and args[name_pluralNoShy] ~= '' then
content.name = content.name_plural
content.content = mw.text.trim(args[name_pluralNoShy])
elseif name_pluralNoShyLow and args[name_pluralNoShyLow] and args[name_pluralNoShyLow] ~= '' then
content.name = content.name_plural
content.content = mw.text.trim(args[name_pluralNoShyLow])
end
end
end
local function checkDis(q)
dis="road"
if q and q.P642 and q.P642[1] and q.P642[1].snaktype == 'value' then
if q.P642[1].datavalue.value.id == 'Q520611' or q.P642[1].datavalue.value.id =='Q1031445' then
onlyRoad=false
dis="mountainBike"
elseif q.P642[1].datavalue.value.id == 'Q335638' then
onlyRoad=false
dis="cycloCross"
elseif q.P642[1].datavalue.value.id == 'Q221635' then
onlyRoad=false
dis="track"
end
end
return dis
end
-- Rider --> Team link
local function getTeam(riderID, timeOfRace, q)
-- q: qualifiers of statement in race entity where the rider is the value
local teamID, link, catID, countryID
if q and q.P54 and q.P54[1].snaktype == 'value' then -- P54 is member of sports team
teamID = q.P54[1].datavalue.value.id
link, catID, countryID, national_team_boolean = getTeamLinkCat(teamID, timeOfRace)
else
for _, s in statements(riderID, 'P54') do
if not link then --like a break
p54 =checktime(s, s.qualifiers, timeOfRace)
if p54 then
dis=checkDis(p54.qualifiers)
if dis=='road' then --by default
teamID = p54.mainsnak.datavalue.value.id
link, catID, countryID, national_team_boolean = getTeamLinkCat(teamID, timeOfRace)
end
end
end
end
end
return link, teamID, catID, countryID, national_team_boolean
end
--RiderID --> UCI code
local function getTeamCode(riderID, timeOfRace, q)
-- q: qualifiers of statement in race entity where the rider is the value
local teamID, code
if q and q.P54 and q.P54[1].snaktype == 'value' then -- P54 is member of sports team
teamID = q.P54[1].datavalue.value.id
code = getTeamCodeCat(teamID, timeOfRace)
else
local p54 = getStatementForTime(riderID, 'P54', timeOfRace)
if p54 then
teamID = p54.mainsnak.datavalue.value.id
code= getTeamCodeCat(teamID, timeOfRace)
end
end
return code
end
local function seasonToTeamID(teamID)
if teamID then
local parentID=getParentID(teamID)
if parentID then--season was used
return parentID
else
return teamID
end
else
return nil
end
end
local function wdLink(id)
local text = "[[File:Wikidata-logo S.svg| " .. Wikidatalogosize .. "|link=d:" .. id .. "]]"
if arwiki_totemplate then
text = '{{عدل في ويكي بيانات|type1=1|id=' .. id .. '}}'
end
return text
end
local function WPlinkpure(Qnumber)
local link=''
local Sitelink = wikibase.getSitelink(Qnumber) -- link to WParticle
local Label = getLabelFallback(Qnumber, {wikilang, 'en', 'fr', 'de'}) or ''
if Sitelink ~= nil then link = "[[" .. Sitelink .. "|" .. mw.text.trim(string.gsub(Sitelink, "%b()", "")..' ') .. "]]"
elseif wiki == 'ar' then
arlabel = mw.wikibase.getLabelByLang(Qnumber, 'ar') or ""
link = make_IllWD2_link(Qnumber , arlabel , Label)
else
link = mw.ustring.gsub(Label, "^(%a)", function (x) return mw.ustring.upper(x) end)
end
return link
end
--=== C) Function for the output ===
local function getCountryBool(no_country_list)
local country = true
for _, value in pairs(no_country_list) do -- get data if country should be printed in this wiki
if value == wiki then country = false end
end
return country
end
local function tableA(s)
local error_message = ''
if wiki == "ar" and s.item == "" or not s.item then return "" end
if s.error_message == 1 then
error_message = func_error_message( 1)
error_message = mw.ustring.gsub(error_message, "<1>", s.property)
error_message = mw.ustring.gsub(error_message, "<2>", mw.wikibase.label( s.item ))
error_message = mw.ustring.gsub(error_message, "<3>", s.item)
error_message = ' [[File:Exclam icon.svg|12px|'.. error_message .. ']]'
end
local table = mw.html.create('table')
:addClass('sortable')
:attr('cellpadding', '0')
:attr('cellspacing', '0')
:css('border' , '1px solid rgb(200,200,200)')
:css('padding', '3px')
local title =translate(s.header_function,s.header_1, s.womenrace_bool, s.title)
if s.header_1 == 19 and wiki == "ar" then title = title .. " " .. s.year end
local wd_link = mw.html.create('span'):cssText('float:left; margin: 0 5px'):wikitext(wdLink(s.item..'#'..s.property))
if arwiki_totemplate then wd_link = wdLink(s.item..'#'..s.property) end
local caption = table:tag('tr'):tag('th'):attr('colspan', tostring(#s.header_2 + 1))
:cssText('padding:2px; text-align:center; line-height: 1.8em;')
:css('background-color',backgroundColor)
caption:wikitext(tostring(wd_link)..' '..error_message ..' '..title)
local country=getCountryBool(s.no_country)
local header = table:tag('tr')
for i,k in ipairs(s.header_2) do
if i == s.country_column then
if available_list and country == true then
header:tag('th')
:cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap')
:wikitext(translate(s.header_function,k,s.womenrace_bool))
end
end
if i ~= s.country_column then
local column = header:tag('th')
:cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap')
:wikitext(translate(s.header_function,k,s.womenrace_bool))
if s.data_sort_type[i] == 'unsortable' then
column:addClass('unsortable')
end
end
end
return table
end
local function tableB(s) --for startlist
local error_message = ''
if wiki == "ar" and s.item == "" or not s.item then return "" end
if s.error_message == 1 then
error_message = func_error_message( 1)
error_message = mw.ustring.gsub(error_message, "<1>", s.property)
error_message = mw.ustring.gsub(error_message, "<2>", mw.wikibase.label( s.item ))
error_message = mw.ustring.gsub(error_message, "<3>", s.item)
error_message = ' [[File:Exclam icon.svg|12px|'.. error_message .. ']]'
end
local roll = true
for _, value in pairs(s.no_roll_startlist) do -- get data if country should be printed in this wiki
if value == wiki then roll = false end
end
local cssTable= "border: 1px solid rgb(200,200,200); margin: 0 0 0 0;"..
"background-color: rgb(255, 255, 255); padding: 0px; float: left;"..
"clear: left; ; text-align: left; vertical-align: top; font-size: 85%; line-height: 1.8em;"
local wdlink_span = mw.html.create('span'):css('float',floattable):wikitext(wdLink(s.item.. '#'.. s.property)..' '..error_message)
if arwiki_totemplate then wdlink_span = wdLink(s.item..'#'..s.property) end
if roll == true then
local rollTable1 = mw.html.create('div'):addClass("NavFrame")
:cssText('center = margin: 0 0.5em 0;clear:both; border: 1px solid rgb(200,200,200);' ..
'cellpadding="4" cellspacing="0" style="width:100%; background-color: rgb(255, 255, 255);padding: 5px;'..
'margin-bottom:1em; background-color:'..backgroundColor..';')
:attr('title','['..translate("startlist",14)..']/['..translate("startlist",15)..']')
local tDiv= rollTable1:tag('div'):addClass("NavHead")
:cssText('text-align:'.. textalign .." =;height:1.8em; color:black;font-weight:bold;")
:css('background-color',backgroundColor)
tDiv:tag('span')
local tSpan=tDiv:wikitext(tostring(wdlink_span))
tDiv:wikitext(translate("startlist",1))
tDiv = rollTable1:tag('div'):addClass("NavContent"):cssText("margin:0; background:white; display:block; text-align:left;")
local tTable= tDiv:tag('table'):cssText("border:1px solid rgb(200,200,200)")
local tCell = tTable:tag('tr'):tag('td')
local insideTable =tCell:tag('table'):attr('cellpadding','4') -- cellspacing="0" style="width:100%;" color: black;
:cssText(cssTable)
return rollTable1, insideTable
else
--otherwise problem of clear
local tab = mw.html.create('table')
tCell=tab:tag('td')
local tTable =tCell:tag('table')
:attr('cellpadding','0')
:cssText(cssTable)
tCell = tTable:tag('tr'):tag('th')
:css("background-color",backgroundColor)
:attr('colspan','3'):attr('align','center')
tCell:node(wdlink_span)
tCell:wikitext(translate("startlist",1,s.womenrace_bool or false))
local tRow=tCell:tag('tr')
return tab, tRow
end
end
--=== D) Jersey, flag functions ===
--used from 2 functions
local flags = {
Q16 = {'CAN', {'Flag of Canada.svg', '+1965-02-15'}},
Q17 = {'JPN', {'Flag of Japan.svg', '+1999-08-13'},
{'Flag of Japan (1870–1999).svg', '+1870-02-27', '+1999-08-12'}},
Q20 = {'NOR', {'Flag of Norway.svg', '+1821-07-13'}},
Q27 = {'IRL', {'Flag of Ireland.svg', '+1937-12-29'}},
Q28 = {'HUN', {'Flag of Hungary.svg', '+1957-05-23'}},
Q29 = {'ESP', {'Flag of Spain.svg', '+1981-12-06'},
{'Flag of Spain (1977–1981).svg', '+1977-01-21', '+1981-12-06'},
{'Flag of Spain (1945–1977).svg', '+1945-10-11', '+1977-01-21'},
{'Flag of Spain (1938–1945).svg', '+1939', '+1945-10-11'},
{'Flag of the Second Spanish Republic.svg', '+1931-04-14', '+1939'},
{'Flag of Spain (1785–1873, 1875–1931).svg', '+1874', '+1931-04-13'}},
Q30 = {'USA', {'Flag of the United States.svg', '+1960-07-04'}},
Q31 = {'BEL', {'Flag of Belgium (civil).svg'}},
Q32 = {'LUX', {'Flag of Luxembourg.svg'}},
Q33 = {'FIN', {'Flag of Finland.svg', '+1918-05-29'}},
Q34 = {'SWE', {'Flag of Sweden.svg'}},
Q35 = {'DEN', {'Flag of Denmark.svg'}},
Q36 = {'POL', {'Flag of Poland.svg'}},
Q37 = {'LTU', {'Flag of Lithuania.svg', '+2004-09-01'},
{'Flag of Lithuania (1988-2004).svg', '+1990-03-11', '+2004-09-01'}},
Q38 = {'ITA', {'Flag of Italy.svg', '+1946-06-19'},
{'Flag of Italy (1861–1946).svg', '+1861', '+1946-06-19'}},
Q39 = {'SUI', {'Flag of Switzerland.svg', '+1889-12-12'},
{'Flag of Switzerland.svg', '+1879-01-01'}},
Q40 = {'AUT', {'Flag of Austria.svg', '+1945-05-01'},
{'Flag of Austria.svg', '+1919-10-21', '+1938-03-13'}},
Q41 = {'GRE', {'Flag of Greece.svg', '+1978'}},
Q43 = {'TUR', {'Flag of Turkey.svg'}},
Q45 = {'POR', {'Flag of Portugal.svg', '+1911-06-30'}},
Q55 = {'NED', {'Flag of the Netherlands.svg', '+1806'}},
Q77 = {'URU', {'Flag of Uruguay.svg'}},
Q96 = {'MEX', {'Flag of Mexico.svg', '+1968-09-16'},
{'Flag of Mexico (1934-1968).svg', '+1934', '+1968-09-16'}},
Q114 = {'KEN', {'Flag of Kenya.svg'}},
Q115 = {'ETH', {'Flag of Ethiopia.svg', '+1996-10-31'}},
Q117 = {'GHA', {'Flag of Ghana.svg', '+1966-02-28'}},
Q142 = {'FRA', {'Flag of France.svg', '+1794-05-20'}},
Q145 = {'GBR', {'Flag of the United Kingdom.svg'}},
Q148 = {'CHN', {"Flag of the People's Republic of China.svg", '+1985'}},
Q155 = {'BRA', {'Flag of Brazil.svg', '+1992-05-11'},
{'Flag of Brazil (1968–1992).svg', '+1968-05-28', '+1992-05-11'}},
Q159 = {'RUS', {'Flag of Russia.svg', '+1993-12-11'},
{'Flag of Russia (1991–1993).svg', '+1991-08-22', '+1993-12-11'},
{'Flag of the Russian Soviet Federative Socialist Republic.svg', '+1954', '+1991-08-22'},
{'Flag of the Russian Soviet Federative Socialist Republic (1937–1954).svg', '+1937', '+1954'}},
Q183 = {'GER', {'Flag of Germany.svg', '+1949-05-23'},
{'Flag of the German Reich (1935–1945).svg', '+1935-09-15', '+1945-05-23'},
{'Flag of the German Reich (1933–1935).svg', '+1933-03-12', '+1935-09-15'},
{'Flag of Germany (3-2 aspect ratio).svg', '+1919-04-11', '+1933-03-12'},
{'Flag of the German Empire.svg', '+1871-04-16', '+1919-04-11'}},
Q184 = {'BLR', {'Flag of Belarus.svg', '+2012-05-11'},
{'Flag of Belarus (1995–2012).svg', '+1995-06-07', '+2012-05-11'},
{'Flag of Belarus (1918, 1991–1995).svg', '+1991-09-19', '1995-06-07'}},
Q189 = {'ISL', {'Flag of Iceland.svg', '+1944-06-17'}},
Q191 = {'EST', {'Flag of Estonia.svg'}},
Q211 = {'LAT', {'Flag of Latvia.svg'}},
Q212 = {'UKR', {'Flag of Ukraine.svg', '+1992-01-28'}},
Q213 = {'CZE', {'Flag of the Czech Republic.svg', '+1920-03-30'}},
Q214 = {'SVK', {'Flag of Slovakia.svg'}},
Q215 = {'SLO', {'Flag of Slovenia.svg'}},
Q217 = {'MDA', {'Flag of Moldova.svg'}},
Q218 = {'ROU', {'Flag of Romania.svg', '+1989-12-27'},
{'Flag of Romania (1965-1989).svg', '+1989-12-27', '+1965'},
{'Flag of Romania (1952-1965).svg', '+1952', '+1965'},
{'Flag of Romania (1948-1952).svg', '+1948-01-08', '+1952'},
{'Flag of Romania.svg', '12. april 1867-04-12', '+1948-01-08'}},
Q219 = {'BUL', {'Flag of Bulgaria.svg', '+1990-11-22'},
{'Flag of Bulgaria (1971 – 1990).svg', '+1971-05-18', '+1990-11-22'}},
Q222 = {'ALB', {'Flag of Albania.svg', '+1992'}},
Q224 = {'CRO', {'Flag of Croatia.svg', '+1990-12-21'},
{'Flag of Croatia (white chequy).svg', '+1990-06-27', '+1990-12-21'}},
Q227 = {'AZE', {'Flag of Azerbaijan.svg'}},
Q228 = {'AND', {'Flag of Andorra.svg'}},
Q229 = {'CYP', {'Flag of Cyprus.svg', '+2006-08-20'},
{'Flag of Cyprus (1960-2006).svg', '+1960-08-16', '+2006-08-20'}},
Q232 = {'KAZ', {'Flag of Kazakhstan.svg'}},
Q235 = {'MON', {'Flag of Monaco.svg'}},
Q238 = {'SMR', {'Flag of San Marino.svg'}},
Q241 = {'CUB', {'Flag of Cuba.svg'}},
Q244 = {'BAR', {'Flag of Barbados.svg'}},
Q252 = {'INA', {'Flag of Indonesia.svg'}},
Q258 = {'RSA', {'Flag of South Africa.svg', '+1994-04-27'},
{'Flag of South Africa (1928–1994).svg', '+1928-05-31', '+1994-04-27'}},
Q262 = {'ALG', {'Flag of Algeria.svg'}},
Q265 = {'UZB', {'Flag of Uzbekistan.svg'}},
Q298 = {'CHI', {'Flag of Chile.svg'}},
Q334 = {'SGP', {'Flag of Singapore.svg'}},
Q347 = {'LIE', {'Flag of Liechtenstein.svg'}},
Q398 = {'BRN', {'Flag of Bahrain.svg', '+2002-02-14'}},
Q403 = {'SRB', {'Flag of Serbia.svg', '+2004-08-18'},
{'Flag of Serbia (1992–2004).svg', '+1992-04-27', '+2004-08-17'}},
Q408 = {'AUS', {'Flag of Australia.svg'}},
Q414 = {'ARG', {'Flag of Argentina.svg'}},
Q419 = {'PER', {'Flag of Peru.svg', '+1950'},
{'Flag of Peru (1825-1950).svg', '+1825-02-25', '+1950'}},
Q424 = {'CAM', {'Flag of Cambodia.svg', '+1993-06-30'},
{'Flag of Cambodia.svg', '+1948-10-20', '+1970-10-09'}},
Q664 = {'NZL', {'Flag of New Zealand.svg'}},
Q711 = {'MGL', {'Flag of Mongolia.svg'}},
Q717 = {'VEN', {'Flag of Venezuela.svg', '+2006-03-12'},
{'Flag of Venezuela (1930–2006).svg', '+1930','+2006-03-12'}},
Q733 = {'PAR', {'Flag of Paraguay.svg', '+2013-07-15'},
{'Flag of Paraguay (1990–2013).svg', '+1990', '+2013-07-14'}},
Q736 = {'ECU', {'Flag of Ecuador.svg'}},
Q739 = {'COL', {'Flag of Colombia.svg'}},
Q750 = {'BOL', {'Flag of Bolivia.svg', '+1851-10-31'}},
Q754 = {'TTO', {'Flag of Trinidad and Tobago.svg'}},
Q774 = {'GUA', {'Flag of Guatemala.svg'}},
Q778 = {'BAH', {'Flag of the Bahamas.svg'}, '+1973-07-10'},
Q783 = {'HON', {'Flag of Honduras.svg'}, '+1949'},
Q786 = {'DOM', {'Flag of the Dominican Republic.svg'}},
Q794 = {'IRI', {'Flag of Iran.svg', '+1980-07-29'},
{'Flag of Iran (1964–1980).svg', '+1964', '+1980-07-29'}},
Q800 = {'CRC', {'Flag of Costa Rica (state).svg', '+1906-11-27'}},
Q801 = {'ISR', {'Flag of Israel.svg'}},
Q804 = {'PAN', {'Flag of Panama.svg'}},
Q813 = {'KGZ', {'Flag of Kyrgyzstan.svg', '+1992-03-03'}},
Q817 = {'KUW', {'Flag of Kuwait.svg', '+1961-09-07'}},
Q833 = {'MAS', {'Flag of Malaysia.svg', '+1963-09-16'}},
Q842 = {'OMA', {'Flag of Oman.svg', '+1995'}},
Q846 = {'QAT', {'Flag of Qatar.svg'}},
Q858 = {'SYR', {'Flag of Syria.svg', '+1980-03-29'}},
Q865 = {'TPE', {'Flag of the Republic of China.svg', '+1928-12-17'}},
Q869 = {'THA', {'Flag of Thailand.svg'}},
Q878 = {'UAE', {'Flag of the United Arab Emirates.svg'}},
Q881 = {'VIE', {'Flag of Vietnam.svg', '+1976-02-07'}},
Q884 = {'KOR', {'Flag of South Korea.svg', '+1997-10'}},
Q916 = {'ANG', {'Flag of Angola.svg', '+1975-11-11'}},
Q921 = {'BRU', {'Flag of Brunei.svg', '+1959-09-29'}},
Q928 = {'PHI', {'Flag of the Philippines.svg', '+1998'}},
Q948 = {'TUN', {'Flag of Tunisia.svg', '+1999-07-03'}},
Q954 = {'ZIM', {'Flag of Zimbabwe.svg', '+1980-04-18'}},
Q965 = {'BUR', {'Flag of Burkina Faso.svg'}},
Q983 = {'GEQ', {'Flag of Equatorial Guinea.svg', '+1979-08-21'},
{'Flag of Equatorial Guinea (1973–1979).svg', '+1973', '+1979-08-21'},
{'Flag of Equatorial Guinea (without coat of arms).svg', '+1968-10-12', '+1973'}},
Q986 = {'ERI', {'Flag of Eritrea.svg'}},
Q1000 = {'GAB', {'Flag of Gabon.svg', '+1960-08-09'}},
Q1007 = {'GBS', {'Flag of Guinea-Bissau.svg', '+1973-09-24'}},
Q1008 = {'CIV', {"Flag of Côte d'Ivoire.svg"}},
Q1009 = {'CMR', {'Flag of Cameroon.svg'}},
Q1027 = {'MRI', {'Flag of Mauritius.svg', '+1968-03-13'}},
Q1028 = {'MAR', {'Flag of Morocco.svg'}},
Q1030 = {'NAM', {'Flag of Namibia.svg', '+1990-03-21'}},
Q1036 = {'UGA', {'Flag of Uganda.svg', '+1962-10-09'}},
Q1037 = {'RWA', {'Flag of Rwanda.svg', '+2001-10-25'},
{'Flag of Rwanda (1962–2001).svg', '+1962', '+2001-10-25'}},
Q1183 = {'PUR', {'Flag of Puerto Rico.svg'}},
Q9676 = {'IMN', {'Flag of the Isle of Man.svg'}},
Q15180 = {'URS', {'Flag of the Soviet Union.svg', '+1980-08-15', '+1991-12-25'},
{'Flag of the Soviet Union (1955–1980).svg', '+1955-08-19', '+1980-08-14'},
{'Flag of the Soviet Union (1924–1955).svg', '+1923-11-13', '+1955-08-18'}},
Q16957 = {'GDR', {'Flag of East Germany.svg', '+1959-10-01'},
{'Flag of Germany.svg', '+1949-10-07', '+1959-10-01'}}, --German Democratic Republic
Q8646 = {'HKG', {'Flag of Hong Kong.svg'}},
Q25228 = {'AIA', {'Flag of Anguilla.svg'}},
Q29999 = {'NED', {'Flag of the Netherlands.svg', '+1690'}}, --Kingdom of the Netherlands
Q33946 = {'TCH', {'Flag of the Czech Republic.svg', '+1920'}}, -- Czechoslovakia (1918–1992)
Q36704 = {'YUG', {'Flag of Yugoslavia (1992–2003).svg', '+1992-04-27', '+2003-02-04'}, --Yugoslavia
{'Flag of Yugoslavia (1943–1992).svg', '+1946', '+1992-04-27'}},
Q41304 = {'GER', {'Flag of Germany (3-2 aspect ratio).svg', '+1918-11-09'}}, -- Weimar Republic
Q83286 = {'YUG', {'Flag of Yugoslavia (1943–1992).svg'}}, --Socialist Federal Republic of Yugoslavia
Q172579 = {'ITA', {'Flag of Italy (1861–1946).svg'}}, --Kingdom of Italy (1861-1946)
Q216923 = {'TPE', {'Flag of Chinese Taipei for Olympic games.svg'}}, -- Chinese Taipei
Q268970 = {'AUT', {'Flag of Austria.svg', '+1918-11-12', '+1919-09-10'}}, -- German-Austria (1918-1919)
Q713750 = {'FRG', {'Flag of Germany.svg'}}, --West Germany
Q853348 = {'TCH', {'Flag of the Czech Republic.svg'}, '+1960-07-11', '+1990-03-29'}, -- Czechoslovak Socialist Republic (1960-1990)
Q2415901 = {'GER', {'Merchant flag of Germany (1946–1949).svg', '+1945-05-09', '+1949-05-23'}}, -- Allied-occupied Germany
Q13474305 = {'ESP', {'Flag of Spain (1945–1977).svg', '+1945-10-11', '+1977-01-21'}, -- Francoist Spain (1935-1976)
{'Flag of Spain (1938–1945).svg', '+1939', '+1945-10-11'},
{'Flag of the Second Spanish Republic.svg', '+1931-04-14', '+1939'}},
Q113486069={'NEUTRAL', {'Flag white.svg'}} --Russia and Belarus during the ban, cannot replace the flags above, because there are cases where it does not apply
}
local function flag(countryID, date)
local trackingCategory = ''
--[[ If you uncomment the line under this comment, all pages with look-up misses in
the flag table will be placed in a tracking category. You can use this to find more flags
to add to the table. ]]
-- trackingCategory = '[[Category:Missing flag in Module:Cycling race]]'
local entry = flags[countryID]
local IOC
local file
local result = ""
if entry then
for i, v in ipairs(entry) do
if i == 1 then
IOC = v
else
if not date then
file = v[1]
break
else
local from = v[2]
local to = v[3]
if (not from or from <= date) and (not to or to > date) then
file = v[1]
break
end
end
end
end
end
local flagpxSize = '20px'
if countryID == 'Q39' then flagpxSize = '16px'end -- Small size for an square flag as Switzerland
if file then
result = '[[File:' .. file .. '|border|' .. flagpxSize ..'|' .. IOC .. ']]'
if arwiki_totemplate then
result = '{{flagicon|' .. IOC .. '}}'
end
elseif not date then
local p41 = mw.wikibase.getBestStatements(countryID, "P41") -- P41 is flag image
if p41[1] and p41[1].mainsnak.snaktype == 'value' then
result = '[[File:' .. p41[1].mainsnak.datavalue.value .. '|border|' .. flagpxSize ..'|(Wikidata:' .. countryID .. ')]]'
if arwiki_totemplate then
result = '{{flagicon image|' .. p41[1].mainsnak.datavalue.value .. '}}'
end
end
else
-- Search flag for specific date
local p41 = getStatementForTime(countryID, "P41", date) -- P41 is flag image
if p41 then
result = '[[File:' .. p41.mainsnak.datavalue.value .. '|border|' .. flagpxSize ..'|(Wikidata:' .. countryID .. ')]]'
if arwiki_totemplate then
result = '{{flagicon image|' .. p41.mainsnak.datavalue.value .. '}}'
end
end
end
return result .. trackingCategory
end
-- countryID --> shape ([[France|FRA]])
local function uciCodeCountry(countryID)
local uciCode, countryName
local blacklist={Q736=true}
if countryID then
--get UCI code
if flags[countryID] then
uciCode=flags[countryID][1]
end
--get link, assumed for a country the label is equal to the link, where not correct in the blacklist
--if the black list becomes too long, we could create a second list for the sitelinks
if available_list then
if type(translations.list) == "function" then
countryName = translations.list(countryID)
end
end
if countryName == nil or countryName=='' or blacklist[countryID] then
countryName = mw.wikibase.getSitelink(countryID)
end
if uciCode and countryName then
return ' <small>([['..countryName..'|'..uciCode..']])</small> '
end
end
return '' --else
end
local function jersey_infobox( winner_classification, item, timeOfRace)
local jersey, jersey_name = '', ''
local jerseyWPID = ''
-- 1. Item of race, e.g. Tour de France = 'Q33881'
-- 2. type of winner, names are the ones in variable t_s
-- 3. and 4. start and end time. '+2500' means year 2500. Always beginning with a '+'
-- 5. item of the jersey
-- 6. item of the Wikipedia article of that jersey
local data = {
{'Q33881', 'montagne', '+1975', '+2500', 'Q25265958', 'Q927157'}, -- Tour de France
{'Q33881', 'leader', '+1919', '+2500', 'Q24257871', 'Q738903'},
{'Q33881', 'points', '+1953', '+1967', 'Q24645209', 'Q175399'}, -- Jersey green.svg
{'Q33881', 'points', '+1968', '+1968', 'Q26919974', 'Q175399'}, -- Jersey red.svg
{'Q33881', 'points', '+1969', '+2500', 'Q24645209', 'Q175399'}, -- Jersey green.svg
{'Q33881', 'jeune', '+1975', '+2500', 'Q640430', 'Q2254180'}, -- Jersey white.svg
{'Q33881', 'winner_fighting', '+2003', '+2500', 'Q27644113', 'Q2094179'}, -- Jersey red number.svg
{'Q33881', 'winner_fighting2', '+2003', '+2500', 'Q27644113', 'Q2094179'}, -- Jersey red number.svg
{'Q33881', 'equipe', '+2006', '+2500', 'Q27644112', 'Q1436680'}, -- Jersey yellow number.svg
{'Q33861', 'leader', '+1931', '+2500', 'Q24257763', 'Q1164275'}, -- Giro d'Italia, Jersey pink.svg
{'Q33861', 'points', '+1967', '+1968', 'Q26919974', 'Q641083'}, -- Jersey red.svg
{'Q33861', 'points', '+1969', '+2009', 'Q26945272', 'Q641083'}, -- Jersey violet.svg
{'Q33861', 'points', '+2010', '+2016', 'Q26919974', 'Q641083'}, -- Jersey red.svg
{'Q33861', 'points', '+2017', '+2500', 'Q26945272', 'Q641083'}, -- Jersey violet.svg
{'Q33861', 'montagne', '+1974', '+2011', 'Q24645209', 'Q641060'}, -- Jersey green.svg
{'Q33861', 'montagne', '+2012', '+2500', 'Q24687409', 'Q641060'}, -- Jersey blue.svg
{'Q33861', 'jeune', '+1976', '+2500', 'Q640430', 'Q641662'}, -- Jersey white.svg
{'Q33937', 'leader', '+1935', '+1936', 'Q24258056', 'Q3278226'}, -- Vuelta a España, Jersey orange.svg
{'Q33937', 'leader', '+1941', '+1941', 'Q26696171', 'Q640430'}, -- Jersey white.svg
{'Q33937', 'leader', '+1942', '+1942', 'Q24258056', 'Q3278226'}, -- Jersey orange.svg
{'Q33937', 'leader', '+1945', '+1945', 'Q24257872', 'Q2534046'}, -- Jersey red.svg
{'Q33937', 'leader', '+1946', '+1950', 'Q26696171', 'Q640430'}, -- Jersey white.svg
{'Q33937', 'leader', '+1955', '+1976', 'Q24257871', 'Q738903'}, -- Jersey yellow.svg
{'Q33937', 'leader', '+1977', '+1977', 'Q24258056', 'Q3278226'}, -- Jersey orange.svg
{'Q33937', 'leader', '+1978', '+1998', 'Q24257871', 'Q738903'}, -- Jersey yellow.svg
{'Q33937', 'leader', '+1999', '+2009', 'Q24257991', 'Q27665179'}, -- Jersey gold.svg
{'Q33937', 'leader', '+2010', '+2500', 'Q24257872', 'Q2534046'}, -- Jersey red.svg
{'Q33937', 'points', '+1945', '+1986', 'Q24687409', 'Q2746711'}, -- Jersey blue.svg
{'Q33937', 'points', '+1987', '+1989', 'Q24645209', 'Q11638007'}, -- Jersey green.svg
{'Q33937', 'points', '+1990', '+2009', 'Q24687409', 'Q2746711'}, -- Jersey blue.svg
{'Q33937', 'points', '+2010', '+2500', 'Q24645209', 'Q11638007'}, -- Jersey green.svg
{'Q33937', 'montagne', '+1935', '+1985', 'Q27670182', 'Q11638007'}, -- Jersey green.svg
{'Q33937', 'montagne', '+1986', '+1986', 'Q27670174', 'Q3278226'}, -- Jersey orange.svg
{'Q33937', 'montagne', '+1987', '+1987', 'Q27670178', 'Q2534046'}, -- Jersey red.svg
{'Q33937', 'montagne', '+1988', '+1989', 'Q27670105', 'Q27670115'}, -- Jersey blackdots.png
{'Q33937', 'montagne', '+1990', '+2005', 'Q27670182', 'Q11638007'}, -- Jersey green.svg
{'Q33937', 'montagne', '+2006', '+2008', 'Q27670174', 'Q3278226'}, -- Jersey orange.svg
{'Q33937', 'montagne', '+2009', '+2009', 'Q27670126', 'Q27670163'}, -- Jersey granate.svg
{'Q33937', 'montagne', '+2010', '+2500', 'Q25265959', 'Q27670167'}, -- Jersey bluedots.svg
{'Q33937', 'jeune', '+2019', '+2500', 'Q640430', 'Q60233927'}, -- Jersey white.svg
{'Q2091354', 'leader', '+2011', '+2500', 'Q24257871'}, -- Tour of Norway, Jersey yellow.svg
{'Q2091354', 'sprints', '+2011', '+2011', 'Q26806427'}, -- Jersey green.svg
{'Q2091354', 'points', '+2012', '+2017', 'Q24645209'}, -- Jersey green.svg
{'Q2091354', 'points', '+2018', '+2018', 'Q28820618'}, -- MaillotCyan.PNG
{'Q2091354', 'points', '+2019', '+2500', 'Q47945989'}, -- Jersey dark blue.svg
{'Q2091354', 'montagne', '+2011', '+2015', 'Q25265958'}, -- Jersey polkadot.svg
{'Q2091354', 'montagne', '+2016', '+2017', 'Q27670174'}, -- Jersey orange.svg
{'Q2091354', 'montagne', '+2018', '+2500', 'Q25265958'}, -- Jersey polkadot.svg
{'Q2091354', 'jeune', '+2011', '+2500', 'Q640430'}, -- Jersey white.svg
{'Q2091354', 'winner_fighting', '+2017', '+2017', 'Q29957114'}, -- MaillotCyan.PNG
{'Q128713', 'leader', '+2013', '+2017', 'Q24257871'}, -- Tour des Fjords, Jersey yellow.svg
{'Q128713', 'leader', '+2018', '+2018', 'Q29594434'}, -- MaillotCyan.PNG
{'Q128713', 'points', '+2013', '+2014', 'Q24645209'}, -- Jersey green.svg
{'Q128713', 'points', '+2015', '+2017', 'Q24687409'}, -- Jersey blue.svg
{'Q128713', 'points', '+2018', '+2018', 'Q25265938'}, -- Jersey violet.svg
{'Q128713', 'montagne', '+2013', '+2018', 'Q25265958'}, -- Jersey polkadot.svg
{'Q128713', 'jeune', '+2013', '+2018', 'Q640430'}, -- Jersey white.svg
{'Q128713', 'winner_fighting', '+2015', '+2015', 'Q30035038'}, -- Jersey green.svg
{'Q128713', 'winner_fighting', '+2016', '+2017', 'Q30035039'}, -- Jersey orange.svg
{'Q128961', 'leader', '+2013', '+2500', 'Q24687408'}, -- Arctic Race of Norway, Jersey blue.svg
{'Q128961', 'points', '+2013', '+2500', 'Q24645209'}, -- Jersey green.svg
{'Q128961', 'montagne', '+2013', '+2014', 'Q27670178'}, -- Jersey red.svg
{'Q128961', 'montagne', '+2015', '+2500', 'Q27670174'}, -- Jersey orange.svg
{'Q128961', 'jeune', '+2013', '+2500', 'Q640430'}, -- Jersey white.svg
{'Q128961', 'winner_fighting', '+2014', '+2500', 'Q27644113'}, -- Jersey red number.svg
{'Q17619325', 'leader', '+2014', '+2014', 'Q24257871'}, -- Ladies Tour of Norway, Jersey yellow.svg
{'Q17619325', 'leader', '+2015', '+2016', 'Q26945272'}, -- Jersey violet.svg
{'Q17619325', 'leader', '+2017', '+2500', 'Q24257871'}, -- Jersey yellow.svg
{'Q17619325', 'points', '+2014', '+2500', 'Q24645209'}, -- Jersey green.svg
{'Q17619325', 'montagne', '+2014', '+2500', 'Q25265958'}, -- Jersey polkadot.svg
{'Q17619325', 'jeune', '+2014', '+2500', 'Q640430'}, -- Jersey white.svg
{'Q17619325', 'winner_fighting', '+2016', '+2500', 'Q30035039'}, -- Jersey orange.svg
}
--timeOfRace = '+1968-07-01T00:00:00Z'
timeOfRace = string.match(timeOfRace, "+%d%d%d%d") or ''
for _, v in pairs(item) do
for _, value in pairs(data) do
if v == value[1] then
if winner_classification == value[2] then
if (timeOfRace >= value[3]) and (timeOfRace <= value[4]) then
jersey = value[5]
jerseyWPID = value[6]
end
end
end
end
end
-- local starttime, endtime = '', '+2500'
if jersey ~= '' then --and (timeOfRace > starttime) and (timeOfRace < endtime) then
local entity_jersey = mw.wikibase.getEntity(jersey)
jersey = entity_jersey.claims['P18'][1].mainsnak.datavalue.value
jersey_name = entity_jersey:getLabel(wikilang) or ''
if jerseyWPID ~= '' then
local entity = mw.wikibase.getEntity( jerseyWPID )
local Sitelink = entity:getSitelink(wiki..'wiki') -- link to WParticle
if Sitelink ~= nil then jerseyWPID = wiki..':'..Sitelink else jerseyWPID = '' end
end
return jersey, jersey_name, jerseyWPID
else return '', '', ''
end
end
local function jersey(h)
local jersey_string = ' '
local jerseys = {
['Q24257871'] = {file = 'Jersey yellow.svg',
name_ar = 'قميص أصفر لمتصدر الترتيب العام',
name_fr = 'maillot jaune de leader du classement général',
name_es = 'maillot amarillo de líder de la clasificación general',
name_ru = 'жёлтая майка лидера генеральной классификации'
},
['Q24645209'] = {file = 'Jersey green.svg',
name_ar = 'قميص أخضر لمتصدر ترتيب النقاط',
name_fr = 'maillot vert de leader du classement par points',
name_es = 'maillot verde de líder de la clasificación por puntos',
name_ca = 'mallot verd del líder de la classificació per punts',
name_ru = 'зелёная майка лидера очковой классификации'
},
['Q640430'] = {file = 'Jersey white.svg',
name_ar = 'قميص أبيض لمتصدر ترتيب الشباب',
name_fr = 'maillot blanc de leader du classement du meilleur jeune',
name_es = 'maillot blanco de líder de la clasificación de los jóvenes',
name_ru = 'белая майка лидера молодёжной классификации',
name_de = 'weißes Trikot des Führenden der Nachwuchswertung'
},
}
if type(h) == 'table' and h[1] then
for _, v in ipairs(h) do
local jersey_name
if jerseys[v] then
jersey_string = jersey_string .. '[[File:' .. jerseys[v].file .. '|20px'
jersey_name = jerseys[v]['name_' .. wiki] or mw.wikibase.getLabel(v) or jerseys[v]['name_fr']
if jersey_name then
jersey_string = jersey_string .. '|' .. jersey_name
end
jersey_string = jersey_string .. ']]'
else
local p18 = mw.wikibase.getBestStatements(v, 'P18')
if p18[1] and p18[1].mainsnak.snaktype == 'value' then
jersey_string = jersey_string .. '[[File:' .. p18[1].mainsnak.datavalue.value .. '|20px'
jersey_name = getLabelFallback(v, {wikilang, 'en', 'fr'})
if jersey_name then
jersey_string = jersey_string .. '|' .. jersey_name
end
jersey_string = jersey_string .. ']]'
end
end
end
end
return jersey_string
end -- function end
--=== E) Other (winner, getkm) ===
local function isHuman(riderId)
local isHuman = false
if riderId then
local p31 = wikibase.getBestStatements(riderId, 'P31')
for _, iOf in pairs (p31) do
if iOf.mainsnak.snaktype == 'value' and iOf.mainsnak.datavalue.value.id == "Q5" then
isHuman = true
break
end
end
end
return isHuman
end
local function isCountry(riderId)
local isCountry = false
if riderId then
local p31 = wikibase.getBestStatements(riderId, 'P31')
for _, iOf in pairs (p31) do
-- exception Hong-Kong and Taiwan
if iOf.mainsnak.snaktype == 'value' and (iOf.mainsnak.datavalue.value.id == "Q6256" or iOf.mainsnak.datavalue.value.id =="Q15634554" or iOf.mainsnak.datavalue.value.id =="Q779415") then
isCountry = true
break
end
end
end
return isCountry
end
function isWomenrace(raceID) --for translation
for _, p2094 in statements(raceID, 'P2094') do
if p2094.mainsnak.datavalue.value.id == "Q1451845" then
return true
end
end
return false
end
local function getNationality(wID, timeOfRace,q) --for a rider
local p27, countryID
--allow overload of the property, for cases like Russian/BLR ban, or Commonwealth games, only for P1532
if q and q.P1532 and q.P1532[1].snaktype == 'value' then
countryID = q.P1532[1].datavalue.value.id
else
local listOfProperty={'P1532','P27'}
if wID then
for _, prop in ipairs(listOfProperty) do
if countryID==nil then
p27 = getStatementForTime(wID, prop, timeOfRace) --P27 is country of citizenshi
if p27 then
countryID = p27.mainsnak.datavalue.value.id
end
end
end
end
end
return countryID
end
local function subwinner(riderId, timeOfRace, q)
local outTable={}
local riderTeam, riderLink, countryID
if riderId then
if isHuman(riderId) then
riderLink = getRiderLink(riderId, timeOfRace)
countryID = getNationality(riderId, timeOfRace,q)
if countryID then
riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink
end
riderTeam = getTeam(riderId, timeOfRace, q) or ''
else
local _
riderLink, _, countryID = getTeamLinkCat(riderId, timeOfRace, true)
if countryID then
riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink
end
end
end
return riderLink, riderTeam
end
local function winner(raceID, winners, timeOfRace, country, WDlink_on, team, ref, winnersId)
local p1346 = wikibase.getAllStatements(raceID, 'P1346') -- P1346 is 'winner'
for _, winner in pairs(p1346) do
local wID = winner.mainsnak.snaktype == 'value' and winner.mainsnak.datavalue.value.id
local wOf, wCause, wCriterion, riderLink
local q = winner.qualifiers
if q then
local _, disqualified =isdisqualified(winner,q)
if q.P642 and q.P642[1].snaktype == 'value' then
for _, q642 in pairs(q.P642) do
wOf = q642.datavalue.value.id -- P642 is 'of'
if not wOf then
-- Try P1346 (winner) instead
-- Assume Q20882667 ('overall winner general classification') if neither are found
wOf = q.P1346 and q.P1346[1].snaktype == 'value' and q.P1346[1].datavalue.value.id or 'Q20882667'
end
wCause = q.P828 and q.P828[1].snaktype == 'value' and q.P828[1].datavalue.value.id
-- P828 is 'has cause'
wCriterion = q.P1013 and q.P1013[1].snaktype == 'value' and q.P1013[1].datavalue.value.id
-- P1013 is 'criterion used'
if winners[wOf] then
if wID then
local reference = ref and getReference(winner)
local _, countryID
if isHuman(wID) then
riderLink = getRiderLink(wID, timeOfRace)
if reference then
riderLink = riderLink .. reference
end
if team then
local riderTeam = getTeam(wID, timeOfRace, q)
if riderTeam then
riderLink = riderLink .. ' (' .. riderTeam .. ')'
end
end
elseif isCountry(wID) then
riderLink = flag(wID, timeOfRace).." "..getCountryName(wID)
if reference then
riderLink = riderLink .. reference
end
country=true
else --team
local _
riderLink, _, countryID = getTeamLinkCat(wID, timeOfRace, country)
if reference then
riderLink = riderLink .. reference
end
end
if not country then
if not countryID then
if isHuman(wID) then
countryID = getNationality(wID, timeOfRace,q)
else
local p17 = getStatementForTime(wID, 'P17', timeOfRace) --P27 is country of citizenship
if p17 then
countryID = p17.mainsnak.datavalue.value.id
end
end
end
if countryID then
riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink
end
end
if WDlink_on then
riderLink = riderLink .. ' ' .. wdLink(wID)
end
else
riderLink = wCriterion and contentLanguage:ucfirst(wikibase.getLabel(wCriterion) or '') or ''
if wCause then
local cause = wikibase.getLabel(wCause)
if cause then
riderLink = riderLink .. ' (' .. cause .. ')'
end
end
end
if disqualified==true then
riderLink='<s>'..riderLink..'</s>'
end
if winnersId and winnersId[wOf] then
if disqualified or ((not wID) and wCriterion) then
winnersId[wOf]= 'Q666' --to identify disqualification
else
winnersId[wOf]= wID --identify cancelled
end
end
if winners[wOf] == '' then
winners[wOf] = riderLink
else
winners[wOf] = winners[wOf] .. '<br/>' .. riderLink
end
end
end
end
end
end
end
local function sortAndConcat(t_Body, resultTable)
table.sort(t_Body, function(a, b) return a[1] < b[1] end)
for _, m in ipairs(t_Body) do resultTable:node(m[2]) end
return resultTable
end
--------- Definition sub-functions for calendar and victory ------
local function getTimeOfRace(raceID)
local timeOfRace = firstValue(raceID, 'P580', 'time')
if timeOfRace==nil then
timeOfRace = firstValue(raceID, 'P585', 'time') -- P585 is 'point in time'
if timeOfRace==nil then
timeOfRace = firstValue(raceID, 'P582', 'time')
if timeOfRace==nil then
local link = getSitelinkFallback(raceID, {'en', 'fr', 'de'})
if link then
local year = string.match(link, '%d%d%d%d')
if year then
timeOfRace = year .. '-01-01T00:00:00Z'
end
end
end
end
end
if timeOfRace == nil and wiki == "ar" then
timeOfRace = '+1970-01-01T00:00:00Z'
end
return timeOfRace, '> Wikidata is missing data about start time (P580) or point in time (P582)'
end
local function fn_date(entityID, functionName) --to move as a general function
local tempdate, timeOfRace, sortkey, sortkeyDate
local outTable={}
local sTime = firstValue(entityID, 'P580', 'time') -- P580 is 'start time'
local eTime = firstValue(entityID, 'P582', 'time') -- P582 is 'end time'
if sTime and eTime then
local startTime, endTime = getStartEndTime(sTime, eTime, 'small')
if functionName==nil then --calendar
tempdate = startTime .. ' – ' .. endTime --mettre year en option!
sortkeyDate = sTime
else --victory, general classification
tempdate =endTime
sortkeyDate =eTime
end
timeOfRace = eTime
else
-- This function give a format to dates when P585 (date) is used in a single day race
local pTime = firstValue(entityID, 'P585', 'time') -- P585 is 'point in time'
if pTime then
tempdate = funcDate(pTime, 'small')
timeOfRace = pTime
sortkeyDate = pTime
end
end
local _, _, y, m, d = string.find(sortkeyDate or "", "(%d+)-(%d+)-(%d+)")
if y~= nil and m~= nil and d~=nil then
sortkey = y..m..d
elseif y~= nil and m~= nil then
sortkey = y..m
elseif y~= nil then
sortkey = y
else sortkey = '0000'
end
local tCell = mw.html.create('td'):attr('data-sort-value',sortkey)
:cssText("style=text-align:right;padding:0 0.5em")
:wikitext(tempdate)
outTable["timeOfRace"]=timeOfRace
outTable["tCell"]=tostring(tCell)
outTable["sortkey"]=sortkey
return outTable
end
local function fn_country(entityID, timeOfRace,countrybool, raceCell, parentID)
-- This function gives countries where the race take place
-- parentID taken from fn_race, optional
local country, countryname, outTable= {}, {}, {}
local countryID
local cssCell="text-align:" .. textalign .. ";padding:0 0.5em"
local tCell= mw.html.create('td'):cssText(cssCell)
local listOfProperty={'P1532','P17'} -- P1512 is 'country for sport' to handle problems with Hong Kong etc.
local listOfID = {entityID, parentID}
for _, thisID in ipairs(listOfID) do
if thisID~=nil then
for _, prop in ipairs(listOfProperty) do
if countryID == nil then --like "break"
for _, p1532 in statements(thisID, prop) do
countryID = p1532.mainsnak.datavalue.value.id
countryname[#countryname + 1] = getCountryName(countryID)
if countrybool==false or not countryname[#countryname] then
country[#country + 1]=flag(countryID, timeOfRace)
else
country[#country + 1]=flag(countryID, timeOfRace).." "..countryname[#countryname]
end
outTable["flag"]=flag(countryID, timeOfRace)
end
end
end
end
end
if countryID == nil then outTable["flag"]="no flag" end
if countryname[1] then tCell:attr('data-sort-value',countryname[1]) end
if countrybool==false then
tCell:wikitext((country[1] or '').." "..(raceCell or ''))
outTable["countryname"]=''
else
if countryname[1] then
outTable["countryname"]=countryname[1]
if country[1] then tCell:wikitext(country[1]) end
else
outTable["countryname"]=''
end
end
outTable["tCell"]=tCell
return outTable
end
local function commaStage(stageID,raceLabel) --how to write "stage, "
local outTable={}
local stageNumber=''
local subStage = ''
local stageNumberonly, stageLetter
local temp=firstValue(stageID, 'P1545')
if temp then stageNumber = temp end
if stageNumber=='0' then --prologue
stageNumber= translate("victories",9)
else
if stageNumber==nil then
stageNumber= translate("victories",8)
else
--look for subStage
local i,j = string.find(stageNumber, "%a+") --if letter in the stage number
if i ~= nil then --we have to do something
local k,l = string.find(stageNumber, "%d+") --select the number in the stage number
stageNumberonly = string.sub(stageNumber, k, l)--cut the string in 2
stageLetter = string.sub(stageNumber, i, j)
stageNumber=stageNumberonly
if stageLetter ~= nil then subStage=stageLetter end
end
if wiki == 'ar' then
stageNumber= translate("victories",8)..' '..number('f', tonumber(stageNumber), wiki)
else
stageNumber= number('f', tonumber(stageNumber), wiki)..subStage..' '..translate("victories",8)
end
end
end
local comma = ", "
if wiki == 'ar' then comma = " ، " end
if wiki == 'fr' then
local correpondance={
{name="^Trois", article= " des "},
{name="^Quatre", article= " des "},
{name="^Boucles", article= " des "},
{name="^Triptyque", article= " du "},
{name="^Tour", article= " du "},
{name="^Grand Prix", article= " du "},
{name="^Circuit", article= " du "},
{name="^Mémorial", article= " du "},
{name="^Trophée", article= " du "},
{name="^Ronde", article= " de la "},
{name="^Semaine", article= " de la "},
{name="^Classica", article= " de la "},
{name="^Flèche", article= " de la "},
{name="^Course", article= " de la "},
{name="^Classique", article= " de la "},
{name="Race", article= " de la "},
{name="^Étoile", article= " de l'"},
{name="^La", article= " de "}
}
for _, v in ipairs(correpondance) do
if string.find(raceLabel, v.name) then
comma = v.article
break
end
end
end
if wiki == 'fr' or wiki=="ca" or wiki=="es" or wiki=="ast" then
outTable["prefix"]=stageNumber..comma
outTable["postfix"]=''
else
--if wiki=="de" or wiki=="da" or wiki=="fo" or wiki == "lb" or wiki=="no" or wiki=="ru" or wiki=="ar" or wiki=="lv" or wiki=="pl" then
outTable["prefix"]=''
outTable["postfix"]=comma..stageNumber
end
return outTable
end
local function getMainRaceLink(entityID,entity_type,stageID, functionName,timeOfRace) --the link to the edition but with a general name
local instanceOf, instanceOfTemp, label, Sitelink, isclass, prefix, postfix
local arlabel
local stage_link=false
if stageID then
Sitelink=wikibase.getSitelink(stageID)
if Sitelink then stage_link=true end
end
if Sitelink==nil then
Sitelink=wikibase.getSitelink(entityID)
end
prefix=''; postfix='' --general classification
listOfProperty={'P2561','P1448'}
--system with P3450 and P2094
instanceOf=firstValue(entityID, 'P3450', 'id')
--else use P31
if instanceOf==nil then
for _, p31 in statements(entityID, 'P31') do
instanceOfTemp = p31.mainsnak.datavalue.value.id
if instanceOfTemp ~= "Q27020041" and class_dic[instanceOfTemp]==nil then --we don't want the class, but the main race
instanceOf=instanceOfTemp
end
end
end
--get information from the parent
if instanceOf then
--look for
for _, prop in ipairs(listOfProperty) do
for _, p2561 in statements(instanceOf, prop) do --name for championship
if label==nil then
local lang_WD = p2561.mainsnak.datavalue.value.language
if wiki == lang_WD then
local nametemp = p2561.mainsnak.datavalue.value.text
if timeOfRace~= nil then
local q = p2561.qualifiers
if q then
local temp = checktime(nametemp,q,timeOfRace)
if temp then label = nametemp end--if the time is correct than it is finished
else
label = nametemp
arlabel = label
end
end
end
end
end
end
if label==nil then
label=wikibase.label(instanceOf)
if wiki == 'ar' then arlabel = mw.wikibase.getLabelByLang(instanceOf, 'ar') end
if not label then
label = getLabelFallback(entityID, {'en', 'fr', 'de'}) or ''
end
end
if Sitelink==nil and entity_type~=0 then --only if no link to the race direct
Sitelink=wikibase.getSitelink(instanceOf)
end
if Sitelink==nil and entity_type==0 then --only for champ
local temp=firstValue(entityID, 'P361','id') --temp is NC France 2019 for instance
if temp then
Sitelink= wikibase.getSitelink(temp)
end
if Sitelink == nil then
local temp2=firstValue(entityID, 'P31','id') -- French NC Men ITT
if temp2 then
Sitelink= wikibase.getSitelink(temp2)
if Sitelink == nil then
local temp3=firstValue(temp2, 'P361','id') -- French NC ITT
if not temp3 then temp3=firstValue(temp2, 'P31','id') end
if temp3 then
Sitelink= wikibase.getSitelink(temp3)
if Sitelink == nil then
local temp4=firstValue(temp3, 'P361','id') -- French NC
if not temp4 then temp4=firstValue(temp3, 'P31','id') end
if temp4 then
Sitelink= wikibase.getSitelink(temp4)
end
end
end
end
end
end
end
end
--affect the label
if label==nil then
label=wikibase.label(entityID)
if wiki == 'ar' then arlabel = mw.wikibase.getLabelByLang(entityID, 'ar') end
if not label then
label = getLabelFallback(entityID, {'en', 'fr', 'de'}) or ''
end
end
--look for link to the race if nothing
--if different languages have to be added, a language table can be created
if entity_type==2 then
if functionName~=nil then --calendar=nil
if wiki == 'fr' then prefix= translate("victories",1)..', ' --general classification
elseif wiki == 'ar' then postfix ='، '..translate("victories",1)
else postfix = ', '..translate("victories",1)
end
end
elseif entity_type=='stage' then
--how to write "stage, " is concentrated in one function
local commaTable=commaStage(stageID, label)
prefix= commaTable["prefix"]
postfix=commaTable["postfix"]
end
if Sitelink == nil then
if wiki == 'ar' then
label = make_IllWD2_link(entityID,arlabel,label)
end
return prefix..label..postfix
elseif stage_link then
return '[['..Sitelink..'|'..prefix..label..postfix..']]'
else
return prefix..'[['..Sitelink..'|'..label..']]'..postfix
end
end
--look for the circuitID to create a link as [[World Tour|1.UWT]]
--a bit redundant with classLink which needs less computation
--for infobox classLink gives enough info
local function classToCircuit(classID, entityID, child, q)
local displayedCircuitID, circuitID
if classID then
if classID=='Q23005601' or classID=='Q23005603' then --1WWT 2WWT clear
displayedCircuitID = 'Q21075974'
elseif classID=='Q22231106' or classID=='Q22231107' then --1UWT 2UWT clear
displayedCircuitID = 'Q635366'
else --we have to look in the item
if child then --for instance Flèche wallonne 2020
for _, p361 in statements(entityID, 'P361') do
circuitID = p361.mainsnak.datavalue.value.id
for _, p31 in statements(circuitID, 'P31') do --is it a UCI circuit?
parentCircuitID = p31.mainsnak.datavalue.value.id
if UCI_Circuits[parentCircuitID] then
displayedCircuitID=circuitID
end
end
end
else --for instance Flèche wallonne
if q then
if q.P642 and q.P642[1].snaktype == 'value' and q.P642[1].datavalue.value.id then
displayedCircuitID = q.P642[1].datavalue.value.id
end
end
end
end
end
return displayedCircuitID
end
local function getStartEndfromQuali(q) --return sTime and eTime as date
local sTime, eTime
if q then
if q.P580 and q.P580[1] and q.P580[1].snaktype == 'value' then -- P580 is start time
sTime = q.P580[1].datavalue.value.time
end
if q.P582 and q.P582[1] and q.P582[1].snaktype == 'value' then -- P582 is end time
eTime = q.P582[1].datavalue.value.time
end
end
return sTime, eTime
end
local function funcDateFigure(date,mode)
local y, m = string.match(date, "(%d+)-(%d+)-%d+")
if mode=='Y' or m=='00' or not m then
return y
elseif y then
return string.gsub(m,'0','').."."..y
else
return nil
end
end
local function getPeriodSub(sTime, eTime, brackets)
local startTime, endTime, y, m, y2, m2
if sTime then
y, m = string.match(sTime, "(%d+)-(%d+)-%d+")
if m=='00' or m=='01' then
startTime= funcDateFigure(sTime, 'Y')
else
startTime= funcDateFigure(sTime,'m')
end
end
if eTime then
y2, m2 = string.match(eTime, "(%d+)-(%d+)-%d+")
if m2=='00' or m2=='12' then
endTime=funcDateFigure(eTime, 'Y')
else
endTime=funcDateFigure(eTime, 'm')
end
end
local period
if sTime and eTime then
if startTime==endTime then
period=startTime --only (1990)
else
period=startTime .. '-'..endTime
end
elseif sTime then
period=startTime .. '-'
elseif eTime then
period='-'..endTime
else
period=""
end
if brackets and period~="" then
period="("..period..")"
end
return period, sTime
end
-- for display period with only year, for instance (2020-2021)
local function getPeriod(q, brackets)
local sTime, eTime = getStartEndfromQuali(q)
return getPeriodSub(sTime, eTime, brackets)
end
local function getClassCalendar_sub(entityID)
local classID=firstValue(entityID, 'P279', 'id')
if classID==nil then
for _, p31 in statements(entityID, 'P31') do
if class_dic[p31.mainsnak.datavalue.value.id]~=nil then
classID=p31.mainsnak.datavalue.value.id
break
end
end
end
return classID
end
-- For infobox
local function getClass(entityID)
local classLink, circuitID, circuitLink
local classTable={}
for ii, p279 in statements(entityID, 'P279') do
if p279 and p279.mainsnak.snaktype == 'value' then
local classID = p279.mainsnak.datavalue.value.id
if class_dic[classID]~=nil then
circuitID=classToCircuit(classID, entityID, false, p279.qualifiers)
classLink=classLinkFn(classID,circuitID)
if circuitID and classLink then
local period, sTime=getPeriod(p279.qualifiers, true)
local classStr = classLink .. " <small>"..period.."</small>"
table.insert(classTable, {sTime, classStr, circuitID})
end
end
end
end
if #classTable~=0 then
table.sort(classTable, function(a, b) return a[1] < b[1] end)
end
for _, class in pairs(classTable) do
if not str then str='' else str=str..'<br>' end
str=str..class[2]
circuitLink=WPlinkpure(class[3])
end
return str, circuitLink, #classTable
end
local function fn_race(entityID,displayed_class,display_class,timeOfRace, functionName,country)--return link to the race and class
--first function read from victory main
local Sitelink, entity_type, classID, stageID
local outTable={}
for _, p31 in statements(entityID, 'P31') do
if stages[p31.mainsnak.datavalue.value.id] then
entity_type = 'stage' --then the class is one stage above!
local parentID = getParentID(entityID)
classID=getClassCalendar_sub(parentID)
outTable["parentID"] = parentID --as we read it here, no need to read it afterwards
stageID= entityID --everything slide from one rank
entityID = parentID
end
end
if classID==nil then
classID=getClassCalendar_sub(entityID)
end
--Now we have the class and know the type of race it is
if entity_type == 'stage' then
Sitelink=getMainRaceLink(entityID,entity_type,stageID, functionName,timeOfRace)
else
Sitelink=getMainRaceLink(entityID,class_dic[classID],nil, functionName,timeOfRace)
end
if country~=false then
local tCell=mw.html.create('td'):cssText("text-align:".. textalign ..";padding:0 2.3em"):wikitext(Sitelink)
outTable["raceCell"]=tostring(tCell)
else
outTable["raceCell"]=Sitelink --already opened
end
if display_class == true and classID~=nil and (displayed_class==nil or displayed_class[classID]~=nil) then
local circuitID=classToCircuit(classID, entityID, true,nil)
local classLink=classLinkFn(classID,circuitID) --return '' worst case
local tCell=mw.html.create('td')
:attr('data-sort-value',class_sort[classID]) --sortkey
:cssText("text-align:center;padding:0 0.5em")
:wikitext(classLink)
outTable["classCell"]=tCell
end
return outTable
end
local function fn_rider(entityID,timeOfRace,display_team,only_winner,country)
local winners, countrytemp, result
local WDlink_on = (wiki == "mk" or wiki == "ja")
local thereisawinner=false
if only_winner == 1 then
winners = {Q20882667 = '', Q20882747=''} -- first, general or stage
elseif only_winner == 0 then
winners = { Q20882667 = '', Q20882668 = '',Q20882669 = ''} -- Q20882668 is 'second overall'
else --3
winners = { Q47640757='' } -- World Tour -- name not used here
end
if country==nil then countrytemp=false else countrytemp=country end
winner(entityID, winners, timeOfRace, countrytemp, WDlink_on, display_team, true)
local tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em")
if only_winner == 0 then
tCell:wikitext(winners.Q20882667)
result=tostring(tCell)
tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em"):wikitext(winners.Q20882668)
result=result..tostring(tCell)
tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em"):wikitext(winners.Q20882669)
return result..tostring(tCell)
else
local tempwinner
if only_winner == 1 then
if winners.Q20882667~=nil and winners.Q20882667~='' then
tempwinner=winners.Q20882667
else
tempwinner=winners.Q20882747
end
else
tempwinner=winners.Q47640757
end
if tempwinner~='' and tempwinner~=nil then thereisawinner=true end
return tCell:wikitext(tempwinner), thereisawinner
end
end
local function compareDate(tdate) --test future
if tdate then
local today=os.date("*t")
local _, _, y, m, d = string.find(tdate, "(%d+)%p(%d+)%p(%d+)")
local tYear=tonumber(y)
local tMonth=tonumber(m)
local tDay=tonumber(d)
if tYear>today['year'] then
return true
elseif tYear<today['year'] then
return false --the last race is the future
else
if tMonth>today['month'] then
return true
elseif tMonth<today['month'] then
return false
else
if tDay>today['day'] then
return true
elseif tDay<today['day'] then
return false
else
return false --arbitrary
end
end
end
else
return false --arbitrary
end
end
local function calculateAge(birthDate, endDate) --test future
local eYear, eMonth, eDay
if birthDate then
if not endDate then
local today=os.date("*t")
eYear=today['year']
eMonth=today['month']
eDay=today['day']
else
local _, _, y, m, d = string.find(endDate, "(%d+)%p(%d+)%p(%d+)")
eYear=tonumber(y)
eMonth=tonumber(m)
eDay=tonumber(d)
end
local _, _, y, m, d = string.find(birthDate, "(%d+)%p(%d+)%p(%d+)")
local tYear=tonumber(y)
local tMonth=tonumber(m)
local tDay=tonumber(d)
local alreadyThisYear
if eMonth>tMonth then
alreadyThisYear=true
elseif eMonth<tMonth then
alreadyThisYear=false
else
if eDay>tDay then
alreadyThisYear=true
elseif eDay<tDay then
alreadyThisYear=false
else
alreadyThisYear=true
end
end
if alreadyThisYear then
return eYear-tYear, tYear, eYear+1
else
return eYear-tYear-1, tYear, eYear+1
end
else
return 0, tYear, eYear+1
end
end
local function evaluateWinnerMax(t)
local winners = t.vainqueur
local result
local most_wins = 0
local most_wins_ID = {}
for winnerID, winner in pairs(winners) do
if winner.count > most_wins then
most_wins = winner.count
most_wins_ID = { winnerID }
elseif winner.count == most_wins then
most_wins_ID[#most_wins_ID + 1] = winnerID
end
end
if most_wins > 1 then
for _, id in pairs(most_wins_ID) do
if not result then
result=winners[id].link
else
result=result.."<br>"..winners[id].link
end
end
local _, gen_singular, gen_plural=plural(most_wins)
if gen_singular then --slavic plural, 1 victory is not displayed
word_victory=translate("raceinfobox",29)
elseif gen_plural then
word_victory=translate("raceinfobox",30)
else
word_victory=translate("raceinfobox",32) --singular
end
result=result.."<br>("..tostring(most_wins).." "..word_victory..")"
end
t.maxWinner=result
end
local function listOfWinners(itemID,t, team)
local winners = { Q20882667 = '',}-- Q20882667 is 'overall winner general classification'
local winnersId={ Q20882667 = '',}--to detect disqualification
local WDlink_on, sitelink
-- WDlink_on is used to decide if a Wikidata flag will be shown
if wiki == "mk" or wiki == "ja" or wiki == "ru" then WDlink_on = true else WDlink_on = false end
-- Get the date to sort the editions
for _, p527 in statements(itemID, 'P527') do --_, p527
local raceDate, year, raceID, entity_race, a, b
raceId = p527.mainsnak.datavalue.value.id -- Qnumbers of the parts of a tour
raceDate=getTimeOfRace(raceId)
table.insert(t.race, { raceId=raceId, raceDate=raceDate, future=compareDate(raceDate)} ) --check if future
table.sort(t.race, function(a,b) return a['raceDate'] < b['raceDate'] end) -- t.race is sorted after year
end
--look for the next race
local lastRunEdition, lastEditionDate, nextEdition
for num, race in ipairs(t.race) do
if race['future'] then
nextEdition=num
break
end
end
--Get the winners
local numberOfEditions=0
local lastWinner, winnerId
if not team then --for race, a test shall be performed
for num=1,#t.race do
winners.Q20882667=''
winnersId.Q20882667=''
winner(t.race[num]['raceId'], winners, t.race[num]['raceDate'], false, WDlink_on, nil, nil, winnersId )
if t.race[num]['future']==false then --in the past
if winnersId.Q20882667~="Q30108381" then --cancelled
numberOfEditions=numberOfEditions+1
lastRunEdition=num
lastEditionDate=t.race[num]['raceDate']
lastWinner=winners.Q20882667
end
end
winnerId=winnersId.Q20882667
if winnerId~=nil and winnerId~='' and winnerId~='Q666' and winnerId~='Q30108381' then --code for disqualification
if not t.vainqueur[winnerId] then
t.vainqueur[winnerId]={}
t.vainqueur[winnerId].link=winners.Q20882667
t.vainqueur[winnerId].count=0
end
t.vainqueur[winnerId].count=t.vainqueur[winnerId].count+1
end
end
else --for team there is nothing to check
num=#t.race
numberOfEditions=num
lastRunEdition=num
lastEditionDate=t.race[num]['raceDate']
end
local monthId=firstValue(itemID, 'P2922','id')
if monthId then
t.lastEditionMonth=getLabelFallback(monthId, {wikilang, 'en', 'fr', 'de'}) or ''
else
t.lastEditionMonth=contentLanguage:formatDate("M", lastEditionDate)
end
t.lastEditionYear=contentLanguage:formatDate("Y", lastEditionDate)
t.numberOfEditions=numberOfEditions
if not team then evaluateWinnerMax(t) end
if lastRunEdition then
t.lastWinner=lastWinner or '' --t.vainqueur[lastRunEdition]['link']
sitelink = wikibase.getSitelink(t.race[lastRunEdition]['raceId'])
if sitelink ~= nil then
t.lastLink = "[[" .. sitelink .. "]]"
else
t.lastLink = nil
end
end
if nextEdition then
sitelink = wikibase.getSitelink(t.race[nextEdition]['raceId'])
if sitelink ~= nil then
t.nextLink = "[[" .. sitelink .. "]]"
else
t.nextLink = nil
end
end
end
function getPeriodicity(itemID, t)
local p = wikibase.getBestStatements(itemID, 'P2257')
if p[1] and p[1].mainsnak.snaktype == 'value' then
local period=p[1].mainsnak.datavalue.value.amount
local periodunit=p[1].mainsnak.datavalue.value.unit
if tonumber(period)==1 and periodunit == 'http://www.wikidata.org/entity/Q577' then
return translate("raceinfobox",1).." ("..t.lastEditionMonth ..")"
elseif tonumber(period)==1 and periodunit == 'http://www.wikidata.org/entity/Q5151' then
return translate("raceinfobox",2)
else
return nil
end
else
return nil
end
end
local function getType(itemID)
local result, typeID
typeID =firstValue(itemID, 'P31', 'id')
if typeID ~= nil then
if typeID=="Q2912397" and wiki=="fr" then
result="[[Cyclisme_sur_route#Épreuve_d'un_jour|Course d'un jour]]"
else
result=WPlinkpure(typeID)
end
end --else result=nil
return result
end
local function getFormerNames(itemID, PID)
local listOfNames={}
local langFallback, officialname,language
if wiki=="mk" then
langFallback= {wiki} --only exact language
else
langFallback= {wiki, 'en','fr', 'de', 'es', 'nl', 'it'} --all languages, but tested one at a time
end
local kk=1
while #listOfNames == 0 and kk<=#langFallback do
lang=langFallback[kk]
kk=kk+1
for _, prop in ipairs({PID}) do
for _, p1813 in statements(itemID, prop) do
language = p1813.mainsnak.datavalue.value.language
officialname = p1813.mainsnak.datavalue.value.text
if lang==language then --only exact language
local period, sTime=getPeriod(p1813.qualifiers)
if not sTime then sTime="+1900-01-01T00:00:00Z" end --first
table.insert(listOfNames,{sTime, period, officialname, language})
end
end
end
end
table.sort(listOfNames, function(a, b) return a[1] < b[1] end)
return listOfNames
end
local function officialSite(itemID)
local p856 = wikibase.getBestStatements(itemID, 'P856')
if p856[1] and p856[1].mainsnak.snaktype == 'value' then
local url = p856[1].mainsnak.datavalue.value
return '['..url.." "..translate("raceinfobox",3)..']'
end
return nil
end
local function getKm(wiki)
local km
if wiki == "ar" then km = 'كم'
elseif wiki == "mk" then km = 'км'
elseif wiki == "ru" then km = 'км'
elseif wiki == "ja" then km = 'キロメートル'
else km = 'km' end
return km
end
local function getm(wiki)
local m
if wiki == "ar" then m = 'م'
elseif wiki == "mk" then m = 'м'
elseif wiki == "ru" then m = 'м'
elseif wiki == "ja" then m = ''
else m = 'm' end
return m
end
local function getKg(wiki)
local kg
if wiki == "ar" then kg = 'كجم'
elseif wiki == "mk" then kg = 'кг'
elseif wiki == "ru" then kg = 'кг'
elseif wiki == "ja" then kg = ''
else kg = 'kg' end
return kg
end
local function checkkm(p)
local km, unit
if p[1] and p[1].mainsnak.snaktype == 'value' then
km = tonumber(p[1].mainsnak.datavalue.value.amount)
unit = p[1].mainsnak.datavalue.value.unit
if unit == 'http://www.wikidata.org/entity/Q828224' then
return km
end
end
return nil
end
local function checkm(p)
local m, unit
if p[1] and p[1].mainsnak.snaktype == 'value' then
m = tonumber(p[1].mainsnak.datavalue.value.amount)
unit = p[1].mainsnak.datavalue.value.unit
if unit == 'http://www.wikidata.org/entity/Q11573' then
return m
elseif unit=='http://www.wikidata.org/entity/Q174728' then --cm
return m*0.01
end
end
return nil
end
local function checkkg(p)
local kg, unit
if p[1] and p[1].mainsnak.snaktype == 'value' then
kg = tonumber(p[1].mainsnak.datavalue.value.amount)
unit = p[1].mainsnak.datavalue.value.unit
if unit == 'http://www.wikidata.org/entity/Q11570' then
return kg
end
end
return nil
end
local function getHeight(entityID)
local m
local text
local lang = contentLanguage
local p = mw.wikibase.getBestStatements(entityID, 'P2048')
m= checkm(p)
if m then
text = lang:formatNum(m)
if wiki == 'fo' then
text = string.gsub(text, "%.", ",")
end
text = text .. ' ' .. getm(wiki)
end
return text
end
local function getWeight(entityID)
local kg
local text
local lang = contentLanguage
local p = mw.wikibase.getBestStatements(entityID, 'P2067')
kg = checkkg(p)
if kg then
text = lang:formatNum(kg)
if wiki == 'fo' then
text = string.gsub(text, "%.", ",")
end
text = text .. ' ' .. getKg(wiki)
end
return text
end
local function getDistance(raceID, addUnit)
local km
local p = mw.wikibase.getBestStatements(raceID, 'P3157') -- P3157 is 'event distance'
km =checkkm(p)
if not km then --for stage race we can sum the distances from each stage
local stagep, tempkm
for _, p527 in statements(raceID,'P527') do
stageID = p527.mainsnak.datavalue.value.id
stagep=mw.wikibase.getBestStatements(stageID, 'P3157')
tempkm=checkkm(stagep)
if tempkm then
if not km then
km=tempkm
else
km=km+tempkm
end
end
end
end
local text
local lang = contentLanguage
if km then
-- The unit should always be km. Skip if it isn't.
text = lang:formatNum(km)
if wiki == 'fo' then
text = string.gsub(text, "%.", ",")
end
if addUnit then
text = text .. ' ' .. getKm(wiki)
end
end
return text, km
end
local function getKmh(wiki)
local kmh
if wiki == "ar" then kmh = 'كم/س'
elseif wiki == "da" then kmh = 'km/t'
elseif wiki == "fo" then kmh = 'km/t'
elseif wiki == "nl" then kmh = 'km/u'
elseif wiki == "no" then kmh = 'km/t'
elseif wiki == "mk" then kmh = 'км/ч'
elseif wiki == "ru" then kmh = 'км/ч'
elseif wiki == "ja" then kmh = 'キロメートル毎時'
else kmh = 'km/h' end
return kmh
end
local function getElevation(raceID)
local l10nDef = {
["en"] = " m",
["ar"] = " م",
}
local l10n = l10nDef[wiki] or l10nDef["en"]
local temp = mw.wikibase.getBestStatements(raceID, 'P7297')
if temp[1] and temp[1].mainsnak.snaktype == 'value' then
local unit = temp[1].mainsnak.datavalue.value.unit
if unit == 'http://www.wikidata.org/entity/Q11573' then
return tonumber(temp[1].mainsnak.datavalue.value.amount) .. l10n
end
end
return nil
end
local function getSpeed(raceID, addUnit,kmdistance, property)
local p = mw.wikibase.getBestStatements(raceID, 'P2052') -- P2052 is 'speed'
local kmh, unit, text, found, timeOfRace
local lang = contentLanguage
if p[1] and p[1].mainsnak.snaktype == 'value' then
kmh = tonumber(p[1].mainsnak.datavalue.value.amount)
unit = p[1].mainsnak.datavalue.value.unit
if unit == 'http://www.wikidata.org/entity/Q180154' then -- Q180154 is 'kilometre per hour'
found=true
end
end
if not found and kmdistance then --calculate speed
local p2321= wikibase.getBestStatements(raceID, property) --winner supposed to be first of overall classification
if p2321 and p2321[1] and p2321[1].mainsnak.snaktype == 'value' then
local q = p2321[1].qualifiers
if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank
for _, q1352 in pairs(q.P1352) do
rank = tonumber(q1352.datavalue.value.amount)
end
if rank == 1 then
timeOfRace=qualifieramount(p2321[1], 'P2781') --get time
end
end
if timeOfRace then
found=true
kmh=math.modf(1000*kmdistance/(timeOfRace/3600))/1000
end
end
end
if found then
-- The unit should always be km/h. Skip if it isn't.
text = lang:formatNum(kmh)
if wiki == 'fo' then
text = string.gsub(text, "%.", ",")
end
if addUnit then
text = text .. ' ' .. getKmh(wiki)
end
end
return text
end
local function getGenderCode(riderID, default)
local gender
local p21 = mw.wikibase.getBestStatements(riderID, 'P21') -- P21 is gender
if p21[1] and p21[1].mainsnak.snaktype == 'value' then
local g = p21[1].mainsnak.datavalue.value.id
if g == 'Q6581097' then gender = 'm' -- Male
elseif g == 'Q6581072' then gender = 'f' -- Female
elseif g == 'Q1052281' then gender = 't' -- Transgenre
end
end
return gender or default -- default is for teams, n or f
end
function number(gender, b, wiki)
local str
if b==nil or b=="" then return "" end
if wiki=="ar" then
str = b
elseif wiki == "ca" then
if b==1 then str = b.."r"
elseif b==2 then str = b.."n"
elseif b==3 then str = b.."r"
elseif b==4 then str = b.."t"
else str = b.."è"
end
elseif wiki=="es" then
if gender == 'm' or gender == 'n' then str = b..".º"
elseif gender == 'f' then str = b..".ª"
else str = b.."."
end
elseif wiki=="fr" then
if b==1 then
if gender == 'm' then str="1<sup>er</sup>"
elseif gender == 'f' or gender == 'n' then str="1<sup>re</sup>"
else str="1<sup>e</sup>"
end
else str=b.."<sup>e</sup>"
end
elseif wiki=="nl" then str=b.."e"
elseif wiki=="ru" then str=b.."-й"
elseif wiki=="eo" then str=b.."-a"
elseif wiki=="ast" then
if gender == 'm' or gender == 'n' then str = b.."ᵘ"
elseif gender == 'f' then str = b.."ª"
else str = b.."."
end
else str = b .. ". "
end
return str
end
local function calculateTime(t)
local time = tonumber(t)
local h, m, s = 0, 0, 0
local str = ''
if time == nil then return '' end
if time < 60 then s = time
elseif time < 3600 then m = math.modf(time/60) s = time - m*60
else h = math.modf(time/3600) m = math.modf((time - h*3600)/60) s = time - h*3600 - m*60
end
if h>0 then str = str..mw.ustring.format ('%i'..translate("unit",2), h) end
if m>=0 and h>0 then str = str.. mw.ustring.format('%02i'..translate("unit",3), m) end
if m>0 and h==0 then str = str.. mw.ustring.format('%i'..translate("unit",3), m) end
if s>=0 and (h>0 or m>0) then str = str.. mw.ustring.format('%02i'..translate("unit",4), s) end
if s>=0 and h==0 and m==0 then str = str.. mw.ustring.format('%i'..translate("unit",4), s) end
return str --time..': '..h..' '..m..' '..s
end
function func_error_message(x)
local l10nDef = {
["en"] = {'Property <1> is missing in item "<2>" (<3>)'},
["ar"] = {'الخاصية <1> غير موجودة في العنصر "<2>" (<3>)'},
}
local l10n = l10nDef[wiki]
if not l10n then l10n = l10nDef["en"] end -- default
return l10n[x]
end
local function getMissingLabelTrackingCategory()
local l10nDef = {
["//cs.wikipedia.org"] = '[[Kategorie:Údržba:Doplnit štítek na Wikidatech]]',
["//lv.wikipedia.org"] = '[[Category:Vikidatos trūkst nosaukuma latviešu valodā]]',
["//he.wikipedia.org"] = '[[קטגוריה:ויקינתונים:ערכים חסרי תווית בעברית: קבוצת אופניים]]',
}
local l10n = l10nDef[mw.site.server]
if not l10n then
l10n = ''
end
return l10n
end
local function getStageLabel(inp)
local a
local b=''
local this_label=''
if inp then
a, _ = string.gsub(inp, "%a", "") -- 20, not 20a
if string.find(inp, "%a") then
b = string.sub(inp, string.find(inp, "%a"))
end
if inp == "0" then
this_label = translate("func_prologue")
else
this_label = stageLink(inp, a, b)
end
end
return this_label
end
--[[ Make a table row for infoboxes with links to previous and next ]]
local function getPreviousNextLine(raceID, stage)
local previousID = firstValue(raceID, 'P155', 'id') -- P155 is 'follows'
local nextID = firstValue(raceID, 'P156', 'id') -- P156 is 'followed by'
if not nextID or not previousID then
for _, s in statements(raceID, 'P3450') do -- for items using P3450
local q = s.qualifiers
if q then
if not previousID and q.P155 and q.P155[1] and q.P155[1].snaktype == 'value' then
previousID = q.P155[1].datavalue.value.id
end
if not nextID and q.P156 and q.P156[1] and q.P156[1].snaktype == 'value' then
nextID = q.P156[1].datavalue.value.id
end
end
end
end
if not previousID and not nextID then
return ''
end
local previousText, nextText = '', ''
local direction = contentLanguage:getDir()
local previous_sign = (direction == 'ltr') and '◀' or '▶'
local next_sign = (direction == 'ltr') and '▶' or '◀'
local this_label
if previousID then
if stage then
local series_ordinal= firstValue(previousID, 'P1545', 'value')
this_label=getStageLabel(series_ordinal)
else
this_label = getYear(previousID)
end
local link = wikibase.getSitelink(previousID)
if link then
previousText = '<span style="color:#3366CC">[[' .. link .. '| ' .. previous_sign .. this_label .. ']]</span>'
else
previousText = '<span style="color:#3366CC">' .. previous_sign .. '</span> ' .. this_label
end
end
if nextID then
if stage then
local series_ordinal= firstValue(nextID, 'P1545', 'value')
this_label=getStageLabel(series_ordinal)
else
this_label = getYear(nextID)
end
local link = wikibase.getSitelink(nextID)
if link then
nextText = '<span style="color:#3366CC">[[' .. link .. '|' .. this_label .. next_sign .. ']]</span>'
else
nextText = this_label .. ' <span style="color:#3366CC">' .. next_sign .. '</span>'
end
end
local direction = contentLanguage:getDir()
local outTable = mw.html.create('tr')
local tCell=outTable:tag('td')
tCell:cssText("text-align:" .. ((direction == 'ltr') and 'left' or 'right')):wikitext(previousText)
if stage ~= nil and wiki=="ar" then
tCell:css('width','50%')
end
tCell=outTable:tag('td')
:cssText("text-align:" .. ((direction == 'ltr') and 'right' or 'left')):wikitext( nextText)
if stage ~= nil and wiki=="ar" then
tCell:css('width','50%')
end
return outTable
end
--== Functions for infobox
-- functions for infoboxs
local function infoGetOthers(others, entityID)
if not others[1].content then --picture
others[1].content, others[2].content = getLogo(entityID)
if not others[1].content then
others[1].content, others[2].content = getImage(entityID) -- picture, caption
end
end
if not others[3].content then -- map
others[3].content, others[5].content = getMap(entityID) -- P242 is 'locator map image'
end
if not others[4].content then -- map
others[4].content, others[6].content = getSectionalView(entityID) -- sectional_view
end
end
local function infoGetPlaceOrCountry(details,index, entityID, timeOfRace, PID) --generalized infoGetCountry
if not details[index].content then -- country
-- This function gives countries where the race take place
local place = {}
if not place[1] then
for _, p17 in statements(entityID, PID) do -- P17 is 'country'
local countryID = p17.mainsnak.datavalue.value.id
if PID=='P17' then
place[#place + 1] = flag(countryID, timeOfRace) .. ' ' .. getCountryName(countryID)
else
place[#place + 1] = wikibase.getLabel(countryID)
end
end
end
if place[1] then
if #place > 1 then
details[index].name = details[index].name_plural
end
details[index].content = table.concat(place, '<br/>')
end
end
end
local function infoGetPlace(details,index, entityID, timeOfRace)
infoGetPlaceOrCountry(details,index, entityID, timeOfRace, "P276")
end
local function infoGetCountry(details,index, entityID, timeOfRace)
infoGetPlaceOrCountry(details,index, entityID, timeOfRace, "P17")
end
local function infoGetStartEnd(details,index, entityID, timeOfRace)
if not details[index].content then -- start place
local place = firstValue(entityID, 'P1427', 'id') -- P1427 is 'start point'
details[index].content = place and getPlaceLink(place, timeOfRace)
end
if not details[index+1].content then -- end place
local place = firstValue(entityID, 'P1444', 'id') -- P1444 is 'destination point'
details[index+1].content = place and getPlaceLink(place, timeOfRace)
end
end
local function infoGetParticipants(details,index, entityID)
-- Function that give the number of cyclists at the beginning and at the finishing of a race
for _, p1132 in statements(entityID, 'P1132') do -- P1132 is 'number of participants'
local amount = tonumber(p1132.mainsnak.datavalue.value.amount) -- tonumber to remove starting '+'
for _, q in qualifiers(p1132, 'P276') do -- P276 is 'location'
local location = q.value.id
if location == "Q529711" then -- Q529711 is 'beginning'
if not details[index].content then details[index].content = amount end -- participants at start
elseif location == "Q12769393" then -- Q12769393 is 'end'
if not details[index+1].content then details[index+1].content = amount end -- participants at end
end
end
end
end
local function infoInitTab(width, name, icon, cellpadding)
if width==nil then width= '320px' end
local tab = mw.html.create('table')
if wiki == "eo" then
tab:cssText(standardtablecss):css('width','23em')
:addClass('infobox')
else
cellpadding=tostring(cellpadding or 4)
tab:attr('cellpadding',cellpadding)
:attr('cellspacing','0')
:cssText(standardtablecss)
:cssText("float:"..floatinfobox.."; max-width:"..width)
end
local tCell=tab:tag('tr'):tag('td'):attr('colspan','2')
:cssText('border-bottom:5px solid white; font-size:175%; text-align:center')
:css('background-color',backgroundColor)
local topTable = tCell:tag('table')
:cssText('width:100%')
local tRow=topTable:tag('tr')
tRow:tag('td'):wikitext(name or '')
tRow:tag('td'):wikitext(icon or '')
return tab
end
local function addARow(name, content)
local tRow
if content then
tRow= mw.html.create('tr'):css('vertical-align','top')
tRow:tag('td'):css('width','40%'):css('font-weight','bold')
:wikitext(name)
tRow:tag('td'):wikitext(content)
end
return tRow
end
local function addATitle(title)
local tRow
if title then
tRow= mw.html.create('tr'):tag('td'):attr('colspan','2')
:css('text-align','center')
:css('background-color',backgroundColor)
:css('font-weight','bold')
:wikitext(title)
end
return tRow
end
local function infoFillOthersDetails(tab, others, details,title, pxmax)
if not pxmax then
pxmax="300px"
end
if others and others[1].content then -- picture
tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center')
:wikitext("[[File:" .. others[1].content .."|center|"..pxmax.."]]")
if others and others[2].content then -- caption
tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%')
:wikitext(others[2].content)
end
end
if details then
tab:node(addATitle(title))
for _, row in ipairs(details) do
tab:node(addARow(row.name, row.content)) --node check itself if nil
end
end
end
local function infoFillOthersMap(tab, others)
if others[3].content then -- map
tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center')
:wikitext("[[File:".. others[3].content .. "|center|300px]]")
if others[5].content then -- caption
tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%')
:wikitext(others[5].content)
end
end
if others[4].content then -- map
tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center')
:wikitext("[[File:".. others[4].content .. "|center|300px]]")
if others[6].content then -- caption
tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%')
:wikitext(others[6].content)
end
end
end
local function wdDoc(tab, s, translation, ID)
local tCell=tab:tag('tr'):tag('td')
local tC
local commons_cat=firstValue(ID, 'P373', 'id')
if commons_cat then
commons_cat=string.gsub(commons_cat, '%s', '_')
local icon="[[File:Commons-logo.svg|12px|link=https://commons.wikimedia.org/wiki/Category:"..commons_cat.."]]"
tC=tCell:cssText('text-align:left; border-top:3px solid '..backgroundColor..'; font-size:75%')
:wikitext(icon):tag('td')
else
tC=tCell:attr('colspan','2')
end
local wd_link = wdLink(ID)
local link = "[[" .. s .. "|" .. translation .. "]] "..wd_link
if wiki == "ar" then
link = wd_link .." [[" .. s .. "|" .. translation .. "]]"
end
tC:cssText('text-align:right; border-top:3px solid '..backgroundColor..'; font-size:75%')
:wikitext(link)
end
local function listWPlink(details, index, entityID, PID, bool_link)
local org={}
for _, p in statements(entityID, PID) do
if p and p.mainsnak.snaktype == 'value' then
if bool_link then
table.insert(org,WPlinkpure(p.mainsnak.datavalue.value.id))
else
local label=wikibase.getLabelByLang(p.mainsnak.datavalue.value.id, wiki)
table.insert(org,label)
end
end
end
if org[1] then
if #org > 1 then
details[index].name = details[index].name_plural
end
details[index].content = table.concat(org, '<br/>')
end
end
--Display in a chronological order fields in a table
local function listWPlinkChrono(details, index, entityID, listOfProperty, option, initialYear, display_flag, comma)
local period, sTime, value, ID, temp
local list={}
if not initialYear then initialYear="1900" end
if not details[index].content then
for _, prop in ipairs(listOfProperty) do
if #list==0 then --if P1532 is used P17 is not used
for _, p in statements(entityID, prop) do
if p and p.mainsnak.snaktype == 'value' then
ID=p.mainsnak.datavalue.value.id
if p.qualifiers then
period, sTime=getPeriod( p.qualifiers, true)
end
if not sTime then sTime="+"..initialYear.."-01-01T00:00:00Z" end --first
if option =='label' then
value=wikibase.getLabelByLang(ID, wiki)
elseif option == 'country' then
if display_flag then
value= flag(ID, sTime).." "..getCountryName(ID)
else
value=getCountryName(ID)
end
elseif option=='officialname' then
value=getOfficialName(ID, sTime,false) --official name is necessary because of continental team change in ProTeam
elseif option =='place' then
value=getPlaceLink(ID, sTime)
elseif option=='UCIcode' then
value=getTeamCodeCat(entityID, sTime) --! getTeamCodeCat uses teamID
elseif option=='money' then
local amount=p.mainsnak.datavalue.value.amount
local unit=p.mainsnak.datavalue.value.unit
value=dispmoney(amount, unit) or ''
else --rider
value=getRiderLink(ID, sTime)
end
if value then
table.insert(list,{sTime,period,value})
end
end
end
end
end
if #list ~=0 then
table.sort(list, function(a, b) return a[1] < b[1] end)
end
local separator='<br/>'
if comma then separator=', ' end
if list and #list==1 then
details[index].content=list[1][3] or ''
elseif list and #list~=0 then
details[index].name = details[index].name_plural
details[index].content=''
for _, v in pairs(list) do
temp=v[3] or ''
if v[2] then
temp=temp..' <small>'..v[2]..'</small>'..separator
else
temp=temp..separator
end
details[index].content=details[index].content..temp
end
end
end
end
-- == Functions for team roster
local function getReason(riderReason, riderRef, p527,timeOfRace,riderEnd) --reason for end
local listofproperty={'P1642','P1643','P1534'}
local outTable={}
local seasonYear, endYear
if timeOfRace then
seasonYear=tonumber(string.sub(timeOfRace, 2, 5))
end
if riderEnd then
endYear=tonumber(string.sub(riderEnd, 2, 5))
end
--if not the last season, do not display the reason for end
if (riderReason == nil and (not endYear or
(seasonYear and endYear and (seasonYear== endYear)))) then --if no riderReason before then look for it, otherwise don't touch it
for _,v in ipairs(listofproperty) do
for _, q in qualifiers(p527, v) do
riderReason = q.value.id
end
end
if riderReason then
local label = string.gsub(wikibase.label(riderReason), "%b()", "") or getLabelFallback(riderReason,{'en', 'fr', 'de'})
riderRef = getReference(p527, 1)
riderReason = ', ' .. label
end
end
return riderReason, riderRef
end
local function getPosition(riderPosition,v)
local stagiaire
if riderPosition == nil then -- find the 'position' (P39) of a rider
for _, q in qualifiers(v, 'P39') do
stagiaire = q.value.id
local label = string.gsub(wikibase.label(stagiaire), "%b()", "") or getLabelFallback(stagiaire,{'en', 'fr', 'de'})
Sitelink = wikibase.getSitelink('Q2328847')
if Sitelink then
riderPosition=', ' .. "[["..Sitelink .."|"..label.."]]"
else
riderPosition =', ' .. label
end
end
end
return riderPosition
end
local function trans(date, month, day)
if date ~= '' and date~=nil then
local _, _, y, m, d = string.find(date, "(%d+)-(%d+)-(%d+)")
if m == '00' then m = month end
if d == '00' then d = day end
date = '+'..y..'-'..m..'-'..d..'T00:00:00Z'
return date
end
return nil
end
local function parseDate(date, defaultYear, defaultMonth, defaultDay, errortext, etext)
local y, m, d
local date=trans(date, defaultMonth, defaultDay)
if not date then
date = '+'..defaultYear..'-'..defaultMonth..'-'..defaultDay..'T00:00:00Z'
y=defaultYear
m=defaultMonth
d=defaultDay
errortext=errortext..etext
else
_, _, y, m, d = string.find(date, "(%d+)-(%d+)-(%d+)")
if not y or y=="0000" then
y=defaultYear
errortext=errortext..etext
end
date = '+'..y..'-'..m..'-'..d..'T00:00:00Z'
end
return date, y, m, d, errortext
end
local function findLastName(label,wiki)
if not label then label = '' end
local _, count = string.gsub(label, " ", " ")
local names
local a,b,c,d = '', '', '', ''
local done = false
if count ~= nil then count = count + 1 else count = 1 end
if count > 1 then
if count == 2 then
if label ~= '' then
a, b = string.match(label, "(%S+)%s+(%S+)")
names = b..' '..a
end
else
local name_parts_mk = {'да', 'ди', 'де', 'Де', 'ла', 'Ле', 'тен', 'ван', 'Ван'}
local name_parts_ru = {'да', 'ди', 'де', 'Де', 'ла', 'Ле', 'тен', 'ван', 'Ван'}
local name_parts = {'da', 'de', 'di', 'De', 'la', 'Le', 'ten', 'van', 'Van'}
if count == 3 and label ~= '' then
a, b, c = string.match(label, "(%S+)%s+(%S+)%s+(%S+)")
if wiki == 'mk' then
for _,v in ipairs(name_parts_mk) do if b == v then names = b..' '..c..' '..a done = true break end end
elseif wiki == 'ru' then
for _,v in ipairs(name_parts_ru) do if b == v then names = b..' '..c..' '..a done = true break end end
else
for _,v in ipairs(name_parts) do if b == v then names = b..' '..c..' '..a done = true break end end
end
if not done then
names = c..' '..a..' '..b
done = true
end
end
if count > 3 and label ~= '' then
a, b, c, d = string.match(label, "(%S+)%s+(%S+)%s+(%S+)%s+(%S+)")
if wiki == 'mk' then
for _,v in ipairs(name_parts_mk) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end
for _,v in ipairs(name_parts_mk) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end
elseif wiki == 'ru' then
for _,v in ipairs(name_parts_ru) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end
for _,v in ipairs(name_parts_ru) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end
else
for _,v in ipairs(name_parts) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end
for _,v in ipairs(name_parts) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end
end
if not done then names = label.."%"..b end --b..' '..c..' '..d..' '..a end
end
end
end
return names or ''
end
local function findSortKey(riderID, correctlanguage, wikiIsSlavic)
--find the last name to sort
if wikiIsSlavic and correctlanguage then
local label = wikibase.getLabelByLang(riderID, wiki)
if not label then
label = getLabelFallback(riderID, {'en', 'fr', 'de', 'es'})
return findLastName(label,wiki)
else
local nametable = mw.text.split(label, ",")
if nametable[2] then --there is a coma so the lastname is first
return nametable[1]..nametable[2]
else --no coma
return findLastName(label,wiki)
end
end
else
local label = getLabelFallback(riderID, {'en', 'fr', 'de', 'es'})
return findLastName(label,wiki)
end
end
--== V) Main functions ==
--=== A) Function race reference ===
local function race_reference(raceID)
-- Allow to display the reference below the classifications --
local bases={
{"ProCyclingStats", "P2327", "http://www.procyclingstats.com/race.php?id="},
{"Cycling Quotient", "P2648", "http://www.cqranking.com/men/asp/gen/race.asp?raceid="},
{"Cycling Archives", "P2330", "http://www.cyclingarchives.com/ritfiche.php?ritid="},
{"Cycling Quotient", "P2708", "http://www.cqranking.com/women/asp/gen/race.asp?raceid="}
}
local links = {}
local ref
for _, base in pairs(bases) do
local p = mw.wikibase.getBestStatements(raceID, base[2])
if p[1] and p[1].mainsnak.snaktype == 'value' then
if base[2]=="P2648" and p[1].mainsnak.datavalue.value=="1" then --code for general reference of results
ref=getReference(p[1], 1)
if ref then table.insert(links, ref) end
else
table.insert(links, ' [' .. base[3] .. p[1].mainsnak.datavalue.value .. " " .. base[1] ..']')
end
end
end
if #links == 1 then
return translate("race_reference", 1) .. table.concat(links)
elseif #links > 1 then
return translate("race_reference", 2) .. table.concat(links)
else
return ''
end
end
--=== B) Calendar ===
function p.calendarcustom(frame)
local headers={2} --date
if wiki == "ar" and string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name
then frame = frame:getParent() end
if frame.args[1] ~= nil then calendarID = string.gsub(frame.args[1], "%c", "") end
local display_numbering=false --default
local country_column=2
if istrue(frame.args['display_numbering']) then
display_numbering=true
table.insert(headers, 3)
country_column=3
end
--no_country modify the way the country is displayed
local no_country={}
if istrue(frame.args['no_country']) or wiki == "ar" then
no_country={wiki}
end
-- country --
table.insert(headers, 5)
--race--
table.insert(headers, 4)
local display_class=false
if istrue(frame.args['display_class']) or wiki == "ar" then
display_class=true
table.insert(headers, 6)
end
table.insert(headers, 7) --winner
local only_winner=1
if istrue(frame.args['podium']) or wiki == "ar" then
only_winner =0
table.insert(headers, 8) --second
table.insert(headers, 9) --third
end
local display_leader=false
if istrue(frame.args['display_leader']) then
display_leader=true
table.insert(headers, 10)
end
local display_team =false
if istrue(frame.args['display_team']) then
display_team =true
end
local data_type={}
for ii=1,#headers do
table.insert(data_type,'')
end
local womenrace_bool=isWomenrace(calendarID)
local s = {
header_function = "calendar", -- translations are in function Calendar
header_1 = 1000, -- translation 1 in function Calendar is printed in the upper part of the table header
header_2 = headers,-- translations 2, 3, 4, 5, 6 in function Calendar are printed in this order
title=wikibase.getLabel(calendarID), -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go.
country_column = country_column,
data_sort_type = data_type, -- see https://meta.wikimedia.org/wiki/Help:Sorting
item = calendarID,
property = 'P527',
no_country = no_country,
only_winner = only_winner,
display_numbering = display_numbering,
error_message = 0,
displayed_class =nil,
display_team=display_team,
display_class=display_class,
display_leader= display_leader,
frame=frame,
womenrace_bool=womenrace_bool
}
return calendar_main(s, tableA(s))
end
function p.calendar(frame)
----- function to display UCI calendar of one year ----
----- based on WWTcalendar function -----
----- author: Mr. Ibrahem -----
local calendarID
if wiki == "ar" then frame = frame:getParent() end
local UCI = data.UCIYearToQ
local header_1_tab = {["UWT"]=13 ,["europe"]=14 ,["asia"]=15,["america"]=16 ,["africa"]=17 ,["oceania"]=18, ["WWT"]=11, ["women"]=1, ["Pro"]=22}
local display_code_tab= {["UWT"]=1 ,["europe"]=2 ,["asia"]=2,["america"]=2 ,["africa"]=2 ,["oceania"]=2, ["WWT"]=1, ["women"]=2, ["Pro"]=2}
local header_1_number = 12
local tempdic
local tempdic1 = {
header_2 = {2, 3,5, 4, 7, 8, 9, 10},
only_winner =0,
display_numbering=true,
display_team=false,
display_class=false,
display_leader=true
}
local tempdic2 = {
header_2 = {2, 5, 4, 6, 7},
only_winner =1,
display_numbering=false,
display_team=true,
display_class=true,
display_leader=false
}
for key, v in pairs(UCI) do
if not calendarID and frame.args[key] then
local year = frame.args[key]
year = string.gsub(year , "%c", "")
if v[year] then
calendarID = v[year]
header_1_number = header_1_tab[key]
display_code = display_code_tab[key]
end
end
end
if wiki == "ar" then
if not (frame.args["code"] and frame.args["code"] == "2") then
display_code = 1
end
if calendarID == "" and frame.args.test then
calendarID = frame.args.test
end
end
if not calendarID or calendarID == "" then return "" end
if display_code == 1 then
tempdic=tempdic1
else
tempdic=tempdic2
end
if istrue(frame.args['display_numbering']) then
tempdic.display_numbering=true
elseif frame.args['display_numbering'] and istrue(frame.args['display_numbering']) == nil then
tempdic.display_numbering=false
end
local womenrace_bool=isWomenrace(calendarID)
local s = {
header_function = "calendar", -- translations are in function Calendar
header_1 = header_1_number, -- t
header_2 = tempdic.header_2,
-- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go.
country_column = 3,
data_sort_type ={'', 'unsortable', '', '', '','',''}, -- -- see https://meta.wikimedia.org/wiki/Help:Sorting
item = calendarID,
property = 'P527',
no_country = no_country_calendar,
only_winner = tempdic.only_winner,
display_numbering = tempdic.display_numbering,
error_message = 0,
displayed_class = nil, --all
display_team=tempdic.display_team,
display_class=tempdic.display_class,
display_leader=tempdic.display_leader,
frame=frame,
womenrace_bool=womenrace_bool
}
return calendar_main(s, tableA(s))
end
function calendar_main(s, resultTable)--Display the UCI women calendar of one year
localframe=s.frame
local calendarID=s.item
local fn_racetable,fn_datetable, fn_countrytable
local t_Body ={}
local womenrace_bool=isWomenrace(calendarID)
local temp=firstValue(calendarID, s.property)
if not temp then s.error_message = 2 return '' end
local country=getCountryBool(s.no_country)
if available_list==false then country=false end --otherwise the display put no "country" column...
----- Begin of the main part of the code
for kk, p527 in statements(calendarID, 'P527') do
local RaceID = p527.mainsnak.datavalue.value.id
---- Create a row ----
fn_datetable = fn_date(RaceID)
fn_racetable= fn_race(RaceID,s.displayed_class,s.display_class,fn_datetable["timeOfRace"],nil,country)
if fn_racetable["raceCell"]~=nil then --otherwise the class is not display
fn_countrytable=fn_country(RaceID,
fn_datetable["timeOfRace"],
country,
fn_racetable["raceCell"],
fn_racetable["parentID"]
)
local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;")
tRow:node(fn_datetable["tCell"])
if s.display_numbering == true then
tRow:tag('td'):cssText("text-align:center;padding:0 0.5em"):wikitext(tostring(kk))
end
tRow:node(fn_countrytable["tCell"])
if country then
tRow:node(fn_racetable["raceCell"])
end
if fn_racetable["classCell"] then tRow:node(fn_racetable["classCell"]) end --class
local tCell, _ =fn_rider(RaceID,fn_datetable["timeOfRace"],s.display_team,s.only_winner)
tRow:node(tCell)
if s.display_leader==true then
tRow:node(fn_rider(RaceID,fn_datetable["timeOfRace"],s.display_team,3))
end
---- Add the row to the table
t_Body[#t_Body + 1] = {fn_datetable["sortkey"], tRow}
end
end
return sortAndConcat(t_Body, resultTable)
end
function p.nationalchampionships(frame)
local calendarroadID, calendarITTID, year
if wiki == "ar" then
frame = frame:getParent()
end
local listOfCalendar={NationalRoadCyclingChampionships,NationalITTCyclingChampionships}
for ii, thisCalendar in pairs(listOfCalendar) do --road/ITT
for key, v in pairs(thisCalendar) do --look for the key of the dictionnary, here women/men
if ((ii==1 and calendarroadID==nil) or (ii==2 and calendarITTID ==nil)) and frame.args[key] then
year = frame.args[key]
year = string.gsub( year , "%c", "")
if v[year] then
if ii==1 then
calendarroadID = v[year]
else
calendarITTID = v[year]
end
end
end
end
end
local womenrace_bool=isWomenrace(calendarroadID)
local s = {
header_function = "calendar", -- translations are in function Calendar
header_1 = 19, --
header_2 = {5, 20, 21},
country_column = 1,
data_sort_type = {'', '', ''}, -- -- see https://meta.wikimedia.org/wiki/Help:Sorting
item= calendarroadID,
calendarroadID = calendarroadID,
calendarITTID = calendarITTID,
property = 'P527',
year = year,
no_country = {}, --no sense here to hide the country
error_message = 0,
display_team = true,
display_countrylink = true,
frame = frame,
womenrace_bool=womenrace_bool
}
return nationalchampionships_main(s,tableA(s))
end
function nationalchampionships_main(s, resultTable)--Display the list of national champions for one year
localframe=s.frame
local tableChamp, fn_countrytable, t_Body = {}, {}, {}
local timeOfRace ='+'..tostring(s.year).."-01-01T00:00:00Z"
local tRace, thereisawinner, parentID, parentParentID, sitelink
local temp=firstValue(s.calendarroadID, s.property)
if temp then else s.error_message = 2 return '' end
local listOfCalendarID={s.calendarroadID, s.calendarITTID}
--create the table with the information
for ii, thisCalendarID in ipairs(listOfCalendarID) do
if thisCalendarID ~= nil then
for _, p527 in statements(thisCalendarID, 'P527') do
thisID = p527.mainsnak.datavalue.value.id
fn_countrytable=fn_country(thisID,timeOfRace,s.country)
sortkey=string.gsub(fn_countrytable["countryname"], 'É', 'E') --case États Unis
--create the table
if tableChamp[sortkey]==nil then
tableChamp[sortkey]={}
tableChamp[sortkey]['countryname']=fn_countrytable["countryname"] --raw
tableChamp[sortkey]['roadwinner']='<td></td>'
tableChamp[sortkey]['ITTwinner']='<td></td>'
--look for sitelink to championship
sitelink=nil --reinit
if s.display_countrylink then --expensive
parentID = firstValue(thisID, 'P361', 'id') --part of
if parentID then
parentParentID = firstValue(parentID, 'P31', 'id')
if parentParentID then sitelink = wikibase.getSitelink(parentParentID) end
end
end
tableChamp[sortkey]['sitelink']=sitelink
tableChamp[sortkey]['flag']=fn_countrytable["flag"]
end
--fill the table
tRace, thereisawinner=fn_rider(thisID,timeOfRace,s.display_team,1,true)
if tableChamp[sortkey]['thereisawinner']~=true then --all other cases
tableChamp[sortkey]['thereisawinner']=thereisawinner
end
if ii==1 then
tableChamp[sortkey]['roadwinner']=tRace
else
tableChamp[sortkey]['ITTwinner']=tRace
end
end
end
end
-- structure the display
for key, thisRow in pairs(tableChamp) do
if thisRow['thereisawinner'] then --there is a winner
local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;")
if thisRow['sitelink']~=nil then
tRow:tag('td'):wikitext(thisRow['flag']..' [['..thisRow['sitelink']..'|'..thisRow['countryname']..']]')
else
tRow:tag('td'):wikitext(thisRow['flag']..' '..thisRow['countryname'])
end
tRow:node(thisRow['roadwinner'])
tRow:node(thisRow['ITTwinner'])
t_Body[#t_Body + 1] = {key, tRow}
end --no winner
end --end list of key
return sortAndConcat(t_Body, resultTable)
end
--=== C) Victory ===
function p.victories(frame)
local IDtemp=frame.args[1]
local womenrace_bool=isWomenrace(IDtemp)
local s = {
header_function = "victories", -- translations are in function victories
header_1 = 2, -- translation 1 in function victories is printed in the upper part of the table header
header_2 = {3, 4, 5, 6, 7},-- translations 2, 3, 4, 5, 6 in function victories are printed in this order
-- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go.
data_type = {'date', 'race', 'country', 'class', 'rider'},
country_column = 3,
data_sort_type = {'', 'unsortable', '', '', ''}, -- see https://meta.wikimedia.org/wiki/Help:Sorting
item = IDtemp,
property = 'P2522',
no_country = no_country_victories,
error_message = 0,
frame=frame,
womenrace_bool=womenrace_bool
}
return victory_main(s ,tableA(s))
end
function victory_main(s, resultTable)
localframe=s.frame
local _
_, _, s.item = string.find(s.item, "(%w+)")
local temp=firstValue(s.item, s.property,'id')
if temp then else s.error_message = 2 return '' end
local country=getCountryBool(s.no_country)
if available_list==false then country=false end
local sortkey
local t_Body = {}
for _, p2522 in statements(s.item, 'P2522') do
local RaceID = p2522.mainsnak.datavalue.value.id
local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;")
fn_datetable = fn_date(RaceID, 'victory')
fn_racetable=fn_race(RaceID,nil ,true,fn_datetable["timeOfRace"], 'victory',country)--displayed_class=nil
if fn_racetable["raceCell"]~= nil then --otherwise class not to be displayed
fn_countrytable=fn_country(RaceID,
fn_datetable["timeOfRace"],
country,
fn_racetable["raceCell"],
fn_racetable["parentID"]
)
tRow:node(fn_datetable["tCell"])
if country==true then
tRow:node(fn_racetable["raceCell"]) --race site link is in fn_countrytable
end
tRow:node(fn_countrytable["tCell"])
tRow:node(fn_racetable["classCell"]) --class
tRow:node(fn_rider(RaceID,fn_datetable["timeOfRace"],false,1))
t_Body[#t_Body + 1] = {fn_datetable["sortkey"], tRow}
end --no winner
end --end list of key
return sortAndConcat(t_Body, resultTable)
end
--== D) Stage infobox
function p.stageinfobox(frame)
local entityID = mw.text.trim(frame.args[1])
if type(entityID) ~= 'string' then error('parameter must be a string') end
if not entityID:match('Q%d+') then error('parameter must be a valid Wikidata item (ex: Q42)') end
local womenrace_bool=isWomenrace(entityID)
local details = {
{ name = translate("stageinfobox",2,womenrace_bool)}, -- course / not used
{ name = translate("stageinfobox",2,womenrace_bool)}, -- competition
{ name = translate("stageinfobox",3,womenrace_bool), name_plural = translate("infobox",4,womenrace_bool)}, -- stage type
{ name = translate("stageinfobox",4,womenrace_bool), name_plural = translate("infobox",7,womenrace_bool)}, -- date
{ name = translate("stageinfobox",6,womenrace_bool)}, -- distance
{ name = translate("stageinfobox",7,womenrace_bool), name_plural = translate("infobox",10,womenrace_bool)}, -- country
{ name = translate("stageinfobox",9,womenrace_bool)}, -- start place
{ name = translate("stageinfobox",10,womenrace_bool)}, -- endplace
{ name = translate("stageinfobox",11,womenrace_bool)}, -- participants at start
{ name = translate("stageinfobox",12,womenrace_bool)}, -- participants at end
{ name = translate("stageinfobox",13,womenrace_bool)}, -- speed
{ name = translate("stageinfobox",44,womenrace_bool)}, -- elevation
{ name = translate("infobox",32,womenrace_bool), special = true}, -- special 1
{ name = translate("infobox",33,womenrace_bool), special = true}, -- special 2
}
local others = {
{ name = translate("infobox",29,womenrace_bool)}, -- picture
{ name = translate("infobox",30,womenrace_bool)}, -- caption
{ name = translate("infobox",31,womenrace_bool)}, -- map
{ name = 'sectional'}, -- sectional
{ name = translate("infobox",30,womenrace_bool)}, -- caption map
{ name = translate("infobox",30,womenrace_bool)}, -- caption sectional
}
--begin of the function
local t_P642 = {
Q20882747={'results', 'first'},
Q20882748={'results', 'second'},
Q20882749={'results', 'third'},
Q21686770={'results', 'winner_fighting'},
Q2250962={'results', 'cima_coppi'},
Q10452933={'results', 'cima_pantani'},
Q20882763={'gen', 'leader'},
Q20882764={'gen', 'deuxieme'},
Q20882765={'gen', 'troisieme'},
Q20883213={'annex', 'montagne'},
Q20883140={'annex', 'jeune'},
Q20883008={'annex', 'points'},
Q20883329={'annex', 'sprints'},
Q20893984={'annex', 'super_combatif'},
Q20965880={'annex', 'combine'},
Q27104688={'annex', 'stage_volantes'},
Q27104684={'annex', 'regularite'},
Q20882922={'annex', 'equipe'},
Q27104271={'annex', 'equipe_points'},
Q20882667={'gen', 'leader'},
Q20882668={'gen', 'deuxieme'},
Q20882669={'gen', 'troisieme'},
Q20883212={'annex', 'montagne'},
Q20883139={'annex', 'jeune'},
Q20883007={'annex', 'points'},
Q20883328={'annex', 'sprints'},
Q20893983={'annex', 'super_combatif'},
Q20893979={'annex', 'combine'},
Q27067359={'annex', 'stage_volantes'},
Q27067170={'annex', 'regularite'},
Q27907747={'annex', 'azzurri_ditalia'},
Q27907748={'annex', 'azzurri_ditalia'},
Q27907714={'annex', 'breakaway'},
Q27907715={'annex', 'breakaway'},
Q20882921={'annex', 'equipe'},
Q27104269={'annex', 'equipe_points'}
}
local localframe
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then
localframe = frame:getParent()
else
localframe = frame
end
getLocalContent(details, localframe.args)
getLocalContent(others, localframe.args)
local timeOfRace
local temp = firstValue(entityID, 'P31','id')
icon = ''
if temp and temp ~= 'Q18131152' then
if temp=='Q2266066' or temp=='Q2348250' or temp=='Q485321' then
icon = " [[File:Cycling (track) pictogram.svg|35px]]"
else
icon = " [[File:Cycling (road) pictogram.svg|35px]]"
end
details[3].content = typeofstagelogo(entityID, true).." "..WPlinkpure(temp)
end
local name = getLabelFallback(entityID, {wikilang, 'en', 'fr', 'de'}) or ''
if wiki == 'fr' and name ~= nil then
name= mw.ustring.gsub(name, "^(%d+)([re]+)", "%1<sup>%2</sup> ")
end
name= mw.ustring.gsub(name, "^(%a)",function (x) return mw.ustring.upper(x) end)
infoGetOthers(others, entityID)
--name
if course==nil then
temp = firstValue(entityID, 'P1545')
if temp then
details[2].content =getStageLabel(temp)
raceId = firstValue(entityID, 'P361','id')
if raceId then
details[2].content = (details[2].content or '') .. '، '.. WPlinkpure(raceId)
for k, p31 in statements(raceId, 'P31') do
if race==nil then race={} end
race[k] = p31.mainsnak.datavalue.value.id --for the jersey
end
end
end
end
-- This function give a format to dates when P585 (date) is used in a single day race
local pTime = firstValue(entityID, 'P585', 'time') -- P585 is 'point in time'
if pTime then
details[4].content = funcDate(pTime, 'long')
timeOfRace = pTime
end
local kmdistance
if not details[5].content then details[5].content, kmdistance = getDistance(entityID, true) end -- distance
infoGetCountry(details,6, entityID, timeOfRace)
infoGetStartEnd(details,7, entityID, timeOfRace)
infoGetParticipants(details,9, entityID)
if not details[11].content then details[11].content = getSpeed(entityID, true, kmdistance, 'P2417') end --speed
if not details[12].content then
local elevation=getElevation(entityID)
if elevation ~= nil then details[12].content =elevation else details[12].content = nil end
end --Elevation
local jerseyWPID, jersey_name
local t_s = {
order={'results', 'gen', 'annex'},
results={show=false,
header=15,
order = {'first','second','third','winner_fighting','winner_fighting2','cima_coppi','cima_pantani'},
first={translation=16},
second={translation=17},
third={translation=18},
winner_fighting={translation=19},
winner_fighting2={translation=19}, -- two winner_fighting possible
cima_coppi={translation=40},
cima_pantani={translation=41}
},
gen={show=false,
header=20,
order = {"leader", "deuxieme", "troisieme"},
leader={translation=21},
deuxieme={translation=22},
troisieme={translation=23}
},
annex={show=false,
header=24,
order={"points","montagne","sprints","jeune","super_combatif","combine",
"stage_volantes","regularite","azzurri_ditalia","breakaway","equipe","equipe_points"},
points={translation=25},
montagne={translation=26},
sprints={translation=27},
jeune={translation=28},
super_combatif={translation=29},
combine={translation=30},
stage_volantes={translation=31},
regularite={translation=32},
azzurri_ditalia={translation=42},
breakaway={translation=43},
equipe={translation=33},
equipe_points={translation=34}
}
}
--Winner
for _, p1346 in statements(entityID, 'P1346') do
local id_speed, id_time, id_time_gap, id_points_a, id_points_b, type_ofclas, name_ofclas
local q = p1346.qualifiers
local riderId = p1346.mainsnak.datavalue.value.id
id_time = qualifieramount(p1346, 'P2781')
id_time_gap =qualifieramount(p1346, 'P2911')
id_speed =qualifieramount(p1346, 'P2052')
id_points_a = qualifieramount(p1346, 'P1358')
id_points_b =qualifieramount(p1346, 'P1351')
if riderId ~= nil then
local riderLink,riderTeam = subwinner(riderId, timeOfRace, q) --sub function to avoid code in double
-- looks into race item if the winner has a P642 statement for showing the type of winner(points, mountain, ..)
if q.P642 and q.P642[1].snaktype == 'value' then
for _, vv in pairs(q.P642) do
local qual = vv.datavalue.value.id
if qual~=nil and deprecated~='deprecated' and t_P642[qual] then
if qual=="Q21686770" and t_s['results']['winner_fighting'][1] ~= "" then
t_P642[qual][2] = 'winner_fighting2'
end
type_ofclas=t_P642[qual][1] --annex or gen
name_ofclas=t_P642[qual][2] --name of ranking
local v=t_s[type_ofclas][name_ofclas]
v['link']=riderLink
v['team']=riderTeam
v['rank']=isdisqualified(p1346,q)
v['time']=id_time
v['gap']=id_time_gap
if id_points_a then v['points']=id_points_a end
if id_points_b then v['points']=id_points_b end
v['speed']=id_speed
if qual=="Q27104271" and t_s.annex.equipe_points['link']==nil then
t_s.annex.equipe_points['link']=riderId
end
if qual=="Q20882922" and t_s.annex.equipe['link']==nil then
t_s.annex.equipe['link']=riderId
end
v['genre'] = getGenderCode(riderId,'f')
end
end
end
end
end
local rank, deprecated, prop, order, thisorder
local listoftable = {'results','gen'}
-- look into P2417, stage classification, then p2321 gen classification
for ii, thistable in ipairs(listoftable) do
if ii==1 then
prop='P2417'
order = {'first', 'second', 'third'}
else
prop='P2321'
order = {'leader', 'deuxieme', 'troisieme'}
end
for _, p2417 in statements(entityID, prop) do
local q = p2417.qualifiers
if q.P1352 and q.P1352[1].snaktype == 'value' then
for _, q1352 in pairs(q.P1352) do
rank = tonumber(q1352.datavalue.value.amount)
end
if rank == 1 or rank == 2 or rank == 3 then
thisorder=order[rank]
local v=t_s[thistable][thisorder]
v['rank'] = isdisqualified(p2417, q)
local thisid= p2417.mainsnak.datavalue.value.id
v['link'],_ = subwinner(thisid, timeOfRace, q)
if v['gap'] == nil and v['time'] == nil then
v['gap'] = qualifieramount(p2417, 'P2911')
end
if v['gap'] == nil and v['time'] == nil then
v['time'] = qualifieramount(p2417, 'P2781')
end
v['speed'] = qualifieramount(p2417, 'P2052')
v['genre'] = getGenderCode(thisid, 'f')
end
end
end
end
listoftable={t_s.results,t_s.gen,t_s.annex}
for _, thistable in ipairs(listoftable) do
for _, v in ipairs(thistable.order) do --order is the list of all classification names
if thistable[v]['link'] then
thistable.show = true
end
end
end
---General table
local temp
local width= '320px' -- size standard 320px, special 340px
if t_s.annex.show == true and (wiki == 'no' or wiki == '..') then width= '340px' end
tab= infoInitTab(width, name, icon)
infoFillOthersDetails(tab, others, details,translate("stageinfobox",1,womenrace_bool))
-- ranking table, general and stage
for _, value_order in ipairs(t_s.order) do
local thistable =t_s[value_order] --results or gen or annex
if thistable.show then -- if a section of the stageinfobox should be shown
tCell=tab:tag('tr'):tag('td'):attr('colspan','2')
tTab=tCell:tag('table'):attr('cellpadding','0'):attr('cellspacing','0'):css('width','100%')
tCell=tTab:tag('tr'):tag('td'):attr('colspan','3')
:cssText('border-bottom:5px solid #fff2cc; background-color:#FFE7A0; text-align:center')
:css('font-weight','bold')
:wikitext(translate("stageinfobox",thistable.header,womenrace_bool))
for key, value in ipairs(thistable.order) do --value is the name of the class
local v=thistable[value]
if v['link'] then
local a1
a1, jersey_name, jerseyWPID = jersey_infobox( value, race, timeOfRace)
if a1~='' then v['jersey'] = a1 end
if v['speed'] then
if wiki == 'fo' then
v['speed'] = string.gsub(v['speed'], "%.", ",")
else
local lang = mw.language.getContentLanguage()
v['speed'] = '('.. lang:formatNum(v['speed'])..translate("unit",5,womenrace_bool)..')'
end
end
if v['points'] then
if v['points'] > 1 then
temp=translate("unit",7,womenrace_bool)
else
temp=translate("unit",6,womenrace_bool)
end
v['points'] = v['points']..temp
end
local title, k = string.gsub(translate("stageinfobox",v['translation'],womenrace_bool), " ", " ")
if k > 0 then title = string.gsub(title, " ", "<br>", 1) end -- 
--Create an empty column on the left
tRow=tTab:tag('tr'):css('vertical-align','top')
tCell=tRow:tag('td')
:css('font-weight','bold')
if v['team']~=nil or v['speed'] ~=nil then
tCell:attr('rowspan','2')
end
tCell:cssText("width:1%;background-color:#fff2cc;text-align:" ..
textalign .. ";padding:0 2px 0 2px;white-space:nowrap")
if value_order~='annex' and v['translation']~=40 and v['translation']~=41 then -- Cima Coppi, Cima Pantani with a line break
if v['jersey'] == nil then
if (value_order=='results') and (value=='winner_fighting' or value=='winner_fighting2' or value=='cima_coppi' or value=='cima_pantanii') then
tCell:wikitext(translate("stageinfobox",v['translation'],womenrace_bool))
else
tCell:wikitext(number(v['genre'], key, wiki))
end
else
if jerseyWPID=='' then
temp=''
else
temp="|link="..jerseyWPID
end
tCell:wikitext("[[File:"..v['jersey'].."|20px|"..title..temp.."]]")
end
else
if v['jersey'] == nil then
tCell:wikitext(title)
else
if jerseyWPID=='' then
if jersey_name ~= '' then
temp = "|"..jersey_name
else
temp=''
end
else
temp= "|link="..jerseyWPID
end
tCell:wikitext("[[File:"..v['jersey'].."|20px"..temp.."]]" .. title)
end
end
tRow:tag('td'):cssText("padding:0 0.5em 0 0.5em;"..v['rank'])
:wikitext( v['link'])
tCell=tRow:tag('td'):cssText('text-align:right;font-size:85%;white-space:nowrap')
if v['time'] then
tCell:wikitext(calculateTime(v['time']))
end
if v['gap'] then
tCell:wikitext('+ '.. calculateTime(v['gap']))
end
tCell:wikitext(v['points'])
end
tCell=tTab:tag('tr'):tag('td'):attr('colspan','2')
if v['team']~=nil and v['speed'] ~=nil then -- team row
tTab2=tCell:tag('table'):attr('cellpadding','0'):attr('cellspacing','0'):css('width','100%')
tRow = tTab2:tag('tr')
tRow:tag('td'):cssText('width:100%;text-align:" .. textalign .. ";padding-left:2px')
:wikitext("("..v['team']..")") --add the team
tRow:tag('td'):cssText('font-size:85%;vertical-align:top;white-space:nowrap')
:wikitext(v['speed'])
else
if v['team']~=nil or v['speed'] ~=nil then
tCell:cssText("text-align:" .. textalign .. ";padding-left:2px")
if v['team'] ~= nil then
tCell:wikitext("("..v['team']..")") --add the team
end
tCell:tag('span'):cssText("float:right;font-size:85%;"):wikitext(v['speed'])
end
end
end
end
end
infoFillOthersMap(tab, others)
tab:node(getPreviousNextLine(entityID,true))
wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/stageinfobox", translate("stageinfobox",39,womenrace_bool), frame.args[1])
return tab
end
--== E) List of teams
function p.listofteams(frame)
local raceID = frame.args[1]
local teams = {} -- values will be {teamLink, teamCat, sortkey, index}
local WDlink_on = (wiki == "mk" or wiki == "ja")
local timeOfRace, errorMessage = getTimeOfRace(raceID)
if not timeOfRace then return errorMessage end
local womenrace_bool=isWomenrace(raceID)
local teamCats = { -- {c,d,e} c = singular team type, d = plural team type, e = print order of the team types
["Q6154783"] = {4,5,1}, -- WorldTeam
["Q80425135"] = {4,5,2}, -- UCI Women’s WorldTeam
["Q20638319"] = {6,7,3}, -- ProTeam (2005-2014)
["Q78464255"] = {6,7,4}, -- ProTeam (2020-)
["Q382927"] = {8,9,5}, -- UCI Professional Continental Team (2005-2019)
["Q1756006"] = {10,11,6}, -- UCI Continental Team
["Q20639847"] = {16,17,7}, -- professional cycling team
["Q20653563"] = {20,21,8}, -- Groupe Sportif I
["Q20653564"] = {22,23,9}, -- Groupe Sportif II
["Q20653566"] = {24,25,10}, -- Groupe Sportif III
["Q2466826"] = {28,29,11}, -- UCI Women’s Team
["Q23726798"] = {12,13,12}, -- national cycling team
["Q99658502"] = {12,13,13}, -- national cycling team "B"
["Q20738667"] = {12,13,14}, -- national cycling team U23
["Q54555994"] = {12,13,15}, -- national cycling team U19
["Q28492441"] = {12,13,16}, -- national cycling team with sponsor name
["Q20652655"] = {18,19,17}, -- amateur cycling team
["Q26849121"] = {30,31,18}, -- Women's amateur cycling team
["Q20639848"] = {14,15,19}, -- club and region cycling team
["Q20653570"] = {14,15,20}, -- club and region cycling team
}
local p1923 = mw.wikibase.getBestStatements(raceID, 'P1923') -- P1923 is participating teams
local no = 0 -- Index used for stable sorting
for _, v in pairs(p1923) do
if v.mainsnak.snaktype == 'value' then
no = no + 1
local teamLink, teamCat, countryID = getTeamLinkCat(v.mainsnak.datavalue.value.id, timeOfRace, true, true)
local flagImage = countryID and flag(countryID, timeOfRace) or ''
teams[#teams + 1] = {flagImage .. ' ' .. teamLink, teamCat,
teamCats[teamCat] and teamCats[teamCat][3] or 999, no}
end
end
table.sort(teams, function(a,b)
if a[3] < b[3] then return true end -- First sort key: Order from table teamCats
if a[3] > b[3] then return false end
return a[4] < b[4] -- Second key is the index to ensure stable sorting
end)
local function getHeader(CatID, count)
local header, sitelink
if teamCats[CatID] then
local done=false
if CatID=="Q2466826" then --name changed after 2020
local year = timeOfRace and tonumber(string.sub(timeOfRace, 2, 5))
if year and year>2019 then
if count == 1 then
header_label = translate("headoftableIII",32, womenrace_bool) -- singular name
else
header_label = translate("headoftableIII",33, womenrace_bool) -- plural name
end
done=true
end
end
if done==false then
if count == 1 then
header_label = translate("headoftableIII",teamCats[CatID][1], womenrace_bool) -- singular name
else
header_label = translate("headoftableIII",teamCats[CatID][2], womenrace_bool) -- plural name
end
end
if CatID=='Q78464255' then
sitelink=wikibase.getSitelink('Q382927') --continental
else
sitelink=wikibase.getSitelink(CatID)
end
if sitelink ~= nil then
header = '[['..sitelink..'|'..header_label..']]'
else
header= header_label
end
end
local tHeader= mw.html.create('span'):css('font-size','1.2em'):css('font-weight','bold')
if not header then
-- Unknown team category. Get the label for the entity to display if possible
header = (CatID and getLabelFallback(CatID, {wikilang, 'en', 'fr', 'de'})) or 'Unknown team category'
tHeader:css('text-transform','capitalize')
end
tHeader:wikitext(header)
-- Set parameter to show team count in front of each category
local tTag=''
local showcounter = 2
if count >= showcounter then
tTag=mw.html.create('small'):wikitext(' (' .. count ..')')
end
return tostring(tHeader)..tostring(tTag)
end
local oldOrder = 0
local oldCatID
local count = 0
local list = ''
local header
local resultTable = mw.html.create('table')
:cssText("max-width:95%; padding:0.5em; margin-right:1em; border:1px solid rgb(200,200,200)")
local tCell = resultTable:tag('tr'):tag('td')
for _, team in ipairs(teams) do
local order = team[3]
if order ~= oldOrder then --new cat
if oldOrder > 0 then
header = getHeader(oldCatID, count)
tCell:wikitext(header)
tCell:node(tOl)
end
count = 1
oldOrder = order
tOl = mw.html.create('ul') --reinit
else
count = count + 1
end
oldCatID = team[2]
tOl:tag('li')
:cssText("width:20em;display:inline-block;vertical-align:text-top")
:wikitext(team[1])
end
--add last row
header = getHeader(oldCatID, count)
tCell:wikitext(header)
tCell:node(tOl)
local wd_link = mw.html.create('span'):css('float',floattable):wikitext(wdLink(raceID .. '#P1923'))
if arwiki_totemplate then wd_link = wdLink(raceID .. '#P1923') end
local tableFooter1=mw.html.create('tr')
tCell=tableFooter1:tag('td')
:addClass('navigation-only')
:cssText('border-top: 2px '..backgroundColor..' solid; font-size: 80%;')
tCell:wikitext(tostring(wd_link))
resultTable:node(tableFooter1)
return resultTable
end
--== F) Classifications
function p.UCIclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 19, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P3494', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
display_team=false,
max_rank_displayed=1000 --unlimited the whole team must be displayed
}
return new_classification(frame, s)
end
function p.pointsclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 10, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P3494', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.teamsclassificationbytime(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 14, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {3, 2, 4}, -- translations 3, 2, 4 in function headoftableII are printed in this order in the lower part of the table header
item = frame.args[1],
property = 'P3497', -- property to use for this table
team_classification = true, -- it is a team classification table, its not a rider classification table
background = 'strong', -- there is no background color for the first row, but the first row is formated strong
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.teamsclassificationbypoints(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 15, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {3, 2, 7}, -- translations 3, 2, 7 in function headoftableII are printed in this order in the lower part of the table header
item = frame.args[1],
property = 'P3496', -- property to use for this table
team_classification = true, -- it is a team classification table, its not a rider classification table
background = 'strong', -- there is no background color for the first row, but the first row is formated strong
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.stageclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 8, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 4 in function headoftableII are printed in this order in the lower part of the table header
item = frame.args[1],
property = 'P2417', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = false, -- there is no background color for the first row
display_ref = tonumber(frame.args[2]) == 0 and 0 or 1,
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.generalclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 4 in function headoftableII are printed in this order in the lower part of the table header
item = frame.args[1],
property = 'P2321', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
display_ref = tonumber(frame.args[2]) == 0 and 0 or 1,
max_rank_displayed=25,
}
return new_classification(frame, s)
end
function p.generalclassificationpoint(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = frame.args[1],
property = 'P2321', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
display_ref = tonumber(frame.args[2]) == 0 and 0 or 1,
max_rank_displayed=25
}
return new_classification(frame, s)
end
function p.generalclassificationforttt(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {3, 2, 4, 5, 6}, -- translations 3, 2, 4, 5, 6 in function headoftableII are printed in this order in the lower part of the table header
item = frame.args[1],
property = 'P2321', -- property to use for this table
team_classification = true, -- it is a team classification table, its not a rider classification table
background = false, -- there is no background color for the first row
display_ref = tonumber(frame.args[2]) == 0 and 0 or 1,
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.teamtimetrialclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 8, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {3, 2, 4, 5, 6}, -- translations 3, 2, 4, 5, 6 in function headoftableII are printed in this order in the lower part of the table header
item = frame.args[1],
property = 'P2417', -- property to use for this table
team_classification = true, -- it is a team classification table, its not a rider classification table
background = false, -- there is no background color for the first row
display_ref = tonumber(frame.args[2]) == 0 and 0 or 1,
max_rank_displayed=25
}
return new_classification(frame, s)
end
function p.mountainsclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 11, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P4320', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.sprintsclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 12, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P4322', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.bestyoungclassificationbypoints(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 13, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P4323', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.bestyoungclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 13, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P4323', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.u23classification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 18, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P4323', -- property to use for this table (same as best young classification)
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.combinationclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 16, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P4324', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.combativeclassification(frame)
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_1 = 17, -- translation 10 in function headoftableII is printed in the upper part of the table header
header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = 'P4321', -- property to use for this table
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.custompointsclassification(frame)
local team_title
if frame.args[4] and string.find(frame.args[4],"{{{")==nil then team_title=string.gsub(frame.args[4], "%c", "") end
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
header_1_text=string.gsub(frame.args[3], "%c", ""),
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = string.gsub(frame.args[2], "%c", ""), -- property to use for this table
team_title=team_title, --for old races where there was no team, only bike brands
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function p.customtimeclassification(frame)
local team_title
if frame.args[4] and string.find(frame.args[4],"{{{")==nil then team_title=string.gsub(frame.args[4], "%c", "") end
local s = {
header_function = "headoftableII", -- translations are in function headoftableII
header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header
header_1_text=string.gsub(frame.args[3], "%c", ""),
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
property = string.gsub(frame.args[2], "%c", ""), -- property to use for this table
team_title=team_title, --for old races where there was no team, only bike brands
team_classification = false, -- it is not a team classification table, its a rider classification table
background = 'color', -- there is a background color for the first row
max_rank_displayed=10
}
return new_classification(frame, s)
end
function new_classification(frame, s)
local country = true
for _, value in pairs(no_country_classification) do -- get data if country should be printed in this wiki
if value == wiki then country = false end
end
local raceID = s.item
local womenrace_bool=isWomenrace(raceID)
--[=[ It is possible to give the classification tables in the article commands to change the standard behaviour. They could look like this:
{{Cycling race/teamsclassificationbytime|Q18574623|newline=false|country=true}}
{{Cycling race/teamsclassificationbytime|Q18574623|country= false|newline=false}}
{{Cycling race/teamsclassificationbypoints|Q18574623|newline =true|country=true}}
{{Cycling race/teamsclassificationbypoints|Q18574623|newline= true}}
{{Cycling race/teamsclassificationbypoints|Q18574623|newline = false|country=false}}
{{Cycling race/teamsclassificationbytime|Q18574623|newline=true|country=true}}
One additional parameter is "newline" with the values "true" or "false". "newline" says, if there is a line brake after the table. Standard is
no line break after the tables stageclassification and teamtimetrialclassification.
The second parameter is "country" with the values "true" or "false". "country" tells the module to print the country column or not.
Most wikis have as standard to print the country columns, some wikis prefer as standard not to show the country column. A few lines above,
the command "if wiki == 'da' then country = false end" tells that daWiki do not want to see the country colums as standard. You can add your wiki
here in, if you do not want to see them as standard. With the new parameter editors are able to tell the module in the article what to do.
]=]
local timeOfRace, errorMessage = getTimeOfRace(raceID)
if not timeOfRace then return errorMessage end
local plus = ''
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name
then localframe = frame:getParent() else localframe = frame end
if localframe.args[1] ~= nil then localframe.args[1] = string.gsub(localframe.args[1], "%c", "") end
if localframe.args.country ~= nil then -- switch country column on or off in the article
if localframe.args.country == 'true' then country = true end
if localframe.args.country == 'false' then country = false end
end
local tableHeader2_size = #s.header_2
local max_rank_displayed=s.max_rank_displayed
if localframe.args['max_rank_displayed'] and localframe.args['max_rank_displayed'] ~= '' then
max_rank_displayed=tonumber(localframe.args['max_rank_displayed'])
end
if s.header_1_text ==nil then s.header_1_text=translate(s.header_function,s.header_1,womenrace_bool) end --for custom title
local team_translation_index=3
if s.team_title == nil then s.team_title=translate(s.header_function,team_translation_index,womenrace_bool) end --translation for team has index "3"
local tableBody = mw.html.create('table')
:addClass('sortable')
:attr('cellpadding', '0')
:attr('cellspacing', '0')
:css('border' , '0')
local wd_link = wdLink( raceID .. '#' .. s.property )
local wd_span = mw.html.create('span'):css('float','left'):wikitext(wd_link)
if wiki == "ar" then
if arwiki_totemplate then wd_span = wd_link
else wd_span = mw.html.create('span'):css('float','right'):wikitext(wd_link)
end end
tableBody:tag('tr'):tag('th')
:attr('colspan', tostring(tableHeader2_size + 1)):cssText("padding:2px 2px; text-align:center; background-color:"..backgroundColor)
:wikitext(tostring(wd_span)..s.header_1_text)
header= tableBody:tag('tr'):cssText("text-align:center;padding:2px 2px;white-space:nowrap")
for i, k in ipairs(s.header_2) do
if i ~= 2 or (country and available_list) then
local header_text
if k == team_translation_index then --for team
header_text=s.team_title
else
header_text=translate(s.header_function,k,womenrace_bool)
end
local head =header:tag('th'):wikitext(header_text)
if i == 1 then
head:attr('colspan','2')
end
end
end
local t_Body = {} --contains all rows
local tCell, bg_color, tStyle, temp, temp2
local claims = mw.wikibase.getAllStatements(raceID, s.property)
for l, m in pairs(claims) do -- look into all statements
if m.mainsnak.snaktype == 'value' then
local riderID = m.mainsnak.datavalue.value.id
local q = m.qualifiers or {}
local rank, riderLink, gender, countryID, teamLink
local flagLink, countryName = '', ''
local h = {
jersey = {}, -- lots of jerseyID
value = {'', '', '', ''} -- points, time, time_gap, speed
}
if q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking
rank = tonumber(q.P1352[1].datavalue.value.amount)
else
rank = ''
end
if q.P1534 and q.P1534[1].snaktype == 'value' then
local dnf=q.P1534[1].datavalue.value.id
if dnf=='Q1210380' then riderDNF =translate("startlist",6,womenrace_bool)--"HD","NP","DQ"
elseif dnf=='Q54881674' or dnf=='Q7113430' then riderDNF =translate("startlist",7,womenrace_bool)
elseif dnf=='Q1210382' then riderDNF =translate("startlist",8,womenrace_bool)
elseif dnf=='Q1229261' then riderDNF =translate("startlist",9,womenrace_bool)
else riderDNF=''
end
else
riderDNF=''
end
local cancelled=isdisqualified(m,q)
if wiki == 'es' or wiki == 'fr' or wiki == 'ast' then
--[[ These wikis need the gender to display the rank correct. Other wikis can skip this. ]]
gender = getGenderCode(riderID, 'n')
end
h.value[1] = qualifieramount(m, 'P1358')
h.value[2] = qualifieramount(m, 'P2781')
if q.P2911 and q.P2911[1].snaktype == 'value' then -- P2911 is time gap
h.value[3] = tonumber(q.P2911[1].datavalue.value.amount)
plus = '+ '
end
h.value[4] = qualifieramount(m, 'P2052')
if q.P2912 then -- P2912 is distinctive jersey
for _, v in pairs(q.P2912) do
if v.snaktype == 'value' then
table.insert(h.jersey, v.datavalue.value.id)
end
end
end
if s.team_classification then
local _
teamLink, _, countryID = getTeamLinkCat(riderID, timeOfRace, true)
else
riderLink = getRiderLink(riderID,timeOfRace)..(getReference(m) or '')
teamLink = getTeam(riderID, timeOfRace, q)
countryID = getNationality(riderID, timeOfRace,q)
end
if countryID then
flagLink = flag(countryID, timeOfRace)
if available_list and country then
if type(translations.list) == "function" then
countryName = translations.list(countryID)
end
if countryName == '' then
local label, lang = mw.wikibase.getLabelWithLang(countryID)
--[[ Uses standard language fallback. Should not be nil, as all countries have English labels. ]]
if lang == wikilang then
countryName = label
else
countryName = label .. ' (' .. lang .. ')'
end
end
end
end
-- find the right background color if a rider has more then one jersey
-- see Wikidata:WikiProject Cycling/Kit to translate/Jerseys
bg_color=nil
if h.jersey[1] then
for _, jersey in pairs(h.jersey) do
if bg_color_table[jersey] then
bg_color = bg_color_table[jersey]
break
end
end
end
tStyle=''
if rank == 1 then
if s.background then -- values are 'strong' or 'color'
tStyle = tStyle ..'font-weight:bold;' -- winner is formated bold
if s.background == 'color' then
if h.jersey[1] and bg_color then -- background color of winner depending on jersey
tStyle = tStyle .. 'background-color:' ..bg_color
end
end
end
end
local tBody = mw.html.create('tr'):cssText(tStyle) -- a row
tBody:tag('td'):cssText("text-align:center;padding:2px 0.5em 2px 0.5em;white-space:nowrap;"..cancelled)
:wikitext(number(gender, rank, wiki))
tCell= tBody:tag('td'):cssText("text-align:" .. textalign .. ";padding:0 0.2em 0 0.2em;"..cancelled)
if not s.team_classification then
if not teamLink then teamLink = '' end
if not available_list then
tCell:wikitext(flagLink .. ' '.. riderLink .. jersey(h.jersey))
if s.display_team~=false then
tBody:tag('td'):wikitext(teamLink)
end
else
if country == true then
tCell:wikitext(riderLink .. jersey(h.jersey) )
tBody:tag('td'):wikitext( flagLink ..' '.. countryName)
else
tCell:wikitext(flagLink .. ' ' .. riderLink .. jersey(h.jersey))
end
if s.display_team~=false then
tBody:tag('td'):cssText("text-align:".. textalign ..";padding:0 0.2em 0 0.2em")
:wikitext(teamLink)
end
end
else --team
if available_list==true and country then
tCell:wikitext(teamLink .. jersey(h.jersey))
tBody:tag('td'):wikitext(flagLink .. ' ' .. countryName)
else
tCell:wikitext(flagLink .. ' ' .. teamLink .. jersey(h.jersey))
end
end
if s.header_2[4] == 4 then -- for table stageclassification, generalclassification, adds time and time gap
if riderDNF=='' then
if rank == 1 and h.value[2] then
temp=calculateTime(h.value[2])
elseif rank == 1 and h.value[3]==nil then --avoid a plus with nothing
temp=''
else
temp=plus .. calculateTime(h.value[3])
end
else
temp=riderDNF
end
tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp)
end
if s.header_2[4] == 7 or (s.header_2[3] == 7 and s.header_2[1] == 1) then -- for table pointsclassification, adds points
--trick for UCI classification
if riderDNF=='' then
if h.value[1] then temp=h.value[1] else temp='' end
tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em")
:wikitext(temp)
if type(h.value[1]) == "number" then
if h.value[1] > 1 then
temp2=translate("unit",7,womenrace_bool)
else
temp2=translate("unit",6,womenrace_bool)
end
tCell:tag('span'):cssText("font-size:80%"):wikitext(temp2)
end
else
tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(riderDNF)
end
end
if s.header_2[3] == 4 then
if s.property == 'P2417' or s.property == 'P2321' then
-- for tables teamtimetrialclassification or generaltttclassification, adds time
tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em")
:wikitext(calculateTime(h.value[2]))
end
end
if s.property == 'P3497' then -- for table teambytimeclassification, adds time and time gap
if rank == 1 then
temp=calculateTime(h.value[2])
else
temp=plus .. calculateTime(h.value[3])
end
tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp)
end
if s.property == 'P3496' then -- for table teambypointsclassification, adds points
tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em")
:wikitext(h.value[1])
if type(h.value[1]) == "number" then
if h.value[1] > 1 then
temp2=translate("unit",7,womenrace_bool)
else
temp2=translate("unit",6,womenrace_bool)
end
tCell:tag('span'):cssText("font-size:80%"):wikitext(temp2)
end
end
if s.header_2[4] == 5 then -- for table teamtimetrialclassification, adds time gap
if l > 1 then temp= plus else temp='' end
tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp..calculateTime(h.value[3]))
end
if s.header_2[5] == 6 then -- for table teamtimetrialclassification, adds speed
tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em")
if type(h.value[4]) == "number" then
tCell:wikitext(mw.ustring.format('%.3f', h.value[4]))
:tag('span'):cssText("font-size:80%"):wikitext(translate("unit",5,womenrace_bool))
end
end
if rank~='' and rank<=max_rank_displayed then --else no display
if riderDNF=='' then
t_Body[#t_Body + 1] = {(type(rank) == 'number') and rank or 999, tostring(tBody)}
else --disqualified should be higher than not disqualified if the ranking was revided
t_Body[#t_Body + 1] = {(type(rank) == 'number') and rank-0.1 or 999, tostring(tBody)}
end
end
end
end
tableBody=sortAndConcat(t_Body, tableBody)
local tableFooter1,tableFooter2
if s.display_ref == 1 or wiki == "ar" then
tableFooter1=mw.html.create('tr')
tCell=tableFooter1:tag('td')
:addClass('navigation-only')
:cssText('border-top: 2px '..backgroundColor..' solid; font-size: 80%;')
tableFooter2=mw.html.create('tr')
tCell=tableFooter2:tag('td')
:cssText("text-align:right")
tCell:tag('small')
:wikitext(race_reference(raceID))
end
--general table style and last line
local tableStyle, tableNewline
if localframe.args.newline == 'false' then -- parameter newline in WP article is 'false'
tableStyle = "float:" .. floattable .. "; margin-right:0.5em; border:1px solid rgb(200,200,200)"
tableNewline = ''
end
if localframe.args.newline == 'true' then -- parameter newline in WP article is 'true'
tableStyle = "border:1px solid rgb(200,200,200)"
tableNewline = '<br style="clear:left;">'
end
if localframe.args.newline == nil then -- no second parameter, compatible to the old code
if s.property == 'P2417' then --stageclassification
tableStyle = "float:"..floattable.."; margin-right:0.5em; border:1px solid rgb(200,200,200)"
tableNewline = ''
else
tableStyle = "border:1px solid rgb(200,200,200)"
tableNewline = '<br style="clear:left;">' -- everything else
end
end
local finalTable= mw.html.create('table'):cssText(tableStyle)
finalTable:tag('tr'):tag('td')
:node(tableBody)
if tableFooter1 then
finalTable:node(tableFooter1)
finalTable:node(tableFooter2)
end
return tostring(finalTable)..tableNewline
end
--=== G) Infobox ===
function p.infobox(frame)
return infobox_main(frame,0)
end
function p.infoboxseason(frame)
return infobox_main(frame,1)
end
function p.infoboxChamp(frame)
return infobox_main(frame,2)
end
function infobox_main(frame, selector)
localframe = frame
-- If true, winners will have Wikidata logos with link to Wikidata
local WDlink_on = (wiki == "mk" or wiki == "ja")
-- If true, winners will the team of the cyclist
local team = true
local details, others, winners
local entityID = mw.text.trim(frame.args[1])
if type(entityID) ~= 'string' then error('parameter must be a string') end
if not entityID:match('Q%d+') then error ('parameter must be a valid Wikidata item (ex: Q42)') end
local womenrace_bool=isWomenrace(entityID)
if selector==0 then --normal infobox
details = {
{ name = translate("infobox",2,womenrace_bool)}, -- course
{ name = translate("infobox",3,womenrace_bool), name_plural = translate("infobox",4,womenrace_bool)}, -- competition
{ name = translate("infobox",5,womenrace_bool)}, -- stages
{ name = translate("infobox",6,womenrace_bool), name_plural = translate("infobox",7,womenrace_bool)}, -- date
{ name = translate("infobox",8,womenrace_bool)}, -- distance
{ name = translate("infobox",9,womenrace_bool), name_plural = translate("infobox",10,womenrace_bool)}, -- country
{ name = translate("infobox",11,womenrace_bool)}, -- start place
{ name = translate("infobox",12,womenrace_bool)}, -- endplace
{ name = translate("infobox",13,womenrace_bool)}, -- teams
{ name = translate("infobox",14,womenrace_bool)}, -- participants at start
{ name = translate("infobox",15,womenrace_bool)}, -- participants at end
{ name = translate("infobox",16,womenrace_bool)}, -- speed
{ name = translate("infobox",43,womenrace_bool)}, -- elevation
{ name = translate("infobox",17,womenrace_bool)}, -- cost
{ name = translate("infobox",32,womenrace_bool), special = true}, -- special 1
{ name = translate("infobox",33,womenrace_bool), special = true}, -- special 2
}
elseif selector==1 then --season infobox
details = {
{ name = translate("infobox",46,womenrace_bool)}, -- edition (1)
{ name = translate("infobox",3,womenrace_bool), name_plural = translate("infobox",4,womenrace_bool)}, -- competition (2)
{ name = translate("infobox",6,womenrace_bool), name_plural = translate("infobox",7,womenrace_bool)}, -- date (3)
{ name = translate("infobox",45,womenrace_bool)}, -- rasing (4)
{ name = translate("infobox",47,womenrace_bool), name_plural = translate("infobox",48,womenrace_bool)}, -- location (country) (5)
{ name = translate("infobox",49,womenrace_bool), name_plural = translate("infobox",50,womenrace_bool)}, -- organizer (6)
{ name = translate("infobox",63,womenrace_bool), name_plural = translate("infobox",63,womenrace_bool)}, -- team class (7)
{ name = translate("infobox",32,womenrace_bool), special = true}, -- special 1
{ name = translate("infobox",33,womenrace_bool), special = true}, -- special 2
}
else --champ
details = {
{ name = translate("infobox",46,womenrace_bool)}, -- edition (1)
{ name = translate("infobox",6,womenrace_bool), name_plural = translate("infobox",7,womenrace_bool)}, -- date (2)
{ name = translate("infobox",9,womenrace_bool), name_plural = translate("infobox",10,womenrace_bool)}, -- country (3)
{ name = translate("infobox",67,womenrace_bool), name_plural = translate("infobox",68,womenrace_bool)}, -- location (city) (4)
{ name = translate("infobox",61,womenrace_bool), name_plural = translate("infobox",62,womenrace_bool)}, -- arena / stadion (5)
{ name = translate("infobox",60,womenrace_bool)}, -- medals (6)
{ name = translate("infobox",13,womenrace_bool)}, -- team (7)
{ name = translate("infobox",49,womenrace_bool), name_plural = translate("infobox",50,womenrace_bool)}, -- organizer (8)
{ name = translate("infobox",32,womenrace_bool), special = true}, -- special 1
{ name = translate("infobox",33,womenrace_bool), special = true}, -- special 2
}
end
others = { --same for 3 infobox
{ name = translate("infobox",29,womenrace_bool)}, -- picture
{ name = translate("infobox",30,womenrace_bool)}, -- caption
{ name = translate("infobox",31,womenrace_bool)}, -- map
{ name = 'sectional'}, -- sectional
{ name = translate("infobox",30,womenrace_bool)}, -- caption map
{ name = translate("infobox",30,womenrace_bool)}, -- caption sectional
}
if selector==0 then
winners = {
{ name = translate("infobox",19,womenrace_bool), QID = 'Q20882667' }, -- first
{ name = translate("infobox",20,womenrace_bool), QID = 'Q20882668' }, -- second
{ name = translate("infobox",21,womenrace_bool), QID = 'Q20882669' }, -- third
{ name = translate("infobox",22,womenrace_bool), QID = 'Q20883007' }, -- points
{ name = translate("infobox",23,womenrace_bool), QID = 'Q20883212' }, -- mountains
{ name = translate("infobox",24,womenrace_bool), QID = 'Q20883328' }, -- sprints
{ name = translate("infobox",25,womenrace_bool), QID = 'Q20883139' }, -- youth
{ name = translate("infobox",26,womenrace_bool), QID = 'Q101246973' }, -- supercombativity
{ name = translate("infobox",26,womenrace_bool), QID = 'Q20893983' }, -- combativity
{ name = translate("infobox",35,womenrace_bool), QID = 'Q27067359' }, -- volantes
{ name = translate("infobox",36,womenrace_bool), QID = 'Q27067170' }, -- regularity
{ name = translate("infobox",27,womenrace_bool), QID = 'Q20893979' }, -- combination
{ name = translate("infobox",38,womenrace_bool), QID = 'Q27907715' }, -- breakaway
{ name = translate("infobox",39,womenrace_bool), QID = 'Q27907747' }, -- azzurri
{ name = translate("infobox",40,womenrace_bool), QID = 'Q28092831' }, -- rookie
{ name = translate("infobox",28,womenrace_bool), QID = 'Q20882921' }, -- teams
{ name = translate("infobox",37,womenrace_bool), QID = 'Q27104269' }, -- teamspoints
{ name = translate("infobox",41,womenrace_bool), QID ='Q61976850' },-- amateur
{ name = translate("infobox",42,womenrace_bool), QID ='Q61976872' } --nationality
}
elseif selector==1 then
winners = {
{ name = translate("infobox",52,womenrace_bool), QID = 'Q20882667' }, -- individual (first)
{ name = translate("infobox",53,womenrace_bool), QID = 'Q20883139' }, -- youth
{ name = translate("infobox",54,womenrace_bool), QID = 'Q27104269' }, -- team (teamspoints)
{ name = translate("infobox",55,womenrace_bool), QID = 'Q98959152' }, -- team GS-I
{ name = translate("infobox",56,womenrace_bool), QID = 'Q98959153' }, -- team GS-II
{ name = translate("infobox",57,womenrace_bool), QID = 'Q98959155' }, -- team GS-III
{ name = translate("infobox",58,womenrace_bool), QID = 'Q72068715' }, -- country
{ name = translate("infobox",59,womenrace_bool), QID = 'Q72068724' } -- country U23
}
end --Champ has no winners
local localframe
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then
localframe = frame:getParent()
else
localframe = frame
end
getLocalContent(details, localframe.args)
getLocalContent(others, localframe.args)
if selector==0 or selector==1 then
getLocalContent(winners, localframe.args)
end
local timeOfRace, class
local icon = (firstValue(entityID, 'P641','id') == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing'
' [[File:Cycling (road) pictogram.svg|35px]]' or ''
local name = getLabelFallback(entityID, {wikilang, 'en', 'fr', 'de'}) or ''
infoGetOthers(others, entityID)
if not details[1].content then -- course
-- For FR Wiki and Wikidata, exception that permit to display 1er, 2e... for the edition number ;
-- for RU -й is written after the value of P393
local nr = firstValue(entityID, 'P393') -- P393 is 'edition number'
if nr then
if wiki == 'fr' then nr = (nr == 1) and "1<sup>re</sup> " or (nr .. "<sup>e</sup> ")
elseif wiki == "nl" then nr = nr .. "e "
elseif wiki == "ru" then nr = nr .. "-й "
elseif wiki == "eo" then nr = nr .. "-a "
elseif wiki == "hu" then nr = nr .. ". "
else nr = nr .. ". "
end
end
local is_a
local classID = firstValue(entityID, 'P279', 'id')
--fallback
if classID then
class = classLinkFn(classID)
else
for _, p31 in statements(entityID, 'P31') do -- P31 is 'instance of'
local instanceOf = p31.mainsnak.datavalue.value.id
if instanceOf ~= "Q27020041" and class_dic[instanceOf] then
class = classLinkFn(instanceOf)
break
end
end
end
local season = firstValue(entityID, 'P3450', 'id') -- P3450 is 'sports season of league or competition'
if season then
is_a = raceLink(season)
else
for _, p31 in statements(entityID, 'P31') do -- P31 is 'instance of'
local instanceOf = p31.mainsnak.datavalue.value.id
if instanceOf ~= 'Q27968055' and instanceOf ~= 'Q27020041' and class_dic[instanceOf] == nil then -- Q27020041 is 'sports season'
is_a = raceLink(instanceOf)
break
end
end
end
if nr and is_a then
details[1].content = nr .. ' ' .. is_a
end
end
if selector==0 or selector==1 then
if not details[2].content then -- competition
-- Class of a cycling race. Class is: 1.UWT, 2.UWT, 1.HC, ... add new classes, no problem
-- Competition of the cycling race : UCI World Tour 2016, UCI Europe Tour 2016...
local tours = {}
for _, p361 in statements(entityID, 'P361') do -- P361 is 'part of'
tours[#tours + 1] = raceLink(p361.mainsnak.datavalue.value.id)
end
if tours[1] then
if #tours > 1 then
details[2].name = details[2].name_plural
end
if class then
tours[1] = tours[1] .. ' ' .. class
end
details[2].content = table.concat(tours, '<br/>')
end
end
end
if selector==0 then
if not details[3].content then -- stages
local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part'
if stages > 0 then
details[3].content = stages
end
end
end
local index_date
if selector==0 then
index_date=4
elseif selector==1 then
index_date=3
else
index_date=2
end
if selector==0 or selector==1 then
if not details[index_date].content then -- date
local sTime = firstValue(entityID, 'P580', 'time') -- P580 is 'start time'
local eTime = firstValue(entityID, 'P582', 'time') -- P582 is 'end time'
if sTime and eTime then
local startTime, endTime = getStartEndTime(sTime, eTime)
details[index_date].content = startTime .. ' – ' .. endTime
details[index_date].name = details[index_date].name_plural
timeOfRace = eTime
else
-- This function give a format to dates when P585 (date) is used in a single day race
local pTime = firstValue(entityID, 'P585', 'time') -- P585 is 'point in time'
if pTime then
details[index_date].content = funcDate(pTime, 'long')
timeOfRace = pTime
end
end
end
end
--from this point the functions differ fundamentally
if selector==0 then
local kmdistance
if not details[5].content then details[5].content, kmdistance = getDistance(entityID, true) end -- distance
infoGetCountry(details,6, entityID, timeOfRace)
infoGetStartEnd(details,7, entityID, timeOfRace)
if not details[9].content then -- teams
local teams = #wikibase.getBestStatements(entityID, 'P1923') -- P1923 is 'participating teams'
if teams > 0 then
details[9].content = teams
end
end
infoGetParticipants(details,10, entityID)
if not details[10].content or not details[11].content then
local Allp710= wikibase.getAllStatements(entityID, 'P710')
if Allp710 and #Allp710~=0 then
if not details[10].content then details[10].content=#Allp710 end
if not details[11].content then
local maxrank=1
for _, p710 in pairs(Allp710) do -- look into all statements
local q = p710.qualifiers
if q and q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking
local riderRank = tonumber(q.P1352[1].datavalue.value.amount)
if riderRank > maxrank then maxrank = riderRank end
end
end
if maxrank~=1 then details[11].content=maxrank end
end
end
end
if not details[12].content then details[12].content = getSpeed(entityID, true, kmdistance, 'P2321') end --speed
if not details[13].content then
local elevation=getElevation(entityID)
if elevation then details[13].content =elevation else details[13].content = nil end
end --Elevation
if not details[14].content then -- cost
local cost = firstValue(entityID, 'P2130') -- P2130 is cost
if cost then
details[14].content = dispmoney(cost.amount, cost.unit)
end
end
elseif selector==1 then
if not details[4].content then -- racing
local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part'
if stages > 0 then
details[4].content = stages
end
end
if not details[5].content then -- location
infoGetPlace(details,5, entityID, timeOfRace) --in GAN version, the separator is , not <br />
end
if not details[6].content then -- organizer sitelink
listWPlink(details, 6, entityID,'P644',true) --org
end
if not details[7].content then -- organizer sitelink
listWPlink(details, 7, entityID,'P2670',true) --team ????
end
else --champ
infoGetCountry(details,3, entityID, timeOfRace)
if not details[4].content then -- location
infoGetPlace(details,4, entityID, timeOfRace) --in GAN version, the separator is , not <br />
end
if not details[5].content then -- arena / stadion
listWPlink(details, 5, entityID,'P115',true)
end
if not details[6].content then -- racing
local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part'
if stages > 0 then
details[6].content = stages
end
end
if not details[7].content then -- teams
local teams = #wikibase.getBestStatements(entityID, 'P1923') -- P1923 is 'participating teams'
if teams > 0 then
details[7].content = teams
end
end
if not details[8].content then -- organizer sitelink
listWPlink(details, 8, entityID,'P644',true) --org
end
end
tab = infoInitTab("300px", name, icon)
infoFillOthersDetails(tab, others, details,translate("infobox",1,womenrace_bool))
if selector==0 or selector==1 then --no winners for champ
local winRows=''
local win = {}
for _, v in pairs(winners) do
if not v.content then
win[v.QID] = ''
end
end
winner(entityID, win, timeOfRace, false, WDlink_on, team, true)
for _, v in pairs(winners) do
if not v.content then
if win[v.QID] ~= '' then
v.content = win[v.QID]
end
end
if v.content then
tRow= mw.html.create('tr') :css('vertical-align','top')
tRow:tag('td'):css('font-weight','bold'):wikitext(v.name)
tRow:tag('td'):wikitext(v.content)
winRows=winRows..tostring(tRow) --not elegant
end
end
if winRows~= '' then
tab:tag('tr'):tag('td'):attr('colspan','2')
:cssText('border-bottom:5px solid white; background-color:'..backgroundColor..'; text-align:center')
:css('font-weight','bold')
:wikitext(translate("infobox",18,womenrace_bool))
tab:wikitext(winRows)
end
end
if others[3].content then -- map
tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center')
:wikitext("[[File:".. others[3].content .. "|center|300px]]")
if others[5].content then -- caption
tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%')
:wikitext(others[5].content)
end
end
tab:node(getPreviousNextLine(entityID))
wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/infobox", translate("infobox",34,womenrace_bool), entityID)
return tab
end
--=== H) race infobox
function p.raceinfobox(frame)
localframe = frame
local lang = contentLanguage
-- If true, winners will have Wikidata logos with link to Wikidata
local WDlink_on = (wiki == "mk" or wiki == "ja")
local tRace = {race={
raceId,
raceDate,
future,
},
vainqueur= {},
lastEditionMonth,
lastEditionYear,
numberOfEditions,
lastLink,
nextLink,
lastWinner,
maxWinner,
}
local entityID = mw.text.trim(frame.args[1])
if type(entityID) ~= 'string' then error('parameter must be a string') end
if not entityID:match('Q%d+') then error('parameter must be a valid Wikidata item (ex: Q42)') end
local womenrace_bool=isWomenrace(entityID)
local details = {
{ name = translate("raceinfobox",4,womenrace_bool)}, -- sport
{ name = translate("raceinfobox",5,womenrace_bool)}, -- creation date
{ name = translate("raceinfobox",6,womenrace_bool)}, -- disparition date
{ name = translate("raceinfobox",7,womenrace_bool)}, -- number of editions
{ name = translate("raceinfobox",8,womenrace_bool)}, -- periodicity
{ name = translate("raceinfobox",9,womenrace_bool)}, -- type , name_plural = translate("infobox",10)
{ name = translate("raceinfobox",33,womenrace_bool), name_plural = translate("raceinfobox",34,womenrace_bool)}, --country
{ name = translate("raceinfobox",10,womenrace_bool), name_plural = translate("raceinfobox",11,womenrace_bool)}, -- place
{ name = translate("raceinfobox",12,womenrace_bool), name_plural = translate("raceinfobox",13,womenrace_bool)}, --org
{ name = translate("raceinfobox",27,womenrace_bool), name_plural = translate("raceinfobox",28,womenrace_bool)}, --race director
{ name = translate("raceinfobox",14,womenrace_bool)}, -- official web site
{ name = translate("raceinfobox",15,womenrace_bool), name_plural = translate("raceinfobox",16,womenrace_bool)}, -- Cat
{ name = translate("raceinfobox",17,womenrace_bool)}, -- circuit
}
local others = {
{ name = translate("infobox",29,womenrace_bool)}, -- picture
{ name = translate("infobox",30,womenrace_bool)}, -- caption
{ name = translate("infobox",31,womenrace_bool)}, -- map
{ name = 'sectional'}, -- sectional
{ name = translate("infobox",30,womenrace_bool)}, -- caption map
{ name = translate("infobox",30,womenrace_bool)}, -- caption sectional
}
local name = getLabelFallback(entityID, {wikilang, 'en', 'fr', 'de'}) or ''
infoGetOthers(others, entityID)
local localframe
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then
localframe = frame:getParent()
else
localframe = frame
end
getLocalContent(details, localframe.args)
getLocalContent(others, localframe.args)
local timeOfRace, class
local listOfNames=getFormerNames(entityID, 'P1448')
local sport_id=firstValue(entityID, 'P641', 'id')
local icon = (sport_id == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing'
' [[File:Cycling (road) pictogram.svg|35px]]' or ''
--1st ist sport
if not details[1].content and sport_id then
details[1].content = WPlinkpure(sport_id)
end
--creation
local creation=firstValue(entityID, 'P571', 'time')
if not details[2].content and creation then
details[2].content = funcDate(creation, "Y" )
end
--disparition
local disparition=firstValue(entityID, 'P576', 'time')
if not details[3].content and disparition then
details[3].content = funcDate(disparition,"Y")
end
--populate tRace
listOfWinners(entityID, tRace)
--number of editions
if not details[4].content and tRace.numberOfEditions and tRace.lastEditionYear then
details[4].content = tostring(tRace.numberOfEditions).." (" .. translate("raceinfobox",31,womenrace_bool) .. " "..tostring(tRace.lastEditionYear)..")"
end
--periodicity
if not details[5].content then
details[5].content = getPeriodicity(entityID, tRace)
end
--type
if not details[6].content then
details[6].content = getType(entityID)
end
timeOfRace=nil --could be from last edition
if not details[7].content then
infoGetCountry(details,7, entityID, timeOfRace)
end
if not details[8].content then
infoGetPlace(details,7, entityID, timeOfRace)
end
if not details[9].content then
listWPlinkChrono(details, 9, entityID, {'P664'}, true, initialYear) --organiser
end
if not details[10].content then
listWPlinkChrono(details, 10, entityID, {'P488'}, 'rider', initialYear) --race dir
end
if not details[11].content then
details[11].content = officialSite(entityID)
end
--Class and circuit
local classContent, circuitLink, numberClass= getClass(entityID)
if not details[12].content then
details[12].content = classContent
if numberClass >1 then
details[12].name = details[12].name_plural
end
end
if not details[13].content then
details[13].content = circuitLink
end
--Build the table
tab = infoInitTab("300px", name, icon)
--former names
wiki_listOfNamesAtBottom={'ru'}
local listOfNamesAtBottom = false
for _, value in pairs(wiki_listOfNamesAtBottom) do --
if value == wiki then listOfNamesAtBottom = true end
end
--picture at the top
infoFillOthersDetails(tab, others, nil,translate("raceinfobox",19,womenrace_bool),"260px")
if not listOfNamesAtBottom then
if listOfNames and #listOfNames>1 then
tab:node(addATitle(translate("raceinfobox",18,womenrace_bool)))
for _, v in pairs(listOfNames) do
tab:node(addARow(v[2],v[3])) --period, name
end
end
end
infoFillOthersDetails(tab, nil, details,translate("raceinfobox",19,womenrace_bool),"260px")
if listOfNamesAtBottom then
if listOfNames and #listOfNames>0 then -- except for the ru-wiki, no one uses the display of official names at the bottom anyway
tab:node(addATitle(translate("raceinfobox",18,womenrace_bool)))
for _, v in pairs(listOfNames) do
tab:node(addARow(v[2],v[3])) --period, name
end
end
end
if (tRace.lastWinner and tRace.lastWinner~='') or
(tRace.maxWinner and tRace.maxWinner~='') then
tab:node(addATitle(translate("raceinfobox",20,womenrace_bool)))
if (tRace.lastWinner and tRace.lastWinner~='') then
tab:node(addARow(translate("raceinfobox",21,womenrace_bool),tRace.lastWinner))
end
if (tRace.maxWinner and tRace.maxWinner~='') then
tab:node(addARow(translate("raceinfobox",22,womenrace_bool),tRace.maxWinner))
end
end
if tRace.nextLink or tRace.lastLink then
tab:node(addATitle(translate("raceinfobox",23,womenrace_bool)))
local outTable
if tRace.lastLink then
outTable = mw.html.create('tr')
local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center')
local lastText="[[File:Crystal Clear app kworldclock.png|left|37px]]"..
translate("raceinfobox",24,womenrace_bool)..
":<br>'''"..
tRace.lastLink.."'''"
tCell:wikitext(lastText)
tab:node(outTable)
end
if tRace.nextLink then
outTable = mw.html.create('tr')
local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center')
local nextText = "[[File:Crystal Clear app kworldclock.png|left|37px]]"..
translate("raceinfobox",25,womenrace_bool)..
":<br>'''"..
tRace.nextLink.."'''"
tCell:cssText("text-align:center"):wikitext(nextText)
tab:node(outTable)
end
end
wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/raceinfobox", translate("raceinfobox",26,womenrace_bool), entityID)
return tab
end
--=== I) Team roster
function p.teamroster(frame)
localframe=frame
local squadID
if frame.args[1] then squadID = string.gsub(frame.args[1], "%c", "") end
local flags, pays = {}, {}
local riderName, riderBirthday,riderTeam, timeTeam, correctlanguage,riderStart, riderEnd
local riderPosition, riderReason, riderRef, errortext
local riderReasonTable, riderTablecorrect, riderTablenotcorrect, riderTable = {}, {}, {}, {}
local labelMissing = false
local teamID, startOfSeason, stagiaire
local slavicWikis = {mk = true, ru = true}
local wikiIsSlavic = slavicWikis[wiki]
local WDlink_on = wiki == "mk" or wiki == "ja" or wiki == "ru" or wiki == "he"
local tableEndText = ''
local sort
--[[
The word 'sort' is used to sort the riders after the surname. It could look like this in the Wikipedia article
{{Cycling race/teamroster|Q21769847
| sort
}}
A rider called 'Laurens De Vreese' is sorted after 'De Vreese Laurens'. If you want to sort after 'Vreese Laurens De'
change that in the code. In lv mkWiki and ruWiki sorting is standard, there is no need to switch sorting on in the article
]]
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name
then localframe = frame:getParent() else localframe = frame end
if localframe.args[2] ~= nil then
if mw.ustring.find(mw.ustring.lower(localframe.args[2]), "sort") then sort = true else sort = false end
end
if wiki == "lv" or wiki == "mk" or wiki == "ru" then sort = true end
local womenrace_bool=isWomenrace(squadID)
local temp = firstValue(squadID, 'P361', 'id')
if temp then teamID = temp end
temp = firstValue(squadID, 'P580', 'time')
if temp then
startOfSeason = temp
else
local Sitelink=getSitelinkFallback(squadID,{'en', 'fr', 'de'})
if Sitelink == nil then return '> Wikidata is missing data about the start time (P580) and end time (P582) of the season'
else startOfSeason = '+'..string.match(Sitelink, '%d%d%d%d' ) ..'-01-01T00:00:00Z'
end
end
for _, p527 in statements(squadID, 'P527') do
--re-init
riderName, riderBirthday, correctlanguage=nil, nil, nil
riderTeam, timeTeam, riderReason, riderRef=nil, nil, nil, nil
riderStart, riderEnd=nil, nil
local riderID = p527.mainsnak.datavalue.value.id
riderName, correctlanguage =getRiderLink(riderID, startOfSeason) --label
if WDlink_on==true then riderName=riderName..wdLink(riderID) end
local timeOfRace = startOfSeason
_, startOfSeasonYear, startOfSeasonMonth, startOfSeasonDay, _=parseDate(startOfSeason, '2040', '12', '31', '','')
riderBirthday=firstValue(riderID, 'P569','time')
if not wikiIsSlavic then correctlanguage=true end --actually we never take a cyrillic name if no latin is found
local sortkey = findSortKey(riderID, correctlanguage, wikiIsSlavic)
for _, q in qualifiers(p527, 'P580') do
local startdate = q.value['time']
timeOfRace = startdate
riderStart = funcDate(trans(startdate,'01', '01') or '', 'small')
end
for _, q in qualifiers(p527, 'P582') do
local enddate=q.value['time']
riderEnd = funcDate(trans(enddate,'12', '31') or '', 'small')
end
riderPosition=getPosition(riderPosition,p527)
riderReason, riderRef=getReason(riderReason,riderRef,p527, timeOfRace,enddate)
local beginYear, beginMonth, beginDay, endYear, endMonth, endDay, beginDate, endDate, endDatefound, endDatetemp
local changedTime = '+0000-00-00'
if teamID == nil then
local p54 = getStatementForTime(riderID, 'P54', timeOfRace)
if p54 then teamID = p54.mainsnak.datavalue.value.id end
else
for _, v in statements(riderID, 'P54') do -- look into all P54 teams
stagiaire=nil
errortext=''
local thisteamID = v.mainsnak.datavalue.value.id
if thisteamID == teamID then
endDatefound=true
beginDate, endDate = getStartEndfromQuali(v.qualifiers)
beginDate, beginYear, beginMonth, beginDay, errortext = parseDate(beginDate, '2040', '01', '01', errortext, ' missing qualifiers by rider')
if not endDate then endDatefound=false end
endDate, endYear, endMonth, endDay, _ = parseDate(endDate, beginYear, '12', '31', errortext,'')
riderReason, riderRef=getReason(riderReason,riderRef,v,timeOfRace,endDate)
if (beginYear == startOfSeasonYear or endYear == startOfSeasonYear) and ((beginYear == startOfSeasonYear and (beginMonth ~= '01' or beginDay ~= '01')) or (endYear == startOfSeasonYear and (endMonth ~= '12' or endDay ~= '31'))) then
-- riders who start after 1 January or end earlier then 31 December in the season
riderStart = funcDate(beginDate, 'small')
if endDatefound then
riderEnd = funcDate(endDate, 'small')
else
riderEnd = funcDate('+'..beginYear..'-12-31T00:00:00Z', 'small')
end
riderPosition=getPosition(riderPosition,v)
end
else
for _, q in qualifiers(v, 'P39') do
stagiaire =q.value.id
end
if not stagiaire then
endDatefound=true
beginDate, endDatetemp=getStartEndfromQuali(v.qualifiers)
if not endDatetemp then endDatefound=false end
beginDate, beginYear, beginMonth, beginDay, errortext = parseDate(beginDate, '2040', '01', '01', errortext, ' missing qualifiers by rider')
endDate, endYear, endMonth, endDay, _ = parseDate(endDatetemp, beginYear, '12', '31', errortext, '')
if beginYear < startOfSeasonYear or (beginYear == startOfSeasonYear and beginMonth < startOfSeasonMonth) or
(beginYear == startOfSeasonYear and beginMonth == startOfSeasonMonth and beginDay < startOfSeasonDay) then -- start time < season time
if endDatefound then
if (endDate or '') >= changedTime then -- find maximum end time
-- Case Pierre-Roger Latour: Chambéry CF (2012 - 2014), time season at 2013
-- Task: changedTime should be after start time, but before startOfSeason
if endYear > startOfSeasonYear then
changedTime = '+'..startOfSeasonYear..'-12-31T00:00:00Z'
else
changedTime = endDate or ''
end
end
end
end
if changedTime ~= '+0000-00-00' then
riderTeam = getTeam(riderID, changedTime, nil)
local _, _, endYear, _, _ = string.find(changedTime, "(%d+)-(%d+)-(%d+)")
timeTeam = ' ('..endYear..')'
if wiki == "ar" then timeTeam = endYear end
end
end
end
end
end
--get the country
local countryID = getNationality(riderID, timeOfRace,q)
if countryID then
pays = getCountryName(countryID)
flags = flag(countryID, timeOfRace)
end
--save
local tRider={
sortkey=sortkey,
riderName=riderName,
riderBirthday=riderBirthday,
riderTeam=riderTeam,
timeTeam=timeTeam,
riderStart=riderStart,
riderEnd=riderEnd,
riderPosition=riderPosition,
riderReason=riderReason,
riderRef=riderRef,
errortext=errortext,
pays=pays,
flags=flags
}
if correctlanguage == true then
table.insert(riderTablecorrect,tRider )
else
table.insert(riderTablenotcorrect, tRider)
end
end
-- sorting names
-- if sort == true and #riderTablecorrect~=0 and #riderTablenotcorrect~=0 then -- It was
if sort == true and #riderTablecorrect==0 and #riderTablenotcorrect==0 then -- replaced with this to display the team roster in the ru-wiki
table.sort(riderTablecorrect, function(a,b) return a[1]<b[1] end)
table.sort(riderTablenotcorrect, function(a,b) return a[1]<b[1] end)
end
--merge
for _, v in pairs (riderTablecorrect) do
table.insert(riderTable, v)
end
for _, v in pairs (riderTablenotcorrect) do
table.insert(riderTable, v)
end
local wd_link = mw.html.create('span'):css('float','left'):wikitext(wdLink(frame.args[1]..'#P527'))
if arwiki_totemplate then wd_link = wdLink(frame.args[1] .. '#P527') end
local outTable = mw.html.create('table')
:addClass('sortable')
:attr('cellpadding', '2')
:attr('cellspacing', '0')
:css('border' , '1px solid rgb(200,200,200)')
:css('padding', '3px')
local th_colspan = 4
if wiki == "ar" then th_colspan = 5 end
outTable:tag('tr'):css('line-height','1.8em')
:css('background-color',backgroundColor)
:tag('th'):attr('colspan', th_colspan):cssText('text-align:center;white-space:nowrap')
:wikitext(tostring(wd_link))
:wikitext(translate("getSquadTableColumn",7,womenrace_bool))
local header = outTable:tag('tr')
header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",1,womenrace_bool))
local textalign = 'center'
if wiki=='ar' then textalign = 'right' end
header:tag('th'):cssText('text-align:'..textalign..';padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",2,womenrace_bool))
if available_list and wiki ~= 'lv' then
header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",6,womenrace_bool))
end
if wiki == "ar" then
header:tag('th'):attr('colspan', 2):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",3,womenrace_bool))
else
header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",3,womenrace_bool))
end
local temp
local iii = 1
for i, v in pairs (riderTable) do
local tRow=outTable:tag('tr'):css('line-height','1.8em')
local tCell= tRow:tag('td'):cssText("padding:0 1em 0 0;white-space:nowrap")
if not available_list or wiki == 'lv' then temp=v['flags']..' ' else temp='' end
tCell:wikitext(temp..v['riderName']):attr('data-sort-value',v['sortkey'])
if v['riderStart']~=nil or v['riderEnd']~=nil then
tCell:tag('span'):cssText("font-size:80%; color:#686868")
local note=''
if v['riderReason'] ~= nil then
note = ', [[#tr_'..i..frame.args[1]..'|'..translate("getSquadTableColumn",4,womenrace_bool)..']]'
if wiki == "ar" then note = '، [[#tr_'..i..frame.args[1]..'|'..translate("getSquadTableColumn",4,womenrace_bool)..']]' end
end
tCell:wikitext(' ('..(v['riderStart'] or '')..'–'..(v['riderEnd'] or '')
.. (v['riderPosition'] or '')..note..')')
elseif v['riderReason'] then
tCell:tag('span'):cssText("font-size:80%; color:#686868")
:wikitext('([[#tr_'..i..frame.args[1]..'|'..translate("getSquadTableColumn",4,womenrace_bool)..']]'.. ')')
end
tCell=tRow:tag('td'):cssText("text-align:right;white-space:nowrap")
if wiki == 'lv' then
local _, _, beginYear, beginMonth, beginDay = string.find(startOfSeason,"(%d+)-(%d+)-0*(%d+)")
local _, _, endYear, endMonth, endDay = string.find(v['riderBirthday'] or '',"(%d+)-(%d+)-0*(%d+)")
tCell:wikitext(frame:expandTemplate{ title = 'Template:Birth date and age2', args = { beginYear, beginMonth, beginDay, endYear, endMonth, endDay } })
else
tCell:wikitext(funcDate(v['riderBirthday'] or '', 'long'))
if available_list then
tRow:tag('td'):wikitext(v['flags'].. ' '..v['pays'])
end
end
if wiki =='he' then
local isRtl = (mw.ustring.find(v['riderTeam'], '|.*[א-ת]') or (not mw.ustring.find(v['riderTeam'], '|') and mw.ustring.find(riderTeam, '[א-ת]')))
if isRtl then
tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:right")
else
labelMissing = true -- FIXME: labelMissing is not functional in most languages. once we have infra support for it, move it there
tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:left")
end
else
if wiki == "ar" then
tCell=tRow:tag('td'):cssText("padding:0 0.5em")
else
tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:left")
end
end
if v['riderTeam'] then
if wiki == "ar" then
tCell:wikitext( v['riderTeam'] )
tCell=tRow:tag('td'):cssText("padding:0 0.5em")
tCell:wikitext( v['timeTeam']..v['errortext'] )
else
tCell:wikitext(v['riderTeam'].. v['timeTeam']..v['errortext'])
end
end
--tableEndText is not a table
if v['riderReason'] ~= nil or v['errortext'] ~= '' then
local temp=(v['riderReason'] or '')..(v['errortext'] or '')
if iii == 1 then
tableEndText = tableEndText.. translate("getSquadTableColumn",5,womenrace_bool)..': '.. v['riderName'].. temp
else
tableEndText = tableEndText.. '<span style="color:white">'.. translate("getSquadTableColumn",5,womenrace_bool)..': </span>'.. riderName.. temp
end
iii = iii + 1
if riderRef ~= nil then tableEndText = tableEndText..
frame:extensionTag{name='ref', content=v['riderRef'], args = {name='tr_'..iii..frame.args[1]}} end
tableEndText = tableEndText.. '<br>'
end
end
if labelMissing then outTable:wikitext(getMissingLabelTrackingCategory()) end
local UCIlink
if wiki=="fr" then
UCIlink="https://www.uci.org/fr/route/%C3%A9quipe"
else
UCIlink="https://www.uci.org/road/teams"
end
outTable:tag('tr'):tag('td'):addClass("navigation-only")
:attr('data-sort-value','zz')
:attr('colspan',th_colspan)
:cssText("border-top: 2px "..backgroundColor.." solid; font-size: 80%;")
:tag('tr')
:tag('td'):attr('colspan',th_colspan)
:attr('data-sort-value','zzz')
:cssText("text-align:right")
:tag('small'):wikitext(translate("race_reference", 1,womenrace_bool).."["..UCIlink..' UCI]')
return tostring(outTable)..tableEndText
end
--== J) List of winners ==
function p.listofwinners(frame)
local winnersProperty = {'Q20882667','Q20882668','Q20882669'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[5]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=display_team,
winnersProperty=winnersProperty,
custom=false
}
return listofwinners_main(frame, s)
end
function p.listofwinnersyoung(frame)
local winnersProperty = {'Q20883139','Q72099969','Q72099972'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[4]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=tonumber(frame.args[5]), -- since the answer is "args[4]"
winnersProperty=winnersProperty,
custom=false
}
return listofwinners_main(frame, s)
end
function p.listofwinnersChamp(frame)
local winnersProperty = {'Q20882667','Q20882668','Q20882669'}
local s = {
countryflag=false,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
winnersProperty=winnersProperty,
display_team = false,
custom=false
}
return listofwinners_main(frame, s)
end
--listofwinnerssecondpart and so on can be coded with p.listofwinners
function p.listofwinnersnowiki(frame)
local winnersProperty = {'Q20882667','Q20882668','Q20882669'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[5]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=display_team, -- since the answer is "args[4]"
winnersProperty=winnersProperty,
custom=false
}
return frame:extensionTag{ name = 'nowiki', content = listofwinners_main(frame, s)}
end
function p.listofwinnersteamofpoint(frame)
local winnersProperty = {'Q27104269','Q72065970','Q72065977'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[5]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=display_team, -- since the answer is "args[4]"
winnersProperty=winnersProperty,
custom=false
}
return listofwinners_main(frame, s)
end
function p.listofwinnersGSI(frame)
local winnersProperty = {'Q98959152','Q98959192','Q98959196'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[5]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=display_team, -- since the answer is "args[4]"
winnersProperty=winnersProperty,
custom=false
}
return listofwinners_main(frame, s)
end
function p.listofwinnersGSII(frame)
local winnersProperty = {'Q98959153','Q98959194','Q98959197'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[5]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=display_team, -- since the answer is "args[4]"
winnersProperty=winnersProperty,
custom=false
}
return listofwinners_main(frame, s)
end
function p.listofwinnersGSIII(frame)
local winnersProperty = {'Q98959155','Q98959195','Q98959198'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[5]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=display_team, -- since the answer is "args[4]"
winnersProperty=winnersProperty,
custom=false
}
return listofwinners_main(frame, s)
end
function p.listofwinnerscountry(frame)
local winnersProperty = {'Q72068715','Q72068718','Q72068721'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[5]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=display_team, -- since the answer is "args[4]"
winnersProperty=winnersProperty,
custom=false
}
return listofwinners_main(frame, s)
end
function p.listofwinnerscountryU23(frame)
local winnersProperty = {'Q72068724','Q72068725','Q72068729'}
local display_team = false -- display of a rider without a team
if tonumber(frame.args[5]) ==1 then display_team = true end -- display of the rider with the team
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team=display_team, -- since the answer is "args[4]"
winnersProperty=winnersProperty,
custom=false
}
return listofwinners_main(frame, s)
end
function p.listofwinnerscustom(frame)
local winnersProperty ={}
--general
if frame.args[5] ~= nil and tonumber(frame.args[5]) ==1 then table.insert( winnersProperty,'Q20882667') end
--podium
if frame.args[6] ~= nil and tonumber(frame.args[6]) ==1 then
table.insert( winnersProperty,'Q20882668')
table.insert( winnersProperty,'Q20882669')
end
--points
if frame.args[7] ~= nil and tonumber(frame.args[7]) ==1 then table.insert( winnersProperty, 'Q20883007' ) end
--mounstain
if frame.args[8] ~= nil and tonumber(frame.args[8]) ==1 then table.insert( winnersProperty, 'Q20883212' ) end
-- sprints
if frame.args[9] ~= nil and tonumber(frame.args[9]) ==1 then table.insert( winnersProperty, 'Q20883328' ) end
-- youth
if frame.args[10] ~= nil and tonumber(frame.args[10]) ==1 then table.insert( winnersProperty, 'Q20883139' ) end
-- supercombativity
if frame.args[11] ~= nil and tonumber(frame.args[11]) ==1 then table.insert( winnersProperty, 'Q101246973' ) end
-- combativity
if frame.args[11] ~= nil and tonumber(frame.args[11]) ==1 then table.insert( winnersProperty, 'Q20893983' ) end
-- volante
if frame.args[12] ~= nil and tonumber(frame.args[12]) ==1 then table.insert( winnersProperty, 'Q27067359' ) end
-- regularity
if frame.args[13] ~= nil and tonumber(frame.args[13]) ==1 then table.insert( winnersProperty, 'Q27067170' ) end
-- combination
if frame.args[14] ~= nil and tonumber(frame.args[14]) ==1 then table.insert( winnersProperty, 'Q20893979' ) end
-- breakaway
if frame.args[15] ~= nil and tonumber(frame.args[15]) ==1 then table.insert( winnersProperty, 'Q27907715' ) end
-- azzurri
if frame.args[16] ~= nil and tonumber(frame.args[16]) ==1 then table.insert( winnersProperty, 'Q27907747' ) end
-- rookie
if frame.args[17] ~= nil and tonumber(frame.args[17]) ==1 then table.insert( winnersProperty, 'Q28092831' ) end
-- teams
if frame.args[18] ~= nil and tonumber(frame.args[18]) ==1 then table.insert( winnersProperty, 'Q20882921' ) end
-- teamspoints
if frame.args[19] ~= nil and tonumber(frame.args[19]) ==1 then table.insert( winnersProperty, 'Q27104269' ) end
-- amateur
if frame.args[20] ~= nil and tonumber(frame.args[20]) ==1 then table.insert( winnersProperty, 'Q61976850' ) end
--nationality
if frame.args[21] ~= nil and tonumber(frame.args[21]) ==1 then table.insert( winnersProperty, 'Q61976872' ) end
-- country
if frame.args[22] ~= nil and tonumber(frame.args[22]) ==1 then table.insert( winnersProperty, 'Q72068715' ) end
-- country U-23
if frame.args[23] ~= nil and tonumber(frame.args[23]) ==1 then table.insert( winnersProperty, 'Q72068724' ) end
local s = {
countryflag=true,
beginyear=tonumber(frame.args[2]),
endyear=tonumber(frame.args[3]),
shapka=tonumber(frame.args[4]),
display_team = false,
winnersProperty=winnersProperty,
custom=true
}
return listofwinners_main(frame, s)
end
function listofwinners_main(frame, s)
local rows = {}
frame.args[1] = string.gsub(frame.args[1], "%c", "")
local raceID = frame.args[1]
local WDlink_on = (wiki == "mk") or (wiki == "ja") or (wiki == "ru")
-- WDlink_on is used to decide if a Wikidata logo will be shown
local WPcontent = {
row ={},
code = {}
}
local beginyear=s.beginyear or 0
local endyear=s.endyear or 0
local shapka=s.shapka or 0
local titletable
local womenrace_bool=isWomenrace(raceID)
if s.custom then
titletable={
[ 'Q20882667' ]=translate("listofwinners",2, womenrace_bool), -- winner
[ 'Q20882668' ]=translate("listofwinners",3, womenrace_bool), -- second
[ 'Q20882669' ]=translate("listofwinners",4, womenrace_bool), -- third
[ 'Q20883007' ]=translate("listofwinners",5, womenrace_bool), -- points
[ 'Q20883212' ]=translate("listofwinners",6, womenrace_bool), -- mountains
[ 'Q20883328' ]=translate("listofwinners",7, womenrace_bool), -- sprints
[ 'Q20883139' ]=translate("listofwinners",8, womenrace_bool), -- youth
[ 'Q101246973' ]=translate("listofwinners",9, womenrace_bool), -- supercombativity
[ 'Q20893983' ]=translate("listofwinners",9, womenrace_bool), -- combativity
[ 'Q20893979' ]=translate("listofwinners",10, womenrace_bool), -- combination
[ 'Q20882921' ]=translate("listofwinners",11, womenrace_bool), -- teams
[ 'Q27067359' ]=translate("listofwinners",12, womenrace_bool), -- volantes
[ 'Q27067170' ]=translate("listofwinners",13, womenrace_bool), -- regularity
[ 'Q27104269' ]=translate("listofwinners",14, womenrace_bool), -- teamspoints
[ 'Q27907715' ]=translate("listofwinners",15, womenrace_bool), -- breakaway
[ 'Q27907747' ]=translate("listofwinners",16, womenrace_bool), -- azzurri
[ 'Q28092831' ]=translate("listofwinners",17, womenrace_bool), -- rookie
[ 'Q61976850' ]=translate("listofwinners",18, womenrace_bool), -- amateur
[ 'Q61976872' ]=translate("listofwinners",19, womenrace_bool), -- nationality
[ 'Q72068715' ]=translate("listofwinners",23, womenrace_bool), -- winner country
[ 'Q72068724' ]=translate("listofwinners",24, womenrace_bool), -- winner countryU23
}
else --main
titletable={
-- winner:
[ 'Q20882667' ]=translate("listofwinners",2, womenrace_bool), -- winner
[ 'Q20883007' ]=translate("listofwinners",2, womenrace_bool), -- points
[ 'Q20883212' ]=translate("listofwinners",2, womenrace_bool), -- mountains
[ 'Q20883328' ]=translate("listofwinners",2, womenrace_bool), -- sprints
[ 'Q20883139' ]=translate("listofwinners",2, womenrace_bool), -- youth (time or point)
[ 'Q101246973' ]=translate("listofwinners",2, womenrace_bool), -- supercombativity
[ 'Q20893983' ]=translate("listofwinners",2, womenrace_bool), -- combativity
[ 'Q20893979' ]=translate("listofwinners",2, womenrace_bool), -- combination
[ 'Q20882921' ]=translate("listofwinners",2, womenrace_bool), -- team (time)
[ 'Q27067359' ]=translate("listofwinners",2, womenrace_bool), -- volantes
[ 'Q27067170' ]=translate("listofwinners",2, womenrace_bool), -- regularity
[ 'Q27104269' ]=translate("listofwinners",2, womenrace_bool), -- teampoints
[ 'Q27907715' ]=translate("listofwinners",2, womenrace_bool), -- breakaway
[ 'Q27907747' ]=translate("listofwinners",2, womenrace_bool), -- azzurri
[ 'Q28092831' ]=translate("listofwinners",2, womenrace_bool), -- rookie
[ 'Q61976850' ]=translate("listofwinners",2, womenrace_bool), -- amateur
[ 'Q61976872' ]=translate("listofwinners",2, womenrace_bool), -- nationality
[ 'Q72068715' ]=translate("listofwinners",2, womenrace_bool), -- winner country
[ 'Q72068724' ]=translate("listofwinners",2, womenrace_bool), -- winner countryU23
[ 'Q98959152' ]=translate("listofwinners",2, womenrace_bool), -- winner team GS-I
[ 'Q98959153' ]=translate("listofwinners",2, womenrace_bool), -- winner team GS-II
[ 'Q98959155' ]=translate("listofwinners",2, womenrace_bool), -- winner team GS-III
-- 2 place:
[ 'Q20882668' ]=translate("listofwinners",3, womenrace_bool), -- second
[ 'Q72065970' ]=translate("listofwinners",3, womenrace_bool), -- second teampoints
[ 'Q72099969' ]=translate("listofwinners",3, womenrace_bool), -- youth (time or point)
[ 'Q72068718' ]=translate("listofwinners",3, womenrace_bool), -- second country
[ 'Q72068725' ]=translate("listofwinners",3, womenrace_bool), -- second countryU23
[ 'Q98959192' ]=translate("listofwinners",3, womenrace_bool), -- second team GS-I
[ 'Q98959194' ]=translate("listofwinners",3, womenrace_bool), -- second team GS-II
[ 'Q98959195' ]=translate("listofwinners",3, womenrace_bool), -- second team GS-III
-- 3 place:
[ 'Q20882669' ]=translate("listofwinners",4, womenrace_bool), -- third
[ 'Q72065977' ]=translate("listofwinners",4, womenrace_bool), -- third teampoints
[ 'Q72099972' ]=translate("listofwinners",4, womenrace_bool), -- youth (time or point)
[ 'Q72068721' ]=translate("listofwinners",4, womenrace_bool), -- third country
[ 'Q72068729' ]=translate("listofwinners",4, womenrace_bool), -- third countryU23
[ 'Q98959196' ]=translate("listofwinners",4, womenrace_bool), -- third team GS-I
[ 'Q98959197' ]=translate("listofwinners",4, womenrace_bool), -- third team GS-II
[ 'Q98959198' ]=translate("listofwinners",4, womenrace_bool), -- third team GS-III
}
end
--localframe defined as global for references
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then
localframe = frame:getParent()
else
localframe = frame
end
if localframe.args[1] then
localframe.args[1] = string.gsub(localframe.args[1], "%c", "")
end
--[=[
It is possible to give the table listofwinners in the article commands. It could look like this:
{{Cycling race/listofwinners|Q18574623
| above row 1: '''[[aaa bbb ccc]]''' xxx
}}
"above row x" inserts a new row above row x into the table. Content is what is behind the ":".
]=]
if localframe.args[2] then
for num, _ in pairs(localframe.args) do
if num > 1 and mw.ustring.find(mw.ustring.lower(localframe.args[num]), 'row') then
local _, _, kebeginYear, val = mw.ustring.find(localframe.args[num], "([^:]+)%s*:%s*(%C+)")
local _, _, key01, kebeginYear1, kebeginYear2 = mw.ustring.find(kebeginYear, "(%a+)%s*(%a+)%s*(%d+)")
kebeginYear2 = tonumber(kebeginYear2) kebeginYear1 = mw.ustring.lower(key01..kebeginYear1)
if kebeginYear1 == 'aboverow' then WPcontent.row[kebeginYear2] = val WPcontent.code[kebeginYear2] = 0 end --0 is above
if kebeginYear1 == 'belowrow' then WPcontent.row[kebeginYear2] = val WPcontent.code[kebeginYear2] = 1 end --0 is above
end
end
end
local firstyeartodisplay=2100
local parts = mw.wikibase.getAllStatements(raceID, 'P527') -- P527 is 'has part'
for _, part in ipairs(parts) do
if part.rank ~= 'deprecated' and part.mainsnak.snaktype == 'value' then
local partID = part.mainsnak.datavalue.value.id
local timeOfRace=getTimeOfRace(partID) --original P585 and P580 inverted here
local year = timeOfRace and string.sub(timeOfRace, 2, 5) or '?'
local month = timeOfRace and string.sub(timeOfRace, 7, 8) or '01'
if year == "?" then mw.log("no year at " .. partID ) end
if endyear==0 or (tonumber(year) or 0)<=endyear then
if (tonumber(year) or 0) >= beginyear then
local thereisawinner=false
local sitelink = mw.wikibase.getSitelink(partID)
if sitelink then
sitelink = '[[' .. sitelink .. '|' .. year .. ']]'
else
sitelink = year
end
if WDlink_on then
sitelink = sitelink .. ' ' .. wdLink(partID)
end
local winners = {}
for _, property in ipairs(s.winnersProperty) do winners[property]='' end
local tCell
local tCellstr=''
local temp=firstValue(partID, 'P1346','id')
if temp and temp=='Q30108381' then --race cancelled
local cancelledlabel = getLabelFallback('Q30108381', {wikilang, 'en', 'fr', 'de'})
tCell=mw.html.create('td'):attr('colspan','4')
:cssText('text-align:center; font-style: italic')
:wikitext(cancelledlabel)
tCellstr=tostring(tCell)
else
winner(partID, winners, timeOfRace, not s.countryflag, WDlink_on,s.display_team,true)
for _, property in ipairs(s.winnersProperty) do
tCell=mw.html.create('td'):wikitext(winners[property])
if winners[property]~='' then
thereisawinner=true
if tonumber(year)<firstyeartodisplay then firstyeartodisplay=tonumber(year) end
end
tCellstr= tCellstr..tostring(tCell)
end
end
if firstyeartodisplay<=tonumber(year) then
rows[#rows+1]={year..month, sitelink, tCellstr}
end
end
end
end
end
table.sort(rows, function(a, b) return a[1] < b[1] end) -- Sort by year
local clear = "left"
if wiki == "ar" then clear = "right" end
--do not use hw.html here otherwise the begin and end year won't work
local table_first = "<table cellpadding='4' cellspacing='0' style='"..standardtablecss.."'>"
local tTitleRow=mw.html.create('tr')
:css('text-align','center')
:css('background-color',backgroundColor)
local tCell=tTitleRow:tag('th')
local wd_link = mw.html.create('span'):css('float','left'):wikitext(wdLink(raceID .. "#P527"))
if arwiki_totemplate then wd_link = wdLink(tostring(raceID) .. "#P527") end
if WDlink_on == false then
tCell:wikitext(tostring(wd_link))
end
tCell:wikitext(translate("listofwinners",1,womenrace_bool)) --year
for _, pp in ipairs(s.winnersProperty) do
tTitleRow:tag('th'):wikitext(titletable[pp])
end
local table_center=''
local nb_year_inrow=1
local lastyear
for i, row in ipairs(rows) do
sitelink=row[2]
local tRowWD=mw.html.create('tr')
local tCell=tRowWD:tag('td'):css('text-align','left')
if lastyear and mw.ustring.sub(row[1],1,4)==lastyear then
nb_year_inrow=nb_year_inrow+1
tCell:wikitext(sitelink..' ('..tostring(nb_year_inrow)..')')
else
tCell:wikitext(sitelink)
nb_year_inrow=1
end
lastyear=mw.ustring.sub(row[1],1,4)
tRowWD:node(row[3]) --add the end of the row
if WPcontent.row[i] then
tRow=mw.html.create('tr'):tag('td'):attr('colspan','4')
:css('text-align','center')
tRow:wikitext(WPcontent.row[i])
if WPcontent.code[i]==0 then --above
table_center=table_center..tostring(tRow)
table_center=table_center..tostring(tRowWD)
else --below
table_center=table_center..tostring(tRowWD)
table_center=table_center..tostring(tRow)
end
else
table_center=table_center..tostring(tRowWD)
end
end
--firstpart with header no foot
if shapka == 1 then -- standard header
return table_center .. "</table>"
elseif shapka == 2 then -- you need to add a title and you can add text at the beginning
return table_center
else -- you need to add a title and you can add anything and anywhere
return table_first .. tostring(tTitleRow) .. table_center .. "</table>"
end
end
--== K) List of stages
function p.listofstages(frame)
-- WDlink_on is used to decide if a Wikidata logo will be shown
local WDlink_on = wiki == "mk" or wiki == "ja"
local WPcontent = {}
local raceID = frame.args[1]
local thereiselevation=false
local result, tableBody
local localframe
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then
localframe = frame:getParent()
else
localframe = frame
end
if localframe.args[1] then
localframe.args[1] = string.gsub(localframe.args[1], "%c", "")
end
local womenrace_bool=isWomenrace(raceID)
--[=[ It is possible to give the table listofstages in the article commands which overwrites data from Wikidata.
It could look like this:
{{Cycling race/listofstages|Q18574623
| RoW 1: locaTION Ab : [[1a1b]]
| after row 1 : date : 99 août
| after row 1 : icon : [[File:Stage rest day.svg|vbght frthzt fdgtr]]
| after row 1: text : rest day at [[aaa bbb ccc]]
| row 4: location A : [[4a4a]]abc
| row 3 : winner a : <sup>tzhgt</sup>
| row 4 : winner b : kjuzhgt<br />bbjje
| row 4 : icon : [[File:Mediummountainstage.svg|xcvbbgf fgtr]]
| row 4 : distance : <s>141.8</s> 122<ref>test</ref>
}}
The first paramer is "row x" or "after row x". "after row" adds a new row after row x into the table to print e.g. a rest day.
The second parameters are "location [a/b/ab]", "date", "icon", "text", "winner [a/b]" and "distance".
"a" and "b" means the first and the second location or winner. "ab" could be used if start location and
end location are the same. The file data for the icon looks this way: [[File:Stage rest day.svg|any text]]
]=]
if localframe.args[2] then
local WProw, WPnew_row, WPcourse, WPtext, WPdate, WPwinner, WPicon, WPdistance
= 'row', 'afterrow', 'location', 'text', 'date', 'winner', 'icon', 'distance'
local _, kebeginYear, key2, val
local key01, kebeginYear1, kebeginYear2
local key21, key22
for num, var in pairs(localframe.args) do
if num > 1 and mw.ustring.find(mw.ustring.lower(var), WProw) then
_, _, kebeginYear, key2, val = mw.ustring.find(var, "([^:]+)%s*:?%s*([^:]*)%s*:%s*(%C+)")
_, _, key01, kebeginYear1, kebeginYear2 = mw.ustring.find(kebeginYear, "(%a+)%s*(%a+)%s*(%d+)")
kebeginYear2 = tonumber(kebeginYear2)
kebeginYear1 = mw.ustring.lower(key01 .. kebeginYear1)
key2 = mw.ustring.lower(mw.text.trim(key2))
_, _, key21, key22 = mw.ustring.find(key2, "(%a+)%s*(%a*)")
if not WPcontent[kebeginYear2] then WPcontent[kebeginYear2] = {} end
if kebeginYear1 == WProw and key21 == WPcourse then WPcontent[kebeginYear2][key22] = val end
if kebeginYear1 == WPnew_row and key2 == WPdate then
WPcontent[kebeginYear2]['date'] = val
WPcontent[kebeginYear2]['text'] = WPcontent[kebeginYear2]['text'] or ''
WPcontent[kebeginYear2]['icon (new row)'] = WPcontent[kebeginYear2]['icon (new row)'] or ''
end
if kebeginYear1 == WPnew_row and key2 == WPtext then
WPcontent[kebeginYear2]['text'] = val
WPcontent[kebeginYear2]['date'] = WPcontent[kebeginYear2]['date'] or ''
WPcontent[kebeginYear2]['icon (new row)'] = WPcontent[kebeginYear2]['icon (new row)'] or ''
end
if kebeginYear1 == WPnew_row and key2 == WPicon then
val = string.gsub(val, "|", "|border|right|20px|", 1)
WPcontent[kebeginYear2]['icon (new row)'] = val
WPcontent[kebeginYear2]['date'] = WPcontent[kebeginYear2]['date'] or ''
WPcontent[kebeginYear2]['text'] = WPcontent[kebeginYear2]['text'] or ''
end
if kebeginYear1 == WProw and key21 == WPwinner and key22 == 'a' then WPcontent[kebeginYear2]['stage winner'] = val end
if kebeginYear1 == WProw and key21 == WPwinner and key22 == 'b' then WPcontent[kebeginYear2]['general winner'] = val end
if kebeginYear1 == WProw and key21 == WPicon then
val = string.gsub(val, "|", "|border|right|20px|", 1)
WPcontent[kebeginYear2]['icon'] = val end
if kebeginYear1 == WProw and key21 == WPdistance then WPcontent[kebeginYear2]['distance'] = val end
end
end
end
local countries = wikibase.getAllStatements(raceID, 'P17')
local onecountry, firstcountryID
if countries and #countries>1 then
onecountry=false
if countries[1] then
firstcountryID=countries[1].mainsnak.datavalue.value.id
end
else
onecountry=true
end
local rows = {}
local stages = mw.wikibase.getBestStatements(raceID, 'P527') -- P527 is 'has part'
for _, v in pairs(stages) do
if v.mainsnak.snaktype == 'value' then
local stageID = v.mainsnak.datavalue.value.id
local p = mw.wikibase.getBestStatements(stageID, 'P1545') -- P1545 is 'series ordinal'
local sOrdinal = p[1] and p[1].mainsnak.snaktype == 'value' and p[1].mainsnak.datavalue.value
or ''
local _, _, sNumber, sLetter = string.find(sOrdinal, '(%d+)(.*)')
if not sNumber then sNumber = '' end
if not sLetter then sLetter = '' end
local WDLink = WDlink_on and wdLink(stageID) or ''
local sitelink = mw.wikibase.getSitelink(stageID)
local timeOfRace =getTimeOfRace(stageID) or ''
local sPointID = firstValue(stageID, 'P1427', 'id')
local sPoint = (sPointID and getPlaceLink(sPointID, timeOfRace)) or ''
if sPointID and not onecountry and timeOfRace then
local startcountry= getStatementForTime(sPointID, 'P17',timeOfRace)
if startcountry then
local startcountryID = startcountry.mainsnak.datavalue.value.id
if firstcountryID ~= startcountryID then
local sflag = flag(startcountryID, timeOfRace)
sPoint = sflag.." "..sPoint
end
end
end
local dPointID = firstValue(stageID, 'P1444', 'id')
local dPoint = (dPointID and getPlaceLink(dPointID, timeOfRace)) or ''
if dPointID and not onecountry and timeOfRace then
local dcountry= getStatementForTime(dPointID, 'P17',timeOfRace)
if dcountry then
local dcountryID = dcountry.mainsnak.datavalue.value.id
if firstcountryID ~= dcountryID then
local dflag = flag(dcountryID, timeOfRace)
dPoint = dflag.." "..dPoint
end
end
end
local sDistance = getDistance(stageID, false) or ''
local sElevation = getElevation(stageID)
if sElevation then thereiselevation=true end
local winners = {
Q20882747 = '', -- Q20882747 is 'stage winner'
Q20882763 = '', -- Q20882763 is 'overall leader at the end of the stage'
Q20882667 = '', -- Q20882667 is 'overall winner' not supposed to be used
}
winner(stageID, winners, timeOfRace, false, WDlink_on)
-- find the type of stage
local sType = typeofstagelogo(stageID)
local label, section_title
if sOrdinal == "0" then
label, section_title = translate("func_prologue"), "#" .. translate("func_prologue")
else
label, section_title = stageLink(sOrdinal, sNumber, sLetter)
end
-- if there is a Wikipedia article of that stage show it or show the section
local sLink = sitelink and ("[[" .. sitelink .. "|" .. label .. "]]") or
("[[" .. section_title .. "|" .. label .. "]]")
local sDate = funcDate(timeOfRace, 'small')
local tempoverall
if winners['Q20882763']~='' then tempoverall=winners['Q20882763'] else tempoverall=winners['Q20882667'] end
rows[#rows + 1] = {
tonumber(sNumber) or 0, sLetter, -- Sort keys
sLink, sDate, WDLink, sPoint, dPoint, sType, sDistance, sElevation, winners['Q20882747'], tempoverall -- Content
}
end
end
table.sort(rows, function(a, b)
if a[1] ~= b[1] then return a[1] < b[1] end
return a[2] < b[2]
end)
local Id = ((not WDlink_on and wdLink(string.gsub(raceID, '%s', '') .. "#P527")) or "")
tab=mw.html.create('table')
:attr('cellpadding','4' )
:attr('cellspacing','0')
:cssText(standardtablecss)
local tRow=tab:tag('tr'):css('background-color',backgroundColor)
:css('text-align','center')
tRow:tag('th'):css('white-space','nowrap')
:wikitext(Id..translate("headoftable",1,womenrace_bool))
tRow:tag('th'):wikitext(translate("headoftable",2,womenrace_bool))
tRow:tag('th'):wikitext(translate("headoftable",3,womenrace_bool))
tRow:tag('th'):css('color',backgroundColor):wikitext("type")
tRow:tag('th'):wikitext(translate("headoftable",4,womenrace_bool))
if thereiselevation then
tRow:tag('th'):wikitext(translate("headoftable",7,womenrace_bool))
end
tRow:tag('th'):wikitext(translate("headoftable",5,womenrace_bool))
tRow:tag('th'):wikitext(translate("headoftable",6,womenrace_bool))
local header = tostring(tRow)
for num, row in pairs(rows) do
local sLink, sDate, WDLink, sPoint, dPoint, sType, sDistance, sElevation, sSWin, sGWin
= row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12]
local WPc = WPcontent[num]
if WPc then
if WPc['a'] then sPoint = WPc['a'] end
if WPc['b'] then dPoint = WPc['b'] end
if WPc['ab'] then sPoint, dPoint = WPc['ab'], '' end
if WPc['icon'] then sType = WPc['icon'] end
if WPc['distance'] then sDistance = WPc['distance'] end
end
local tRow = tab:tag('tr')
local tCell= tRow:tag('td'):cssText('text-align:center; white-space:nowrap'):wikitext(sLink)
tCell:tag('span'):css('white-space','nowrap'):wikitext(" ".. WDLink )
tRow:tag('td'):css('white-space','nowrap'):cssText("text-align:right; padding-right:0px")
:wikitext(sDate)
tCell=tRow:tag('td'):cssText("padding-right:0px"):wikitext( sPoint)
if dPoint ~= '' then
tCell:wikitext(" – " .. dPoint)
end
tRow:tag('td'):cssText("padding-right:0px"):wikitext(sType)
tRow:tag('td'):css('text-align','center'):wikitext( sDistance)
if thereiselevation then
tRow:tag('td'):css('text-align','center'):wikitext(sElevation)
end
if WPc and WPc['stage winner'] then
tRow:tag('td'):css('text-align',textalign):wikitext( WPc['stage winner'])
else
tRow:tag('td'):wikitext(sSWin)
end
if WPc and WPc['general winner'] then
tRow:tag('td'):css('text-align',textalign):wikitext( WPc['general winner'])
else
tRow:tag('td'):wikitext(sGWin)
end
if WPc and (WPc['date'] or WPc['text'] or WPc['icon (new row)']) then
tRow = tab:tag('tr')
tRow:tag('td') --empty
if WPc['icon (new row)'] == '' then
tRow:tag('td'):cssText('text-align:right; padding:3px 0px 10px 0px;white-space:nowrap')
:wikitext(WPc['date'])
tRow:tag('td'):cssText("text-align:" .. textalign .. "; padding:3px 4px 10px")
:wikitext(WPc['text'])
else
tRow:tag('td'):cssText('text-align:right; padding-right:0px')
:wikitext(WPc['date'])
tRow:tag('td'):cssText("text-align:" .. textalign)
:wikitext(WPc['text'])
end
tRow:tag('td'):css('padding-top','10px'):wikitext(WPc['icon (new row)'])
tRow:tag('td'):attr('colspan','3')
end
end
if arwiki_totemplate then
tab = change_listofstages(tab, raceID, header, Id)
end
return tab
end
function p.stagetitle(frame)
-- WDlink_on is used to decide if a Wikidata logo will be shown
local stageID = frame.args[1]
-- from to
local p = mw.wikibase.getBestStatements(stageID, 'P1427') -- P1427 is 'start point'
local sPointID = p[1] and p[1].mainsnak.snaktype == 'value' and p[1].mainsnak.datavalue.value.id
local sPoint = sPointID and getPlaceLink(sPointID) or ''
p = mw.wikibase.getBestStatements(stageID, 'P1444') -- P1444 is 'destination point'
local dPointID = p[1] and p[1].mainsnak.snaktype == 'value' and p[1].mainsnak.datavalue.value.id
local dPoint = dPointID and getPlaceLink(dPointID) or ''
local sDistance = getDistance(stageID, true) or ''
-- find the type of stage
local sType = typeofstagelogo(stageID)
tab=mw.html.create('table')
tab:tag('th'):wikitext(sPoint.." - "..dPoint)
tab:tag('td'):wikitext(sType)
tab:tag('td'):css('font-weight','bold'):wikitext("("..sDistance..")")
return tab
end
local function champtitle(h) --!h is h.jersey
local road, ITT, result
local hcountry, hnotcountry = {},{}
local womenrace_bool=nil --to be defined if needed
--the jersey for a stage race and the jersey from national championship should be differentiated
--to avoid to look every time, below is a list of all national championships
if type(h) == 'table' and h[1] then
for _, v in ipairs(h) do
roadtemp=false
ITTtemp=false
if womenNcRoadtable[v] or menNcRoadtable[v] then
road = true
roadtemp=true
elseif womenNcITTtable[v] or menNcITTtable[v] then
ITT = true
ITTtemp=true
else
local raceLabel = mw.wikibase.getLabelByLang(v,"fr")
if raceLabel then
local testMenRoadrace, testMenITT, testWomenRoadrace, testWomenITT
local raceLabelmod = string.gsub(raceLabel, '-', 'x')
testMenRoadrace = string.find( raceLabel, 'Course en ligne masculine aux' )
testMenITT = string.find( raceLabelmod, 'Contrexlaxmontre masculin aux' )
testWomenRoadrace = string.find( raceLabel, 'Course en ligne féminine aux' )
testWomenITT = string.find( raceLabelmod, 'Contrexlaxmontre féminin aux' )
if testWomenRoadrace or testMenRoadrace then road = true roadtemp=true end
if testWomenITT or testMenITT then ITT = true ITTtemp=true end
end
end
if roadtemp or ITTtemp then
table.insert(hcountry,v)
else
table.insert(hnotcountry,v)
end
end
end
if road and ITT then
local image = {}
for ii, v in ipairs(hcountry) do
local p18 = mw.wikibase.getBestStatements(v, 'P18')
if p18[1] and p18[1].mainsnak.snaktype == 'value' then
local temp = p18[1].mainsnak.datavalue.value
local alreadythere = 0
for _, vv in ipairs(image) do
if vv==temp then alreadythere = 1 end
end
if alreadythere==0 then
table.insert(image,temp)
else hcountry[ii] = nil
end
end
end
--avoid double display of jersey
result = "<small>("..translate("startlist",10,womenrace_bool).." "..translate("startlist",12,womenrace_bool).." "..translate("startlist",11,womenrace_bool)..")</small>"
elseif road then
result = "<small>("..translate("startlist",10,womenrace_bool)..")</small>"
elseif ITT then
result = "<small>("..translate("startlist",11,womenrace_bool)..")</small>"
else
result = ""
end
return jersey(hcountry)..result..jersey(hnotcountry)
end
-- L) List of stages classification
local function winnerjersey(raceID, winners)
local jerseytable, bgcolortable={}, {}
local p1346 = wikibase.getAllStatements(raceID, 'P1346') -- P1346 is 'winner'
for _, winner in pairs(p1346) do
local wOf, thisjersey, bg_color
local q = winner.qualifiers
if q then
if q.P642 and q.P642[1].snaktype == 'value' then
wOf = q.P642[1].datavalue.value.id -- P642 is 'of'
end
if q.P2912 and q.P2912[1].snaktype == 'value' then
thisjersey=q.P2912[1].datavalue.value.id
if bg_color_table[thisjersey] then
bg_color = bg_color_table[thisjersey]
end
end
end
if winners[wOf] and thisjersey then
jerseytable={}
table.insert(jerseytable,thisjersey)
winners[wOf] = jersey(jerseytable)
bgcolortable[wOf] = bg_color
end
end
return winners, bgcolortable
end
function p.listofstagesclassification(frame)
-- WDlink_on is used to decide if a Wikidata logo will be shown
local WDlink_on = wiki == "mk" or wiki == "ja"
local displaytypeofstage = true
local stageinfotable = {}
local raceID = frame.args[1]
local womenrace_bool=isWomenrace(raceID)
local sType
local localframe
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then
localframe = frame:getParent()
else
localframe = frame
end
if localframe.args[1] then
localframe.args[1] = string.gsub(localframe.args[1], "%c", "")
end
--link for Grand Tour
local GTid={['Q33881']=true,['Q33861']=true,['Q33937']=true}
local thisGT
for _, p31 in statements(raceID, 'P31') do
if GTid[p31.mainsnak.datavalue.value.id]==true then thisGT=p31.mainsnak.datavalue.value.id break end
end
local Sitelink,overallname, pointsname, mountainname, youngname, teamname, combativityname, supercombativityname, combinedname
if thisGT then
if thisGT=='Q33881' then
Sitelink = wikibase.getSitelink('Q2267539')
if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q175399')
if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q927157')
if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q641662')
if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q1436680')
if Sitelink then teamname="[["..Sitelink .."|"..translate("infobox",28,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q2094179')
if Sitelink then combativityname="[["..Sitelink .."|"..translate("infobox",26,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q2094179')
if Sitelink then supercombativityname="[["..Sitelink .."|"..translate("infobox",26,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q1835362')
if Sitelink then combinedname="[["..Sitelink .."|"..translate("infobox",27,womenrace_bool).."]]" end
elseif thisGT=='Q33861' then
Sitelink = wikibase.getSitelink('Q1164275')
if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q641083')
if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q641060')
if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q641662')
if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,womenrace_bool).."]]" end
else
Sitelink = wikibase.getSitelink('Q2532554')
if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q2241695')
if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q1118296')
if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,womenrace_bool).."]]" end
Sitelink = wikibase.getSitelink('Q2330008')
if Sitelink then combinedname="[["..Sitelink .."|"..translate("infobox",27,womenrace_bool).."]]" end
end
end
local winners = {
{ name = translate("infobox",19,womenrace_bool), QID = 'Q20882747'}, -- stage
{ name = overallname or translate("headoftableII",9,womenrace_bool), QID = 'Q20882763' }, -- overall
{ name = pointsname or translate("infobox",22,womenrace_bool), QID = 'Q20883008' }, -- points
{ name = mountainname or translate("infobox",23,womenrace_bool), QID = 'Q20883213' }, -- mountains
{ name = translate("infobox",24,womenrace_bool), QID= 'Q20883329' }, -- sprints
{ name = youngname or translate("infobox",25,womenrace_bool), QID='Q20883140' }, -- youth
{ name = combativityname or translate("infobox",26,womenrace_bool), QID= 'Q21686770' }, -- combativity
{ name = supercombativityname or translate("infobox",26,womenrace_bool), QID= 'Q20893984' }, -- combativity
{ name = translate("infobox",35,womenrace_bool), QID= 'Q27104688' }, -- volantes
{ name = translate("infobox",36,womenrace_bool), QID= 'Q27104684' }, -- regularity
{ name = combinedname or translate("infobox",27,womenrace_bool), QID='Q20965880' }, -- combination
{ name = translate("infobox",38,womenrace_bool), QID='Q27907714' }, -- breakaway
{ name = translate("infobox",39,womenrace_bool), QID='Q27907748' }, -- azzurri
{ name = translate("infobox",40,womenrace_bool), QID='Q28096780'}, -- rookie
{ name = teamname or translate("infobox",28,womenrace_bool), QID='Q20882922' }, -- teams
{ name = translate("infobox",37,womenrace_bool), QID ='Q27104271' }, -- teamspoints
{ name = translate("infobox",41,womenrace_bool), QID ='Q61976847' },-- amateur
{ name = translate("infobox",42,womenrace_bool), QID ='Q61976871' } --nationality
}
local winnersgen = {
{ QID = 'Q20882667' }, -- overall
{ QID = 'Q20883007' }, -- points
{ QID = 'Q20883212' }, -- mountains
{ QID = 'Q20883328' }, -- sprints
{ QID = 'Q20883139' }, -- youth
{ QID = 'Q101246973' }, -- supercombativity
{ QID = 'Q20893983' }, -- combativity
{ QID = 'Q27067359' }, -- volantes
{ QID = 'Q27067170' }, -- regularity
{ QID = 'Q20893979' }, -- combination
{ QID = 'Q27907715' }, -- breakaway
{ QID = 'Q27907747' }, -- azzurri
{ QID = 'Q28092831' }, -- rookie
{ QID = 'Q20882921' }, -- teams
{ QID = 'Q27104269' }, -- teamspoints
{ QID = 'Q61976850' }, -- amateur
{ QID = 'Q61976872' } --nationality
}
local generaltoleader = {
['Q20882747']= nil,
['Q20882667']= 'Q20882763', -- overall
['Q20883007']= 'Q20883008', -- points
['Q20883212']= 'Q20883213', -- mountains
['Q20883328']= 'Q20883329', -- sprints
['Q20883139']= 'Q20883140', -- youth
['Q20893983']= 'Q20893984', -- combativity
['Q101246973']= 'Q21686770', -- supercombativity
['Q27067359']= 'Q27104688', -- volantes
['Q27067170']= 'Q27104684', -- regularity
['Q20893979']= 'Q20965880', -- combination
['Q27907715']= 'Q27907714', -- breakaway
['Q27907747']= 'Q27907748', -- azzurri
['Q28092831']= 'Q28096780', -- rookie
['Q20882921']= 'Q20882922', -- teams
['Q27104269']= 'Q27104271', -- teamspoints
['Q61976850']= 'Q61976847', -- amateur
['Q61976872']= 'Q61976871' --nationality
}
--read stages
local stages = mw.wikibase.getBestStatements(raceID, 'P527') -- P527 is 'has part'
local columntable, jerseytable, bgcolortable={}, {}, {}
for ii, v in ipairs(winners) do
if v.QID then
local t = {key=ii, name=v.name, jersey='', bg_color='', used=false}
for jj = 1, #stages+1 do
t[jj] = { {}, {}, {} } -- leader, first stage, number of stages consecutive (for rowspan)
end
columntable[v.QID] = t
end
end
--to have the columns in the same order as defined, otherwise they would be sorted according to the order in wikidata
--make "Q123", "Q456" --> 1, 2
local function itercolumns(columntable)
local keys = {}
for k, v in pairs(columntable) do
keys[v.key] = k --v.key is just the order of the columns
end
local upto = 1
return function ()
while keys[upto] do
upto = upto + 1
return columntable[keys[upto-1]]
end
end
end
local timeOfRace
for ii, v in pairs(stages) do
if v.mainsnak.snaktype == 'value' then
local somewinner = false --show the stage
local stageID = v.mainsnak.datavalue.value.id
local sitelink = mw.wikibase.getSitelink(stageID)
if displaytypeofstage==true then
sType = typeofstagelogo(stageID)
end
local p = mw.wikibase.getBestStatements(stageID, 'P1545') -- P1545 is 'series ordinal'
local sOrdinal = p[1] and p[1].mainsnak.snaktype == 'value' and p[1].mainsnak.datavalue.value
or ''
local _, _, sNumber, sLetter = string.find(sOrdinal, '(%d+)(.*)')
sNumber=sNumber or ''
sLetter=sLetter or ''
local label, section_title
if sOrdinal == "0" then
label, section_title = translate("func_prologue"), "#" .. translate("func_prologue")
else
label, section_title = stageLink(sOrdinal, sNumber, sLetter)
end
-- If there is a Wikipedia article of that stage show it or show the section.
local sLink = sitelink and ("[[" .. sitelink .. "|" .. label .. "]]") or
("[[" .. section_title .. "|" .. label .. "]]")
timeOfRace =getTimeOfRace(stageID)
local win= {}
for _, v in pairs(winners) do
win[v.QID] = ''
if ii==1 then jerseytable[v.QID]='' end
end
winner(stageID, win, timeOfRace, false, WDlink_on, false, false) --fill win table
if ii==1 then --only first stage
jerseytable, bgcolortable=winnerjersey(stageID, jerseytable)
end
for _, v in pairs(winners) do
if v.QID and win[v.QID] ~= '' then
--column info
somewinner=true
columntable[v.QID][ii]["leader"]=win[v.QID]
if ii==1 then --first stage
columntable[v.QID][ii]["start"]=1 --start at row 1
columntable[v.QID][ii]["rowspan"]=1 --1 consecutive stage
elseif columntable[v.QID][ii-1]["leader"]==win[v.QID] then --same winner as past stage ,make previous longer and delete this one
local initialstage=columntable[v.QID][ii-1]["start"]
columntable[v.QID][ii]["start"]=initialstage --need because of the row above
columntable[v.QID][initialstage]["rowspan"]=columntable[v.QID][initialstage]["rowspan"]+1 --one more consecutive stage
columntable[v.QID][ii]["rowspan"]=0
else --new winner
columntable[v.QID][ii]["start"]=ii --start at this row/stage
columntable[v.QID][ii]["rowspan"]=1 --1 consecutive stage
end
columntable[v.QID].used=true
if ii==1 then --read the jersey in the first stage of a race
columntable[v.QID].jersey=jerseytable[v.QID]
columntable[v.QID].bg_color=bgcolortable[v.QID]
end
end
end
table.insert(stageinfotable,{sLink=sLink, sType=sType, somewinner=somewinner})
end
end
--read parent
local win= {}
for _, v in pairs(winnersgen) do
if v.QID then
win[v.QID] = ''
jerseytable[v.QID]=''
end
end
local thiskey
somewinner = false
jerseytable, bgcolortable=winnerjersey(raceID, jerseytable)
winner(raceID, win, timeOfRace, false, WDlink_on, false, false)
for _, v in pairs(winnersgen) do
if win[v.QID] and win[v.QID] ~= '' then
somewinner=true
thiskey=generaltoleader[v.QID]
--fill the final classification
columntable[thiskey][#stages+1]["leader"]=win[v.QID]
columntable[thiskey][#stages+1]["start"]=#stages+1
columntable[thiskey][#stages+1]["rowspan"]=1
--#stages is the last stage
if (type(columntable[thiskey][#stages]["leader"])~="string" --combativity is not extrapolated
and thiskey~='Q20893984') then --check nil actually, but it is a table..
columntable[thiskey][#stages]["leader"]= win[v.QID] --extrapolate the winner
if (type(columntable[thiskey][#stages-1]["leader"])=="string" and
win[v.QID]==columntable[thiskey][#stages-1]["leader"]) then --if there is a leader at forelast stage
local initialstage=columntable[thiskey][#stages-1]["start"]
columntable[thiskey][#stages]["start"]=initialstage --needed because of row above
columntable[thiskey][initialstage]["rowspan"]=columntable[thiskey][initialstage]["rowspan"]+1
columntable[thiskey][#stages]["rowspan"]=0
else
columntable[thiskey][#stages]["start"]=#stages
columntable[thiskey][#stages]["rowspan"]=1
end
end
if jerseytable[v.QID] and jerseytable[v.QID]~='' then
columntable[thiskey].jersey=jerseytable[v.QID]
columntable[thiskey].bg_color=bgcolortable[v.QID]
end
end
end
table.insert(stageinfotable,{sLink=translate("listofstagesclassification",2,womenrace_bool), sType=nil, somewinner=somewinner})
--build the table
local tab=mw.html.create('table')
:attr('cellpadding','4' )
:attr('cellspacing','0')
:cssText(standardtablecss)
local tRow=tab:tag('tr'):css('background-color',backgroundColor)
:css('text-align','center')
tRow:tag('th'):css('white-space','nowrap')
:wikitext(((not WDlink_on and wdLink(string.gsub(raceID, '%s', '') .. "#P527")) or "")..
translate("headoftable",1,womenrace_bool))
if displaytypeofstage==true then tRow:tag('th') end
for v in itercolumns(columntable) do
if v.used == true then
if v.jersey == '' then v.jersey = "_" end
tRow:tag('th'):wikitext(v.name.."<br />"..v.jersey)
end
end
local style
--then fill the table
for ii, v in pairs(stageinfotable) do --one stage=one row
--stages link
tRow=tab:tag('tr')
local tCell=tRow:tag('td')
if ii==#stageinfotable then
tCell:attr('colspan','2'):cssText('font-weight:bold; border-top: 2px black solid;')
end
tCell:wikitext(v.sLink)
if displaytypeofstage == true then
tCell=tRow:tag('td')
if ii==#stageinfotable then --general row
tCell:cssText('font-weight:bold; border-top: 2px black solid;')
end
if v.sType then
tCell:wikitext(v.sType) --picture type of stage
end
end
--add winners
for y in itercolumns(columntable) do
if y.used==true and not (ii==#stageinfotable and columntable['Q20882747']==y) then --only display used QID
if type(y[ii]["leader"])=="string" and type(y[ii]["rowspan"])=="number" then --actually check nil but it is a table
style=""
if y[ii]["rowspan"]~=0 and (columntable['Q20882747']==y)==false then
if ii~=1 and ii~=#stageinfotable then style=style.." border-top:1px gray solid;" end
if y.bg_color then style=style.." background-color:"..y.bg_color..";" end
if ii==#stageinfotable then style=style.."font-weight:bold; border-top: 2px black solid;" end
tRow:tag('td'):attr('rowspan',tostring(y[ii]["rowspan"])):cssText(style):wikitext(y[ii]["leader"])
elseif (columntable['Q20882747']==y) then --no rowspan for stages
tRow:tag('td'):wikitext(y[ii]["leader"])
end
else
tCell=tRow:tag('td')
if ii~=#stageinfotable and v.somewinner==true then
tCell:wikitext(translate("listofstagesclassification",1,womenrace_bool)) --not attributed
elseif ii~=#stageinfotable then
--empty
elseif v.somewinner==true then --general row
tCell:cssText('border-top: 2px black solid')
:wikitext(translate("listofstagesclassification",1,womenrace_bool)) --not attributed
else
tCell:cssText('border-top: 2px black solid') --empty
end
end
end
end
end
return tab
end
--M) Start list
function p.startlist(frame)
local IDtemp
if frame.args[1] ~= nil then
IDtemp=string.gsub(frame.args[1], "%c", "")
end
local womenrace_bool=isWomenrace(IDtemp)
local s = {
header_function = "startlist",
header_1 = 1, -- translation 1 in function victories is printed in the upper part of the table header
header_2 = {2, 3,4,5},
item=IDtemp,
title="Start list",
data_sort_type={'unsortable', 'unsortable', 'unsortable'},
property ='P710',
no_roll_startlist=no_roll_startlist,
womenrace_bool=womenrace_bool
}
local resultTable, tag = tableB(s)
return startlist_main(s, resultTable, tag)
end
function p.startlisttable(frame)
local IDtemp
if frame.args[1] ~= nil then
IDtemp=string.gsub(frame.args[1], "%c", "")
end
local womenrace_bool=isWomenrace(IDtemp)
local s = {
header_function = "startlisttable",
header_1 = 1, -- translation 1 in function victories is printed in the upper part of the table header
header_2 = {2, 3,4,5},-- translations 2, 3, 4, 5, 6 in function victories are printed in this order
item=IDtemp,
title="Start list", -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go.
no_country ={'fr'},
data_sort_type={'', '', ''},
property ='P710',
no_roll_startlist=no_roll_startlist,
womenrace_bool=womenrace_bool
}
return startlisttable_main(s, tableA(s))
end
local function startlist_sub(p710, timeOfRace, WDlink_on, istable,womenrace_bool)
local h, resultTable= {}, {}
local tBody = '' --row in our case
local riderID, riderTeamLink, riderTeamID, riderDossard, riderLink, riderRank
local q, gender, riderTeamCode, riderDNF, DSQ, catID, countryID, national_team_boolean
riderID = p710.mainsnak.datavalue.value.id
q= p710.qualifiers
riderLink= getRiderLink(riderID, timeOfRace)
if WDlink_on then riderLink=riderLink..wdLink(riderID) end
if q and q.P1618 and q.P1618[1].snaktype == 'value' then
riderDossard = q.P1618[1].datavalue.value or ''
else
riderDossard = ''
end
riderDNF='' riderRank = '' DSQ=''
if q and q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking
riderRank = tonumber(q.P1352[1].datavalue.value.amount)
--look for DSQ--
DSQ=isdisqualified(p710, q)
else
--look for DNF...
if q and q.P1534 and q.P1534[1].snaktype == 'value' then
local dnf=q.P1534[1].datavalue.value.id
if dnf=='Q1210380' then riderDNF =translate("startlist",6,womenrace_bool)--"HD","NP","DQ"
elseif dnf=='Q54881674' or dnf=='Q7113430' then riderDNF =translate("startlist",7,womenrace_bool)
elseif dnf=='Q1210382' then riderDNF =translate("startlist",8,womenrace_bool)
elseif dnf=='Q1229261' then riderDNF =translate("startlist",9,womenrace_bool)
else riderDNF=''
end
if q.P1545 and q.P1545[1].snaktype == 'value' then
local stageofdnf=q.P1545[1].datavalue.value
if stageofdnf and string.len(stageofdnf)>1 then
riderDNF='<small>'..riderDNF.."-"..stageofdnf..'</small>'
else
riderDNF=riderDNF.."-"..stageofdnf
end
end
end
end
h = {
jersey = {}, -- lots of jerseyID
value = {'', '', '', ''} -- points, time, time_gap, speed
}
if q and q.P2912 then -- P2912 is distinctive jersey
for _, v in pairs(q.P2912) do
if v.snaktype == 'value' then
table.insert(h.jersey, v.datavalue.value.id)
end
end
end
if wiki == 'es' or wiki == 'fr' or wiki == 'ast' then
--[[ These wikis need the gender to display the rank correct. Other wikis can skip this. ]]
gender = getGenderCode(riderID, 'n')
end
local countryID = getNationality(riderID, timeOfRace,q)
local uciCode=''
local jerseytemp=''
if countryID then
if wiki ~= "ar" then
uciCode=uciCodeCountry(countryID)
end
riderLink = flag(countryID, timeOfRace) ..' '.. riderLink
end
if h.jersey[1] then
jerseytemp=champtitle(h.jersey) -- champtitle manages also the jersey
end
riderTeamLink, riderTeamID, catID, countryID, national_team_boolean = getTeam(riderID, timeOfRace, q)
riderTeamID=seasonToTeamID(riderTeamID)
riderTeamCode= getTeamCode(riderID, timeOfRace, q)
--Custom display for national selection
if national_team_boolean and countryID then
if riderTeamCode and wikibase.getSitelink(countryID) then --for the refugee case
riderTeamCode='[['..wikibase.getSitelink(countryID)..'|'..riderTeamCode..']]'
end
riderTeamLink=flag(countryID, timeOfRace)..' '..riderTeamLink
else --for non national selection display "ridername (FRA)""
riderLink =riderLink..uciCode
end
riderLink =riderLink..jerseytemp
if riderTeamLink == nil then riderTeamLink ="" end
local sortkey = riderDossard == "" and 0 or tonumber(riderDossard)
tBody = mw.html.create('tr'):cssText("line-height: 1.8em; padding: 5px;")
tBody:tag('td'):cssText("text-align:right;padding:0 0.5em"):wikitext(riderDossard)
tBody:tag('td'):cssText('text-align:'..textalign.. ';padding:0 0.5em;'..DSQ):wikitext(riderLink)
local td_css = "text-align:left;padding:0 0.5em"
if wiki == "ar" then td_css = "text-align:right;padding:0 0.5em" end
if istable then
tBody:tag('td'):cssText(td_css):wikitext(riderTeamLink)
end
tBody:tag('td'):cssText('text-align:'..textalign.. ';padding:0 0.5em;'..DSQ):wikitext(number(gender,riderRank,wiki)..riderDNF)
table.insert(resultTable, {sortkey=sortkey, riderTeamLink=riderTeamLink,riderTeamID=riderTeamID,riderTeamCode=riderTeamCode, tBody=tBody})
return resultTable
end
function startlist_main(s, resultTable, tag)
local ridertable, DStable, subtable = {}, {}, {}
local DSID, DSLink, DSteamID, DSteam
local WDlink_on = (wiki == "mk" or wiki == "ja" or wiki == "ru")
local timeOfRace=getTimeOfRace(s.item)
local womenrace_bool=isWomenrace(s.item)
for _,p286 in statements(s.item, 'P286') do--look for DS
DSID = p286.mainsnak.datavalue.value.id
DSLink= getRiderLink(DSID, timeOfRace)
q= p286.qualifiers
if q.P642 and q.P642[1].snaktype == 'value' then
DSteamID=q.P642[1].datavalue.value.id
DSteamID=seasonToTeamID(DSteamID)
end
table.insert(DStable, {DSLink=DSLink, DSteamID=DSteamID})
end
for _, p710 in statements(s.item, 'P710') do -- P710 is participants
subtable=startlist_sub(p710, timeOfRace, WDlink_on, false,womenrace_bool)
ridertable[#ridertable + 1] = {
subtable[1].sortkey,
riderTeamLink=subtable[1].riderTeamLink,
riderTeamID=subtable[1].riderTeamID,
riderTeamCode=subtable[1].riderTeamCode,
tBody=subtable[1].tBody
}
end
--sort
table.sort(ridertable, function(a, b) return a[1] < b[1] end)
local thisTableRow, thisTeamTable, thisDS, insideTable, test
local tSubtitle, tTitle
if wiki == "ar" then
tSubtitle=mw.html.create('tr')
tSubtitle:tag('td'):attr('width','30px')
:css("align:right;text-align:right")
:wikitext(translate("startlist",2,womenrace_bool))
tSubtitle:tag('td'):attr('width','200px')
:css("align:right;text-align:right")
:wikitext(translate("startlist",3,womenrace_bool))
tSubtitle:tag('td'):attr('width','85px')
:css("align:right;text-align:right")
:wikitext(translate("startlist",4,womenrace_bool))
else
tSubtitle=mw.html.create('tr')
tSubtitle:tag('td'):attr('width','30px'):wikitext(translate("startlist",2,womenrace_bool))
tSubtitle:tag('td'):attr('width','250px'):wikitext(translate("startlist",3,womenrace_bool))
tSubtitle:tag('td'):attr('width','35px'):wikitext(translate("startlist",4,womenrace_bool))
end
--look for transition between teams
local numberofteam=0
local tDS
if #ridertable==0 then--empty table
return nil
else
for ii=1,#ridertable do
if ridertable[ii].riderTeamLink==nil then ridertable[ii].riderTeamLink=translate("startlist",13,womenrace_bool) end
if ii~=1 and ridertable[ii].riderTeamID and ridertable[ii].riderTeamID==ridertable[ii-1].riderTeamID then test=0 else test=1 end--team change
--new team
if test==1 or ii==1 then
if thisDS and ii~=1 then
tDS=insideTable:tag('tr')
tDS:tag('td'):attr('colspan','3'):attr('align','center')
:wikitext(translate("startlist",5,womenrace_bool).." "..thisDS)
thisDS=nil
end
numberofteam=numberofteam+1
if math.fmod(numberofteam, 3 )==1 then
if ii~=1 then
tag:node(thisTableRow) --a row with 3 tables inside, save and re-init
end
thisTableRow=mw.html.create('tr')
end
thisTeamTable= thisTableRow:tag('td'):cssText("width:33%;"):attr('valign','top')
insideTable=thisTeamTable:tag('table') --reinit
:attr('cellpadding','4') --solid rgb(200,200,200)
:attr('background-color','rgb(255, 255, 255)')
:attr('margin', '0 0 0.5em 0')
:attr('padding','5px')
:attr('float','left')
:attr('text-align',textalign)
:attr('line-height','1.8em')
:attr('clear',floattable)
tTitle = mw.html.create('tr')
:css("background-color",backgroundColor)
:attr('align','center')
local tCell=tTitle:tag('th'):attr('colspan','3')
tCell:tag('big'):wikitext(ridertable[ii].riderTeamLink.."<br/>"..(ridertable[ii].riderTeamCode or "___"))
insideTable:node(tTitle)
insideTable:node(tSubtitle)
tDS=nil
--look for the DS of this team
for _,v in pairs(DStable) do
if v.DSteamID==ridertable[ii].riderTeamID then
if not thisDS then
thisDS=v.DSLink
else
thisDS=thisDS..", "..v.DSLink
end
end
end
end
insideTable:node(ridertable[ii].tBody)
end
--last DS
if thisDS then
tDS=insideTable:tag('tr')
tDS:tag('td'):attr('colspan','3'):attr('align','center')
:wikitext(translate("startlist",5,womenrace_bool).." "..thisDS)
end
tag:node(thisTableRow)
return resultTable
end
end
function startlisttable_main(s, resultTable)
local t_Body = {}
local WDlink_on = (wiki == "mk" or wiki == "ja" or wiki == "ru")
local timeOfRace=getTimeOfRace(s.item)
for _, p710 in statements(s.item, 'P710') do -- P710 is participants
local subtable=startlist_sub(p710, timeOfRace, WDlink_on, true)
t_Body[#t_Body + 1] = {subtable[1].sortkey, tostring(subtable[1].tBody)}
end
return sortAndConcat(t_Body, resultTable)
end
-- N) Rider ranking
local function checkminmaxyear(minmaxyear,thisyear)
if minmaxyear.minimum ==0 or thisyear<minmaxyear.minimum then
minmaxyear.minimum=thisyear
end
if minmaxyear.maximum==0 or thisyear>minmaxyear.maximum then
minmaxyear.maximum=thisyear
end
return minmaxyear
end
function p.riderranking(frame)
local s = {
item = string.gsub(frame.args[1] or frame:getParent().args[1], "%c", ""),
}
return riderranking_main(frame, s)
end
function riderranking_main(frame,s)
local thisCompetition, rank, thisyear, sitelink, q, gender, DSQ
local resultTable, listofcalendar, UCImaster, UCImasterlimist={},{},{},{}
local minmaxyear= {
minimum = 0, -- lots of jerseyID
maximum = 0 -- points, time, time_gap, speed
}
local calendarlistpresent={
["UCIwomen"]=false,
["UCImen"]=false
}
local UCI = {}
--inverse the table
for k,v in pairs(data.UCIYearToQ) do
UCI[k]={}
for kk, vv in pairs(v) do
UCI[k][vv]=kk
end
end
local UCImaster=data.UCImaster
local gender=getGenderCode(s.item, 'm')
local womenrace_bool=false
if gender=="f" then womenrace_bool=true end
UCImastername={
["women"]= translate("riderranking",2,womenrace_bool),
['WWT']= translate("riderranking",3,womenrace_bool),
['WWC']= translate("riderranking",4,womenrace_bool),
["UWT"]= translate("riderranking",5,womenrace_bool),
["europe"]= translate("riderranking",6,womenrace_bool),
["asia"]= translate("riderranking",7,womenrace_bool),
["oceania"]=translate("riderranking",8,womenrace_bool),
["america"]=translate("riderranking",9,womenrace_bool) ,
["africa"]= translate("riderranking",10,womenrace_bool),
["WR"]= translate("riderranking",11,womenrace_bool),
["WC"]= translate("riderranking",12,womenrace_bool),
["UPT"]= translate("riderranking",13,womenrace_bool), --WC is world calendar here
["UCImen"]= translate("riderranking",14,womenrace_bool),
["WCmen"]= translate("riderranking",15,womenrace_bool), --UCImen = UCI ranking 1984-2004, WC= World cup men
["Pernod"]= translate("riderranking",16,womenrace_bool),
["Desgrange"]=translate("riderranking",17,womenrace_bool),
}
UCImasterlimit={
["women"]= {b=1989, e=0}, --women=Calendrier international féminin UCI, begin/end 0 = no end
["WWT"]= {b=2016, e=0},
["WWC"]= {b=1998, e=2015},
["UWT"]= {b=2011, e=2018},
["europe"]= {b=2005, e=0},
["asia"]= {b=2005, e=0},
["oceania"]={b=2005, e=0},
["america"]={b=2005, e=0},
["africa"]= {b=2005, e=0},
["WR"]= {b=2016, e=0},
["WC"]= {b=2009, e=2010},
["UPT"]= {b=2005, e=2008},
["UCImen"]= {b=1984, e=2004},
["WCmen"]= {b=1989, e=2004},
["Pernod"]= {b=1959, e=1987},
["Desgrange"]= {b=1948, e=1958},
}
local listofwomencalendar={"women","WWC", "WWT"} --"women" is in fact UCIwomen
local listofmencalendar={"Desgrange","Pernod","UCImen","WCmen","UPT",
"WC","UWT","WR","europe","asia","america","oceania","africa","Pro"}
if gender=="f" then
listofcalendar=listofwomencalendar
else
listofcalendar=listofmencalendar
end
--init table
for ii=1900,2100,1 do
resultTable[tostring(ii)]={}
for _, calendar in pairs(listofcalendar) do
resultTable[tostring(ii)][calendar]={
rank=nil,
sitelink=nil
}
end
end
--build the table
for _, p1344 in statements(s.item, 'P1344') do
thisCompetition = p1344.mainsnak.datavalue.value.id
for _, calendar in pairs(listofcalendar) do
if UCI[calendar][thisCompetition] then
thisyear=UCI[calendar][thisCompetition]
minmaxyear=checkminmaxyear(minmaxyear,thisyear)
q = p1344.qualifiers
if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank
rank = tonumber(q.P1352[1].datavalue.value.amount)
DSQ = isdisqualified(p1344, q)
else
rank= nil
end
if rank then
resultTable[thisyear][calendar]["rank"]=tostring(rank)
resultTable[thisyear][calendar]["DSQ"]=DSQ or ""
calendarlistpresent[calendar]=true
sitelink=mw.wikibase.getSitelink(thisCompetition)
resultTable[thisyear][calendar]["sitelink"]=sitelink
end
end
end
end
--display result
if minmaxyear.minimum~=0 then
local finalTable =mw.html.create('table'):attr('cellspacing','0')
:attr("align","center"):cssText("text-align:center; border: 1px solid #999; line-height: 1.8em;")
local wdLin = wdLink(string.gsub(s.item, '%s', '') .. "#P1344")
local tRow= finalTable:tag('tr'):tag('th')
:css("background-color",backgroundColor)
:wikitext(wdLin..' '..translate("riderranking",1,womenrace_bool))
for ii=minmaxyear.minimum,minmaxyear.maximum,1 do
tRow:tag('th'):attr("width","50px")
:css('background-color',backgroundColor)
:css("text-align","center")
:css("padding","1px 1px")
:wikitext(tostring(ii))
end
for _, calendar in pairs(listofcalendar) do
if calendarlistpresent[calendar] then
sitelink=mw.wikibase.getSitelink(UCImaster[calendar])
local tRow=finalTable:tag('tr')
local tCell = tRow:tag('th'):cssText("text-align:" .. textalign .. ";") -- left
if sitelink then
tCell:wikitext('[['..sitelink..'|'..UCImastername[calendar]..']]')
else
tCell:wikitext(UCImastername[calendar])
end
for yy=minmaxyear.minimum,minmaxyear.maximum,1 do
thisyear=tostring(yy)
color="white"
if resultTable[ thisyear][calendar]["rank"] then
if resultTable[thisyear][calendar]["rank"]=="1" then
color="gold"
elseif (2<=tonumber(resultTable[thisyear][calendar]["rank"])) and (tonumber(resultTable[thisyear][calendar]["rank"])<=3) then
color="YellowGreen"
elseif (4<=tonumber(resultTable[thisyear][calendar]["rank"])) and (tonumber(resultTable[thisyear][calendar]["rank"])<=10) then
color="silver"
end
tCell=tRow:tag('td'):attr("bgcolor",color):cssText(resultTable[thisyear][calendar]["DSQ"])
local rank=tonumber(resultTable[thisyear][calendar]["rank"])
rank=number(gender,rank,wiki)
if resultTable[thisyear][calendar]["sitelink"] then
tCell:wikitext('[['..resultTable[thisyear][calendar]["sitelink"]..'|'..rank..']]')
else
tCell:wikitext(rank)
end
--this ranking exist for this year, but the rider is not ranked
elseif yy>=UCImasterlimit[calendar].b and
(UCImasterlimit[calendar].e==0 or yy<=UCImasterlimit[calendar].e) then
if wiki=="fr" then
tRow:tag('td'):wikitext(' nc ')
else
tRow:tag('td'):wikitext(' - ')
end
--this ranking does not exist for this year
else
tRow:tag('td'):css('background-color',backgroundColorLight)
end
end
end
end
local UCIlink, legend
if wiki=="fr" then
UCIlink="https://www.uci.org/fr/route/classements"
legend= " Légende : nc = non classé"
else
UCIlink="https://www.uci.org/road/rankings"
legend=""
end
local tableyearsize=minmaxyear.maximum-minmaxyear.minimum+2
finalTable:tag('tr'):tag('td'):addClass("navigation-only")
:attr('colspan',tostring(tableyearsize))
:cssText("border-top: 2px "..backgroundColor.." solid; font-size: 80%;")
tCell=finalTable:tag('tr'):tag('td'):attr('colspan',tostring(tableyearsize))
:tag('small')
tCell:tag('span'):css("float","left")
:wikitext(legend)
tCell:tag('span'):css("float","right")
:wikitext(translate("race_reference", 1,womenrace_bool).."["..UCIlink..' UCI]')
return finalTable
end
end
local function toboolean(str)
if str=="true" then
return true
elseif str=="false" then
return false
else
return str
end
end
--=== O) Rider infobox
local function convertDate(date1, beginOrEnd, initialYear, finalYear)
if not date1 then
if beginOrEnd==0 then --begin
y1=tostring(initialYear)
m1="01"
d1="01"
else
y1=tostring(finalYear)
m1="12"
d1="31"
end
else
_, _, y1,m1,d1 = string.find(date1, "(%d+)-(%d+)-(%d+)")
if m1 ==nil or m1=="00" then
if beginOrEnd==0 then --begin
m1="01"
d1="01"
else--end
m1="12"
d1="31"
end
end
end
return '+'..y1.."-"..m1.."-"..d1.."T00:00:00Z"
end
local function listofTeam(itemID, initialYear, finalYear, PID)
--first we have to read P54 of the rider
--alternative P6087 for managed team
local riderteam={}
local stagiaire
for ii, p54 in statements(itemID, PID) do --itemID loaded in presentTeam
if p54 then
teamId=p54.mainsnak.datavalue.value.id
else
teamId=nil
end
local q = p54.qualifiers
if q then
local sTime, eTime=getStartEndfromQuali(q)
sTime=convertDate(sTime, 0, initialYear, finalYear)
eTime=convertDate(eTime, 1, initialYear, finalYear)
if q.P39 and q.P39[1] and q.P39[1].snaktype == 'value' then
stagiaire = q.P39[1].datavalue.value
else
stagiaire = nil
end
dis=checkDis(q)
table.insert(riderteam,{teamId=teamId, startTime=sTime, endTime=eTime, stagiaire=stagiaire, dis=dis})
end
end
return riderteam
end
--format the date for display of the team
local function riderFormatDate(thisDate)
if thisDate=='' then
return ''
else
local month=math.ceil(thisDate['month']/2)
if month==12 or month==1 then
return thisDate['year']
else
local date1='+'..thisDate['year'].."-"..month.."-".."01".."T00:00:00Z"
-- local newobj = Complexedate.splitDate(date1)
if month == 0 or month==nil then
return thisDate['year']
else
return month..'.'..thisDate['year']
end
end
end
end
local function getTeamInfo(teamId,mm,yy,dd,managedTeam)
--get the nature and name of the team for the date mm,yy
mm=tostring(mm)
yy=tostring(yy)
dd=tostring(dd)
if mw.ustring.len(mm)==1 then mm='0'..mm end
if mw.ustring.len(dd)==1 then dd='0'..dd end
thistime='+'..yy.."-"..mm.."-"..dd.."T00:00:00Z"
local sitelink, teamNature=getTeamLinkCat(teamId, thistime, false)
local cat, boolean
if managedTeam then
cat=nationalcat
else
cat=amateurcat
end
if cat[teamNature] then --club
boolean=true--amateur / national selection
else
boolean=false--pro / not national selection
end
return boolean, sitelink
end
--for managed team, the table should be splat, as we can be national trainer and team trainer at the same time
local function analyzeManagedTeam(teamRider, initialYear,finalYear)
local natTeamOut, managedTeamOut={},{}
local dis="road"
local managedTeam=true
for i=1,24 do --init table
natTeamOut[i]={}
managedTeamOut[i]={}
for j=initialYear,finalYear do
natTeamOut[i][j]={ amateurTeam, link, stagiaire=nil}
managedTeamOut[i][j]={amateurTeam,link, stagiaire=nil}
end
end
local teamId, natTeam, sitelink
local sYear, sMonth,eYear, eMonth, sDay, eDay
if teamRider==nil then return nil end
for _, v in pairs(teamRider) do --for each team where was the rider
if v['dis']==dis then
--exception managed at the reading
_, _, sYear,sMonth,sDay = string.find(v['startTime'], "(%d+)-(%d+)-(%d+)")
_, _, eYear,eMonth,eDay = string.find(v['endTime'], "(%d+)-(%d+)-(%d+)")
sYear=tonumber(sYear)
sMonth=tonumber(sMonth)
eYear=tonumber(eYear)
eMonth=tonumber(eMonth)
if sYear<=eYear then --test of congruence
for yy=sYear,eYear do
for mm=1,12 do
local mmindex=(mm-1)*2+1
--avoid reading info where the team is not the one of the rider
getinfo=true
if (yy==sYear and mm<sMonth) or (yy==eYear and mm>eMonth) then
getinfo=false
end
if getinfo then
if (yy==sYear) and (mm==sMonth) and (sDay~='01' and sDay~='00' and sDay~=nil)then
natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,sDay, managedTeam)
if natTeam then
natTeamOut[mmindex+1][yy]['amateurTeam']=true
natTeamOut[mmindex+1][yy]['link']=sitelink
else
managedTeamOut[mmindex+1][yy]['amateurTeam']=false
managedTeamOut[mmindex+1][yy]['link']=sitelink
end
else
natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'01', managedTeam)
if natTeam then
natTeamOut[mmindex][yy]['amateurTeam']=true
natTeamOut[mmindex][yy]['link']=sitelink
if natTeamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month
natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam)
natTeamOut[mmindex+1][yy]['amateurTeam']=true --a nat team stays a nat team
natTeamOut[mmindex+1][yy]['link']=sitelink
end
else
managedTeamOut[mmindex][yy]['amateurTeam']=false
managedTeamOut[mmindex][yy]['link']=sitelink
if managedTeamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month
natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam)
managedTeamOut[mmindex+1][yy]['amateurTeam']=false --a nat team stays a nat team
managedTeamOut[mmindex+1][yy]['link']=sitelink
end
end
end
end
end
end
end
end
end
return natTeamOut, managedTeamOut --a filled matrix with the link and nature of the teams
end
local function analyzeTeam(teamRider, initialYear,finalYear, dis)
local teamOut={}
local managedTeam=false
for i=1,24 do --init table
teamOut[i]={}
for j=initialYear,finalYear do
teamOut[i][j]={ amateurTeam, link, stagiaire}
end
end
local teamId, amateurTeam, sitelink
local sYear, sMonth,eYear, eMonth, sDay, eDay
if teamRider==nil then return nil end
for _, v in pairs(teamRider) do --for each team where was the rider
if v['dis']==dis then
--exception managed at the reading
_, _, sYear,sMonth,sDay = string.find(v['startTime'], "(%d+)-(%d+)-(%d+)")
_, _, eYear,eMonth,eDay = string.find(v['endTime'], "(%d+)-(%d+)-(%d+)")
sYear=tonumber(sYear)
sMonth=tonumber(sMonth)
eYear=tonumber(eYear)
eMonth=tonumber(eMonth)
if sYear<=eYear then --test of congruence
for yy=sYear,eYear do
for mm=1,12 do
local mmindex=(mm-1)*2+1
--avoid reading info where the team is not the one of the rider
getinfo=true
if (yy==sYear and mm<sMonth) or (yy==eYear and mm>eMonth) then
getinfo=false
end
if getinfo then
if (yy==sYear) and (mm==sMonth) and (sDay~='01' and sDay~='00' and sDay~=nil)then
amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,sDay, managedTeam)
teamOut[mmindex+1][yy]['amateurTeam']=amateurTeam
teamOut[mmindex+1][yy]['link']=sitelink
teamOut[mmindex+1][yy]['stagiaire']=v['stagiaire']
else
amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'01', managedTeam)
teamOut[mmindex][yy]['amateurTeam']=amateurTeam
teamOut[mmindex][yy]['link']=sitelink
teamOut[mmindex][yy]['stagiaire']=v['stagiaire']
if teamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month
amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam)
teamOut[mmindex+1][yy]['amateurTeam']=amateurTeam
teamOut[mmindex+1][yy]['link']=sitelink
teamOut[mmindex+1][yy]['stagiaire']=v['stagiaire']
end
end
end
end
end
end
end
end
return teamOut --a filled matrix with the link and nature of the teams
end
local function insertTeam(teamAmateur,teamPro,sDate,eDate,v)
local sDate2=riderFormatDate(sDate)
local eDate2=riderFormatDate(eDate)
local ins = {link=v['link'], sDate=sDate2,eDate=eDate2,stagiaire=v['stagiaire']}
if v['amateurTeam'] then
table.insert(teamAmateur,ins)
else
table.insert(teamPro,ins)
end
return teamAmateur,teamPro
end
local function synthetizeTable(analyzedTeam, initialYear,finalYear)
local teamPro, teamAmateur, tempTeam, tempsDate, tempeDate={}, {},{},{},{}
local empty=true
local active=false
--bring together successive month with identical content
for yy=initialYear,finalYear do
for mm=1,24 do
local v=analyzedTeam[mm][yy]
if v['amateurTeam']~=nil then
if empty then --first line
active=true
empty=false
tempTeam=v
tempsDate['month']=mm
tempsDate['year']=yy
else
if tempTeam['amateurTeam']==v['amateurTeam'] and tempTeam['link']==v['link']
and tempTeam['stagiaire']==v['stagiaire'] then --no change
if yy==finalYear and mm==24 then--present team
teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,'',tempTeam)
end
else--change
--save the old
if active then --if active false then it was already saved
if mm==1 then
tempeDate['year']=yy-1
tempeDate['month']=24
else
tempeDate['year']=yy
tempeDate['month']=mm-1
end
teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,tempeDate,tempTeam)
end
--save the new
active=true
tempTeam=v
tempsDate['month']=mm
tempsDate['year']=yy
end --change
end--first line
elseif active then --there was a team and now there is an empty period
active=false
--save the old
if mm==1 then
tempeDate['year']=yy-1
tempeDate['month']=24
else
tempeDate['year']=yy
tempeDate['month']=mm-1
end
teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,tempeDate,tempTeam)
tempTeam['link']=nil --avoid problem if the rider comes back in the same team
end
end-- for mm
end--for yy
return teamAmateur,teamPro
end
local function listOfManagedTeamTable(itemID, initialYear,finalYear)
local managedTeamRider = listofTeam(itemID, initialYear,finalYear,'P6087')--raw list of team
if not managedTeamRider then
return nil, nil
end
local natTeamOut, managedTeamOut=analyzeManagedTeam(managedTeamRider, initialYear,finalYear) --table with links and nature of teams
local nationalTeam,_=synthetizeTable(natTeamOut, initialYear,finalYear)
local _,managedTeam=synthetizeTable(managedTeamOut, initialYear,finalYear)
return nationalTeam,managedTeam
end
local function listOfTeamTable(itemID, initialYear,finalYear)
local teamRider = listofTeam(itemID, initialYear,finalYear,'P54')--raw list of team
if not teamRider then
return nil, nil
end
local analyzedTeam1=analyzeTeam(teamRider, initialYear,finalYear, "road") --table with links and nature of teams
local teamAmateur,teamPro=synthetizeTable(analyzedTeam1, initialYear,finalYear) --table formated, global
local analyzedTeam2=analyzeTeam(teamRider, initialYear,finalYear, "mountainBike")
local _, teamMountainBike=synthetizeTable(analyzedTeam2, initialYear,finalYear)
local analyzedTeam3=analyzeTeam(teamRider, initialYear,finalYear, "cycloCross")
local _, teamCycloCross=synthetizeTable(analyzedTeam3, initialYear,finalYear)
local analyzedTeam4=analyzeTeam(teamRider, initialYear,finalYear, "track")
local _, teamTrack=synthetizeTable(analyzedTeam4, initialYear,finalYear)
return teamAmateur,teamPro, teamMountainBike, teamCycloCross, teamTrack
end
function getBirthDeathDate(entityID, display_age)
local birthDate=firstValue(entityID, 'P569', 'time')
local deathDate=firstValue(entityID, 'P570', 'time')
local temp2, temp3, birth, death, initialYear, finalYear, age
local gender=getGenderCode(entityID, 'm')
local womenrace_bool=false
if gender=="f" then womenrace_bool=true end
if birthDate then
local birthDateFormatted= funcDate(birthDate, 'long')
age, initialYear, finalYear=calculateAge(birthDate)
local birthPlace = firstValue(entityID, 'P19', 'id')
local birthPlaceLink=''
if birthPlace then birthPlaceLink=getPlaceLink(birthPlace, birthDate) end
local plural, gen_singular, gen_plural = plural(age)
local ans
if gen_singular then
ans=translate("riderinfobox",48,womenrace_bool)
elseif gen_plural then
ans=translate("riderinfobox",49,womenrace_bool)
else
ans=translate("riderinfobox",50,womenrace_bool)
end
if not deathDate and display_age~=false then
temp2=' ('..tostring(age)..' '..ans..')<br/>'
else
temp2='<br/>'
end
birth=birthDateFormatted..temp2..birthPlaceLink
else
birth=nil
end
if deathDate then
local deathDateFormatted= funcDate(deathDate, 'long')
local deathPlace= firstValue(entityID, 'P20', 'id')
local deathPlaceLink=''
if deathPlace then deathPlaceLink=getPlaceLink(deathPlace, deathDate) end
if birthDate then
local age=calculateAge(birthDate, deathDate)
local plural, gen_singular, gen_plural = plural(age)
local ans
if gen_singular then
ans=translate("riderinfobox",48,womenrace_bool)
elseif gen_plural then
ans=translate("riderinfobox",49,womenrace_bool)
else
ans=translate("riderinfobox",50,womenrace_bool)
end
if display_age==false then
temp2='<br/>'
else
temp2=' ('..tostring(age)..' '..ans..')<br/>'
end
else
temp2='<br/>'
end
death=deathDateFormatted..temp2..deathPlaceLink
else
death=nil
end
return birth, death, initialYear, finalYear
end
local function presentTeam(itemID)
local tToday=os.date("*t")
if mw.ustring.len(tToday["month"])==1 then tToday["month"]='0'..tToday["month"] end
if mw.ustring.len(tToday["day"])==1 then tToday["day"]='0'..tToday["day"] end
local today='+'..tToday["year"].."-"..tToday["month"].."-"..tToday["day"].."T00:00:00Z"
local plural=false
local teamId, result, teamLink, teamLinkRoad, row
for _, s in statements(itemID, 'P54') do
p54 =checktime(s, s.qualifiers, today) --present Team
if p54 then
teamId= p54.mainsnak.datavalue.value.id
teamLink=getTeamLinkCat(teamId, today)
dis=checkDis(p54.qualifiers)
row=nil
if dis=='road' then
teamLinkRoad=teamLink
elseif dis=='mountainBike' then
row=teamLink..' (VTT)'
elseif dis=='cycloCross' then
row=teamLink..' (cyclo-cross)'
else
row=teamLink..' (piste)'
end
if row then
if not result then
result = row
else
result= result..'<br/>'..row
plural = true
end
end
end
end
if teamLinkRoad and result then --put road first
result = teamLinkRoad..' (route)<br/>'..result
plural= true
elseif teamLinkRoad then
result = teamLinkRoad
end
return result, plural
end
local function getSomeNames(details,entityID, PID, index, display_language)
local rows={}
if not details[index].content then
local listOfNames=getFormerNames(entityID, PID)
if listOfNames then
for _, v in pairs(listOfNames) do
rows[#rows + 1]=v[3]
if v[2] and v[2]~='' then
rows[#rows]=rows[#rows]..' <small>('..v[2]..')</small>'
end
if display_language then
rows[#rows]=rows[#rows]..' <b><small>('..v[4]..')</small></b>'
end
end
if #rows>0 then
details[index].content = table.concat(rows, '<br/>')
end
end
end
end
--for wikidata input
function teamTable(tab, teamAmateur, title_singular, title_plural)
if teamAmateur and #teamAmateur>0 then
if #teamAmateur==1 then
tab:node(addATitle(title_singular))
else
tab:node(addATitle(title_plural))
end
for _, v in pairs(teamAmateur) do
local nametemp=v['link']
if v['sDate']==v['eDate'] then
periodtemp=v['sDate']
else
periodtemp=v['sDate']..'-'..v['eDate']
end
if v['stagiaire'] then
local stagiaire = string.gsub(wikibase.label('Q2328847'), "%b()", "") or getLabelFallback('Q2328847',{'en', 'fr', 'de'})
nametemp=nametemp..' ('..stagiaire..')'
end
tab:node(addARow(periodtemp or '',nametemp)) --period, name
end
end
end
--for local data
function localTeamTable(tab, names, periods, title_singular, title_plural)
if names then
names = mw.text.split(names, '<br />')
periods = mw.text.split(periods or '', '<br />')
if #names==1 then
tab:node(addATitle(title_singular))
else
tab:node(addATitle(title_plural))
end
for i, name in pairs(names) do
tab:node(addARow(periods[i] or '', name))
end
end
end
function p.riderinfobox(frame)
local frame = frame
local lang = contentLanguage
-- If true, winners will have Wikidata logos with link to Wikidata
local WDlink_on = (wiki == "mk" or wiki == "ja")
local localframe
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then
localframe = frame:getParent()
else
localframe = frame
end
local entityID = mw.text.trim(frame.args[1])
if type(entityID) ~= 'string' then error('parameter must be a string') end
if not entityID:match('Q%d+') then error('parameter must be a valid Wikidata item (ex: Q42)') end
local gender=getGenderCode(entityID, 'm')
local womenrace_bool=false
if gender=="f" then womenrace_bool=true end
local details = {
{ name = translate("riderinfobox",1,womenrace_bool), name_plural =translate("riderinfobox",2,womenrace_bool)}, -- birth name
{ name = translate("riderinfobox",3,womenrace_bool), name_plural =translate("riderinfobox",4,womenrace_bool)}, -- nick name
{ name = translate("riderinfobox",5,womenrace_bool), name_plural =translate("riderinfobox",6,womenrace_bool)}, -- official name
{ name = translate("riderinfobox",7,womenrace_bool), name_plural =translate("riderinfobox",8,womenrace_bool)}, -- official name
{ name = translate("riderinfobox",9,womenrace_bool) }, -- birth translate("riderinfobox",9)
{ name = translate("riderinfobox",10,womenrace_bool)}, -- death
{ name = translate("riderinfobox",11,womenrace_bool), name_plural =translate("riderinfobox",12,womenrace_bool)}, -- country
{ name = translate("riderinfobox",13,womenrace_bool), name_plural =translate("riderinfobox",14,womenrace_bool)}, -- present team
{ name = translate("riderinfobox",15,womenrace_bool), name_plural =translate("riderinfobox",16,womenrace_bool)}, -- speciality
{ name = translate("riderinfobox",17,womenrace_bool) }, -- lateralisation
{ name = translate("riderinfobox",18,womenrace_bool) }, -- blood group
{ name = translate("riderinfobox",19,womenrace_bool) }, -- height
{ name = translate("riderinfobox",20,womenrace_bool) }, -- weight
{ name = translate("riderinfobox",21,womenrace_bool), name_plural =translate("riderinfobox",22,womenrace_bool)}, -- awards
}
local teams = {
{ name = translate("riderinfobox",23,womenrace_bool), name_plural =translate("riderinfobox",24,womenrace_bool)}, -- directed teams
{ name = translate("riderinfobox",25,womenrace_bool)}, -- directed years
{ name = translate("riderinfobox",26,womenrace_bool), name_plural =translate("riderinfobox",27,womenrace_bool)}, -- amateur names
{ name = translate("riderinfobox",28,womenrace_bool)}, -- amateur periods
{ name = translate("riderinfobox",29,womenrace_bool), name_plural =translate("riderinfobox",30,womenrace_bool)}, -- nonUCI names
{ name = translate("riderinfobox",31,womenrace_bool)}, -- nonUCI periods
{ name = translate("riderinfobox",32,womenrace_bool), name_plural =translate("riderinfobox",33,womenrace_bool)}, -- pro names
{ name = translate("riderinfobox",34,womenrace_bool)}, -- pro periods
{ name = translate("riderinfobox",35,womenrace_bool), name_plural =translate("riderinfobox",36,womenrace_bool)}, -- UCI names
{ name = translate("riderinfobox",37,womenrace_bool)}, -- UCI periods
{ name = translate("riderinfobox",52,womenrace_bool), name_plural =translate("riderinfobox",53,womenrace_bool)}, -- national selections
{ name = translate("riderinfobox",54,womenrace_bool)}, -- national selection years
}
--separated to have a title
local subtitle = {
{ name = translate("riderinfobox",51,womenrace_bool)}, -- insertion of a sub-title
}
--separated to have a title
local victories = {
{ name = translate("riderinfobox",38,womenrace_bool)}, -- main victories
}
--separated to have a title
local medals = {
{ name = translate("riderinfobox",47,womenrace_bool)}, -- main victories
}
local others = {
{ name = translate("infobox",29,womenrace_bool)}, -- picture
{ name = translate("infobox",30,womenrace_bool)}, -- caption
{ name = translate("infobox",31,womenrace_bool)}, -- map
{ name = 'sectional'}, -- sectional
{ name = translate("infobox",30,womenrace_bool)}, -- caption map
{ name = translate("infobox",30,womenrace_bool)}, -- caption sectional
}
local name = getLabelFallback(entityID, {wikilang, 'en', 'fr', 'de'}) or ''
local display_birthnameastitle=false
for _, value in pairs(display_birthnameastitle_in_riderinfobox) do -- get data if country should be printed in this wiki
if value == wiki then display_birthnameastitle=true end
end
getLocalContent(subtitle, localframe.args)
if not subtitle[1].content and display_birthnameastitle then
local p1477 = mw.wikibase.getBestStatements(entityID, "P1477")
if p1477[1] and p1477[1].mainsnak.snaktype == 'value' then
subtitle[1].content = p1477[1].mainsnak.datavalue.value.text..' <b><small>('..
p1477[1].mainsnak.datavalue.value.language..')</small></b>'
end
if not subtitle[1].content then
local p1559 = mw.wikibase.getBestStatements(entityID, "P1559") -- P580 is start time
if p1559[1] and p1559[1].mainsnak.snaktype == 'value' then
subtitle[1].content = p1559[1].mainsnak.datavalue.value.text..' <b><small>('..
p1559[1].mainsnak.datavalue.value.language..')</small></b>'
end
end
end
infoGetOthers(others, entityID)
getLocalContent(details, localframe.args)
getLocalContent(teams, localframe.args)
getLocalContent(others, localframe.args)
getLocalContent(victories, localframe.args)
getLocalContent(medals, localframe.args)
local listOfBirthNames, listOfNickNames, listOfOfficialNames, listOfShortNames
local icon = ' [[File:Cycling (road) pictogram.svg|35px]]'
local display_language=false
for _, value in pairs(display_language_in_riderinfobox) do -- get data if country should be printed in this wiki
if value == wiki then display_language=true end
end
local display_age=true
for _, value in pairs(display_noage_in_riderinfobox) do -- get data if country should be printed in this wiki
if value == wiki then display_age=false end
end
-- getSomeNames(details, entityID, 'P1477', 1, display_language) --birthname
--less prio than P1477
getSomeNames(details, entityID, 'P1559', 1, display_language) --birthname, bis
getSomeNames(details, entityID, 'P1449', 2, display_language) --nick name
getSomeNames(details, entityID, 'P1448', 3, display_language) --official name
getSomeNames(details, entityID, 'P1813', 4, display_language) --short name
local birth, death, initialYear, finalYear=getBirthDeathDate(entityID, display_age)
if not details[5].content then
details[5].content=birth
end
if not details[6].content then
details[6].content= death
end
local display_flag=false
for _, value in pairs(display_flag_in_riderinfobox) do -- get data if country should be printed in this wiki
if value == wiki then display_flag=true end
end
listWPlinkChrono(details, 7, entityID, {'P1532','P27'}, 'country', initialYear, display_flag)
if not details[8].content then
local plural
details[8].content, plural=presentTeam(entityID)
if plural then
details[8].name = details[8].name_plural
end
end
--speciality
listWPlink(details, 9, entityID, 'P413',false)
--lateralisation, for cycling not very interesting
--listWPlink(details, 10, entityID, 'P552',false)
--blood group, idem
--listWPlink(details, 11, entityID, 'P1853',false)
--height
if not details[12].content then
details[12].content=getHeight(entityID)
end
local display_weight=true
for _, value in pairs(display_noweight_in_riderinfobox) do -- get data if country should be printed in this wiki
if value == wiki then display_weight=false end
end
--weight
if not details[13].content and display_weight then
details[13].content=getWeight(entityID)
end
--award, should be table
--awards look weird
--if not details[14].content then
-- listWPlink(details, 14, entityID, 'P166',false)
--end
local amateurTeam, nonUCITeam, proTeam, UCITeam --local data
local amateurWD=true
local proWD=true
local managedWD=true
local teamAmateur,teamPro, teamMountainBike, teamCycloCross, teamTrack=listOfTeamTable(entityID, initialYear, finalYear)
local nationalTeam, managedTeam=listOfManagedTeamTable(entityID, initialYear, finalYear)
local managedTeam_names, managedTeam_periods, amateurTeam_names, amateurTeam_periods
local nonUCITeam_names, nonUCITeam_periods, proTeam_names, proTeam_periods
local nationalTeam_names, nationalTeam_periods
local UCITeam_names, UCITeam_periods
if teams[1].content then
managedTeam_names=teams[1].content
managedTeam_periods=teams[2].content
managedWD=false
end
if teams[3].content then
amateurWD=false
amateurTeam_names=teams[3].content
amateurTeam_periods=teams[4].content
end
if teams[5].content then
amateurWD=false
nonUCITeam_names=teams[5].content
nonUCITeam_periods=teams[6].content
end
if teams[7].content then
proWD=false
proTeam_names=teams[7].content
proTeam_periods=teams[8].content
end
if teams[9].content then
proWD=false
UCITeam_names=teams[9].content
UCITeam_periods=teams[10].content
end
if teams[11].content then
nationalTeam_names=teams[11].content
nationalTeam_periods=teams[12].content
managedWD=false
end
--plate and grab
tab = infoInitTab("300px", name, icon, 2)
if subtitle[1].content then
tCell=tab:tag('tr'):tag('td'):attr('colspan','2')
:cssText('solid white; text-align:center')
:wikitext(subtitle[1].content)
end
infoFillOthersDetails(tab, others, details,translate("riderinfobox",55,womenrace_bool),"260px")
if amateurWD then
teamTable(tab, teamAmateur, translate("riderinfobox",26,womenrace_bool), translate("riderinfobox",27,womenrace_bool))
else
localTeamTable(tab,amateurTeam_names, amateurTeam_periods, translate("riderinfobox",26,womenrace_bool), translate("riderinfobox",27,womenrace_bool))
localTeamTable(tab,nonUCITeam_names, nonUCITeam_periods, translate("riderinfobox",29,womenrace_bool), translate("riderinfobox",30,womenrace_bool))
end
if proWD then
teamTable(tab, teamPro, translate("riderinfobox",45,womenrace_bool),translate("riderinfobox",46,womenrace_bool))
teamTable(tab, teamMountainBike, translate("riderinfobox",39,womenrace_bool), translate("riderinfobox",40,womenrace_bool))
teamTable(tab, teamCycloCross, translate("riderinfobox",41,womenrace_bool), translate("riderinfobox",42,womenrace_bool))
teamTable(tab, teamTrack, translate("riderinfobox",43,womenrace_bool), translate("riderinfobox",44,womenrace_bool))
else
localTeamTable(tab,proTeam_names, proTeam_periods,translate("riderinfobox",45,womenrace_bool), translate("riderinfobox",46,womenrace_bool))
localTeamTable(tab,UCITeam_names, UCITeam_periods, translate("riderinfobox",35,womenrace_bool), translate("riderinfobox",36,womenrace_bool))
end
--managed teams
if managedWD then
teamTable(tab, nationalTeam, translate("riderinfobox",52,womenrace_bool), translate("riderinfobox",53,womenrace_bool))
teamTable(tab, managedTeam, translate("riderinfobox",23,womenrace_bool), translate("riderinfobox",24,womenrace_bool))
else
localTeamTable(tab,managedTeam_names, managedTeam_periods,translate("riderinfobox",23,womenrace_bool), translate("riderinfobox",24,womenrace_bool))
end
if victories[1].content then
tab:node(addATitle(translate("riderinfobox",38,womenrace_bool)))
tab:tag('tr'):tag('td')
:css('vertical-align','top'):attr('colspan','2')
:wikitext(victories[1].content)
end
if medals[1].content then
tab:node(addATitle(translate("riderinfobox",47,womenrace_bool)))
tab:tag('tr'):tag('td')
:css('vertical-align','top'):attr('colspan','2')
:wikitext(medals[1].content)
end
wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/riderinfobox", translate("raceinfobox",26,womenrace_bool), entityID)
return tab
end
--=== P) Team infobox
function p.teaminfobox(frame)
localframe = frame
local lang = contentLanguage
-- If true, winners will have Wikidata logos with link to Wikidata
local WDlink_on = (wiki == "mk" or wiki == "ja")
local entityID = mw.text.trim(frame.args[1])
if type(entityID) ~= 'string' then error('parameter must be a string') end
if not entityID:match('Q%d+') then error('parameter must be a valid Wikidata item (ex: Q42)') end
local womenrace_bool=isWomenrace(entityID)
local tRace = {race={
raceId,
raceDate,
future,
},
lastEditionMonth,
lastEditionYear,
numberOfEditions,
lastLink,
nextLink,
}
local details = {
{ name = translate("teaminfobox",2,womenrace_bool)}, -- sport
{ name = translate("teaminfobox",3,womenrace_bool), name_plural = translate("teaminfobox",4,womenrace_bool)}, -- type
{ name = translate("teaminfobox",5,womenrace_bool), name_plural = translate("teaminfobox",6,womenrace_bool)}, -- UCI-cod
{ name = translate("teaminfobox",7,womenrace_bool), name_plural = translate("teaminfobox",8,womenrace_bool)}, -- сountry
{ name = translate("teaminfobox",9,womenrace_bool)}, -- creation date
{ name = translate("teaminfobox",10,womenrace_bool)}, -- disparition date
{ name = translate("teaminfobox",11,womenrace_bool)}, -- number of season
{ name = translate("teaminfobox",13,womenrace_bool)}, -- official web site
{ name = translate("teaminfobox",24,womenrace_bool), name_plural = translate("teaminfobox",25,womenrace_bool) }, -- bike
{ name = translate("teaminfobox",26,womenrace_bool)}, -- budget
}
local others = {
{ name = translate("infobox",29,womenrace_bool)}, -- picture
{ name = translate("infobox",30,womenrace_bool)}, -- caption
{ name = translate("infobox",31,womenrace_bool)}, -- map
{ name = 'sectional'}, -- sectional
{ name = translate("infobox",30,womenrace_bool)}, -- caption map
{ name = translate("infobox",30,womenrace_bool)}, -- caption sectional
}
local managers ={
{ name = translate("teaminfobox",14,womenrace_bool), name_plural = translate("teaminfobox",15,womenrace_bool)}, -- manager --country
{ name = translate("teaminfobox",16,womenrace_bool), name_plural = translate("teaminfobox",17,womenrace_bool)}, -- sports director
}
local name = getLabelFallback(entityID, {wikilang, 'en', 'fr', 'de'}) or ''
infoGetOthers(others, entityID)
local localframe
if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then
localframe = frame:getParent()
else
localframe = frame
end
getLocalContent(details, localframe.args)
getLocalContent(others, localframe.args)
getLocalContent(managers, localframe.args)
local listOfNames=getFormerNames(entityID, 'P1448')
local sport_id=firstValue(entityID, 'P641', 'id')
local icon = (sport_id == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing'
' [[File:Cycling (road) pictogram.svg|35px]]' or ''
--1st ist sport
if not details[1].content and sport_id then
details[1].content = WPlinkpure(sport_id)
end
local creation=firstValue(entityID, 'P571', 'time')
local initialYear=string.sub(creation,2,5)
-- type
listWPlinkChrono(details, 2, entityID, {'P31'}, 'rider', initialYear)--it is not a rider, but we need link + official name
--UCI code
listWPlinkChrono(details, 3, entityID, {'P1998'}, 'UCIcode', initialYear, nil, true)
-- сountry
local display_flag=true
listWPlinkChrono(details, 4, entityID, {'P1532','P17'}, 'country', initialYear, display_flag)
--creation date
if not details[5].content and creation then
details[5].content = funcDate(creation, "Y" )
end
-- disparition date
local disparition=firstValue(entityID, 'P576', 'time')
if not details[6].content and disparition then
details[6].content = funcDate(disparition,"Y")
end
--populate tRace
listOfWinners(entityID, tRace,true)
-- number of season
if not details[7].content and tRace.numberOfEditions and tRace.lastEditionYear then
details[7].content = tostring(tRace.numberOfEditions).." (" .. translate("teaminfobox",12,womenrace_bool) .. " "..tostring(tRace.lastEditionYear)..")"
end
-- official site
if not details[8].content then
details[8].content = officialSite(entityID)
end
--9 is bike (no Wikidata input)
--10 budget
listWPlinkChrono(details, 10, entityID, {'P2769'}, 'money', initialYear)
-- manager
listWPlinkChrono(managers, 1, entityID, {'P505'}, 'rider', initialYear)
-- sports director
listWPlinkChrono(managers, 2, entityID, {'P286'}, 'rider', initialYear)
--Build the table
tab = infoInitTab("300px", name, icon, 2)
--former names
wiki_listOfNamesAtBottom={'ru'}
local listOfNamesAtBottom = false
for _, value in pairs(wiki_listOfNamesAtBottom) do --
if value == wiki then listOfNamesAtBottom = true end
end
--picture at the top
infoFillOthersDetails(tab, others, details, translate("teaminfobox",1,womenrace_bool),"260px")
if managers[1].content or managers[2].content then
tab:node(addATitle(translate("teaminfobox",18,womenrace_bool)))
for _, row in ipairs(managers) do
tab:node(addARow(row.name, row.content)) --node check itself if nil
end
end
if listOfNames and #listOfNames>0 then --Always display a list of names
tab:node(addATitle(translate("teaminfobox",19,womenrace_bool)))
for _, v in pairs(listOfNames) do
tab:node(addARow(v[2],v[3])) --period, name
end
end
-- an empty line with a title under the form in the form of an image or third-party template
if frame.args[2] then -- if the jersey is not specified, then the JERSEY header is not displayed
tab:node(addATitle(translate("teaminfobox",20,womenrace_bool)))
local outTable = mw.html.create('tr')
local tCell=outTable:tag('td'):attr('colspan','3'):css('text-align','center')
tCell:wikitext(frame.args[2]) -- adding a form via "argument 2" by an image or an extraneous template
tab:node(outTable)
end
-- adding a link to articles about the last and current seasons (the same as for the race)
if tRace.nextLink or tRace.lastLink then
tab:node(addATitle(translate("teaminfobox",21,womenrace_bool)))
local outTable
if tRace.lastLink then
outTable = mw.html.create('tr')
local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center')
local lastText="[[File:Crystal Clear app kworldclock.png|left|37px]]"..
translate("teaminfobox",22,womenrace_bool)..
":<br>'''"..
tRace.lastLink.."'''"
tCell:wikitext(lastText)
tab:node(outTable)
end
if tRace.nextLink then
outTable = mw.html.create('tr')
local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center')
local nextText = "[[File:Crystal Clear app kworldclock.png|left|37px]]"..
translate("teaminfobox",23,womenrace_bool)..
":<br>'''"..
tRace.nextLink.."'''"
tCell:cssText("text-align:center"):wikitext(nextText)
tab:node(outTable)
end
end
wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/raceinfobox", translate("raceinfobox",26,womenrace_bool), entityID)
return tab
end
--=== Z) Miscellaneous / Other / Tests
--[[ Give access to a local variable. Used by other modules. ]]
function p.getLocal(name)
if name == 'getTeamLinkCat' then return getTeamLinkCat end
if name == 'getStatementForTime' then return getStatementForTime end
end
function p.testlocal(frame) --function to test local functions
local function_name=frame.args[1]
local argu=frame.args
local temp, temp2
if function_name=='firstValue' then
return firstValue(argu[2],argu[3],argu[4])
elseif function_name=='getOfficialName' then
temp, temp2 =getOfficialName(argu[2],argu[3],argu[4])
return temp
elseif function_name=='getRiderLink' then
if argu[3]=="nil" then arg3=nil else arg3=argu[3] end
temp=getRiderLink(argu[2],arg3) --only first arg returned
return temp
elseif function_name=='funcDate' then
return funcDate(argu[2],argu[3])
elseif function_name=='funcDateFigure' then
return funcDateFigure(argu[2],argu[3])
elseif function_name=='getStartEndTime1' then
temp, temp2=getStartEndTime(argu[2],argu[3],argu[4])
return temp
elseif function_name=='getStartEndTime2' then
temp, temp2=getStartEndTime(argu[2],argu[3],argu[4])
return temp2
elseif function_name=='getPeriodSub' then
temp, temp2=getPeriodSub(argu[2],argu[3],toboolean(argu[4]))
return temp
elseif function_name=='getTeam' then
temp=getTeam(argu[2],argu[3],argu[4])
if temp then return temp else return 'nil' end
elseif function_name=='getStatementForTime' then
temp=getStatementForTime(argu[2],argu[3],argu[4])
if temp then
return temp.mainsnak.datavalue.value.id
else
return 'nil'
end
elseif function_name=='getTeamLinkCat' then
temp=getTeamLinkCat(argu[2],argu[3],toboolean(argu[4]),toboolean(argu[5]))
if temp then return temp else return 'nil' end
elseif function_name=='getPlaceLink' then
if argu[3]=="nil" then arg3=nil else arg3=argu[3] end
return getPlaceLink(argu[2],arg3)
elseif function_name=='getPlaceLink2' then
return getPlaceLink(argu[2],argu[3],nil,true)
elseif function_name=='seasonToTeamID' then
if argu[2]=="nil" then arg2=nil else arg2=argu[2] end
return tostring(seasonToTeamID(arg2))
elseif function_name=='translate' then
return translate(argu[2],tonumber(argu[3]),toboolean(argu[4]))
elseif function_name=="classLinkFn" then
return classLinkFn(argu[2])
elseif function_name=='raceLink' then
return tostring(raceLink(argu[2]))
elseif function_name=='getMainRaceLink' then
if argu[5]=="nil" then arg5=nil else arg5=argu[5] end
if argu[3]=='stage' then arg3='stage' else arg3=tonumber(argu[3]) end
return tostring(getMainRaceLink(argu[2],arg3,argu[4], arg5,argu[6]))
elseif function_name=='getYear' then
return getYear(argu[2])
elseif function_name=='getCountryName' then
return tostring(getCountryName(argu[2]))
elseif function_name=='getTeamCodeCat' then
return tostring(getTeamCodeCat(argu[2],argu[3]))
elseif function_name=='getTeamCode' then
return tostring(getTeamCode(argu[2],argu[3],argu[4]))
elseif function_name=='getCountryBool' then
return tostring(getCountryBool({argu[2],argu[3]}))
elseif function_name=='WPlinkpure' then
return WPlinkpure(argu[2])
elseif function_name=='uciCodeCountry' then
return uciCodeCountry(argu[2])
elseif function_name=='isHuman' then
return tostring(isHuman(argu[2]))
elseif function_name=='isCountry' then
return tostring(isCountry(argu[2]))
elseif function_name=='isWomenrace' then
return tostring(isWomenrace(argu[2]))
elseif function_name=='commaStage' then
temp =commaStage(argu[2],argu[3])
return temp["prefix"]
elseif function_name=='number' then
return number(argu[2],tonumber(argu[3]), argu[4])
elseif function_name=='classToCircuit' then
return classToCircuit(argu[2], argu[3], toboolean(argu[5]), nil)
elseif function_name=='getGenderCode' then
return tostring(getGenderCode(argu[2], argu[3]))
elseif function_name=='calculateTime' then
return calculateTime(argu[2])
elseif function_name=='getClass1' then
temp, temp2 = getClass(argu[2])
return temp
elseif function_name=='getClass2' then
temp, temp2 = getClass(argu[2])
return temp2
elseif function_name=='infoGetPlace' then
local details = {{ name = "test", name_plural="tests"}} -- course / not used
infoGetPlace(details,1, argu[2], argu[3], argu[4])
return details[1].content
elseif function_name=='getFormerNames1' then
temp=getFormerNames(argu[2],'P1448')
if temp[1] then
return temp[1][2] --period
else
return ""
end
elseif function_name=='getFormerNames2' then
temp=getFormerNames(argu[2],'P1448')
if temp[1] then
return temp[1][3] --name
else
return ""
end
elseif function_name=='getType' then
return getType(argu[2])
elseif function_name=='compareDate' then
return tostring(compareDate(argu[2]))
elseif function_name=='officialSite' then
return officialSite(argu[2])
elseif function_name=='trans' then
return tostring(trans(argu[2], argu[3], argu[4]))
elseif function_name=='parseDate1' then
temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text")
return temp1
elseif function_name=='parseDate2' then
temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text")
return temp2
elseif function_name=='parseDate5' then
temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text")
return temp5
elseif function_name=='findLastName' then
return findLastName(argu[2],wiki)
elseif function_name=='findSortKey' then
if wiki=="ru" or wiki=="mk" then
return findSortKey(argu[2],false, true)
else
return findSortKey(argu[2],true, false)
end
elseif function_name=='calculateAge' then
temp1, _, _ =calculateAge(argu[2])
return temp1
elseif function_name=='getBirthDeathDate1' then
temp1, temp2 = getBirthDeathDate(argu[2])
return temp1
elseif function_name=='getBirthDeathDate2' then
temp1, temp2 = getBirthDeathDate(argu[2])
return temp2
elseif function_name=='getLocalContent' then
local details = {
{ name = argu[2], name_plural= argu[3]}
}
local arguments = {}
arguments[argu[4]]="test"
getLocalContent(details, arguments)
return details[1].content
elseif function_name=='plural1' then
_, temp1, temp2=plural(tonumber(argu[2]))
return temp1
elseif function_name=='plural2' then
_, temp1, temp2=plural(tonumber(argu[2]))
return temp2
elseif function_name=='getNationality' then
return getNationality(argu[2], argu[3])
elseif function_name=='getClassCalendar_sub' then
return getClassCalendar_sub(argu[2])
end
end
function p.test_import(frame)
local function_name=frame.args[1]
local argu=frame.args
if function_name=='class_dic' then
return tostring(class_dic[argu[2]])
elseif function_name=="class_sort" then
return tostring(class_sort[argu[2]])
elseif function_name=='bg_color_table' then
local temp = bg_color_table[argu[2]]
temp=string.gsub(temp,'#',"")
return temp
end
end
return p
0cvq8tiqwfvngbxy7t29t7arqtkbvsf
Catégorie:Névez
14
67809
873095
722843
2022-08-23T11:27:05Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Finistère]]
[[Catégorie:Ville française]]
d7ozue0howmqis3i9lmenj43887ww4a
Catégorie:Mende
14
68116
873086
722870
2022-08-23T11:17:46Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Ville française]]
[[Catégorie:Lozère]]
pycgwpdgpdgw5fu2y8drlof58upjuf7
Catégorie:Megève
14
68225
873085
723637
2022-08-23T11:17:06Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Haute-Savoie]]
[[Catégorie:Alpes]]
[[Catégorie:Ville française]]
gq5vuwd5okzr6ywrmcx2pa7fpupc1vq
Discussion utilisateur:P1
3
75428
872994
768991
2022-08-22T13:32:04Z
Vincent Vega
46345
Vincent Vega a déplacé la page [[Discussion utilisateur:TheMrP]] vers [[Discussion utilisateur:P1]] : Page automatiquement déplacée lors du renommage de l’utilisateur « [[Special:CentralAuth/TheMrP|TheMrP]] » en « [[Special:CentralAuth/P1|P1]] »
wikitext
text/x-wiki
<div class="tabber horizTabBox" style="width: 75% !important;">
<div class="tabbertab" title="Présentation">
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="font-size: small; box-shadow: 0 0 .3em #999999; border-radius: .2em; margin: 0 0 2em 0; padding: 1px;">
<td valign="top" style="text-align: left; font-size:96%;">
{{Cadre bienvenu|couleur=#006699|name=<font size=4>Qu’est-ce que Wikinews ?</font>|1=[[Fichier:Current Events Barnstar Hires.png|50px|right]]
<font size=3.5>Bonjour, je vous accueille en tant que wikinewsien bénévole.
Wikinews est un recueil de [[Wikinews:Contenu des articles|dépêches et de reportages d'actualité]] et compte aujourd’hui {{NUMBEROFARTICLES}} articles entièrement écrit par ses utilisateurs. Vous allez y effectuer vos premiers pas : si vous avez besoin de conseils ou d'aide pour cela, n’hésitez pas à me contacter ou à laisser un message dans la [[Wikinews:salle café|salle café]].
Vous êtes invité à découvrir tout cela plus en détail en consultant les liens ci-dessus.
Je vous souhaite de prendre plaisir à lire ou à contribuer à Wikinews.
À bientôt !
</font><font size=2.5>P.S. Vos nouveaux messages seront affichés en bas de cette page et signés par leur expéditeur. Pour lui répondre, cliquez sur sa signature. ([[Aide:Page Utilisateur#Comment gérer mes pages de discussion ?|aide]])</small></font>
<tr><td valign="top" style="text-align: left;">
{{Cadre bienvenu|couleur=#006699|name=<font size=4>Écrivez votre premier article !</font>|1=[[Fichier:Text-x-generic with pencil-2.svg|50px|right]]
<font size=3.5>
Utilisez la boîte ci-dessous pour vous aider à créer votre premier article. Il suffit de taper le titre de votre nouvelle et de cliquer sur « Créer une page ». Ensuite, commencez à taper le texte de l’article dans la nouvelle boîte qui va venir. Lorsque vous avez terminé, cliquez sur « Enregistrer ». C’est tout ! <br/>
<center>
<inputbox>
type=create
preload=Modèle:Nouvelle brève/relecture
editintro=Modèle:Intro_nouvelle_brève
placeholder=Entrez ici le titre de la page
width=40
buttonlabel= Créer une page
</inputbox>
</center>
}}
Conseil pour le titre : il est d’usage sur Wikinews de faire commencer le titre d'une brève par le nom du pays (''Belgique : Philippe succède à Albert II et devient le septième roi de Belgique''), en cas d'impossibilité, faire commencer le titre par une thématique (''Cinéma : décès de Denys de La Patellière'')
<center><span class="plainlinks" style="display: block; ">[{{fullurl:Wikinews:Salle café/{{#time:Y}}/{{#time:F}}|action=edit§ion=new&preload=Modèle:Préchargement_aide&editintro=Modèle:Intro_aide}} {{Bouton cliquable|Demander de l’aide|couleur=blue}}]</span></center></font>
</td></tr></table>
}}
</td></tr></table>
</div>
<div class="tabbertab" title="Fonctionnement"><!-- START Tab 2 -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="font-size: small; box-shadow: 0 0 .3em #999999; border-radius: .2em; margin: 0 0 2em 0; padding: 1px;">
<tr><td valign="top" style="text-align: left;">
{{Cadre bienvenu|couleur=#006699|name=Pour bien vous préparer.|1=
<div style="width:50%; display:block; float:left; align:left;">
<u>'''Mieux comprendre Wikinews'''</u>
* [[Wikinews:Ce qu'est Wikinews|Ce qu'est Wikinews]]
* [[Wikinews:Ce que Wikinews n'est pas|Ce que Wikinews n'est pas]]
<u>'''Devenir rédacteur'''</u>
* [[Wikinews:Rédaction d'un article|Rédaction d'un article]]
* [[Aide:Relire un article|Processus de publication]]
* [[Aide:Sommaire|Sommaire de l'aide]] et [[w:Aide:Jargon de Wikipédia|glossaire]]
</div>
<div style="width:50%; display:block; float:left; align:right;">
<u>'''Vos pages'''</u>
* [[Utilisateur:{{PAGENAME}}|Votre page d'utilisateur]] <small>([[Aide:Page Utilisateur|aide]])</small>
* {{Créer brouillon}} <small>([[Wikinews:Rédaction d'un article|aide]])</small>
<u>'''La communauté'''</u>
* [[Wikinews:Accueil|Accueil de la communauté]]
* [[Wikinews:Salle de rédaction|Salle de rédaction]]
* [[Wikinews:Salle café|Salle café]]
}}
</tr></table>
</div>
<div class="tabbertab" title="Règles et conventions"><!-- START Tab 3 -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="font-size: small; box-shadow: 0 0 .3em #999999; border-radius: .2em; margin: 0 0 2em 0; padding: 1px;">
<tr><td valign="top" style="text-align: left;">
{{Cadre bienvenu|couleur=#006699|name=Tous les projets Wikimédia ont des règles. Voici les nôtres.|1=
<div style="width:50%; display:block; float:left; align:left;">
<u>'''Usages et savoir-vivre'''</u>
* [[Wikinews:Règles de savoir-vivre|Règles de savoir-vivre]]
* [[Wikinews:Copyright|Droit d'auteur]]
* [[Wikinews:Neutralité de point de vue|Neutralité de point de vue]]
<u>'''Critères'''</u>
* [[Wikinews:Critères d'admissibilité des articles|Critères d'admissibilité des articles]]
</div>
<div style="width:50%; display:block; float:left; align:right;">
<u>'''Style'''</u>
* [[Wikinews:Conventions sur les titres|Conventions sur les titres]]
* [[Wikinews:Conventions de style|Conventions de style]]
* [[Wikinews:Conventions typographiques|Conventions typographiques]]
* [[Aide:Charte graphique|La charte graphique]]
}}
</tr></table>
</div>
</div>
</div>
ase93rqztptp6fy1upzkqulak721qt4
Catégorie:Fleury-Mérogis
14
77231
873011
780293
2022-08-22T18:46:08Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Essonne]]
[[Catégorie:Ville française]]
0w4q91efmp9zrkx7r8izwj17qkbbk5o
Gilets jaunes : vendredi 21 décembre 2018
0
78704
873025
840114
2022-08-22T19:50:02Z
Wyslijp16
45738
Ajout de catégories
wikitext
text/x-wiki
{{Autres projets|w= Mouvement des Gilets jaunes#Samedi 15 décembre 2018}}
{{Date|21 décembre 2018}} Cette journée des {{citation|{{w|Mouvement des gilets jaunes|gilets jaunes}}}} du vendredi 21 décembre 2018 est la 35ème journée qui fait suite à la [[Gilets jaunes : jeudi 20 décembre 2018|journée du 20 décembre]], et tout au début, celle du [[Manifestations des "Gilets jaunes", une personne morte et des centaines de blessés|samedi 17 novembre 2018]].
Ce vendredi, les agents de l'ordre ont continué d'expulser les Gilets jaunes des 200 ronds-points encore recensés en France.
Vers minuit, à Pfastatt (Haut-Rhin), bloquant Plastic Omnium, une usine d'un sous-traitant de PSA depuis jeudi soir, 80 Gilets jaunes ont été expulsés par les agents de l'ordre qui ont fait quatorze interpellations, des hommes et des femmes âgés de 20 à 50 ans.
Vers 1h30 du matin, au Mans, bloquant l'entreprise de transport Stef Transport depuis jeudi soir, les Gilets jaunes ont quitté les lieux, permettant aux 100 camions frigorifiques de faire leurs livraisons.
Délogés jeudi matin par les agents de l'ordre, les Gilets jaunes du rond-point des Angles (Gard) ont réinstallé dans la nuit de jeudi à vendredi un rempart de pneus et de palettes, mais les les agents de l'ordre sont revenue pour les expulser et tout déblayer.
Ce matin, des Gilets jaunes étaient encore présents au rond-point du Macdonald à Louviers (Haute-Normandie), sur un rond-point d’Albert (Somme), devant la Ville-Close à Concarneau (Finistère), à Scionzier (Haute-Savoie), et l’accès du Crédit agricole à La Roche-sur-Yon (Vendée).
Ce matin, près d’Agen, les agents de l'ordre ont expulsé les Gilets jaunes du rond-point donnant accès à l’A62, où un Gilet jaune a été tué jeudi hier.
Après avoir été expulsés par les agents de l'ordre ce vendredi matin d'un rond-point à Redon (Ille-et-Vilaine), les Gilets jaunes sont revenus manifester devant la mairie.
Vers 8h00, pour Rebecca Pinheiro-Croisel, maître de conférences à Sciences-Po, la genèse des Gilets jaunes s'inspire de Tony Robinson, un blogueur qui parle énormément d’immigration : nous sommes abandonnés car il y a trop d'immigration. Depuis des mois des Anglais manifestent pour demander sa libération et du pouvoir d’achat. En six ans, le pacte de Marrakech prévoit de faire entrer 56 millions de migrant en Europe et que les États devront prendre des mesures de sanctions financières contre les médias qui parleront contre le mouvement migratoire.
Vers 8h25, Eric Zemmour et Nicolas Domenach ont débattu sur le RIC (référendum d'initiative citoyenne), Eric Zemmour étant contre tout droit de véto de l’État, le peuple doit voter n'importe quelle question, contrairement à Nicolas Domenach qui a défendu le droit de véto de l’État (un tri) pour éviter tout risque de mauvaise question comme par exemple un référendum sur la peine de mort ou le mariage homosexuel. Eric Zemmour s'est dit cependant contre le référendum révocatoire, typique de l'extrême gauche.
Vers 8h40, le député de la Manche, Bertrand Sorre, a été nommé référent pour la Région Normandie en vue du débat national qui débutera en janvier 2019. Depuis mercredi 19, le parti politique La République En Marche a commencé la nomination des 13 députés référents territoriaux et des 5 députés référents thématiques.
Vers 9h00, Benjamin Cauchy, « Gilet jaune libre » a affirmé ne pas être convaincu de la réponse du Président à la pétition et lui demande de laisser les sénateurs amender le projet de loi de finance.
Vers 9h20, Dickens David, responsable marketing et communication du Cirque Phénix, s'est dit se sentir exclu du débat en tant que Parisien, « au motif d'être des bobos ». C'est la dictature des minorités. On a l’impression qu’on ne fait plus partie du peuple à partir d’un certain confort social. S’approprier la légitimité du peuple n’est pas bon signe !
Vers 10h00, dans une vidéo publiée sur youtube, Jacline Mouraud appelle à mettre fin aujourd'hui à ce climat insurrectionnel, et affirme que « la clef, la fin de ce conflit, c'est L’État qui l'a ». Pour Jacline Mouraud, Priscillia Ludosky, Eric Drouet et Maxime Nicolle forment un « petit groupe qui joue les dictateurs ». Ils sont intransigeants sur les personnes qui pourraient prendre part à ce mouvement. La majeure partie des menaces que Jacline Mouraud a subi proviennent du groupe « La France en colère » qu'ils administrent. Pour Benjamin Cauchy, Priscillia Ludosky a des idées, un leadership naturel et fait de la politique plus marquée à gauche.
Priscillia Ludosky ne veux pas faire de politique, ni de liste aux européennes. La seule chose qu'elle demande, c'est un référendum (le RIC).
Selon un sondage Odoxa-Dentsu Consulting réalisé les 19 et 20 décembre, la possibilité d'une liste conduite par des Gilets jaunes recueillerait 8% des suffrages, score qui se ferait principalement au détriment du Rassemblement national.
Vers 14h30, en prévision d'une manifestation des Gilets jaunes samedi demain, le Préfet des Yvelines a invité la SNCF a laisser fermer certaines gares samedi.
En fin d'après-midi, au parc Bourgines à Angoulême (Charente), pour les 41 ans du Président de la République Emmanuel Macron, une petite cinquantaine de Gilets jaunes ont organisé un simulacre de procès du président de la République représenté par un mannequin taille réel avec sa photo sur le visage. Le procès de quinze minutes a condamné le pantin à mort. Sa tête a été placée sur un rondin de bois, puis décapitée à la hache par un bourreau masqué, dans une grande giclée de vrai sang de bœuf. La photo a été mise au bout d'une pique tandis que le pantin a été brûlé sur un bûcher, autour duquel des Gilets jaunes ont dansé sur la chanson « Joyeux anniversaire » de Patrick Sébastien.
Vers 17h00, alors que la journaliste de BFMtv, Amélie Rosique, est en direct-live au péage du Boulou sur l'A9, près de la frontière espagnole, un Gilet jaune l'encape d'un gilet jaune, ce qui a pour résultat la coupure immédiate du direct par la chaîne que le présentateur Benjamin Dubois commente : « on ne va pas cautionner l’idée de mettre des gilets jaunes à des journalistes ».
Sur le réseau autoroutier et sur décision préfectorale, plusieurs échangeurs d'autoroutes ont encore été partiellement ou complètement fermés non loin des actions des Gilets jaunes, notamment :
* l'A7 à Orange Sud, Avignon Nord et Bollène;
* l'A9 à Narbonne Sud et Agde;
* l'A50 à Bandol;
* l'A51 à Manosque;
* l’A154 à Val-de-Reuil;
* l’A13 au péage d’Incarville.
La préfecture de l'Ariège a annoncé que « plusieurs entreprises du département » ont pris des mesures de mise en chômage technique.
Dans le journal ''LaCroix'', Cynthia Fleury, psychanalyste et philosophe a affirmé que le mouvement des Gilets jaunes a réuni une même typologie de personnes appartenant aux « petites classes moyennes et populaires » alors que les « catégories aisées se sont détournées d’un destin national commun depuis une dizaine d’années ». Sur le RIC, elle a affirmé que la démocratie continue, par la participation citoyenne, doit être mêlée à la « représentation nationale ».
Dans le ''Figaro'', Mathieu Bock-Côté a affirmé que le débat sur l'immigration voulu par des Gilets jaunes est censuré : même si l'immigration massive est rejetée par le peuple, les élites politico-médiatiques continuent de la présenter comme une chance, comme le pacte de Marrakech (« ''le but étant d’amener le public à considérer les effets positifs qu’ont des migrations'' »).
Selon le Eurobaromètre Standard 90, l'« immigration » est le problème le plus importants pour 33 % des Français.
Vers 23h30, sur la D900, près du péage de Perpignan Sud (n°42), un Gilet jaune de 36 ans a percuté mortellement l'arrière d'un camion arrêté à un blocage de Gilets jaunes. Parmi ceux qui bloquaient la route, deux ou trois femmes choquées, ont attendu la police, tandis que les autres personnes se sont enfuies, abandonnant le blocage. Il s'agit du dixième décès liée à la mobilisation des Gilets jaunes.
À l'église de Monistrol-sur-Loire (Haute-Loire), le père Pierre Trevet a installé un santon Gilet jaune dans la crèche de Noël.
Au Portugal, une quinzaine de groupes de Gilets jaunes portugais ont provoqué de légères perturbations de la circulation routière à l’entrée de grandes villes du pays.
== Sources ==
* {{source
| langue = fr
| url = https://corporate.vinci-autoroutes.com/sites/default/files/2018-12/Communiqu%C3%A9%20VINCI%20Autoroutes%20mobilisation%20nationale%20du%2021%20d%C3%A9cembre_21h.pdf
| titre = Manifestations : point de situation du vendredi 21 décembre à 21h00 sur le réseau VINCI Autoroutes
| auteur =
| publication = corporate.vinci-autoroutes.com
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url =https://www.e-tlf.com/wp-content/uploads/2018/12/1221_GJ_Normandie_mat.pdf
| titre =Point de situation (09h00) ZONE NORMANDIE
| auteur =
| publication = e-tlf.com
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url =https://www.e-tlf.com/wp-content/uploads/2018/12/1221_Sud_Mat.pdf
| titre =Point de situation (09h00) ZONE SUD
| auteur =
| publication = e-tlf.com
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url =http://penurie.mon-essence.fr/w/
| titre =Carte de signalisation des difficultés d'approvisionnement en carburants
| auteur =
| publication = penurie.mon-essence.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url =https://www.lemonde.fr/international/article/2018/12/21/portugal-impact-limite-des-manifestations-inspirees-des-gilets-jaunes_5401038_3210.html
| titre =Portugal : impact limité des manifestations inspirées des « gilets jaunes »
| auteur =
| publication = lemonde.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.la-croix.com/JournalV2/Passer-democratie-continue-2018-12-22-1100991219
| titre = Passer à la démocratie continue
| auteur =
| publication = la-croix.com
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.europe1.fr/societe/gilets-jaunes-les-rassemblements-interdits-en-ariege-3825779
| titre = "Gilets jaunes" : les rassemblements interdits en Ariège
| auteur =
| publication = europe1.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.europe1.fr/societe/le-mans-les-acces-a-une-entreprise-de-transport-liberes-par-les-gilets-jaunes-3825548
| titre = Le Mans : les accès à une entreprise de transport libérés par les "gilets jaunes"
| auteur =
| publication = europe1.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.europe1.fr/societe/gilets-jaunes-quatorze-interpellations-lors-dune-tentative-de-blocage-dusine-dans-le-haut-rhin-3825719
| titre = "Gilets jaunes" : quatorze interpellations lors d'une tentative de blocage d'usine dans le Haut-Rhin
| auteur =
| publication = europe1.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = http://www.yvelines.gouv.fr/Actualites/Dispositif-d-encadrement-de-la-manifestation-du-samedi-22-decembre-2018
| titre = Dispositif d'encadrement de la manifestation que les gilets jaunes projettent d'organiser à Versailles le samedi 22 décembre 2018
| auteur =
| publication = yvelines.gouv.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.rtl.fr/actu/politique/eric-zemmour-veut-annuler-les-mariages-des-couples-de-meme-sexe-7795999892
| titre = Éric Zemmour veut annuler les mariages de couples de même sexe
| auteur =
| publication = rtl.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url =https://rmc.bfmtv.com/mediaplayer/video/il-y-a-une-dictature-des-minorites-1127257.html
| titre = "Il y a une dictature des minorités !"
| auteur = Dickens David
| publication = rmc.bfmtv.com
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.ouest-france.fr/societe/gilets-jaunes/redon-expulses-du-rond-point-les-gilets-jaunes-reviennent-manifester-devant-la-mairie-6144946
| titre = Redon. Expulsés du rond-point, les Gilets jaunes reviennent manifester devant la mairie
| auteur =
| publication = ouest-france.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.ouest-france.fr/pays-de-la-loire/la-roche-sur-yon-85000/gilets-jaunes-une-banque-bloquee-une-cabane-deconstruite-une-nouvelle-marche-la-roche-sur-yon-6144988
| titre = Gilets jaunes. Une banque bloquée, une cabane déconstruite, une nouvelle marche à La Roche-sur-Yon
| auteur =
| publication = ouest-france.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.ouest-france.fr/bretagne/concarneau-29900/concarneau-les-gilets-jaunes-aux-portes-de-la-ville-close-6145034
| titre = Concarneau. Les Gilets jaunes aux portes de la Ville-Close
| auteur =
| publication = ouest-france.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.youtube.com/watch?v=ox4vU0yiZaM
| titre = Gilets jaunes Jacline Mouraud sur les traces de Giscard d'estaing à l’Élysée YouTube
| auteur = JACK SPARRHOW.6
| publication = youtube.com
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.bfmtv.com/mediaplayer/video/benjamin-cauchy-gilet-jaune-pas-convaincu-de-la-reponse-du-president-a-la-petition-1127180.html
| titre = Benjamin Cauchy (gilet jaune) "pas convaincu" de la réponse du Président à la pétition
| auteur =
| publication = bfmtv.com
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.francetvinfo.fr/economie/transports/gilets-jaunes/comment-priscillia-ludosky-s-est-imposee-comme-la-force-tranquille-des-gilets-jaunes_3107983.html
| titre = Comment Priscillia Ludosky s'est imposée comme la "force tranquille" des "gilets jaunes"
| auteur =
| publication = francetvinfo.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.ledauphine.com/actualite/2018/12/21/les-gilets-jaunes-des-angles-tentent-de-reinstaller-un-barrage-les-forces-de-l-ordre-les-en-empechent
| titre = Les Gilets jaunes des Angles ont interdiction de se tenir sur la voie publique
| auteur =
| publication = ledauphine.com
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = https://www.rtl.fr/actu/justice-faits-divers/gilets-jaunes-un-automobiliste-se-tue-en-marge-d-un-barrage-pres-de-perpignan-7796015078
| titre ="Gilets jaunes" : un automobiliste se tue en marge d'un barrage près de Perpignan
| auteur =
| publication = rtl.fr
| date = 22 décembre 2018
}}
* {{source
| langue = fr
| url =https://www.lindependant.fr/2018/12/22/au-boulou-les-gilets-jaunes-rendent-hommage-a-lun-des-leurs-decede-au-peage-sud-de-perpignan,5992389.php
| titre =Au Boulou, les Gilets jaunes rendent hommage à l'un des leurs décédé au péage sud de Perpignan
| auteur =
| publication = lindependant.fr
| date = 22 décembre 2018
}}
* {{source
| langue = fr
| url =http://www.charentelibre.fr/2018/12/22/manifestation-macabre-des-gilets-jaunes-a-angouleme-la-prefecture-signale-les-faits-au-parquet,3363363.php
| titre =Effigie d'Emmanuel Macron décapitée à Angoulême: le Parquet ouvre une enquête
| auteur =
| publication = charentelibre.fr
| date = 22 décembre 2018
}}
* {{source
| langue = fr
| url =https://www.lanouvellerepublique.fr/a-la-une/un-pantin-a-l-effigie-d-emmanuel-macron-decapitee-par-des-gilets-jaunes-a-angouleme
| titre =Un pantin à l'effigie d'Emmanuel Macron décapité par des Gilets jaunes à Angoulême
| auteur =
| publication =lanouvellerepublique.fr
| date = 22 décembre 2018
}}
* {{source
| langue = fr
| url =https://www.lacommere43.fr/monistrol-et-environs/item/19991-monistrol-sur-loire-un-gilet-jaune-s-invite-dans-la-creche-de-noel-a-l-eglise.html
| titre =Monistrol-sur-Loire : un Gilet jaune s'invite dans la crèche de Noël à l'église
| auteur =
| publication =lacommere43.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url =https://www.francetvinfo.fr/economie/transports/gilets-jaunes/elections-europeennes-le-rn-en-tete-des-intentions-de-vote-mais-serait-penalise-par-une-liste-gilets-jaunes-les-republicains-s-effondrent_3111565.html
| titre =Elections européennes : le RN en tête des intentions de vote mais serait pénalisé par une liste "gilets jaunes", Les Républicains s'effondrent
| auteur =
| publication =francetvinfo.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url =https://www.francebleu.fr/infos/politique/invite-le-depute-du-sud-manche-bertrand-sorre-1545374012
| titre = Gilets jaunes : le député LREM du Sud-Manche Bertrand Sorre référent normand pour le débat national
| auteur =
| publication =francebleu.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = http://www.lefigaro.fr/vox/societe/2018/12/21/31003-20181221ARTFIG00325-mathieu-bock-cote-le-debat-sur-l-immigration-censure.php
| titre = Mathieu Bock-Côté: «Le débat sur l'immigration censuré»
| auteur =
| publication = lefigaro.fr
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url = http://www.revolutionpermanente.fr/Une-journaliste-de-BFM-en-Gilets-Jaunes-Le-direct-immediatement-coupe
| titre = Une journaliste de BFM en Gilets Jaunes. Le direct immédiatement coupé !
| auteur =
| publication = revolutionpermanente.fr
| date = 25 décembre 2018
}}
* {{source
| langue = fr
| url = https://radionotredame.net/emissions/legranddebat/21-12-2018/
| titre = L’athéisme chez les jeunes, la crise des gilets jaunes, le pacte de Marrakech sur les migrations
| auteur =
| publication = radionotredame.net
| date = 21 décembre 2018
}}
* {{source
| langue = fr
| url =http://ec.europa.eu/commfrontoffice/publicopinion/index.cfm/ResultDoc/download/DocumentKy/84931
| titre = Eurobaromètre Standard 90 - Automne 2018 - Premiers résultats - L'opinion publique dans l'Union européenne - Terrain Novembre 2018
| auteur = Eurobaromètre Standard 90 – Vague EB90.3 – Kantar Public
| publication =ec.europa.eu
| date = 21 décembre 2018
}}
== Voir aussi ==
* {{wikinews|langue=fr|titre=Gilets jaunes : jeudi 20 décembre 2018|date=20 décembre 2018}}
* {{wikinews|langue=fr|titre=Manifestations des "Gilets jaunes", une personne morte et des centaines de blessés|date=17 novembre 2018}}
{{Publication|jour=21|mois=décembre|année=2018|statut=article}} {{Page|France}}
[[Catégorie:France]]
[[Catégorie:Mouvement des gilets jaunes]]
[[Catégorie:Groupe PSA]]
[[Catégorie:Scionzier]]
q1eia47lxwbo8jhfxi3l4irtl5smuow
Gilets jaunes : mercredi 30 janvier 2019
0
78835
873021
803931
2022-08-22T19:43:24Z
Wyslijp16
45738
Ajout de catégories
wikitext
text/x-wiki
{{Autres projets|w= Mouvement des Gilets jaunes}}
{{Date|30 janvier 2019}} Cette journée des {{citation|{{w|Mouvement des gilets jaunes|gilets jaunes}}}} du mercredi 30 janvier 2019 est la 75{{e}} journée qui fait suite à la [[Gilets jaunes : mardi 29 janvier 2019|journée du 29 janvier]], et tout au début, celle du [[Manifestations des "Gilets jaunes", une personne morte et des centaines de blessés|samedi 17 novembre 2018]].
Dans la nuit, un incendie a détruit le QG des Gilets jaunes installés à Verdun.
Vers 7h00, les forces de l'ordre ont expulsé les Gilets jaunes de deux ronds-points de Saint-Étienne et Firminy.
À Châtillon-en-Michaille, les Gilets jaunes ont quitté le rond-point de Pierre-Blanche.
À Schirmeck, des gilets jaunes ont manifesté à la clinique Saint-Luc pour dénoncer la baisse des aides financières et la fermeture de l'établissement.
À Millau, menacé d'expulsion du rond-point de Saint-Germain, les Gilets jaunes ont commencé a construire une cabane au rond point le long du boulevard Jean-Gabriac dans la ZA des Ondes.
À Conflans-sur-Anille, le cabanon des Gilets jaunes a été détruit par un incendie.
À Sciez, suite au départ de certaines figurent emblématiques, qui avaient la confiance des propriétaires du terrain privé, ces derniers ont demandé aux « irréductibles Gaulois réfractaires » de partir, ce qu'ils ont fait en rasant leur « village » situé à l’entrée du bourg de Bonnatrait tandis qu'au rond-point de Margencel, là où tout a commencé, d'autres mènent encore régulièrement des actions.
À Bergerac, au terme de la manifestation de l’intersyndicale G9-24 des retraités, que ce matin un grand débat s’est tenu à la Maison des Syndicat auquel ont assisté de nombreux Gilets Jaunes et de Syndicats.
Selon un sondage Elabe, 48% des Français ne trouvent "rien de positif" chez Emmanuel Macron.
À Paris, sur RMC, invités des "Grandes Gueules", Eric Drouet et Laëtitia Dewalle ont affirmé qu'ils aimeraient bien que ça s'arrête. Si on le fait, c'est par conviction.
Le groupe de média Lafont Presse a créé un nouveau mensuel tiré à 60 000 exemplaires consacré au mouvement et baptisé « Journal des gilets jaunes » dont le numéro 1 est sorti aujourd'hui mercredi au prix de 2,90 euros.
Après la [[Gilets jaunes : mercredi 23 janvier 2019|liste Gilets jaunes d'Ingrid Levavasseur]], [[Gilets jaunes : lundi 17 décembre 2018|celle de Lalanne]] et [[Gilets jaunes : dimanche 27 janvier 2019|celle de Jacline Mouraud]], voici une quatrième liste, « l'Union jaune », qui se présente aux européennes a annoncé son porte-parole Raphaël Ibanez.
À Paris, à l'Assemblé nationale, à la liste des blessés par LBD énoncée par le député de La France insoumise, Ugo Bernalicis, le ministre de l'Intérieur, Christophe Castaner lui à répondu la liste des morts. Et d'enchaîner : « Les armes de défense peuvent blesser, mutiler dans certains cas par des conditions d'utilisation accidentelles et anormales. Elles doivent faire l'objet d'enquêtes ».
"Il n'y a pas une blessure différente entre un gilet jaune, un manifestant et un policier" et "ne cherchons pas à instrumentaliser telle ou telle blessure", a encore plaidé le ministre.
Lors de la deuxième séance du jour, quand la députée LFI Clémentine Autain a affirmé à propos des manifestants Gilets jaunes « qui a arraché des mains ? Avez-vous vu les photos des reporters ? Comment pouvez-vous être atteints d’une aussi grave cécité, qui concerne non seulement les manifestants mais également la liberté de la presse, qui est un droit fondamental ? » des exclamations continues ont jailli des bancs des députés du groupe LaREM, notamment Pacôme Rupin et ses collègues qui sont « morts de rire ».
Du fait de la pression migratoire exceptionnelle qui s’exerce sur le département de Mayotte, où résident près de 52 000 étrangers en situation irrégulière – sur une population totale de 256 000 habitants – et où près de 20 000 reconduites à la frontière sont effectuées chaque année, la députée mahoraise LaREM Ramlati Ali a demandé une dérogation pour Mayotte pour avoir un délai de saisine du JLD (juge des libertés et de la détention) de 5 jours et non pas de 2 comme prévu en métropole, qui a été adopté car jugée non in-constitutionnelle.
À Paris, l'appel que Christophe le boxeur avait formulé contre sa détention provisoire à Fleury-Mérogis a été rejeté en raison de la "personnalité extrêmement inquiétante et dangereuse" et "parfaitement impulsif et totalement déterminé à commettre des actes violents" et pour manque de garanties de représentation et crainte de pressions ou de concertation avec des témoins qui seront cités et entendus durant la procédure.
À Paris, une conférence de presse a été organisé avec Éric Drouet et des blessés comme Jérôme Rodrigues.
À Toulouse, un étudiant de 21 ans qui ne se revendique pas Gilet jaune a été condamné à 105 heures de travail d'intérêt général et à verser un euro symbolique envers Philippe Klayman, le directeur central des CRS, pour avoir twitté le 8 décembre dernier "j''e'' ne dis pas qu'il faut le tuer mais porter atteinte à son intégrité physique ou à celle de sa famille, ce serait bien. Je n'en ferai rien bien sûr, c'est une suggestion".
À Albertville, le Gilet jaune de 23 ans, qui avait publié sur Facebook la photographie d’un fusil à pompe accompagnée du commentaire « À samedi les CRS, on vous attend », a été placé en garde à vu, puis en détention provisoire en attendant sa comparution immédiate.
Le site internet du collectif « Luttes invisibles » a publié une liste non exhaustive de procès, condamnations, poursuites, perquisitions, discriminations et sanctions en France depuis le début de la lutte contre les lois travail en février 2016 à l'encontre de 20 417 militants, manifestants, grévistes, syndicalistes et Gilets Jaunes.
Des Gilets jaunes ont lancé leur propre site internet, baptisée le www.le-vrai-débat.fr, version alternative au www.granddébat.fr du gouvernement.
Le journal ''Le Monde'' a analysé les 200 messages les plus partagés par les groupes du mouvement pour cerner la « pensée jaune » : elle ne manifeste pas de pensée raciste, homophobe ou antisémite, se réclame de Coluche et pas d'un parti politique et se sent injustement traitée par les forces de l’ordre, Emmanuel Macron et les chaînes d’information.
Le Conseil de l'Europe basé à Strasbourg a jugé aujourd'hui "urgent d'apaiser la situation" en France après plus de deux mois de mouvement des Gilets jaunes qui ont instauré un "niveau élevé de tension" dans le pays.
Lors d'une audience de près de trois heures, le Conseil d’État s'est penché sur l'utilisation des LBD (lanceurs de balles de défense). "Je ne crois pas que ce sera en éborgnant des manifestants que l'on arrêtera les manifestations, tout au contraire" a déclaré Patrice Spinosi, avocat de la Ligue des droits de l'homme.
La défense du ministère de l'Intérieur a déclaré : « il y a 9.228 cas d'usages de LBD, il y a eu 111 signalements (111 enquêtes judiciaires) », 37.924 manifestations ont eu lieu depuis le début du mouvement des Gilets jaunes le 17 novembre.
Le directeur général de la police nationale, Eric Morvan a mis en garde que la « fatigue » s'est installée chez les agents de l'ordre.
Vers 19h54, à Paris, à l'Assemblé nationale, le député Libertés et territoires Charles de Courson s'est opposé à la possibilité des préfets d'interdire des personnes de manifester : « une autorité administrative va priver un individu de sa liberté de circulation et de manifester au motif qu'il y a des raisons sérieuses de penser que son comportement constitue une menace d'une particulière gravité pour l'ordre public. Mais c'est la dérive complète. On se croit revenu sous le régime de Vichy, c'est une pure folie ».
Aux Essart-le-Roi, durant la nuit de mercredi à jeudi, vers 23 heures, les pompiers ont éteint un pneu en flamme qui enserrait le radar qui n'a pas été touché par l'incendie et qui fonctionne normalement.
== Sources ==
*{{source
| langue = fr
| url =http://videos.assemblee-nationale.fr/video.7211174_5c520b2e57a18.2eme-seance--prevention-et-sanction-des-violences-lors-des-manifestations-suite-30-janvier-2019
| titre = 2ème séance : Prévention et sanction des violences lors des manifestations (01:15:39)
| auteur =
| publication =videos.assemblee-nationale.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = http://www.assemblee-nationale.fr/15/cri/2018-2019/20190132.asp
| titre = AN XVe L. S.O. 2016-2019 Compte rendu intégral Deuxième séance du mercredi 30 janvier 2019
| auteur =
| publication = assemblee-nationale.fr
| date = 30 janvier 2019
}}
* {{source
| langue = fr
| url = https://twitter.com/sandrafellous_/status/1090880003376586752
| titre = 🔴Pacôme #RUPIN et ses collègues #EnMarche sont morts de rire quand une députée évoque les mains arrachées des manifestants #GiletsJaunes.🔴
| auteur = Sandra V. Fellous
| publication = twitter.com
| date = 31 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.bfmtv.com/politique/une-seconde-liste-gilets-jaunes-pour-les-europeennes-constituee-selon-son-porte-parole-1623270.html
| titre = Une seconde liste Gilets jaunes pour les européennes "constituée", selon son porte-parole
| auteur =
| publication = bfmtv.com
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.francebleu.fr/infos/faits-divers-justice/menaces-sur-le-patron-des-crs-un-etudiant-toulousain-condamne-1548858727
| titre = Menaces sur le patron des CRS : un étudiant toulousain condamné
| auteur =
| publication = francebleu.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://rmc.bfmtv.com/mediaplayer/video/giletsjaunes-on-aimerait-bien-que-ca-s-arrete-on-a-tous-autres-choses-a-faire-le-week-end-que-d-aller-grelotter-dans-le-froid-si-on-le-fait-c-est-par-conviction-laetitia-dewalle-ggrmc-1136116.html
| titre = "Gilets jaunes" :"On aimerait bien que ça s'arrête. Si on le fait, c'est par conviction"
| auteur =
| publication = rmc.bfmtv.com
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://blogs.mediapart.fr/289936/blog/110119/56-des-journalistes-de-mediapart-sont-anti-gilet-jaune
| titre = 56 % des journalistes de mediapart sont anti-gilet jaune
| auteur =
| publication = blogs.mediapart.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://france3-regions.francetvinfo.fr/auvergne-rhone-alpes/loire/gilets-jaunes-ronds-point-firminy-saint-etienne-evacues-police-1615925.html
| titre = Gilets jaunes : les ronds-points de Saint-Etienne évacués par la police
| auteur =
| publication = france3-regions.francetvinfo.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = http://lavdn.lavoixdunord.fr/529903/article/2019-01-30/l-ancien-boxeur-christophe-dettinger-reste-en-prison
| titre = Gilets jaunes L’ancien boxeur Christophe Dettinger reste en prison
| auteur =
| publication = lavdn.lavoixdunord.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.leprogres.fr/loire-42/2019/01/30/gilets-jaunes-evacuation-dans-le-calme-de-deux-ronds-points-a-saint-etienne
| titre = A Saint-Etienne et Firminy, les ronds-points des Gilets jaunes évacués
| auteur =
| publication = leprogres.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.dna.fr/actualite/2019/01/30/des-gilets-jaunes-manifestent-a-la-clinique-saint-luc-de-schirmeck
| titre = Des gilets jaunes manifestent à la clinique Saint-Luc de Schirmeck [+VIDÉO]
| auteur =
| publication = dna.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.estrepublicain.fr/edition-de-verdun/2019/01/30/verdun-le-qg-des-gilets-jaunes-incendie
| titre = Verdun : le QG des Gilets jaunes incendié
| auteur =
| publication = estrepublicain.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.ledauphine.com/haute-savoie/2019/01/30/gilets-jaunes-les-irreductibles-de-sciez-levent-le-camp
| titre = Gilets jaunes : les « irréductibles » de Sciez lèvent le camp
| auteur =
| publication = ledauphine.com
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url =https://www.lemainelibre.fr/actualite/conflans-sur-anille-le-cabanon-des-gilets-jaunes-detruit-par-un-incendie-30-01-2019-238560
| titre = Conflans-sur-Anille Le cabanon des "gilets jaunes" détruit par un incendie
| auteur =
| publication = lemainelibre.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.europe1.fr/societe/grand-debat-national-des-gilets-jaunes-lancent-leur-propre-consultation-en-ligne-3848594
| titre = "Grand débat national" : des "gilets jaunes" lancent leur propre consultation en ligne
| auteur =
| publication = europe1.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.midilibre.fr/2019/01/30/millau-les-gilets-jaunes-construisent-leur-cabane-dans-la-za-des-ondes,7984871.php
| titre = Millau : les "gilets jaunes" construisent leur cabane dans la ZA des Ondes
| auteur =
| publication = midilibre.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.lemonde.fr/les-decodeurs/article/2019/01/30/plongee-au-c-ur-du-facebook-des-gilets-jaunes_5416440_4355770.html
| titre = Plongée au cœur du Facebook des « gilets jaunes »
| auteur =
| publication = lemonde.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = http://lemessager.fr/chablais/sciez-les-gilets-jaunes-ont-detruit-leur-camp-ia923b0n211087
| titre = Sciez : les Gilets jaunes ont détruit leur camp!
| auteur =
| publication = lemessager.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://docs.google.com/spreadsheets/d/1yp2fJtJn9ZVHPkIyg_FRFmcY-9LhgE0L-_VUJE0IiuM/edit#gid=0
| titre = Données / Les 200 contenus les plus partagés des Gilets jaunes / 22 janvier 2019
| auteur =
| publication = docs.google.com
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://blogs.mediapart.fr/jean-marc-b/blog/300119/20-417-poursuites-sanctions-ou-condamnations-depuis-2016-contre-le-mouvement-social
| titre = 20 417 poursuites, sanctions ou condamnations depuis 2016 contre le mouvement social
| auteur =
| publication = blogs.mediapart.fr
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.facebook.com/luttesinvisibles/photos/a.253025261786616/619228875166251/?type=3
| titre = 20 417 poursuites, sanctions ou condamnations depuis février 2016 contre manifestants, grévistes, gilets jaunes...
| auteur = Luttes invisibles
| publication = facebook.com
| date = 30 janvier 2019
}}
*{{source
| langue = fr
| url = https://mayotte.orange.fr/actu/mayotte/immigration-le-debat-sur-le-titre-de-sejour-d-exception-lance.html
| titre = Immigration : le débat sur le titre de séjour d’exception lancé
| auteur =
| publication = mayotte.orange.fr
| date = 31 janvier 2019
}}
*{{source
| langue = fr
| url = http://www.leparisien.fr/yvelines-78/les-essarts-le-roi-le-radar-survit-a-l-incendie-criminel-31-01-2019-8000925.php
| titre = Les Essarts-le-Roi : le radar survit à l’incendie criminel
| auteur =
| publication = leparisien.fr
| date = 31 janvier 2019
}}
*{{source
| langue = fr
| url = http://l-echo.info/article/bergerac/2019-01-31/syndicats-et-gilets-jaunes-brisent-enfin-glace-65188.html
| titre = Syndicats et Gilets Jaunes brisent enfin la glace
| auteur =
| publication = l-echo.info
| date = 31 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.francetvinfo.fr/economie/transports/gilets-jaunes/gilets-jaunes-echange-tendu-entre-le-ministre-de-l-interieur-et-un-depute-de-la-france-insoumise-sur-les-lbd_3169739.html
| titre = "Gilets jaunes" : échange tendu entre le ministre de l'Intérieur et un député de La France insoumise sur les LBD
| auteur =
| publication = francetvinfo.fr
| date = 31 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.lexpress.fr/actualite/politique/rien-de-positif-chez-macron-un-francais-sur-deux-le-pense_2060155.html
| titre = Rien de positif chez Macron? Un Français sur deux le pense
| auteur =
| publication = lexpress.fr
| date = 31 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.ledauphine.com/ain/2019/01/31/chatillon-en-michaille-les-gilets-jaunes-ont-quitte-le-rond-point-de-pierre-blanche
| titre = Châtillon-en-Michaille : les Gilets jaunes ont quitté le rond-point de Pierre-Blanche
| auteur =
| publication = ledauphine.com
| date = 31 janvier 2019
}}
*{{source
| langue = fr
| url = https://www.lci.fr/social/vrai-debat-des-gilets-jaunes-contre-grand-debat-national-on-a-compare-les-deux-plateformes-2111710.html
| titre = "Vrai débat" des Gilets jaunes contre Grand débat national : on a comparé les deux plateformes
| auteur =
| publication = lci.fr
| date = 31 janvier 2019
}}
* {{source
| langue = fr
| url = https://www.nouvelobs.com/societe/20190131.OBS9435/une-marche-blanche-le-2-fevrier-pour-les-gueules-cassees-des-gilets-jaunes.html
| titre = Une marche blanche le 2 février pour les "gueules cassées" des "gilets jaunes"
| auteur =
| publication = nouvelobs.com
| date = 31 janvier 2018
}}
* {{source
| langue = fr
| url = https://www.infonormandie.com/Encore-un-radar-automatique-vise-par-un-ou-des-incendiaires-dans-les-Yvelines_a22995.html
| titre = Encore un radar automatique visé par un ou des incendiaires dans les Yvelines
| auteur =
| publication = infonormandie.com
| date = 1er février 2019
}}
* {{source
| langue = fr
| url = http://www.europe-solidaire.org/spip.php?article47712
| titre = Analyse : Plongée au cœur du Facebook des « gilets jaunes »
| auteur =
| publication = europe-solidaire.org
| date = 1 février 2019
}}
* {{source
| langue = fr
| url = https://www.lexpress.fr/actualite/medias/les-dessous-de-l-etonnant-journal-des-gilets-jaunes_2060714.html
| titre = Les dessous de l'étonnant "Journal des gilets jaunes"
| auteur =
| publication = lexpress.fr
| date = 4 février 2019
}}
* {{source
| langue = fr
| url = https://www.ledauphine.com/savoie/2019/02/05/le-gilet-jaune-ecope-de-trois-mois-ferme
| titre = Le Gilet jaune écope de trois mois ferme pour avoir menacé les CRS sur Facebook
| auteur =
| publication = ledauphine.com
| date = 5 février 2019
}}
* {{source
| langue = fr
| url = http://lavdn.lavoixdunord.fr/530388/article/2019-01-31/pour-un-depute-fils-et-petit-fils-de-resistant-un-texte-digne-du-regime-de-vichy
| titre = Loi anticasseurs Pour un député, fils et petit-fils de résistant, un texte digne « du régime de Vichy »
| auteur =
| publication = lavdn.lavoixdunord.fr
| date =30 janvier 2019
}}
* {{source
| langue = fr
| url = https://www.rtl.fr/actu/politique/les-actualites-de-5h-loi-anticasseurs-on-se-croit-revenu-sous-vichy-lance-un-depute-7796393367
| titre = Les actualités de 5h - Loi anticasseurs : "On se croit revenu sous Vichy", lance un député
| auteur =
| publication = rtl.fr
| date = 31 janvier 2019
}}
* {{source
| langue = fr
| url = https://www.lexpress.fr/actualite/politique/loi-anti-casseur-le-regime-de-vichy-pour-un-depute_2060114.html?utm_medium=Social&utm_source=Facebook&Echobox=1548929983#xtor=CS3-5076
| titre = Aux Essart-le-Roi, durant la nuit de mercredi à jeudi, vers 23 heures, les pompiers ont éteint un pneu en flamme qui enserrait le radar qui n'a pas été touché par l'incendie et qui fonctionne normalement.
| auteur =
| publication = lexpress.fr
| date = 31 janvier 2019
}}
* {{source
| langue = fr
| url = https://fr.reuters.com/article/topNews/idFRKCN1PO2NL-OFRTP
| titre = Le Conseil d'Etat appelé à trancher sur l'usage des LBD
| auteur =
| publication = fr.reuters.com
| date = 30 janvier 2019
}}
* {{source
| langue = fr
| url = http://www.lefigaro.fr/flash-actu/2019/01/30/97001-20190130FILWWW00281-gilets-jaunes-urgent-d-apaiser-la-situation-en-france-conseil-de-l-europe.php
| titre = «Gilets jaunes»: «Urgent d'apaiser la situation» en France (Conseil de l'Europe)
| auteur =
| publication = lefigaro.fr
| date = 30 janvier 2019
}}
== Voir aussi ==
* {{wikinews|langue=fr|titre=Gilets jaunes : mardi 29 janvier 2019|date=29 janvier 2019}}
* {{wikinews|langue=fr|titre=Manifestations des "Gilets jaunes", une personne morte et des centaines de blessés|date=17 novembre 2018}}
{{Publication|jour=30|mois=janvier|année=2019|statut=article}}
{{Page|France}}
[[Catégorie:Mouvement des gilets jaunes]]
[[Catégorie:Firminy]]
6pw7d7zzoeop5286p4nxlhcdanryqmx
Gilets jaunes : mercredi 20 février 2019
0
79298
873017
868656
2022-08-22T19:35:16Z
Wyslijp16
45738
Ajout de catégories
wikitext
text/x-wiki
{{Autres projets|w=Mouvement des Gilets jaunes (France)}}
{{Date|20 février 2019}} Cette journée des {{citation|{{w|Mouvement des gilets jaunes|Gilets jaunes}}}} du mercredi 20 février 2019 est la 96{{e}} journée qui fait suite à la [[Gilets jaunes : mardi 19 février 2019|journée du 19 décembre]], et tout au début, celle du [[Manifestations des "Gilets jaunes", une personne morte et des centaines de blessés|samedi 17 novembre 2018]].
Dans la nuit du mardi au mercredi, des Gilets jaunes ont tenté de couper la circulation avec des pneus et des palettes incendiés sur l'axe Caen-Ouistreham (Calvados).
À Saint Etienne le Laus, le radar a été penché à l'aide d'une voiture : il flashe les avions.
Dans le journal ''Le Point'', le chercheur spécialiste en sociologie politique Tristan Guerra a affirmé que le mouvement est, dans l'ensemble, apartisan, bien que profondément populiste.
À Firminy, le rond-point situé à proximité du McDonald's, sur lequel les Gilets jaunes étaient une quinzaine à prendre place tous les jours depuis deux mois, a été démantelé.
À Saint-Nazaire, un Gilet jaune de 35 ans a été condamné à deux mois de prison avec sursis pour avoir prononcé les mots « fils de pute » et « nique ta mère » à destination des CRS sur le rond-point du canon à Donges, mardi hier.
À Montpellier, des Gilets jaunes ont commencé à camper sur la Comédie se disent prêts à passer la nuit sur la place.
À Maubeuge, les Gilets jaunes ont bloqué les poids lourds au rond-point de la Croix-de-Mons.
Le site internet ''France Culture'' a publié un article sur les banlieues qui absentes au début, ont rejoint le mouvement depuis plusieurs semaines : à des barrages à Limay et points fixes à Montreuil. Des habitants de Saint-Denis, Epinay-sur-Seine ou Mantes-la-Jolie, entre autres, ont rejoint les dernières manifestations dans Paris dont ceux qui y habitent, critiquent : "regardez les animaux sortis de leur cage".
À Genève (Suisse), 600 Gilets jaunes français selon la police suisse, 5 000 selon les organisateurs, se sont réunis devant une représentation de l’ONU pour manifester leur mécontentement vis-à-vis du gouvernement français. Le mouvement, autorisé par les autorités genevoises, s'est déroulé dans le calme.
À Nogent-le-Rotrou, la cabane des Gilets jaunes sitôt reconstruite, a sitôt été enlevée au rond-point Michel Hoguet près du Bricomarché.
Dans le ''Midi Libre'', l'historien Alexis Lévrier a assuré que "la critique radicale des médias a contribué à créer les Gilets jaunes".
À Rennes, deux Gilets Jaunes ont été déférés au Parquet et mis en examen pour destruction de biens publics.
D'après le journal ''Le Figaro'', les Gilets jaunes Marc Doyer et Christophe Chalençon, un temps candidats sur la liste RIC de Levavasseur, ont décidé de placer toutes leurs ambitions sous le patronage du député Jean Lassalle. Une réunion secrète devait se tenir aujourd'hui dans l'après-midi entre Jean Lassalle et une quinzaine de représentants du mouvement cet après-midi afin de présenter une liste avec des Gilets jaunes pour les élections européennes de mai, mais la réunion a été annulée puisqu'elle n'était plus tout à à fait secrète.
À Scionzier, les croix des Gilets jaunes ont été vandalisées.
À Pertuis, la cabane des Gilets jaunes a été démantelée par les services municipaux
À Saint-Brieuc, une enquête de gendarmerie a été ouverte ces derniers jours au sujet d’une cagnotte suspectée de financer la condamnation du Gilet jaune Tristan Lozach.
À Fleury-Merogis, ce matin, après 40 jours en prison, le Gilet jaune boxeur Christophe Dettinger a quitté la prison de Fleury-Merogis où il recevait cent lettres de soutien chaque jour a affirmé une proche. "Je suis toujours Gilet jaune dans mon cœur".
Il reste néanmoins en semi-liberté devant se rendre chaque nuit de la semaine et du week-end dans un centre de détention à Corbeil-Essonnes.
À Valence, le dépôt pétrolier bloqué par des Gilets jaunes a été évacué par la police.
À Château-Thierry, les Gilets jaunes ont quitté leur emplacement le long de la voie express.
À l’Isle d’Espagnac, un Charentais retraité a inventé un jeu de société sur les Gilets jaunes.
À Dreux, les Gilets jaunes du rond-point des Fenots ont affiché un panneau : "Antisémitisme, racisme, pas en notre nom".
À Avignon, pour avoir bloqué les entrepôts de la Dispam au Pontet fin novembre, début décembre, quatre Gilets jaunes ont été condamnés à des peines d’amende de 600 euros avec sursis pour l'un d'entre eux, 600 euros pour deux autres et 1000 euros pour le quatrième.
À Sarreguemines, la police a démonté le campement de Gilets jaunes situé sur le rond-point à proximité de la boulangerie Marie Blachère.
Le site internet ''Yahoo Actualités'' a publié un article intitulé « Marlène Schiappa voit une "convergence idéologique" entre Manif pour tous et "terroristes islamistes" » : Marlène Schiappa, qui mettrait ses enfants en école privée catholique, a souligné "l'existence d'une convergence idéologique" entre la Manif pour tous et "les terroristes islamistes". "Il y a une explosion des actes antisémites, mais aussi homophobes", constate Schiappa pour qui "il y a une alliance entre les gens d'extrême droite et les islamistes qui s'unissent, de fait, dans ce combat".
La chaîne C8 a diffusé l'émission ''Au tableau !'' avec Christophe Castaner qui a affirmé : « dans ce mouvement des Gilets jaunes, il n’y a que des perdants. Au fond on est dans une société de haine ». Son épouse et une de ses filles vivant à son domicile, « même à elles on adresse des lettres d’insultes, de menaces » a-t-il affirmé. «
On a créé une sorte de monstre qui est sorti de sa boite ».
Le site internet ''atlantico'' a publié un article intitulé « Etat providence, immigration et Gilets jaunes : l’étude américaine explosive publiée lundi qui révèle la nature du dilemme politique français » : "Immigration and Preferences for Redistribution in Europe".
== Sources ==
* {{source
| langue = fr
| url = https://fr.news.yahoo.com/marl%C3%A8ne-schiappa-voit-convergence-id%C3%A9ologique-170931049.html
| titre = Marlène Schiappa voit une "convergence idéologique" entre Manif pour tous et "terroristes islamistes"
| auteur =
| publication = fr.news.yahoo.com
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = http://lavdn.lavoixdunord.fr/540608/article/2019-02-20/jean-lassalle-envisage-de-s-allier-aux-gilets-jaunes-pour-creer-une-liste
| titre = Élections européennes Jean Lassalle envisage de s’allier aux Gilets jaunes pour créer une liste
| auteur =
| publication = lavdn.lavoixdunord.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url =
https://www.agoravox.tv/actualites/citoyennete/article/castaner-denigre-les-gilets-jaunes-80647
| titre = Castaner dénigre les Gilets Jaunes dans une école
| auteur =
| publication =agoravox.tv
| date = 20 février 2019
}}
* {{source
| langue = fr
| url =
https://www.lejdd.fr/Politique/christophe-castaner-sur-les-gilets-jaunes-on-a-cree-une-sorte-de-monstre-qui-est-sorti-de-sa-boite-3860654
| titre = Christophe Castaner sur les Gilets jaunes : "On a créé une sorte de monstre qui est sorti de sa boîte"
| auteur =
| publication = lejdd.fr
| date = 19 février 2019
}}
* {{source
| langue = fr
| url = https://www.mycanal.fr/decouverte/au-tableau-saison-3-episode-du-20-fevr-2019-21-h-05/h/11060217_50013
| titre = Au tableau ! - S3 - Ép 1 (Christophe Castaner, Christian Estrosi, Kad Merad)
| auteur =
| publication = mycanal.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://fr.timesofisrael.com/gilet-jaune-les-adeptes-dalain-soral-ou-de-dieudonne-de-plus-en-plus-presents/
| titre = Gilet jaune: les adeptes d’Alain Soral ou de Dieudonné de plus en plus présents
| auteur =
| publication = fr.timesofisrael.com
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.lemondejuif.info/2019/02/comble-du-comble-ignoble-le-parti-de-macron-accuse-israel-dinstrumentaliser-lantisemitisme-en-france/
| titre = Comble du comble : ignoble, le parti de Macron accuse Israël d’instrumentaliser l’antisémitisme en France
| auteur =
| publication = lemondejuif.info
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.atlantico.fr/decryptage/3566419/etat-providence-immigration-et-gilets-jaunes--l-etude-americaine-explosive-qui-revele-la-nature-du-dilemme-politique-francais-chloe-morin-nicolas-goetzzmann
| titre = Etat providence, immigration et Gilets jaunes : l’étude américaine explosive qui révèle la nature du dilemme politique français
| auteur =
| publication = atlantico.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = http://www.lavoixdunord.fr/540464/article/2019-02-20/les-gilets-jaunes-bloquent-les-poids-lourds-au-rond-point-de-la-croix-de-mons
| titre = Maubeuge Les Gilets jaunes bloquent les poids lourds au rond-point de la Croix-de-Mons
| auteur =
| publication = lavoixdunord.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url =http://www.lemessager.fr/genevois/geneve-des-centaines-de-gilets-jaunes-devant-l-onu-ia928b929n212226
| titre =
Genève: des centaines de Gilets jaunes devant l’ONU
| auteur =
| publication = lemessager.fr
| date = 21 février 2019
}}
* {{source
| langue = fr
| url = https://france3-regions.francetvinfo.fr/auvergne-rhone-alpes/pres-millier-gilets-jaunes-manifeste-contre-violences-policieres-devant-onu-geneve-1627195.html
| titre = Près d'un millier de “gilets jaunes” a manifesté contre les violences policières devant l'ONU à Genève
| auteur =
| publication = france3-regions.francetvinfo.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://actu.fr/centre-val-de-loire/nogent-le-rotrou_28280/les-gilets-jaunes-retour-rond-point-nogent-rotrou_21597155.html
| titre = Les Gilets jaunes de retour au rond-point de Nogent-le-Rotrou
| auteur =
| publication =actu.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.midilibre.fr/2019/02/20/la-critique-radicale-des-medias-cree-les-gilets-jaunes-assure-alexis-levrier,8027070.php
| titre = "La critique radicale des médias a contribué à créer les gilets jaunes", assure Alexis Lévrier
| auteur =
| publication = midilibre.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url =https://france3-regions.francetvinfo.fr/bretagne/rennes-deux-gilets-jaunes-deferes-au-parquet-cet-apres-midi-1627211.html
| titre = Rennes : deux Gilets Jaunes déférés au Parquet cet après-midi
| auteur =
| publication = france3-regions.francetvinfo.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.ledauphine.com/haute-savoie/2019/02/20/1-500-gilets-jaunes-devant-l-onu-a-geneve-pour-denoncer-les-violences-policieres-en-france
| titre = 1 500 gilets jaunes étaient devant l'ONU à Genève pour dénoncer les violences policières en France
| auteur =
| publication = ledauphine.com
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = http://www.larepubliquedespyrenees.fr/2019/02/20/europeennes-et-si-jean-lassalle-conduisait-une-liste-gilets-jaunes-aux-europeennes,2519903.php
| titre = Et si Jean Lassalle conduisait une liste "gilets jaunes" aux européennes ?
| auteur =
| publication = larepubliquedespyrenees.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = http://www.lefigaro.fr/politique/le-scan/2019/02/20/25001-20190220ARTFIG00164-comment-jean-lassalle-prepare-dans-la-plus-grande-discretion-sa-propre-liste-gilets-jaunes.php
| titre = Comment Jean Lassalle prépare dans la plus grande discrétion sa propre liste «gilets jaunes»
| auteur =
| publication =lefigaro.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.ledauphine.com/haute-savoie/2019/02/20/scionzier-les-croix-des-gilets-jaunes-vandalisees
| titre = Scionzier : les croix des gilets jaunes vandalisées
| auteur =
| publication = ledauphine.com
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.ledauphine.com/vaucluse/2019/02/20/la-cabane-des-gilets-jaunes-demantelee
| titre = La cabane des Gilets jaunes démantelée
| auteur =
| publication = ledauphine.com
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.ouest-france.fr/bretagne/saint-brieuc-22000/gilets-jaunes-une-enquete-ouverte-sur-une-cagnotte-saint-brieuc-l-argent-saisi-par-les-gendarmes-6230845
| titre = Gilets jaunes. À Saint-Brieuc, les cagnottes dans le collimateur des gendarmes
| auteur =
| publication = ouest-france.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = http://lavdn.lavoixdunord.fr/540356/article/2019-02-20/sorti-de-prison-christophe-dettinger-toujours-une-peine-faire
| titre = Gilets jaunes Sorti de prison, Christophe Dettinger a «toujours une peine à faire»
| auteur =
| publication = lavdn.lavoixdunord.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.tendanceouest.com/actualite-312283-gilets-jaunes-pneus-et-palettes-incendies-sur-l-axe-caen-ouistreham.html
| titre = Gilets jaunes : pneus et palettes incendiés sur l'axe Caen-Ouistreham
| auteur =
| publication = tendanceouest.com
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://actu.fr/pays-de-la-loire/donges_44052/saint-nazaire-gilet-jaune-condamne-insultes-sur-forces-lordre_21602225.html
| titre = Saint-Nazaire : un gilet jaune condamné pour des insultes sur les forces de l’ordre
| auteur =
| publication = actu.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.midilibre.fr/2019/02/20/montpellier-des-gilets-jaunes-determines-a-camper-sur-la-comedie,8027178.php
| titre = Montpellier : des "gilets jaunes" déterminés à camper sur la Comédie
| auteur =
| publication = midilibre.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://france3-regions.francetvinfo.fr/paris-ile-de-france/ancien-boxeur-gilet-jeune-christophe-dettinger-est-sorti-prison-1627015.html
| titre = L'ancien boxeur “gilet jaune” Christophe Dettinger est sorti de prison
| auteur =
| publication = france3-regions.francetvinfo.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://france3-regions.francetvinfo.fr/auvergne-rhone-alpes/drome/valence/valence-depot-petrolier-occupe-gilets-jaunes-evacue-police-1627159.html
| titre = Valence : le dépôt pétrolier occupé par des gilets jaunes évacué par la police
| auteur =
| publication = france3-regions.francetvinfo.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = http://abonne.lunion.fr/id42638/article/2019-02-20/chateau-thierry-les-gilets-jaunes-ont-quitte-leur-emplacement
| titre = À Château-Thierry, les gilets jaunes ont quitté leur emplacement le long de la voie express - Journal L'Union abonné
| auteur =
| publication = abonne.lunion.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = http://www.charentelibre.fr/2019/02/20/un-charentais-invente-un-jeu-sur-les-gilets-jaunes,3390743.php
| titre = Un Charentais invente un jeu de société sur les gilets jaunes
| auteur =
| publication = charentelibre.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.lechorepublicain.fr/dreux/social/2019/02/20/les-tres-republicains-gilets-jaunes-de-dreux_13501794.html
| titre = Les gilets jaunes de Dreux l'écrivent : "Antisémitisme, racisme, pas en notre nom"
| auteur =
| publication = lechorepublicain.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.franceculture.fr/emissions/les-pieds-sur-terre/gilets-jaunes-et-banlieue
| titre = "Gilets jaunes" et banlieue : y aller ou pas
| auteur =
| publication = franceculture.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.ledauphine.com/vaucluse/2019/02/20/blocage-d-entrepots-quatre-gilets-jaunes-condamnes
| titre = Blocage d’entrepôts : quatre gilets jaunes condamnés
| auteur =
| publication = ledauphine.com
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.republicain-lorrain.fr/edition-de-sarreguemines-bitche/2019/02/20/video-sarreguemines-le-campement-des-gilets-jaunes-demonte
| titre = Sarreguemines : le campement des gilets jaunes démonté
| auteur =
| publication = republicain-lorrain.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.dici.fr/actu/2019/02/20/hautes-alpes-radar-de-st-etienne-laus-penche-l-aide-d-une-voiture-1234684
| titre = Hautes-Alpes : le radar de St Etienne le Laus penché à l'aide... d'une voiture
| auteur =
| publication = dici.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.lepoint.fr/debats/les-gilets-jaunes-ne-sont-pas-apolitiques-20-02-2019-2295047_2.php
| titre = « Les Gilets jaunes ne sont pas apolitiques »
| auteur =
| publication = lepoint.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://www.rtl.fr/actu/justice-faits-divers/christophe-dettinger-sur-rtl-je-suis-toujours-gilet-jaune-dans-mon-coeur-7797003923
| titre = Christophe Dettinger sur RTL : "Je suis toujours 'gilet jaune' dans mon cœur"
| auteur =
| publication = rtl.fr
| date = 20 février 2019
}}
* {{source
| langue = fr
| url = https://actu.fr/centre-val-de-loire/nogent-le-rotrou_28280/nogent-rotrou-cabane-gilets-jaunes-sitot-construite-sitot-enlevee_21621178.html
| titre = Nogent-le-Rotrou : la cabane des Gilets jaunes sitôt construite, sitôt enlevée
| auteur =
| publication = actu.fr
| date = 21 février 2019
}}
* {{source
| langue = fr
| url = https://www.leprogres.fr/loire-42-edition-ondaine/2019/02/21/firminy-deloges-du-rond-point-de-chazeau-les-gilets-jaunes-reclament-un-terrain-prive
| titre = Firminy : délogés du rond-point de Chazeau, les Gilets jaunes réclament un terrain privé
| auteur =
| publication = leprogres.fr
| date = 21 février 2019
}}
== Voir aussi ==
* {{wikinews|langue=fr|titre=Manifestations des "Gilets jaunes", une personne morte et des centaines de blessés|date=17 novembre 2018}}
{{Publication|jour=20|mois=février|année=2019|statut=brève}}
{{Page|France}}
[[Catégorie:Mouvement des gilets jaunes]]
[[Catégorie:Saint-Étienne-le-Laus]]
[[Catégorie:Calvados]]
[[Catégorie:Firminy]]
[[Catégorie:Montpellier]]
[[Catégorie:Maubeuge]]
[[Catégorie:Genève]]
[[Catégorie:Nogent-le-Rotrou]]
[[Catégorie:Rennes]]
[[Catégorie:Scionzier]]
[[Catégorie:Pertuis]]
[[Catégorie:Saint-Brieuc]]
[[Catégorie:Fleury-Mérogis]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Château-Thierry]]
[[Catégorie:Dreux]]
[[Catégorie:Avignon]]
[[Catégorie:Sarreguemines]]
9g8dnzg1uqur8xi0jl9ytxatj9t464y
Wikinews:Salle café/Actualités techniques/2022
4
91232
873050
872834
2022-08-23T00:12:34Z
MediaWiki message delivery
14326
/* Actualités techniques n° 2022-34 */ nouvelle section
wikitext
text/x-wiki
== [[m:Special:MyLanguage/Tech/News/2022/02|Tech News: 2022-02]] ==
<section begin="technews-2022-W02"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/02|D’autres traductions]] sont disponibles.
'''Changements récents'''
* [[File:Octicons-tools.svg|15px|link=|Sujet technique]] Une variable <bdi lang="zxx" dir="ltr"><code>oauth_consumer</code></bdi> a été ajoutée à [[mw:Special:MyLanguage/AbuseFilter|AbuseFilter]] pour permettre d'identifier les modifications effectuées par des outils spécifiques. [https://phabricator.wikimedia.org/T298281]
* [[File:Octicons-tools.svg|15px|link=|Sujet technique]] Les gadgets sont [[mw:Special:MyLanguage/ResourceLoader/Migration_guide_(users)#Package_Gadgets|maintenant capables d'inclure directement des pages JSON]]. Cela signifie que certains gadgets peuvent maintenant être configurés par les administrateurs sans avoir besoin de la autorisation d'un administrateur d'interface, comme le gadget Geonotice. [https://phabricator.wikimedia.org/T198758]
* [[File:Octicons-tools.svg|15px|link=|Sujet technique]] Les gadgets [[mw:Extension:Gadgets#Options|peuvent désormais spécifier les actions de page]] pour lesquelles ils seront utilisables. Par exemple, <bdi lang="zxx" dir="ltr"><code>|actions=edit,history</code></bdi> chargera un gadget uniquement pendant la modification d’une page ou la consultation de son historique. [https://phabricator.wikimedia.org/T63007]
* [[File:Octicons-tools.svg|15px|link=|Sujet technique]] Les gadgets peuvent désormais être chargés avec le paramètre d'URL <bdi lang="zxx" dir="ltr"><code>withgadget</code></bdi>. Ceci peut être utilisé pour remplacer [[mw:Special:MyLanguage/Snippets/Load JS and CSS by URL|un morceau de code]] qui ressemble généralement à <bdi lang="zxx" dir="ltr"><code>withJS</code></bdi> ou <bdi lang="zxx" dir="ltr"><code>withCSS</code></bdi>. [https://phabricator.wikimedia.org/T29766]
* [[File:Octicons-tools.svg|15px|link=|Sujet technique]] Sur les wikis où [[mw:Special:MyLanguage/Growth/Communities/How to configure the mentors' list|le système de mentorat est activé]], vous pouvez désormais utiliser l'API Action pour obtenir la liste des mentorés d'un [[mw:Special:MyLanguage/Growth/Mentor_dashboard|mentor]]. [https://phabricator.wikimedia.org/T291966]
* Le titre de la page d’accueil peut désormais être configuré en utilisant <span class="mw-content-ltr" lang="en" dir="ltr">[[MediaWiki:Mainpage-title-loggedin]]</span> pour les utilisateurs connectés et <span class="mw-content-ltr" lang="en" dir="ltr">[[MediaWiki:Mainpage-title]]</span> pour les utilisateurs non connectés. Tout CSS qui était utilisé pour masquer le titre devrait être supprimé. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Small_wiki_toolkits/Starter_kit/Main_page_customization#hide-heading] [https://phabricator.wikimedia.org/T298715]
* Quatre pages spéciales (et leurs équivalents API) ont désormais un temps d'exécution maximal de 30 secondes pour les requêtes à la base de données. Ces pages spéciales sont : Modifications récentes, Liste de suivi, Contributions et Journal. Ce changement contribuera à améliorer les performances et la stabilité du site. Vous pouvez lire [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/IPJNO75HYAQWIGTHI5LJHTDVLVOC4LJP/ plus de détails sur ce changement], y compris quelques solutions potentielles si cela affecte vos activités. [https://phabricator.wikimedia.org/T297708]
* L'[[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Sticky Header|entête figé]] a été déployé pour 50 % des utilisateurs connectés sur [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Frequently asked questions#pilot-wikis|plus de 10 wikis]]. Cela fait partie des [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Améliorations pour ordinateur]]. Voir [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Participate|comment prendre part au projet]].
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.17|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-01-11|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-01-12|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-01-13|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
'''Événements'''
* [[m:Special:MyLanguage/Community Wishlist Survey 2022|La consultation des souhaits de la communauté pour 2022]] commence. Tous les contributeurs des projets Wikimédia peuvent proposer des outils et des améliorations de la plateforme. La phase de proposition se déroule du {{#time:j xg|2022-01-10|fr}} 18:00 UTC au {{#time:j xg|2022-01-23|fr}} 18:00 UTC. [[m:Special:MyLanguage/Community_Wishlist_Survey/FAQ|En savoir plus]].
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/02|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W02"/>
11 janvier 2022 à 01:23 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22562156 -->
== [[m:Special:MyLanguage/Tech/News/2022/03|Tech News: 2022-03]] ==
<section begin="technews-2022-W03"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/03|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Dans [[mw:Special:MyLanguage/Extension:WikiEditor|WikiEditor]] (l’éditeur 2010 de wikicode), les contributeurs seront désormais avertis s’ils insèrent un lien vers une page d’homonymie. Si vous cliquez sur « {{int:Disambiguator-review-link}} » dans l’avertissement, il vous sera demandé de corriger le lien vers une page plus spécifique. [[m:Community Wishlist Survey 2021/Warn when linking to disambiguation pages#Jan 12, 2021: Turning on the changes for all Wikis|En savoir plus]] sur la réalisation de ce souhait issue de la consultation des souhaits de la communauté pour 2021.
* Vous pouvez [[mw:Special:MyLanguage/Help:DiscussionTools#subscribe|vous abonner automatiquement à toutes les discussions]] auxquelles vous participez à l’aide des [[mw:Special:MyLanguage/Talk pages project/Feature summary|Outils de discussion]]. Vous serez [[mw:Special:MyLanguage/Notifications|notifiés]] quand un autre contributeur répondra. Cette fonctionnalité est disponible sur presque tous les wikis : dans [[Special:Preferences#mw-prefsection-editing-discussion|vos préférences]], activez « {{int:discussiontools-preference-autotopicsub}} ». [https://phabricator.wikimedia.org/T263819]
* Quand il est demandé de créer une nouvelle page ou une nouvelle section de page de discussion, les champs de saisie peuvent être [[mw:Special:MyLanguage/Manual:Creating_pages_with_preloaded_text|pré-remplis (''<span lang=en>preloaded</span>'')]]. Cette fonctionnalité est maintenant limitée aux pages de wikicode, afin que les utilisateurs ne soient pas manipulés pour réaliser des modifications malveillantes. Une discussion a lieu pour déterminer [[phab:T297725|si cette fonctionnalité doit être réactivée pour certains types de contenu]].
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.18|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-01-18|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-01-19|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-01-20|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
'''Évènements'''
* La [[m:Special:MyLanguage/Community Wishlist Survey 2022|consultation des souhaits de la communauté pour 2022]] continue. Tous les contributeurs des projets Wikimédia peuvent proposer des outils et des améliorations de la plateforme. La phase de proposition se déroule du {{#time:j xg|2022-01-10|fr}} 18:00 UTC au {{#time:j xg|2022-01-23|fr}} 18:00 UTC. [[m:Special:MyLanguage/Community_Wishlist_Survey/FAQ|En savoir plus]].
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/03|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W03"/>
17 janvier 2022 à 19:55 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22620285 -->
== [[m:Special:MyLanguage/Tech/News/2022/04|Tech News: 2022-04]] ==
<section begin="technews-2022-W04"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/04|D’autres traductions]] sont disponibles.
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.19|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-01-25|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-01-26|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-01-27|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
* Les langages suivants peuvent maintenant être utilisés avec [[mw:Special:MyLanguage/Extension:SyntaxHighlight|la coloration syntaxique]] : BDD, Elpi, LilyPond, Maxima, Rita, Savi, Sed, Sophia, Spice, .SRCINFO.
* Vous pouvez désormais accéder à votre liste de suivi en dehors du menu utilisateur dans la [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|nouvelle apparence de Vector]]. Le lien vers la liste de suivi apparaît à côté des icônes de notification si vous êtes au sommet de la page. [https://phabricator.wikimedia.org/T289619]
'''Évènements'''
* Vous pouvez voir les résultats de la [[m:Special:MyLanguage/Coolest Tool Award|Cérémonie des outils les plus cools 2021]] et en savoir plus sur les 14 outils qui ont été sélectionnés cette année.
* Vous pouvez [[m:Special:MyLanguage/Community_Wishlist_Survey/Help_us|traduire, promouvoir]], ou commenter [[m:Special:MyLanguage/Community Wishlist Survey 2022/Proposals|les propositions]] de la consultation des souhaits de la communauté. Le vote commencera le {{#time:j xg|2022-01-28|fr}}.
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/04|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W04"/>
24 janvier 2022 à 21:38 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22644148 -->
== [[m:Special:MyLanguage/Tech/News/2022/05|Tech News: 2022-05]] ==
<section begin="technews-2022-W05"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/05|D’autres traductions]] sont disponibles.
'''Changements récents'''
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Si un gadget devrait prendre en charge le nouveau paramètre d’URL <bdi lang="zxx" dir="ltr"><code>?withgadget</code></bdi> [[m:Special:MyLanguage/Tech/News/2022/02|annoncé]] il y a 3 semaines, alors il doit désormais aussi spécifier <bdi lang="zxx" dir="ltr"><code>supportsUrlLoad</code></bdi> dans la définition du gadget ([[mw:Special:MyLanguage/Extension:Gadgets#supportsUrlLoad|documentation]]). [https://phabricator.wikimedia.org/T29766]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.20|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-02-01|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-02-02|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-02-03|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
'''Futurs changements'''
* Un changement [[m:Special:MyLanguage/Tech/News/2021/16|annoncé]] l’an passé a été repoussé. Il est maintenant prêt à être mis en place :
** Le nom technique du groupe utilisateur <code>oversight</code> va être renommé en <code>suppress</code>, pour des [[phab:T109327|raisons techniques]]. Cela ne changera pas la manière dont ces contributeurs sont appelés sur votre wiki. Cela devrait arriver dans trois semaines. Vous pouvez ajouter un commentaire [[phab:T112147|sur Phabricator]] si vous avez des objections. Comme d’habitude, ces noms peuvent être traduits sur Translatewiki.net ([[phab:T112147|des liens directs sont disponibles]]) ou par les administrateurs sur votre wiki.
'''Évènements'''
* Vous pourrez voter pour les propositions de la [[m:Special:MyLanguage/Community Wishlist Survey 2022|Consultation des souhaits de la communauté]] entre le 28 janvier et le 11 février. La consultation détermine ce sur quoi [[m:Special:MyLanguage/Community Tech|l’équipe Technologies communautaires]] travaillera.
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/05|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W05"/>
31 janvier 2022 à 17:42 (UTC)
<!-- Message envoyé par User:Johan (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22721804 -->
== [[m:Special:MyLanguage/Tech/News/2022/06|Tech News: 2022-06]] ==
<section begin="technews-2022-W06"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/06|D’autres traductions]] sont disponibles.
'''Changements récents'''
* La Wikipédia anglaise a récemment mis en place un gadget pour le mode sombre. Vous pouvez l'activer ici, ou demander l'aide d'un [[m:Special:MyLanguage/Interface administrators|administrateur d'interface]] pour le configurer sur votre wiki ([[w:en:Wikipedia:Dark mode (gadget)|instructions et capture d'écran]]).
* Le décompte des catégories est parfois erroné. Ils seront désormais entièrement recomptés au début de chaque mois. [https://phabricator.wikimedia.org/T299823]
'''Problèmes'''
* Un changement de code la semaine dernière pour corriger un bug avec [[mw:Special:MyLanguage/Manual:Live preview|Live Preview]] peut avoir causé des problèmes avec certains gadgets locaux et scripts utilisateurs. Tout code ayant un comportement spécifique au skin pour <bdi lang="zxx" dir="ltr"><code>vector</code></bdi> doit être mis à jour pour vérifier également <bdi lang="zxx" dir="ltr"><code>vector-2022</code></bdi>. [[phab:T300987|Un extrait de code, une recherche globale et un exemple sont disponibles]].
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.21|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-02-08|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-02-09|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-02-10|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/06|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W06"/>
7 février 2022 à 21:15 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22765948 -->
== [[m:Special:MyLanguage/Tech/News/2022/07|Tech News: 2022-07]] ==
<section begin="technews-2022-W07"/><div class="plainlinks">
<div lang="en" dir="ltr" class="mw-content-ltr">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2022/07|Translations]] are available.
</div>
'''<span lang="en" dir="ltr" class="mw-content-ltr">Recent changes</span>'''
* <span lang="en" dir="ltr" class="mw-content-ltr">[[mw:Special:MyLanguage/Manual:Purge|Purging]] a category page with fewer than 5,000 members will now recount it completely. This will allow editors to fix incorrect counts when it is wrong.</span> [https://phabricator.wikimedia.org/T85696]
'''<span lang="en" dir="ltr" class="mw-content-ltr">Changes later this week</span>'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] <span lang="en" dir="ltr" class="mw-content-ltr">The [[mw:MediaWiki 1.38/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2022-02-15|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2022-02-16|en}}. It will be on all wikis from {{#time:j xg|2022-02-17|en}} ([[mw:MediaWiki 1.38/Roadmap|calendar]]).</span>
* [[File:Octicons-tools.svg|15px|link=|Sujet technique]] <span lang="en" dir="ltr" class="mw-content-ltr">In the [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] extension, the <code dir=ltr>rmspecials()</code> function has been updated so that it does not remove the "space" character. Wikis are advised to wrap all the uses of <code dir=ltr>rmspecials()</code> with <code dir=ltr>rmwhitespace()</code> wherever necessary to keep filters' behavior unchanged. You can use the search function on [[Special:AbuseFilter]] to locate its usage.</span> [https://phabricator.wikimedia.org/T263024]
<div lang="en" dir="ltr" class="mw-content-ltr">
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2022/07|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div>
</div><section end="technews-2022-W07"/>
14 février 2022 à 19:18 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22821788 -->
== [[m:Special:MyLanguage/Tech/News/2022/08|Tech News: 2022-08]] ==
<section begin="technews-2022-W08"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/08|D’autres traductions]] sont disponibles.
'''Modifications récentes'''
* [[Special:Nuke|Special:Nuke]] fournira désormais les motifs de suppression standard (modifiables sur <bdi lang="en" dir="ltr">[[MediaWiki:Deletereason-dropdown]]</bdi>) à utiliser lors de la suppression massive de pages. C'était [[m:Community Wishlist Survey 2022/Admins and patrollers/Mass-delete to offer drop-down of standard reasons, or templated reasons.|une demande soumise lors de la consultation des souhaits de la communauté pour 2022]]. [https://phabricator.wikimedia.org/T25020]
* Sur Wikipédia, tous les nouveaux comptes obtiennent désormais les [[mw:Special:MyLanguage/Growth/Feature_summary|Fonctionnalités de croissance]] par défaut lors de la création d'un compte. Les communautés sont encouragées à [[mw:Special:MyLanguage/Help:Growth/Tools/Account_creation|mettre à jour leurs ressources d'aide]]. Auparavant, seuls 80 % des nouveaux comptes obtenaient les fonctionnalités de croissance. Quelques Wikipédias ne sont pas affectées par ce changement. [https://phabricator.wikimedia.org/T301820]
* Vous pouvez à présent empêcher que des images spécifiques utilisées sur une page apparaissent à d'autres endroits, tels que la prévisualisation des pages (''PagePreviews'') ou les résultats de recherche. Cela est effectué grâce au code <bdi lang="zxx" dir="ltr"><code><nowiki>class=notpageimage</nowiki></code></bdi>. Par example, <code><nowiki>[[Fichier:Exemple.png|class=notpageimage]]</nowiki></code>. [https://phabricator.wikimedia.org/T301588]
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Une modification a été apportée au HTML des pages Special:Contributions, Special:MergeHistory et aux pages d'historique, afin de prendre en charge le regroupement des modifications par date dans [[mw:Special:MyLanguage/Skin:Minerva_Neue|l'apparence mobile]]. Bien que peu probable, cela pourrait affecter les gadgets et les scripts des utilisateurs. Une [[phab:T298638|liste de tous les changements HTML]] est disponible sur Phabricator.
'''Événements'''
* Les [[m:Special:MyLanguage/Community Wishlist Survey 2022/Results|résultats de l'enquête sur les souhaits de la communauté]] ont été publiés. Le [[m:Special:MyLanguage/Community Wishlist Survey/Updates/2022 results#leaderboard|classement des propositions par ordre de priorité]] est également disponible.
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.23|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-02-22|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-02-23|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-02-24|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
'''Changements à venir'''
* Le logiciel permettant de lire les vidéos et les fichiers audio sur les pages va bientôt changer sur tous les wikis. L'ancien lecteur sera supprimé. L'affichage de certains lecteurs audio deviendra plus large après ce changement. [[mw:Special:MyLanguage/Extension:TimedMediaHandler/VideoJS_Player|Le nouveau lecteur]] a été une fonctionnalité bêta pendant plus de quatre ans. [https://phabricator.wikimedia.org/T100106][https://phabricator.wikimedia.org/T248418]
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Le système d'exploitation sous-jacent de Toolforge est en cours de mise à jour. Si vous y maintenez des outils, il existe deux options pour migrer vos outils vers le nouveau système. Vous trouverez les [[wikitech:News/Toolforge Stretch deprecation|détails, délais et instructions]] sur Wikitech. [https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/EPJFISC52T7OOEFH5YYMZNL57O4VGSPR/]
* Lorsqu'ils supprimeront une page donnée, les administrateurs auront bientôt [[m:Special:MyLanguage/Community Wishlist Survey 2021/(Un)delete associated talk page|l'option de supprimer/restaurer]] la page de discussion associée. Un élément dédié dans l'API avec cette option sera également disponible. Cette fonctionnalité était [[m:Community Wishlist Survey 2021/Admins and patrollers/(Un)delete associated talk page|une demande soumise lors de la consultation des souhaits de la communauté pour 2021]].
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/08|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W08"/>
21 février 2022 à 19:12 (UTC)
<!-- Message envoyé par User:Trizek (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22847768 -->
== [[m:Special:MyLanguage/Tech/News/2022/09|Tech News: 2022-09]] ==
<section begin="technews-2022-W09"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/09|D’autres traductions]] sont disponibles.
'''Changements récents'''
* En recherchant des modifications par [[mw:Special:MyLanguage/Help:Tags|balises]], par exemple dans l’historique d’une page ou dans les contributions d’un utilisateur, une liste déroulante de balises possibles est dorénavant accessible. Il s’agit d’[[m:Community Wishlist Survey 2022/Miscellaneous/Improve plain-text change tag selector|une demande de la Consultation des souhaits de la communauté pour 2022]]. [https://phabricator.wikimedia.org/T27909]
* Les tuteurs utilisant le [[mw:Special:MyLanguage/Growth/Mentor_dashboard|tableau de bord des tuteurs]] du projet Croissance verront désormais les nouveaux qui leur sont assignés s’ils ont entre 1 et 200 contributions. Auparavant, tous les nouveaux assignés au tuteur étaient visibles sur le tableau de bord, même ceux ayant réalisé des centaines de modifications. Les tuteurs peuvent toujours changer ces valeurs en utilisant les filtres du tableau de bord ; les derniers filtres utilisés sont enregistrés. [https://phabricator.wikimedia.org/T301268][https://phabricator.wikimedia.org/T294460]
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Le groupe utilisateur <code>oversight</code> a été renommé en <code>suppress</code>, pour des raisons techniques. Vous allez devoir mettre à jour les utilisations locales de l’ancien nom, par exemple dans les gadgets, liens vers Spécial:Liste_des_utilisateurs ou utilisations de [[mw:Special:MyLanguage/Help:Magic_words|NUMBERINGROUP]].
'''Problèmes'''
* Les changements récents dans le code HTML des pages de [[mw:Special:MyLanguage/Help:Tracking changes|suivi des modifications]] a causé certains problèmes aux lecteurs d’écrans. Cela est maintenant résolu. [https://phabricator.wikimedia.org/T298638]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.24|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-03-01|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-03-02|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-03-03|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
'''Futurs changements'''
* Travailler avec les modèles va devenir plus facile : [[m:WMDE_Technical_Wishes/Templates|plusieurs améliorations]] sont prévues pour le 9 mars pour la plupart des wikis, et le 16 mars pour la Wikipédia en anglais. Parmi les améliorations : l’appairage des accolades, la colorisation syntaxique, la recherche et l’insertion de modèles et des fonctionnalités de l’éditeur visuel liées.
* Si vous êtes {{GENDER:|développeur|développeuse}} de modèle ou {{GENDER:|administrateur|administratrice}} d’interface, et que vous utilisez ou remplacez les CSS par défaut des boites de retour des utilisateurs (les classes <code dir=ltr>successbox, messagebox, errorbox, warningbox</code>), sachez que ces classes et CSS associées seront bientôt supprimée du cœur de MediaWiki, pour éviter les problèmes lorsque les mêmes noms de classe sont aussi utilisés sur un wiki. N’hésitez pas à nous faire savoir par un commentaire sur [[phab:T300314]] si vous pensez être touché{{GENDER:||e}} par ce changement.
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/09|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W09"/>
28 février 2022 à 22:59 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22902593 -->
== [[m:Special:MyLanguage/Tech/News/2022/10|Tech News: 2022-10]] ==
<section begin="technews-2022-W10"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/10|D’autres traductions]] sont disponibles.
'''Problèmes'''
* Il y a, depuis la semaine dernière, un problème avec certains intitulés de l’interface. Il sera corrigé cette semaine. Ce changement fait partie du travail en cours pour simplifier la prise en charge des habillages qui n’ont pas de mainteneurs actifs. [https://phabricator.wikimedia.org/T301203]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.25|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-03-08|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-03-09|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-03-10|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/10|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W10"/>
7 mars 2022 à 21:16 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22958074 -->
== [[m:Special:MyLanguage/Tech/News/2022/11|Tech News: 2022-11]] ==
<section begin="technews-2022-W11"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/11|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Dans l’application Wikipédia sur Android, [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Android/Communication#Updates|il est maintenant possible]] de changer la barre d’outils en bas afin que les outils que vous utilisez le plus souvent soient plus faciles à atteindre. L’application dispose maintenant également d’un mode de lecture focalisé, c’est-à-dire centré sur le contenu de la page lue. [https://phabricator.wikimedia.org/T296753][https://phabricator.wikimedia.org/T254771]
'''Problèmes'''
* Un problème est survenu lors de la collecte de certaines données sur les visualisations de pages entre juin 2021 et janvier 2022 sur tous les wikis. Cela signifie que les statistiques sont incomplètes. Pour aider à calculer quels projets ou régions ont été les plus affectés, les jeux de données correspondants sont conservés durant 30 jours supplémentaires. Vous pouvez [[m:Talk:Data_retention_guidelines#Added_exception_for_page_views_investigation|en savoir plus sur Méta-Wiki]].
* Il y a eu un problème avec la base de données le 10 mars : tous les wikis ont été inaccessibles aux utilisateurs connectés pendant 12 minutes. Les utilisateurs déconnectés pouvaient lire les pages mais pas les modifier ni accéder à du contenu non mis en cache. [https://wikitech.wikimedia.org/wiki/Incident_documentation/2022-03-10_MediaWiki_availability]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.38/wmf.26|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-03-15|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-03-16|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-03-17|fr}} ([[mw:MediaWiki 1.38/Roadmap|calendrier]]).
* Lorsque l’on [[mw:Special:MyLanguage/Help:System_message#Finding_messages_and_documentation|utilise <bdi lang="zxx" dir="ltr"><code>uselang=qqx</code></bdi> pour trouver les messages traductibles]], cela affichera maintenant toutes les clés possibles de messages pour les onglets de navigation tels que « {{int:vector-view-history}} ». [https://phabricator.wikimedia.org/T300069]
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] L’accès à [[{{#special:RevisionDelete}}]] a été étendu pour inclure les utilisateurs qui disposent des droits <code dir=ltr>deletelogentry</code> et <code dir=ltr>deletedhistory</code> par l’intermédiaire des groupes dont ils sont membres. Auparavant, seuls ceux qui disposaient du droit <code dir=ltr>deleterevision</code> pouvaient accéder à cette page spéciale. [https://phabricator.wikimedia.org/T301928]
* Sur les pages [[{{#special:Undelete}}]] qui montrent les différences et révisions, il y aura un lien de retour à la page principale « Restaurer une page » avec la liste des révisions. [https://phabricator.wikimedia.org/T284114]
'''Futurs changements'''
* La Fondation Wikimedia a annoncé la stratégie de mise en œuvre du masquage des adresses IP, ainsi que les étapes suivantes. L’[[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation#feb25|annonce peut être lue ici]].
* Les développeurs de l’[[mw:Special:MyLanguage/Wikimedia Apps/Android FAQ|application Wikipédia pour Android]] travaillent sur de [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Communication|nouvelles fonctionnalités]] pour les pages de discussion des utilisateurs et celles des articles. [https://phabricator.wikimedia.org/T297617]
'''Évènements'''
* L’[[mw:Wikimedia Hackathon 2022|Hackathon Wikimedia 2022]] aura lieu sous forme hybride du 20 au 22 mai 2022. Il se tiendra en ligne mais l’organisation de rencontres en présentiel autour du monde sera subventionnée. Les subventions peuvent être demandées jusqu’au 20 mars.
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/11|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W11"/>
14 mars 2022 à 22:07 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=22993074 -->
== [[m:Special:MyLanguage/Tech/News/2022/12|Tech News: 2022-12]] ==
<section begin="technews-2022-W12"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/12|D’autres traductions]] sont disponibles.
'''Nouveau rythme de sortie du code pour cette semaine'''
* Il y aura 4 nouvelles versions successives de MediaWiki cette semaine, au lieu d’une seule. Il s’agit d’une expérimentation pour limiter les problèmes et accélérer le déploiement des fonctionnalités. Les versions seront déployées sur tous les wikis, à des moments différents, lundi, mardi et mercredi. Vous pouvez [[mw:Special:MyLanguage/Wikimedia Release Engineering Team/Trainsperiment week|en savoir plus sur ce projet]].
'''Changements récents'''
* Vous pouvez maintenant définir combien de résultats de rechercher afficher par défaut dans [[Special:Preferences#mw-prefsection-searchoptions|vos préférences]]. Il s’agissait du douzième vœu le plus populaire de la [[m:Special:MyLanguage/Community Wishlist Survey 2022/Results|Consultation des souhaits de la communauté pour 2022]]. [https://phabricator.wikimedia.org/T215716]
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] L’outil de carnet Jupyter [[wikitech:PAWS|PAWS]] a été mis à jour avec une nouvelle interface. [https://phabricator.wikimedia.org/T295043]
'''Futurs changements'''
* Les cartes interactives utilisant [[mw:Special:MyLanguage/Help:Extension:Kartographer|Kartographer]] fonctionneront bientôt sur les wikis qui utilisent les révisions étiquetées (l’extension [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevision]]). [https://wikimedia.sslsurvey.de/Kartographer-Workflows-EN/ Dites-nous] quelles améliorations vous aimeriez dans Kartographer. Vous pouvez utiliser un anglais élémentaire pour répondre à l’enquête. [https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/Geoinformation]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/12|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W12"/>
21 mars 2022 à 16:01 (UTC)
<!-- Message envoyé par User:Trizek (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23034693 -->
== [[m:Special:MyLanguage/Tech/News/2022/13|Tech News: 2022-13]] ==
<section begin="technews-2022-W13"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/13|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Un nouvel outil d’importation de fichier sur Wikimedia Commons est disponible pour les utilisateurs de MacOS : [[c:Commons:Sunflower|Sunflower]].
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.5|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-03-29|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-03-30|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-03-31|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* Certains wikis seront en lecture seule pendant quelques minutes en raison d’une opération classique sur la base de donnée, le {{#time:j xg|2022-03-29|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s3.dblist wikis concernés]) et le {{#time:j xg|2022-03-31|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s5.dblist wikis concernés]). [https://phabricator.wikimedia.org/T301850][https://phabricator.wikimedia.org/T303798]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/13|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W13"/>
28 mars 2022 à 19:54 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23073711 -->
== [[m:Special:MyLanguage/Tech/News/2022/14|Tech News: 2022-14]] ==
<section begin="technews-2022-W14"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/14|D’autres traductions]] sont disponibles.
'''Problèmes'''
* Pendant quelques jours, la semaine dernière, les modifications qui étaient suggérées aux nouveaux n’étaient pas étiquetées dans le flux de [[{{#special:recentchanges}}]]. Cela a été corrigé. [https://phabricator.wikimedia.org/T304747]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.6|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-04-05|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-04-06|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-04-07|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* Certains wikis vont passer en lecture seule pendant quelques minutes en raison d’une interversion de leur base de données principale. Cela aura lieu le {{#time:j xg|2022-04-07|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s4.dblist wikis concernés]).
'''Futurs changements'''
* À partir de la semaine prochaine, le titre des actualités technique sera traduisible. Lors de la distribution de l’infolettre, son titre ne sera plus « <code dir=ltr>Tech News: 2022-14</code> ». Cela peut affecter certains filtres définis par les communautés. [https://phabricator.wikimedia.org/T302920]
* Durant les prochains mois, la fonctionnalité « [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Ajouter un lien]] » va arriver sur [[phab:T304110|d’autres Wikipédia]]. Chaque semaine, quelques wikis seront dotés de cette fonctionnalité. Vous pouvez tester cet outil sur [[mw:Special:MyLanguage/Growth#deploymentstable|les quelques wikis où la « recommandation de liens » est déjà disponible]].
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/14|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W14"/>
4 avril 2022 à 21:01 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23097604 -->
== Actualités techniques no 2022-15 ==
<section begin="technews-2022-W15"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/15|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Une nouvelle page publique d’état des serveurs est disponible sur <span class="mw-content-ltr" lang="en" dir="ltr">[https://www.wikimediastatus.net/ www.wikimediastatus.net]</span>. Ce site affiche cinq statistiques de haut niveau donnant le niveau de fonctionnement et de performance de l’environnement technique de nos wikis. Elle contient aussi des rapports manuels pour expliquer les incidents aussi rapidement que possible, que les ingénieurs écrivent tout en corrigeant le problème. Le site est séparée de notre infrastructure de production et hébergée par un service externe pour rester accessible même quand les wikis sont brièvement indisponibles. Vous pouvez [https://diff.wikimedia.org/2022/03/31/announcing-www-wikimediastatus-net/ en savoir plus sur ce projet].
* Sur les Wiktionnaires, le logiciel permettant de lire les vidéos et les fichiers audio sur les pages a changé. L’ancien lecteur a été supprimé. L'affichage de certains lecteurs audio va devenir plus large avec ce changement. [[mw:Special:MyLanguage/Extension:TimedMediaHandler/VideoJS_Player|Le nouveau lecteur]] a été une fonctionnalité bêta pendant plus de quatre ans. [https://phabricator.wikimedia.org/T100106][https://phabricator.wikimedia.org/T248418]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.7|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-04-12|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-04-13|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-04-14|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/15|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W15"/>
11 avril 2022 à 19:44 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23124108 -->
== Actualités techniques n° 2022-16 ==
<section begin="technews-2022-W16"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/16|D’autres traductions]] sont disponibles.
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.8|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-04-19|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-04-20|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-04-21|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] Certains wikis seront en lecture seule pendant quelques minutes en raison d’une opération classique sur la base de donnée, le {{#time:j xg|2022-04-19|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s7.dblist wikis concernés]) et le {{#time:j xg|2022-04-21|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s8.dblist wikis concernés]).
* Les administrateurs auront désormais [[m:Community Wishlist Survey 2021/(Un)delete associated talk page|une option pour supprimer (ou restaurer) la page de discussion associée]] à page lors de sa suppression (ou restauration). L’API a aussi un point terminal avec cette option. C’est la conclusion du [[m:Community Wishlist Survey 2021/Admins and patrollers/(Un)delete associated talk page|11<sup>e</sup> souhait de la Consultation des souhaits de la communauté pour 2021]].
* Sur les [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements#test-wikis|wikis choisis]], 50 % des utilisateurs connectés verront le nouveau [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Table of contents|sommaire]]. En faisant défiler la page, le sommaire restera à la même place sur l’écran. Cela fait partie du projets [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Améliorations pour ordinateur]]. [https://phabricator.wikimedia.org/T304169]
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Les boites de message produites par le code de MediaWiki n’auront plus les classes CSS <code dir=ltr>successbox</code>, <code dir=ltr>errorbox</code>, <code dir=ltr>warningbox</code>. Les styles pour ces classes et <code dir=ltr>messagebox</code> seront retirées du cœur de MediaWiki. Cela n’affecte que les wikis qui utilisent ces classes dans le wikicode, ou changent leur apparence à l’aide de CSS s’appliquant à tout le site. Vérifiez si votre wiki les utilise. Cela a été précédemment annoncé dans [[m:Special:MyLanguage/Tech/News/2022/09|le numéro du 28 février des actualités techniques]].
'''Futurs changements'''
* [[mw:Special:MyLanguage/Extension:Kartographer|Kartographer]] va devenir compatible avec la [[mw:Special:MyLanguage/Extension:FlaggedRevs|stabilisation des pages de FlaggedRevisions]]. Les cartes Kartographer fonctionneront aussi sur les pages avec des [[mw:Special:MyLanguage/Help:Pending changes|changements en attente]][https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/Geoinformation#Project_descriptions].La documentation Kartographer a bien été mise à jour. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:Kartographer/Getting_started] [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:VisualEditor/Maps] [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:Kartographer]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/16|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W16"/>
18 avril 2022 à 23:11 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23167004 -->
== Actualités techniques n° 2022-17 ==
<section begin="technews-2022-W17"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/17|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Sur [https://noc.wikimedia.org/conf/dblists/group1.dblist de nombreux wikis] (le groupe 1), le logiciel permettant de lire les vidéos et les fichiers audio sur les pages a changé. L’ancien lecteur a été retiré. Avec ce changement, certains lecteurs audio vont devenir plus larges. [[mw:Special:MyLanguage/Extension:TimedMediaHandler/VideoJS_Player|Le nouveau lecteur]] a été une fonctionnalité bêta pendant plus de quatre ans. [https://phabricator.wikimedia.org/T100106][https://phabricator.wikimedia.org/T248418]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.9|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-04-26|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-04-27|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-04-28|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] Certains wikis vont passer en lecture seule pendant quelques minutes en raison d’une interversion de leur base de données principale. Cela aura lieu le {{#time:j xg|2022-04-26|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s2.dblist wikis concernés]).
* Certains très vieux navigateurs et systèmes d’exploitation ne sont plus pris en charge. Sur les wikis, des choses peuvent paraitre étranges voire ne pas fonctionner du tout sur les très vieux navigateurs tels qu’Internet Explorer 9 ou 10, Android 4 ou Firefox 38 et précédents. [https://phabricator.wikimedia.org/T306486]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/17|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W17"/>
25 avril 2022 à 22:56 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23187115 -->
== Actualités techniques n° 2022-18 ==
<section begin="technews-2022-W18"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/18|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Sur tous [https://noc.wikimedia.org/conf/dblists/group2.dblist les wikis restants] (ceux du groupe 2), le logiciel permettant de lire les vidéos et les fichiers audio sur les pages a changé. L’ancien lecteur a été retiré. Avec ce changement, certains lecteurs audio vont devenir plus larges. [[mw:Special:MyLanguage/Extension:TimedMediaHandler/VideoJS_Player|Le nouveau lecteur]] a été une fonctionnalité bêta pendant plus de quatre ans. [https://phabricator.wikimedia.org/T100106][https://phabricator.wikimedia.org/T248418]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.10|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-05-03|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-05-04|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-05-05|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
'''Futurs changements'''
* Les développeurs travaillent sur les pages de discussion dans [[mw:Wikimedia Apps/Team/iOS|l’appli Wikipédia pour iOS]]. Vous pouvez [https://wikimedia.qualtrics.com/jfe/form/SV_9GBcHczQGLbQWTY faire vos retours], en répondant en anglais, allemand, hébreu ou chinois.
* [[m:WMDE_Technical_Wishes/VisualEditor_template_dialog_improvements#Status_and_next_steps|La plupart des wikis]] vont être dotés d’[[m:WMDE_Technical_Wishes/VisualEditor_template_dialog_improvements|une boite de dialogue de modèle améliorée]] dans l’éditeur visuel et le nouvel éditeur de wikicode. [https://phabricator.wikimedia.org/T296759] [https://phabricator.wikimedia.org/T306967]
* Si vous utilisez la coloration syntaxique de l’éditeur de wikicode, vous pourrez bientôt activer [[m:WMDE_Technical_Wishes/Improved_Color_Scheme_of_Syntax_Highlighting#Color-blind_mode|une gamme de couleurs pour daltoniens]]. [https://phabricator.wikimedia.org/T306867]
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Plusieurs ID CSS de messages d’interface MediaWiki vont être retirés. Merci aux contributeurs techniques d’[[phab:T304363|examiner la liste des ID et des liens vers leurs utilisations]]. Cela inclut <code dir=ltr>#mw-anon-edit-warning</code>, <code dir=ltr>#mw-undelete-revision</code> et 3 autres.
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/18|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W18"/>
2 mai 2022 à 19:33 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23232924 -->
== Actualités techniques n°2022-19 ==
<section begin="technews-2022-W19"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/19|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Vous pouvez dorénavant voir les catégories dans l’[[mw:Special:MyLanguage/Wikimedia Apps/Team/Android|appli Wikipédia pour Android]]. [https://phabricator.wikimedia.org/T73966]
'''Problèmes'''
* Cette semaine, il y a eu un problème avec l’autocomplétion des recherches de Wikidata. Cela a été corrigé. [https://phabricator.wikimedia.org/T307586]
* Cette semaine, l’accès à tous les wikis a été ralenti voire bloqué pendant 20 minutes pour les utilisateurs connectés et les pages non mises en cache. Un problème dans un changement de la base de données était en cause. [https://phabricator.wikimedia.org/T307647]
'''Changements à venir cette semaine'''
* Il n’y aura pas de nouvelle version de MediaWiki cette semaine. [https://phabricator.wikimedia.org/T305217#7894966]
* Des [[m:WMDE Technical Wishes/Geoinformation#Current issues|problèmes d’incompatibilité]] entre les extensions [[mw:Special:MyLanguage/Help:Extension:Kartographer|Kartographer]] et [[mw:Special:MyLanguage/Help:Extension:FlaggedRevs|FlaggedRevs]] vont être corrigés : le déploiement est prévu pour le 10 mai sur tous les wikis. Le 24 mai, Kartographer sera ensuite activé sur [[phab:T307348|les cinq wikis qui n’avaient pas encore activé l’extension]].
* L’habillage [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Vector (2022)]] va être défini par défaut sur plusieurs autres wikis, dont les Wikipédia en arabe et en catalan. Les utilisateurs connectés pourront toujours revenir à l’ancien Vector (2010). Voir [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/2022-04 for the largest wikis|les dernières actualités]] concernant Vector (2022).
'''Prochaines réunions'''
* La prochaine [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/Talk to Web|réunion publique avec l’équipe Web]] concernant Vector (2022) aura lieu le 17 mai. Les dates de réunion suivantes sont prévues : 7 juin, 21 juin, 5 juillet et 19 juillet.
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/19|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W19"/>
9 mai 2022 à 15:22 (UTC)
<!-- Message envoyé par User:Trizek (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23256717 -->
== Actualités techniques n° 2022-20 ==
<section begin="technews-2022-W20"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/20|D’autres traductions]] sont disponibles.
'''Changements à venir cette semaine'''
* Certains wikis pourront bientôt utiliser la fonctionnalité [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|ajouter un lien]], à partir de mercredi. Les wikis concernés sont {{int:project-localized-name-cawiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-hewiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-hiwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-kowiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-nowiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-ptwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-simplewiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-svwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-ukwiki/fr}}. Il s’agit d’un [[phab:T304110|déploiement progressif de cet outil à d’autres éditions de Wikipédia]]. Les communautés peuvent [[mw:Special:MyLanguage/Growth/Community configuration|configurer localement cette fonctionnalité]]. [https://phabricator.wikimedia.org/T304542]
* Le [[mw:Special:MyLanguage/Wikimedia Hackathon 2022|Marathon de codage Wikimedia 2022]] aura lieu en ligne du 20 au 22 mai, en anglais. Des [[mw:Special:MyLanguage/Wikimedia Hackathon 2022/Meetups|rassemblements locaux de programmeurs]] auront lieu en Allemagne, au Ghana, en Grèce, en Inde, au Nigéria et aux États-Unis. Les Wikimédiens intéressés par la technique peuvent découvrir et travailler sur les projets logiciels. Vous pouvez aussi organiser une session ou publier un projet sur lequel vous voudriez travailler.
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.12|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-05-17|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-05-18|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-05-19|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
'''Futurs changements'''
* Vous pourrez bientôt modifier des pages traductibles dans l’éditeur visuel. Les pages traductibles existent, par exemple, sur Méta-Wiki et Commons. [https://diff.wikimedia.org/2022/05/12/mediawiki-1-38-brings-support-for-editing-translatable-pages-with-the-visual-editor/]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/20|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W20"/>
16 mai 2022 à 18:58 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23291515 -->
== Actualités techniques n° 2022-21 ==
<section begin="technews-2022-W21"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/21|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Les administrateurs qui utilisent l’interface web mobile peuvent dorénavant accéder à Spécial:Block directement depuis leur page utilisateur. [https://phabricator.wikimedia.org/T307341]
* La page du portail <span class="mw-content-ltr" lang="en" dir="ltr">[https://www.wiktionary.org/ www.wiktionary.org]</span> utilise dorénavant un système de mise à jour automatisé. Les [[m:Project_portals|portails]] des autres projets vont être mise à jour dans les prochains mois. [https://phabricator.wikimedia.org/T304629]
'''Problèmes'''
* L’équipe Croissance s’occupe d’un programme de tutorat pour les nouveaux. Auparavant, les nouveaux ne pouvaient pas désactiver ce programme. À partir du 19 mai 2022, les nouveaux pourront quitter entièrement le système de tutorat pour la Croissance, s’ils souhaitent ne pas avoir de tuteur. [https://phabricator.wikimedia.org/T287915]
* Certains contributeurs ne peuvent pas accéder à l’outil de traduction de contenu s’ils y accèdent par un clic dans le menu Contributions. Le problème est en train d’être résolu. En y accédant directement via Spécial:ContentTranslation, cela devrait fonctionner en attendant. [https://phabricator.wikimedia.org/T308802]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.13|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-05-24|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-05-25|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-05-26|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
'''Futurs changements'''
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Les développeurs de gadgets et de scripts utilisateur sont invités à donner leur avis sur une [[mw:User:Jdlrobson/Extension:Gadget/Policy|proposition de règlement technique]] qui vise à améliorer l’assistance des développeurs MediaWiki. [https://phabricator.wikimedia.org/T308686]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/21|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W21"/>
24 mai 2022 à 00:21 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23317250 -->
== Actualités techniques n°2022-22 ==
<section begin="technews-2022-W22"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/22|D’autres traductions]] sont disponibles.
'''Changements récents'''
* [[File:Octicons-tools.svg|15px|link=|Sujet technique]] Dans l’extension [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] (filtres antiabus), une fonction <code dir=ltr>ip_in_ranges()</code> a été introduite pour vérifier si une IP est dans un des intervalles. Il est recommandé aux wikis de combiner plusieurs expressions <code dir=ltr>ip_in_range()</code> séparées par <code>|</code> dans une unique expression pour de meilleures performances. Vous pouvez utiliser la fonction de recherche de [[Special:AbuseFilter|Spécial:Filtre_antiabus]] pour retrouver où elle est utilisée. [https://phabricator.wikimedia.org/T305017]
* La [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/IP Info feature|fonctionnalité IP Info]], qui aide les contributeurs luttant contre les abus à accéder aux informations concernant les IP, [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/IP Info feature#May 24, 2022|a été déployée]] sur tous les wikis comme fonctionnalité bêta. Cela arrive après plusieurs semaines de test en bêta sur test.wikipedia.org.
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.14|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-05-31|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-06-01|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-06-02|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] Certains wikis vont passer en lecture seule pendant quelques minutes en raison d’une interversion de leur base de données principale. Cela aura lieu le {{#time:j xg|2022-05-31|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s5.dblist wikis concernés]).
* L’[[mw:Special:MyLanguage/Help:DiscussionTools#New topic tool|outil Nouveau sujet]] va bientôt être déployé pour tous les contributeurs sur la plupart des wikis. Vous pourrez le désactiver depuis l’outil lui-même ou dans [[Special:Preferences#mw-prefsection-editing-discussion|vos Préférences]]. [https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/New_discussion][https://phabricator.wikimedia.org/T287804]
* [[File:Octicons-tools.svg|15px|link=|Sujet technique]] Le [[:mw:Special:ApiHelp/query+usercontribs|terminal d’API list=usercontribs]] permettra bientôt d’obtenir les contributions d’un [[mw:Special:MyLanguage/Help:Range blocks#Non-technical explanation|intervalle d’IP]]. Les utilisateurs de l’API peuvent définir le paramètre <code>uciprange</code> pour obtenir les contributions de tout intervalle d’IP, en respectant [[:mw:Manual:$wgRangeContributionsCIDRLimit|la limite]]. [https://phabricator.wikimedia.org/T177150]
* Une nouvelle fonction d’analyse syntaxique va être introduite : <bdi lang="zxx" dir="ltr"><code><nowiki>{{=}}</nowiki></code></bdi>. Cela remplacera les modèles « = » actuels, en insérant un [[w:fr:Signe égal|signe égal]]. Cela peut être utilisé pour échapper le signe égal dans les valeurs des paramètres des modèles. [https://phabricator.wikimedia.org/T91154]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/22|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W22"/>
30 mai 2022 à 20:28 (UTC)
<!-- Message envoyé par User:Trizek (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23340178 -->
== Actualités techniques n°2022-23 ==
<section begin="technews-2022-W23"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/23|D’autres traductions]] sont disponibles.
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.15|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-06-07|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-06-08|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-06-09|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] <span lang="en" dir="ltr" class="mw-content-ltr">A new <bdi lang="zxx" dir="ltr"><code>str_replace_regexp()</code></bdi> function can be used in [[Special:AbuseFilter|abuse filters]] to replace parts of text using a [[w:en:Regular expression|regular expression]].</span> [https://phabricator.wikimedia.org/T285468]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/23|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W23"/>
7 juin 2022 à 02:46 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23366979 -->
== Actualités techniques n° 2022-24 ==
<section begin="technews-2022-W24"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/24|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Tous les wikis peuvent dorénavant utiliser les cartes [[mw:Special:MyLanguage/Extension:Kartographer|Kartographer]]. Celles-ci fonctionnent dorénavant sur les pages avec [[mw:Special:MyLanguage/Help:Pending changes|des modifications en attente]]. [https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/Geoinformation#Project_descriptions][https://phabricator.wikimedia.org/T307348]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.16|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-06-14|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-06-15|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-06-16|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] Certains wikis vont passer en lecture seule pendant quelques minutes en raison d’une interversion de leur base de données principale. Cela aura lieu le {{#time:j xg|2022-06-14|fr}} à 6 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s6.dblist wikis concernés]). [https://phabricator.wikimedia.org/T300471]
* À partir de mercredi, un nouvel ensemble de wikis pourront utiliser la fonctionnalité « [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Ajouter un lien]] » ({{int:project-localized-name-abwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-acewiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-adywiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-afwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-akwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-alswiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-amwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-anwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-angwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-arcwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-arzwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-astwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-atjwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-avwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-aywiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-azwiki/fr}}{{int:comma-separator/fr}}{{int:project-localized-name-azbwiki/fr}}). Il s’agit d’un [[phab:T304110|déploiement progressif de cet outil à d’autres éditions de Wikipédia]]. Les communautés peuvent [[mw:Special:MyLanguage/Growth/Community configuration|configurer localement cette fonctionnalité]]. [https://phabricator.wikimedia.org/T304548]
* <span lang="en" dir="ltr" class="mw-content-ltr">The [[mw:Special:MyLanguage/Help:DiscussionTools#New topic tool|New Topic Tool]] will be deployed for all editors at Commons, Wikidata, and some other wikis soon. You will be able to opt out from within the tool and in [[Special:Preferences#mw-prefsection-editing-discussion|Preferences]].</span> [https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/New_discussion][https://phabricator.wikimedia.org/T287804]
'''<span lang="en" dir="ltr" class="mw-content-ltr">Future meetings</span>'''
* <span lang="en" dir="ltr" class="mw-content-ltr">The next [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/Talk to Web|open meeting with the Web team]] about Vector (2022) will take place today (13 June). The following meetings will take place on: 28 June, 12 July, 26 July.</span>
'''<span lang="en" dir="ltr" class="mw-content-ltr">Future changes</span>'''
* <span lang="en" dir="ltr" class="mw-content-ltr">By the end of July, the [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Vector 2022]] skin should be ready to become the default across all wikis. Discussions on how to adjust it to the communities' needs will begin in the next weeks. It will always be possible to revert to the previous version on an individual basis. [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/2022-04 for the largest wikis|Learn more]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2022/24|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div>
</div><section end="technews-2022-W24"/>
13 juin 2022 à 16:58 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23389956 -->
== Actualités techniques n° 2022-25 ==
<section begin="technews-2022-W25"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/25|D’autres traductions]] sont disponibles.
'''Changements récents'''
* L'[[mw:Special:MyLanguage/Wikimedia Apps/Team/Android|appli Wikipédia pour Android]] a dorénavant une option pour modifier la page entière en une fois. Elle est située dans le menu de dépassement (menu trois-points [[File:Ic more vert 36px.svg|15px|link=|alt=]]). [https://phabricator.wikimedia.org/T103622]
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Certains changements récents dans la base de données peuvent affecter les requêtes utilisant l'outil [[m:Research:Quarry|Quarry]]. Les requêtes utilisant <bdi lang="zxx" dir="ltr"><code>site_stats</code></bdi> sur Wikipédia en anglais, Commons et Wikidata doivent être mises à jour. [[phab:T306589|En savoir plus]].
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Une nouvelle variable <bdi lang="zxx" dir="ltr"><code>user_global_editcount</code></bdi> peut être utilisé dans les [[Special:AbuseFilter|filtres antiabus]] pour ne pas affecter les utilisateurs actifs globalement. [https://phabricator.wikimedia.org/T130439]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.17|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-06-21|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-06-22|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-06-23|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* Les utilisateurs d'habillages non réactifs (tels que MonoBook ou Vector) sur appareil mobile peuvent remarquer un léger changement du niveau de zoom par défaut. Le but est d'optimiser le zoom et de garantir que tous les éléments d'interface sont présents sur la page (par exemple le sommaire sur Vector 2022). Dans le cas peu probable où cela poserait problème dans votre utilisation du site, nous aimerions avoir plus d'informations, donc n'hésitez pas à notifier <span class="mw-content-ltr" lang="en" dir="ltr">[[m:User:Jon (WMF)|Jon (WMF)]]</span> sur toute discussion relative sur les wikis. [https://phabricator.wikimedia.org/T306910]
'''Changements futurs'''
* La fonctionnalité bêta des [[mw:Special:MyLanguage/Help:DiscussionTools|Outils de discussion]] va être mise à jour en juillet. L'apparence des discussions va changer. Vous pouvez voir [[mw:Special:MyLanguage/Talk pages project/Usability/Prototype|certains des changements proposés]].
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] La sortie HTML de Parsoid arrêtera bientôt d'annoter les liens vers les fichiers avec des valeurs différentes pour l'attribut <bdi lang="zxx" dir="ltr"><code>typeof</code></bdi>, et utilisera <bdi lang="zxx" dir="ltr"><code>mw:File</code></bdi> pour tous les types. Les auteurs d'outils doivent modifier tout code qui attendrait les valeurs <bdi lang="zxx" dir="ltr"><code>mw:Image</code></bdi>, <bdi lang="zxx" dir="ltr"><code>mw:Audio</code></bdi> ou <bdi lang="zxx" dir="ltr"><code>mw:Video</code></bdi>. [https://phabricator.wikimedia.org/T273505]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/25|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W25"/>
20 juin 2022 à 20:18 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23425855 -->
== Actualités techniques n° 2022-26 ==
<section begin="technews-2022-W26"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/26|D’autres traductions]] sont disponibles.
'''Changements récents'''
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] Le service d'API [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Entreprise]] a dorénavant des comptes en libre-service avec des requêtes et des copies instantanés mensuelles gratuitement sur demande ([https://enterprise.wikimedia.com/docs/ documentation de l'API]). L'accès pour la communauté [[m:Special:MyLanguage/Wikimedia Enterprise/FAQ#community-access|aux clichés des bases de données et aux Services infonuagiques Wikimedia]] continue.
* [[File:Octicons-tools.svg|15px|link=|alt=|Sujet technique]] [[d:Special:MyLanguage/Wikidata:Wiktionary#lua|Tous les wikis Wikimedia peuvent maintenant utiliser les lexèmes Wikidata en Lua]] en créant des modules et modèles locaux. Les discussions sont les bienvenues [[d:Wikidata_talk:Lexicographical_data#You_can_now_reuse_Wikidata_Lexemes_on_all_wikis|sur la page du projet]].
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.18|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-06-28|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-06-29|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-06-30|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] Certains wikis vont passer en lecture seule pendant quelques minutes en raison d’une interversion de leur base de données principale. Cela aura lieu le {{#time:j xg|2022-06-28|fr}} à 6 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s7.dblist wikis concernés]). [https://phabricator.wikimedia.org/T311033]
* Certains services globaux et inter-wikis passeront en lecture seule pendant quelques minutes en raison d'une interversion de leur base de données principale. Cela aura lieu le {{#time:j xg|2022-06-30|fr}} à 6 h UTC. Cela va affecter l'outil Traduction de contenu, les notifications Echo, les Discussions structurées, les expérimentations Croissance et quelques autres services. [https://phabricator.wikimedia.org/T300472]
* Les utilisateurs pourront trier les colonnes des tableaux triables dans l'apparence mobile. [https://phabricator.wikimedia.org/T233340]
'''Prochaines réunions'''
* La prochaine [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/Talk to Web|réunion publique avec l’équipe Web]] concernant Vector (2022) aura lieu demain, le 28 juin. Les réunions suivantes auront lieu les 12 juillet et 19 juillet.
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/26|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W26"/>
27 juin 2022 à 20:02 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23453785 -->
== <span lang="en" dir="ltr" class="mw-content-ltr">Tech News: 2022-27</span> ==
<div lang="en" dir="ltr" class="mw-content-ltr">
<section begin="technews-2022-W27"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2022/27|Translations]] are available.
'''Changes later this week'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.39/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2022-07-05|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2022-07-06|en}}. It will be on all wikis from {{#time:j xg|2022-07-07|en}} ([[mw:MediaWiki 1.39/Roadmap|calendar]]).
* [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] Some wikis will be in read-only for a few minutes because of a switch of their main database. It will be performed on {{#time:j xg|2022-07-05|en}} at 07:00 UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s6.dblist targeted wikis]) and on {{#time:j xg|2022-07-07|en}} at 7:00 UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s4.dblist targeted wikis]).
* The Beta Feature for [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]] will be updated throughout July. Discussions will look different. You can see [[mw:Special:MyLanguage/Talk pages project/Usability/Prototype|some of the proposed changes]].
* [[File:Octicons-tools.svg|15px|link=|alt=| Advanced item]] This change only affects pages in the main namespace in Wikisource. The Javascript config variable <bdi lang="zxx" dir="ltr"><code>proofreadpage_source_href</code></bdi> will be removed from <bdi lang="zxx" dir="ltr"><code>[[mw:Special:MyLanguage/Manual:Interface/JavaScript#mw.config|mw.config]]</code></bdi> and be replaced with the variable <bdi lang="zxx" dir="ltr"><code>prpSourceIndexPage</code></bdi>. [https://phabricator.wikimedia.org/T309490]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2022/27|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2022-W27"/>
</div>
4 juillet 2022 à 19:32 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23466250 -->
== Actualités techniques n° 2022-28 ==
<section begin="technews-2022-W28"/><div class="plainlinks">
<div lang="en" dir="ltr" class="mw-content-ltr">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2022/28|Translations]] are available.
</div>
'''<span lang="en" dir="ltr" class="mw-content-ltr">Recent changes</span>'''
* <span lang="en" dir="ltr" class="mw-content-ltr">In the [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Vector 2022 skin]], the page title is now displayed above the tabs such as Discussion, Read, Edit, View history, or More. [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates#Page title/tabs switch|Learn more]].</span> [https://phabricator.wikimedia.org/T303549]
* [[File:Octicons-tools.svg|15px|link=|alt=|<span lang="en" dir="ltr" class="mw-content-ltr">Advanced item</span>]] <span lang="en" dir="ltr" class="mw-content-ltr">It is now possible to easily view most of the configuration settings that apply to just one wiki, and to compare settings between two wikis if those settings are different. For example: [https://noc.wikimedia.org/wiki.php?wiki=jawiktionary Japanese Wiktionary settings], or [https://noc.wikimedia.org/wiki.php?wiki=eswiki&compare=eowiki settings that are different between the Spanish and Esperanto Wikipedias]. Local communities may want to [[m:Special:MyLanguage/Requesting_wiki_configuration_changes|discuss and propose changes]] to their local settings. Details about each of the named settings can be found by [[mw:Special:Search|searching MediaWiki.org]].</span> [https://phabricator.wikimedia.org/T308932]
*<span lang="en" dir="ltr" class="mw-content-ltr">The Anti-Harassment Tools team [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/IP Info feature#May|recently deployed]] the IP Info Feature as a [[Special:Preferences#mw-prefsection-betafeatures|Beta Feature at all wikis]]. This feature allows abuse fighters to access information about IP addresses. Please check our update on [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/IP Info feature#April|how to find and use the tool]]. Please share your feedback using a link you will be given within the tool itself.</span>
'''<span lang="en" dir="ltr" class="mw-content-ltr">Changes later this week</span>'''
* <span lang="en" dir="ltr" class="mw-content-ltr">There is no new MediaWiki version this week.</span>
* [[File:Octicons-sync.svg|12px|link=|alt=|<span lang="en" dir="ltr" class="mw-content-ltr">Recurrent item</span>]] <span lang="en" dir="ltr" class="mw-content-ltr">Some wikis will be in read-only for a few minutes because of a switch of their main database. It will be performed on {{#time:j xg|2022-07-12|en}} at 07:00 UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s3.dblist targeted wikis]).</span>
'''<span lang="en" dir="ltr" class="mw-content-ltr">Future changes</span>'''
* <span lang="en" dir="ltr" class="mw-content-ltr">The Beta Feature for [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]] will be updated throughout July. Discussions will look different. You can see [[mw:Special:MyLanguage/Talk pages project/Usability/Prototype|some of the proposed changes]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2022/28|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div>
</div><section end="technews-2022-W28"/>
11 juillet 2022 à 19:24 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23502519 -->
== Actualités techniques n° 2022-29 ==
<section begin="technews-2022-W29"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimedia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/29|D’autres traductions]] sont disponibles.
'''Problèmes'''
* La fonctionnalité « [[mw:Special:MyLanguage/Extension:NearbyPages|pages à proximité]] » sur la version web mobile était indisponible la semaine dernière. Ce sera corrigé cette semaine. [https://phabricator.wikimedia.org/T312864]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.21|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-07-19|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-07-20|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-07-21|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
'''Changements à venir'''
* Le [[mw:Technical_decision_making/Forum|forum de prises de décision techniques]] est à la recherche de [[mw:Technical_decision_making/Community_representation|représentants de la communauté]]. Vous pouvez postuler sur le wiki ou par courriel à <span class="mw-content-ltr" lang="en" dir="ltr">TDFSupport@wikimedia.org</span> avant le 12 août.
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/29|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W29"/>
18 juillet 2022 à 22:59 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23517957 -->
== Actualités techniques n° 2022-30 ==
<section begin="technews-2022-W30"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/30|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Les portails <span class="mw-content-ltr" lang="en" dir="ltr">[https://www.wikibooks.org/ www.wikibooks.org]</span> et <span class="mw-content-ltr" lang="en" dir="ltr">[https://www.wikiquote.org/ www.wikiquote.org]</span> utilisent dorénavant un système de mise à jour automatisé. Les [[m:Project_portals|portails]] des autres projets vont être mise à jour dans les prochains mois. [https://phabricator.wikimedia.org/T273179]
'''Problèmes'''
* La semaine dernière, certains wikis étaient en mode lecture seule pour quelques minutes en raison d’un basculement d’urgence de la base de données principale ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s7.dblist wikis concernés]). [https://phabricator.wikimedia.org/T313383]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.22|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-07-26|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-07-27|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-07-28|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* L'icône de lien externe changera légèrement dans les habillages Vector (ancienne version) et Vector 2022. La nouvelle icône utilise des formes plus simples pour être plus reconnaissable sur les écrans à basse fidélité. [https://phabricator.wikimedia.org/T261391]
* Les administrateurs verront désormais sur les pages utilisateur les boutons « {{int:changeblockip}} » et « {{int:unblockip}} » au lieu de « {{int:blockip}} » si l'utilisateur est déjà bloqué. [https://phabricator.wikimedia.org/T308570]
'''Prochaines réunions'''
* La prochaine [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/Talk to Web|réunion ouverte avec l'équipe Web]] qui portera sur l’habillage Vector (2022) aura lieu demain (26 juillet).
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/30|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W30"/>
25 juillet 2022 à 19:27 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23545370 -->
== Actualités techniques n° 2022-31 ==
<section begin="technews-2022-W31"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique de Wikimedia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/31|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Des [[m:Special:MyLanguage/Help:Displaying_a_formula#Phantom|capacités LaTeX améliorées pour le rendu des mathématiques]] sont maintenant disponibles dans les wikis grâce à la prise en charge des balises <bdi lang="zxx" dir="ltr"><code>Phantom</code></bdi>. Ceci complète une partie du [[m:Community_Wishlist_Survey_2022/Editing/Missing_LaTeX_capabilities_for_math_rendering|souhait nº 59]] de l'enquête sur les souhaits de la communauté 2022.
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.23|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-08-02|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-08-03|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-08-04|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* L'[[mw:Special:MyLanguage/Help:Extension:WikiEditor/Realtime_Preview|aperçu en temps réel]] sera disponible en tant que fonctionnalité bêta sur les wikis du [https://noc.wikimedia.org/conf/highlight.php?file=dblists%2Fgroup0.dblist groupe 0]. Cette fonctionnalité a été construite afin de répondre à l'[[m:Special:MyLanguage/Community_Wishlist_Survey_2021/Real_Time_Preview_for_Wikitext|une des propositions de l'enquête sur les souhaits de la communauté]].
'''Changements à venir'''
* La fonctionnalité bêta des [[mw:Special:MyLanguage/Help:DiscussionTools|Outils de discussion]] va être mise à jour pendant le mois d’août. L'apparence des discussions va changer. Vous pouvez voir [[mw:Special:MyLanguage/Talk pages project/Usability/Prototype|certains des changements proposés]].
'''Prochaines réunions'''
* Cette semaine, trois réunions sur l’[[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|habillage Vector (nouvelle version 2022)]] avec interprétation en direct auront lieu. Le mardi, l'interprétation en russe sera assurée. Le jeudi, des réunions pour les arabophones et les hispanophones auront lieu. [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/Talk to Web|Voir comment participer]].
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/31|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W31"/>
1 août 2022 à 21:21 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23615613 -->
== Actualités techniques n° 2022-32 ==
<section begin="technews-2022-W32"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/32|D’autres traductions]] sont disponibles.
'''Changements récents'''
* [[:m:Special:MyLanguage/Meta:GUS2Wiki/Script|GUS2Wiki]] copie les informations de [[{{#special:GadgetUsage}}]] sur une page de wiki, pour que chacun puisse relire son historique. Si votre projet n’est pas encore listé sur [[d:Q113143828|l’élément Wikidata du Project:GUS2Wiki]], vous pouvez lancer GUS2Wiki vous-même ou [[:m:Special:MyLanguage/Meta:GUS2Wiki/Script#Opting|faire une demande pour recevoir les informations]]. [https://phabricator.wikimedia.org/T121049]
'''Changements à venir cette semaine'''
* Il n’y aura pas de nouvelle version de MediaWiki cette semaine.
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] Certains wikis seront en lecture seule pendant quelques minutes en raison d’un changement de base de données principale, le {{#time:j xg|2022-08-09|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s5.dblist wikis concernés]) et le {{#time:j xg|2022-08-11|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s2.dblist wikis concernés]).
'''Prochaines réunions'''
* Le [[wmania:Special:MyLanguage/Hackathon|Hackathon Wikimania]] aura lieu en ligne du 12 au 14 aout. Ne manquez pas [[wmania:Special:MyLanguage/Hackathon/Schedule|le salon de démonstration pré-hackathon]] pour en savoir plus sur les projets et trouver des collaborateurs. Tout le monde peut [[phab:/project/board/6030/|proposer un projet]] ou [[wmania:Special:MyLanguage/Hackathon/Schedule|héberger une session]]. [[wmania:Special:MyLanguage/Hackathon/Newcomers|Les nouveaux sont les bienvenus]] !
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/32|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W32"/>
8 août 2022 à 19:49 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23627807 -->
== Actualités techniques n° 2022-33 ==
<section begin="technews-2022-W33"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/33|D’autres traductions]] sont disponibles.
'''Changements récents'''
* La communauté de Wikipédia en persan a décidé de bloquer la contribution sous IP d’octobre 2021 à avril 2022. L’équipe d’analyse produit de Wikimedia Foundation a étudié les impacts de ce changement. [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/IP Editing Restriction Study/Farsi Wikipedia|Un rapport]] est disponible.
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.25|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-08-16|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-08-17|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-08-18|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] Certains wikis seront en lecture seule pendant quelques minutes en raison d’un changement de base de données principale, le {{#time:j xg|2022-08-16|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s1.dblist wikis concernés]) et le {{#time:j xg|2022-08-18|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s8.dblist wikis concernés]).
* L’[[mw:Special:MyLanguage/Help:Extension:WikiEditor/Realtime_Preview|aperçu en temps réel]] sera disponible en tant que fonctionnalité bêta sur les wikis du [https://noc.wikimedia.org/conf/highlight.php?file=dblists%2Fgroup1.dblist groupe 1]. Cette fonctionnalité a été construite afin de répondre à l’[[m:Special:MyLanguage/Community_Wishlist_Survey_2021/Real_Time_Preview_for_Wikitext|une des propositions issues de la consultation des souhaits de la communauté]].
'''Futurs changements'''
* La fonctionnalité bêta des [[mw:Special:MyLanguage/Help:DiscussionTools|Outils de discussion]] va être mise à jour pendant le mois d’août. L'apparence des discussions va changer. Vous pouvez voir [[mw:Special:MyLanguage/Talk pages project/Usability/Prototype|certains des changements proposés]]. [https://www.mediawiki.org/wiki/Talk_pages_project/Usability#4_August_2022][https://www.mediawiki.org/wiki/Talk_pages_project/Usability#Phase_1:_Topic_containers][https://phabricator.wikimedia.org/T312672]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]]. [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/33|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]]''
</div><section end="technews-2022-W33"/>
15 août 2022 à 21:08 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23658001 -->
== Actualités techniques n° 2022-34 ==
<section begin="technews-2022-W34"/><div class="plainlinks">
Dernières '''[[m:Special:MyLanguage/Tech/News|actualités techniques]]''' de la communauté technique Wikimédia. N’hésitez pas à informer les autres utilisateurs de ces changements. Certains changements ne vous concernent pas. [[m:Special:MyLanguage/Tech/News/2022/34|D’autres traductions]] sont disponibles.
'''Changements récents'''
* Deux problèmes avec les cartes [[mw:Special:MyLanguage/Help:Extension:Kartographer|Kartographer]] ont été corrigés. Les cartes ne sont plus affichées comme vides quand une géoligne a été créé avec l’éditeur visuel. Les géolignes uniquement composées de points avec des QID (par exemple, les lignes de métro) ne sont plus affichées avec des punaises. [https://phabricator.wikimedia.org/T292613][https://phabricator.wikimedia.org/T308560]
'''Changements à venir cette semaine'''
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] La [[mw:MediaWiki 1.39/wmf.26|nouvelle version]] de MediaWiki sera installée sur les wikis de test et sur MediaWiki.org à partir du {{#time:j xg|2022-08-23|fr}}. Elle sera installée sur tous les wikis hormis la majorité des Wikipédias le {{#time:j xg|2022-08-24|fr}} et enfin sur toutes les Wikipédias restantes le {{#time:j xg|2022-08-25|fr}} ([[mw:MediaWiki 1.39/Roadmap|calendrier]]).
* [[File:Octicons-sync.svg|12px|link=|alt=|Sujet récurrent]] Certains wikis vont passer en lecture seule pendant quelques minutes en raison d’une interversion de leur base de données principale. Cela aura lieu le {{#time:j xg|2022-08-25|fr}} à 7 h UTC ([https://noc.wikimedia.org/conf/highlight.php?file=dblists/s4.dblist wikis concernés]).
* La couleur des liens visités et non-visités va changer, afin de rendre plus visible la différence entre les liens et le reste du texte. [https://phabricator.wikimedia.org/T213778]
'''Futurs changements'''
* Le nouveau bouton [{{int:discussiontools-topicsubscription-button-subscribe}}] [[mw:Talk pages project/Notifications#12 August 2022|aide les nouveaux à recevoir des réponses]]. L’équipe Rédaction va activer cet outil partout. Vous pouvez le désactiver [[Special:Preferences#mw-prefsection-editing-discussion|dans vos préférences]]. [https://phabricator.wikimedia.org/T284489]
'''''[[m:Special:MyLanguage/Tech/News|Actualités techniques]]''' préparées par les [[m:Special:MyLanguage/Tech/News/Writers|rédacteurs des actualités techniques]] et postées par [[m:Special:MyLanguage/User:MediaWiki message delivery|robot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribuer]] • [[m:Special:MyLanguage/Tech/News/2022/34|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner votre avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’inscrire ou se désinscrire]].''
</div><section end="technews-2022-W34"/>
23 août 2022 à 00:12 (UTC)
<!-- Message envoyé par User:Quiddity (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=23675501 -->
mo9pfxy6578vossh8djndc8sz6t7io1
Wikinews:Salle café/2022/août
4
91682
873044
872910
2022-08-22T22:10:57Z
2001:861:3209:E10:2C2E:365B:890F:B2C5
/* Appel à candidatures pour le siège communautaire du conseil d'administration de Wikimédia France */ nouvelle section
wikitext
text/x-wiki
== Demande d'aide par [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) ==
{{Réponse|oui}}
<!--Ne rien modifier au dessus de cette ligne-->
* '''Demande''' :Bonjour, j'ai créé https://fr.wikinews.org/wiki/Cat%C3%A9gorie:G%C3%A9rard_Darmanin, puis je me suis rendu compte que ce n'est pas Gérard mais Gérald et la page existait déjà : https://fr.wikinews.org/wiki/Cat%C3%A9gorie:G%C3%A9rald_Darmanin.
J'ai fait un redirect, mais peut-être que c'est mieux de la supprimer ? cdt
<!--Ne rien modifier sous cette ligne-->
----
:Suppression traitée par {{u|Zetud}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 15 août 2022 à 02:49 (UTC)
== Report du vote de l'élection 2022 du conseil d'administration de la Wikimedia Foundation ==
<section begin="announcement-content" />
:''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election| Ce message est également traduit dans d'autres langues sur Meta-wiki.]]''
:''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election}}&language=&action=page&filter= {{int:please-translate}}]</div>''
Bonjour,
Je vous informe aujourd'hui d'un changement dans le calendrier du vote pour l'élection du conseil d'administration.
Comme beaucoup d'entre vous le savent déjà, nous proposons cette année une [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Community_Voting/Election_Compass|boussole électorale]] pour aider les électeurs et électrices à identifier le positionnement des personnes qui se sont portées candidates sur certains sujets clés. Plusieurs d'entre elles ont demandé une extension de la limite du nombre de caractères pour leurs réponses développant leurs positions, et le comité des élections a estimé que leur raisonnement était conforme aux objectifs d'un processus électoral juste et équitable.
Pour garantir que les déclarations/affirmations les plus longues puissent être traduites à temps pour l'élection, le comité des élections et le groupe de travail pour la sélection des membres du conseil d'administration ont décidé de reporter d'une semaine l'ouverture du vote de l'élection du conseil d'administration - une période proposée comme idéale par l'équipe qui soutient l'élection.
Bien que l'on ne s'attende pas à ce que tout le monde veuille utiliser la boussole électorale pour éclairer sa décision de vote, le comité des élections a estimé qu'il était plus approprié d'ouvrir la période de vote avec des traductions essentielles que les membres de la communauté, quelle que soit leur langue, pourront utiliser s'ils souhaitent prendre cette décision importante.
Le vote sera ouvert le 23 août à 00:00 UTC et se terminera le 6 septembre à 23:59 UTC.
Bien à vous,
Matanya, de la part du comité des élections,
<section end="announcement-content" />
[[User:MPossoupe (WMF)|MPossoupe (WMF)]] 16 août 2022 à 12:54 (UTC)
<!-- Message envoyé par User:MPossoupe (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/fr&oldid=23008845 -->
== Invitation à rejoindre le Forum de la Stratégie du Mouvement ==
Bonjour,
Le [https://forum.movement-strategy.org/ Forum de la Stratégie du Mouvement (MS Forum)] est un espace collaboratif multilingue pour toutes les conversations sur la mise en œuvre de la Stratégie du Mouvement. Nous invitons toutes les personnes du Mouvement à collaborer sur le forum. Le but du forum est de construire une collaboration communautaire en utilisant une plateforme multilingue et inclusive.
La [[m:Movement_Strategy|Stratégie du Mouvement]] est un effort de collaboration pour imaginer et construire l'avenir du Mouvement Wikimedia. Tout le monde peut contribuer à la Stratégie du mouvement, du simple commentaire au projet à part entière.
[https://forum.movement-strategy.org/ Rejoignez] ce forum avec votre compte Wikimedia, participez aux conversations et posez des questions dans votre langue.
L'équipe Stratégie et gouvernance du mouvement (MSG) a lancé la proposition pour ce Forum MS en mai. Après une période d'examen de deux mois, nous venons de publier le [https://forum.movement-strategy.org/t/ms-forum-community-review-report/1436 rapport] de la période de revue de la communauté. Il contient un résumé des discussions, des mesures et des informations sur les prochaines étapes.
Hâte de vous voir sur le Forum !
Meilleures salutations,
[[User:MPossoupe (WMF)|MPossoupe (WMF)]] 19 août 2022 à 18:24 (UTC)
<!-- Message envoyé par User:MPossoupe (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/fr&oldid=23008845 -->
== Appel à candidatures pour le siège communautaire du conseil d'administration de Wikimédia France ==
Bonjour à toutes et à tous,
Je souhaite rappeler l'[[m:Wikimédia France/Gouvernance/Siège communautaire|ouverture du dépot des candidatures pour le siège communautaire]] du conseil d'administration de [[m:Wikimédia France|Wikimédia France]] jusqu'au 05 septembre 2022 (à 23 h 59 CEST).
Vous trouverez l'intégralité des informations sur cette élection à cette page : '''[[m:Wikimédia France/Gouvernance/Siège communautaire]]'''
[[Spécial:Contributions/2001:861:3209:E10:2C2E:365B:890F:B2C5|2001:861:3209:E10:2C2E:365B:890F:B2C5]] 22 août 2022 à 22:10 (UTC)
:''Cette partie est mon avis personnel :''
:
:Wikimédia France, tout comme la Wikimedia Foundation, peuvent sembler des entités distantes lorsque l'on contribue principalement au contenu des projets. C'est une façon plus qu'honorable de contribuer à la diffusion de la connaissance libre.
:
:Il y a cependant d'autres volets qui pourraient également vous intéresser, à partir du moment où l'on souhaite améliorer les interactions du projet avec le public, avec la vie civile, avec les établissements liés à la culture et les institutions étatiques. Il y a des projets qui sont menés à plein temps par des salariés et salariées, soutenus par des bénévoles, pour apporter les projets wikimédiens dans l'enseignement, dans les musées et les bibliothèques, dans les associations locales et les territoires...
:
:Le siège communautaire, c'est disposer de la vision et de la voix des contributeurs wikimédiens et des contributrices wikimédiennes directement au sein du conseil d'administration de Wikimédia France.
:
:[[Spécial:Contributions/2001:861:3209:E10:2C2E:365B:890F:B2C5|2001:861:3209:E10:2C2E:365B:890F:B2C5]] 22 août 2022 à 22:10 (UTC)
fsozvx1tht9q6zrsw6mycsukbnxnphf
873045
873044
2022-08-22T22:11:36Z
Assassas77
21405
/* Appel à candidatures pour le siège communautaire du conseil d'administration de Wikimédia France */
wikitext
text/x-wiki
== Demande d'aide par [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) ==
{{Réponse|oui}}
<!--Ne rien modifier au dessus de cette ligne-->
* '''Demande''' :Bonjour, j'ai créé https://fr.wikinews.org/wiki/Cat%C3%A9gorie:G%C3%A9rard_Darmanin, puis je me suis rendu compte que ce n'est pas Gérard mais Gérald et la page existait déjà : https://fr.wikinews.org/wiki/Cat%C3%A9gorie:G%C3%A9rald_Darmanin.
J'ai fait un redirect, mais peut-être que c'est mieux de la supprimer ? cdt
<!--Ne rien modifier sous cette ligne-->
----
:Suppression traitée par {{u|Zetud}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 15 août 2022 à 02:49 (UTC)
== Report du vote de l'élection 2022 du conseil d'administration de la Wikimedia Foundation ==
<section begin="announcement-content" />
:''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election| Ce message est également traduit dans d'autres langues sur Meta-wiki.]]''
:''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election}}&language=&action=page&filter= {{int:please-translate}}]</div>''
Bonjour,
Je vous informe aujourd'hui d'un changement dans le calendrier du vote pour l'élection du conseil d'administration.
Comme beaucoup d'entre vous le savent déjà, nous proposons cette année une [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Community_Voting/Election_Compass|boussole électorale]] pour aider les électeurs et électrices à identifier le positionnement des personnes qui se sont portées candidates sur certains sujets clés. Plusieurs d'entre elles ont demandé une extension de la limite du nombre de caractères pour leurs réponses développant leurs positions, et le comité des élections a estimé que leur raisonnement était conforme aux objectifs d'un processus électoral juste et équitable.
Pour garantir que les déclarations/affirmations les plus longues puissent être traduites à temps pour l'élection, le comité des élections et le groupe de travail pour la sélection des membres du conseil d'administration ont décidé de reporter d'une semaine l'ouverture du vote de l'élection du conseil d'administration - une période proposée comme idéale par l'équipe qui soutient l'élection.
Bien que l'on ne s'attende pas à ce que tout le monde veuille utiliser la boussole électorale pour éclairer sa décision de vote, le comité des élections a estimé qu'il était plus approprié d'ouvrir la période de vote avec des traductions essentielles que les membres de la communauté, quelle que soit leur langue, pourront utiliser s'ils souhaitent prendre cette décision importante.
Le vote sera ouvert le 23 août à 00:00 UTC et se terminera le 6 septembre à 23:59 UTC.
Bien à vous,
Matanya, de la part du comité des élections,
<section end="announcement-content" />
[[User:MPossoupe (WMF)|MPossoupe (WMF)]] 16 août 2022 à 12:54 (UTC)
<!-- Message envoyé par User:MPossoupe (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/fr&oldid=23008845 -->
== Invitation à rejoindre le Forum de la Stratégie du Mouvement ==
Bonjour,
Le [https://forum.movement-strategy.org/ Forum de la Stratégie du Mouvement (MS Forum)] est un espace collaboratif multilingue pour toutes les conversations sur la mise en œuvre de la Stratégie du Mouvement. Nous invitons toutes les personnes du Mouvement à collaborer sur le forum. Le but du forum est de construire une collaboration communautaire en utilisant une plateforme multilingue et inclusive.
La [[m:Movement_Strategy|Stratégie du Mouvement]] est un effort de collaboration pour imaginer et construire l'avenir du Mouvement Wikimedia. Tout le monde peut contribuer à la Stratégie du mouvement, du simple commentaire au projet à part entière.
[https://forum.movement-strategy.org/ Rejoignez] ce forum avec votre compte Wikimedia, participez aux conversations et posez des questions dans votre langue.
L'équipe Stratégie et gouvernance du mouvement (MSG) a lancé la proposition pour ce Forum MS en mai. Après une période d'examen de deux mois, nous venons de publier le [https://forum.movement-strategy.org/t/ms-forum-community-review-report/1436 rapport] de la période de revue de la communauté. Il contient un résumé des discussions, des mesures et des informations sur les prochaines étapes.
Hâte de vous voir sur le Forum !
Meilleures salutations,
[[User:MPossoupe (WMF)|MPossoupe (WMF)]] 19 août 2022 à 18:24 (UTC)
<!-- Message envoyé par User:MPossoupe (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/fr&oldid=23008845 -->
== Appel à candidatures pour le siège communautaire du conseil d'administration de Wikimédia France ==
Bonjour à toutes et à tous,
Je souhaite rappeler l'[[m:Wikimédia France/Gouvernance/Siège communautaire|ouverture du dépot des candidatures pour le siège communautaire]] du conseil d'administration de [[m:Wikimédia France|Wikimédia France]] jusqu'au 05 septembre 2022 (à 23 h 59 CEST).
Vous trouverez l'intégralité des informations sur cette élection à cette page : '''[[m:Wikimédia France/Gouvernance/Siège communautaire]]'''
[[Utilisateur:Assassas77|Assassas77]] ([[Discussion utilisateur:Assassas77|discussion]]) 22 août 2022 à 22:11 (UTC)
:''Cette partie est mon avis personnel :''
:
:Wikimédia France, tout comme la Wikimedia Foundation, peuvent sembler des entités distantes lorsque l'on contribue principalement au contenu des projets. C'est une façon plus qu'honorable de contribuer à la diffusion de la connaissance libre.
:
:Il y a cependant d'autres volets qui pourraient également vous intéresser, à partir du moment où l'on souhaite améliorer les interactions du projet avec le public, avec la vie civile, avec les établissements liés à la culture et les institutions étatiques. Il y a des projets qui sont menés à plein temps par des salariés et salariées, soutenus par des bénévoles, pour apporter les projets wikimédiens dans l'enseignement, dans les musées et les bibliothèques, dans les associations locales et les territoires...
:
:Le siège communautaire, c'est disposer de la vision et de la voix des contributeurs wikimédiens et des contributrices wikimédiennes directement au sein du conseil d'administration de Wikimédia France.
:
:[[Utilisateur:Assassas77|Assassas77]] ([[Discussion utilisateur:Assassas77|discussion]]) 22 août 2022 à 22:11 (UTC)
tf0o4aa84jfe1bcagerg402a6a3fliv
873059
873045
2022-08-23T08:25:46Z
MediaWiki message delivery
14326
/* Le vote de la communauté est maintenant ouvert - Élection 2022 du conseil d'administration de la Wikimedia Foundation */ nouvelle section
wikitext
text/x-wiki
== Demande d'aide par [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) ==
{{Réponse|oui}}
<!--Ne rien modifier au dessus de cette ligne-->
* '''Demande''' :Bonjour, j'ai créé https://fr.wikinews.org/wiki/Cat%C3%A9gorie:G%C3%A9rard_Darmanin, puis je me suis rendu compte que ce n'est pas Gérard mais Gérald et la page existait déjà : https://fr.wikinews.org/wiki/Cat%C3%A9gorie:G%C3%A9rald_Darmanin.
J'ai fait un redirect, mais peut-être que c'est mieux de la supprimer ? cdt
<!--Ne rien modifier sous cette ligne-->
----
:Suppression traitée par {{u|Zetud}} --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 15 août 2022 à 02:49 (UTC)
== Report du vote de l'élection 2022 du conseil d'administration de la Wikimedia Foundation ==
<section begin="announcement-content" />
:''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election| Ce message est également traduit dans d'autres langues sur Meta-wiki.]]''
:''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Delay of Board of Trustees election}}&language=&action=page&filter= {{int:please-translate}}]</div>''
Bonjour,
Je vous informe aujourd'hui d'un changement dans le calendrier du vote pour l'élection du conseil d'administration.
Comme beaucoup d'entre vous le savent déjà, nous proposons cette année une [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Community_Voting/Election_Compass|boussole électorale]] pour aider les électeurs et électrices à identifier le positionnement des personnes qui se sont portées candidates sur certains sujets clés. Plusieurs d'entre elles ont demandé une extension de la limite du nombre de caractères pour leurs réponses développant leurs positions, et le comité des élections a estimé que leur raisonnement était conforme aux objectifs d'un processus électoral juste et équitable.
Pour garantir que les déclarations/affirmations les plus longues puissent être traduites à temps pour l'élection, le comité des élections et le groupe de travail pour la sélection des membres du conseil d'administration ont décidé de reporter d'une semaine l'ouverture du vote de l'élection du conseil d'administration - une période proposée comme idéale par l'équipe qui soutient l'élection.
Bien que l'on ne s'attende pas à ce que tout le monde veuille utiliser la boussole électorale pour éclairer sa décision de vote, le comité des élections a estimé qu'il était plus approprié d'ouvrir la période de vote avec des traductions essentielles que les membres de la communauté, quelle que soit leur langue, pourront utiliser s'ils souhaitent prendre cette décision importante.
Le vote sera ouvert le 23 août à 00:00 UTC et se terminera le 6 septembre à 23:59 UTC.
Bien à vous,
Matanya, de la part du comité des élections,
<section end="announcement-content" />
[[User:MPossoupe (WMF)|MPossoupe (WMF)]] 16 août 2022 à 12:54 (UTC)
<!-- Message envoyé par User:MPossoupe (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/fr&oldid=23008845 -->
== Invitation à rejoindre le Forum de la Stratégie du Mouvement ==
Bonjour,
Le [https://forum.movement-strategy.org/ Forum de la Stratégie du Mouvement (MS Forum)] est un espace collaboratif multilingue pour toutes les conversations sur la mise en œuvre de la Stratégie du Mouvement. Nous invitons toutes les personnes du Mouvement à collaborer sur le forum. Le but du forum est de construire une collaboration communautaire en utilisant une plateforme multilingue et inclusive.
La [[m:Movement_Strategy|Stratégie du Mouvement]] est un effort de collaboration pour imaginer et construire l'avenir du Mouvement Wikimedia. Tout le monde peut contribuer à la Stratégie du mouvement, du simple commentaire au projet à part entière.
[https://forum.movement-strategy.org/ Rejoignez] ce forum avec votre compte Wikimedia, participez aux conversations et posez des questions dans votre langue.
L'équipe Stratégie et gouvernance du mouvement (MSG) a lancé la proposition pour ce Forum MS en mai. Après une période d'examen de deux mois, nous venons de publier le [https://forum.movement-strategy.org/t/ms-forum-community-review-report/1436 rapport] de la période de revue de la communauté. Il contient un résumé des discussions, des mesures et des informations sur les prochaines étapes.
Hâte de vous voir sur le Forum !
Meilleures salutations,
[[User:MPossoupe (WMF)|MPossoupe (WMF)]] 19 août 2022 à 18:24 (UTC)
<!-- Message envoyé par User:MPossoupe (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/fr&oldid=23008845 -->
== Appel à candidatures pour le siège communautaire du conseil d'administration de Wikimédia France ==
Bonjour à toutes et à tous,
Je souhaite rappeler l'[[m:Wikimédia France/Gouvernance/Siège communautaire|ouverture du dépot des candidatures pour le siège communautaire]] du conseil d'administration de [[m:Wikimédia France|Wikimédia France]] jusqu'au 05 septembre 2022 (à 23 h 59 CEST).
Vous trouverez l'intégralité des informations sur cette élection à cette page : '''[[m:Wikimédia France/Gouvernance/Siège communautaire]]'''
[[Utilisateur:Assassas77|Assassas77]] ([[Discussion utilisateur:Assassas77|discussion]]) 22 août 2022 à 22:11 (UTC)
:''Cette partie est mon avis personnel :''
:
:Wikimédia France, tout comme la Wikimedia Foundation, peuvent sembler des entités distantes lorsque l'on contribue principalement au contenu des projets. C'est une façon plus qu'honorable de contribuer à la diffusion de la connaissance libre.
:
:Il y a cependant d'autres volets qui pourraient également vous intéresser, à partir du moment où l'on souhaite améliorer les interactions du projet avec le public, avec la vie civile, avec les établissements liés à la culture et les institutions étatiques. Il y a des projets qui sont menés à plein temps par des salariés et salariées, soutenus par des bénévoles, pour apporter les projets wikimédiens dans l'enseignement, dans les musées et les bibliothèques, dans les associations locales et les territoires...
:
:Le siège communautaire, c'est disposer de la vision et de la voix des contributeurs wikimédiens et des contributrices wikimédiennes directement au sein du conseil d'administration de Wikimédia France.
:
:[[Utilisateur:Assassas77|Assassas77]] ([[Discussion utilisateur:Assassas77|discussion]]) 22 août 2022 à 22:11 (UTC)
== Le vote de la communauté est maintenant ouvert - Élection 2022 du conseil d'administration de la Wikimedia Foundation ==
<section begin="announcement-content" />
:''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open| Ce message est également traduit dans d'autres langues sur Meta-wiki.]]''
:''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open}}&language=&action=page&filter= {{int:please-translate}}]</div>''
Bonjour,
La période de vote communautaire pour l'[[m:Special:MyLanguage/Wikimedia Foundation elections/2022|élection 2022 du conseil d'administration]] est maintenant ouverte. Voici quelques liens utiles qui vous permettront de trouver les informations dont vous avez besoin pour voter :
* Essayez la [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Community_Voting/Election_Compass|boussole électorale]], qui montre la position des candidats et candidates sur 15 sujets différents.
* [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Candidates|Lisez les déclarations des candidats et candidates]] [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Affiliate_Organization_Participation/Candidate_Questions|ainsi que leurs réponses aux questions des affiliés]].
* [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Apply to be a Candidate|En savoir plus sur les compétences recherchées par le conseil d'administration]] et comment le [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Candidates|Comité d'analyse a trouvé que les candidats et candidates correspondent à ces compétences]].
Vous pouvez vous rendre sur [[Special:SecurePoll/vote/Wikimedia_Foundation_Board_Elections_2022|SecurePoll]] pour voter dès maintenant. '''Vous pouvez voter du 23 août à 00h00 UTC au 06 septembre 2022 à 23h59 UTC'''. Pour connaître votre éligibilité au vote, veuillez consulter la page [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Voter_eligibility_guidelines|d'éligibilité au vote]].
Bien à vous,
L'équipe Stratégie et Gouvernance du Mouvement
''Ce message a été envoyé au nom du groupe de travail pour la sélection des membres du conseil d'administration et du comité des élections''.<br /><section end="announcement-content" />
[[User:MPossoupe_(WMF)|MPossoupe_(WMF)]] 23 août 2022 à 08:25 (UTC)
<!-- Message envoyé par User:MPossoupe (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/fr&oldid=23008845 -->
8q0sk8rm5w8gx147cf2odee2wfpygy1
Russie : Daria Douguina, la fille d'Alexandre Douguine, tuée dans un attentat
0
91729
873034
872991
2022-08-22T20:45:19Z
Topelie
49489
+ date
wikitext
text/x-wiki
[[Fichier:2022-04-06. Дарья Дугина 2 (cropped).jpg|alt=La journaliste Daria Dougina.|vignette|La journaliste Daria Dougina (2022).]]
{{Date|22 août 2022}}
À {{W|Bolchie Viaziomy}} (Odintsovsky, {{W|Russie}}), un village situé à 40 kilomètres de {{W|Moscou}}, la journaliste {{W|Daria Douguina}}, fille d'{{W|Alexandre Douguine}}, a été tuée dans un {{W|attentat}} à la voiture piégée le 20 août entre 21 heures et 22 heures. Avant l'explosion, la jeune femme et son père ont participé au festival littéraire et musical « Tradition » à Zakharovo, pendant lequel un engin explosif a été placé dans le véhicule du père laissé sans surveillance sur un parking dont les caméras étaient en pannes depuis deux semaines.
À la fin de sa conférence, Alexandre Douguine a décidé de changer de voiture, laissant sa voiture à sa fille, tandis qu'il est monté dans une seconde voiture. Lors de son trajet sur la {{W|double voie}} « Mozhaisk » la voiture de Daria Douguina a explosé avant de quitter la route et s'arrêter en prenant feu. Alexandre Douguine qui suivait derrière est resté impuissant devant la carcasse en flammes en attendant les secours qui n'ont pu que constater le décès de sa fille.
D'après {{W|Denis Strelkov}}, on ne sait pas qui était la cible de l'auteur entre la fille ou le père.
La fille, {{W|Daria Douguina}}, 29 ans, était présentatrice sur la chaîne de télévision {{W|Tsargrad TV}} et la rédactrice en chef du site web ''United World International'' qui avait suggéré que l'Ukraine « périrait si elle était admise à l'{{W|Otan}} ». Elle était favorable à la {{W|guerre en Ukraine}}, allant jusqu'à l'extermination de tous les Ukrainiens. Suite à l'invasion russe, elle a fait partie des personnes sanctionnées en mars 2022 par les {{W|États-Unis}} et le {{W|Royaume-Uni}}.
Le père, {{W|Alexandre Douguine}}, 60 ans, est surnommé ''{{W|Raspoutine}}''. C'est un {{W|écrivain}} tellement nationaliste que le {{W|Président de la Russie}}, {{W|Vladimir Poutine}} ne le fréquente pas même si ils partagent certaines idées. Après les événements d'{{W|Odessa}} de 2014, Alexandre Douguine avait dit qu'il fallait « tuer tous les Ukrainiens » et militait publiquement depuis pour la {{W|guerre en Ukraine}}. Approuvant l'annexion russe de la {{W|Crimée}}, il a été visé par les sanctions de l'{{W|Union européenne}}. Ces dernières années, plusieurs de ses ouvrages, comme ''Ukraine. Ma guerre. Journal géopolitique'' et ''Revanche eurasiatique de la Russie'' avaient été interdit par l'{{W|Ukraine}}. Certains adversaires politiques souhaitent tuer Alexandre Douguine.
Vraisemblablement, le père et la fille étaient tout deux visés, mais en tout cas, l'auteur est certainement interne à la Russie d'après {{W|Nicolas Tenzer}}, enseignant à {{W|Sciences Po}} et pour {{W|Patrick Martin-Genier}}, cet attentat montre que « au sein même de la Russie » certains sont opposés à cette guerre en Ukraine.
Cet assassinat fait suite à deux autres attentats, celui contre le chef-adjoint de l'administration de {{W|Nova Kakhovka}}, Vitali Goura, qui a succombé à des tirs par balles le 6 août puis la tentative ratée dans la journée du 20 août contre {{W|Konstantin Ivaschenko}}, le maire pro-Kremlin de {{W|Marioupol}}.
Le conseiller présidentiel ukrainien, {{W|Mikhaïlo Podoliak}}, a martelé que « l'Ukraine n'a sans aucun doute rien à voir avec l'explosion d'hier, parce que nous ne sommes pas un État criminel ».
== Voir aussi ==
[[Dossier:Conflit russo-ukrainien]]
== Sources ==
{{thème|Russie|Politique et conflits|Nécrologie|Crimes et délits}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/vladimir-poutine/russie-la-fille-d-un-nationaliste-proche-de-poutine-tuee-dans-un-attentat-a-la-voiture-piegee_5319412.html
| titre = Russie : la fille d'un nationaliste proche de Poutine tuée dans un attentat à la voiture piégée
| auteur = J. Debraux, B. Delombre, F. Cardoen
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.france24.com/fr/europe/20220821-russie-la-fille-d-un-proche-de-vladimir-poutine-tu%C3%A9e-dans-l-explosion-de-sa-voiture
| titre = Russie : la fille d'un proche de Vladimir Poutine tuée dans l'explosion de sa voiture
| auteur =
| publication = france24.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/russie-daria-douguine-fille-d-un-proche-de-vladimir-poutine-tuee-dans-l-explosion-de-son-vehicule_5318830.html
| titre = Russie : Daria Douguina, fille d'un idéologue ultra-nationaliste, tuée dans l'explosion de son véhicule
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.zinfos974.com/Moscou-La-fille-du-plus-proche-conseiller-de-Poutine-tuee-dans-un-attentat_a186256.html
| titre = Moscou : La fille du plus proche conseiller de Poutine tuée dans un attentat
| auteur = NP
| publication = zinfos974.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/guerre-en-ukraine-ce-qu-il-faut-retenir-de-la-journee-du-dimanche-21-aout_5319337.html
| titre = Guerre en Ukraine : ce qu'il faut retenir de la journée du dimanche 21 août
| auteur =
| publication =francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/russie-ce-que-l-on-sait-de-la-mort-de-la-fille-d-un-l-ideologue-ultra-nationaliste-dans-une-explosion-a-la-voiture-piegee_5318839.html
| titre = Russie : ce que l'on sait de la mort de la fille d'un idéologue ultra-nationaliste dans une explosion à la voiture piégée
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/europe/20220821-russie-alexandre-douguine-n-est-pas-un-raspoutine-de-poutine
| titre = Russie: «Alexandre Douguine n’est pas un Raspoutine de Poutine»
| auteur = Nicolas Falez
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.rfi.fr/ru/россия/20220821-под-москвой-при-взрыве-машины-погибла-дочь-философа-дугина-возможно-это-было-покушение-на-самого-идеолога-русского-мира
| titre = Под Москвой при взрыве машины погибла дочь философа Дугина, возможно это было покушение на самого идеолога «русского мира»
| auteur =
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.bbc.com/russian/news-62615457
| titre = Дочь философа Дугина погибла при взрыве автомобиля в Подмосковье. Что известно
| auteur =
| publication = bbc.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/asie-pacifique/20220821-russie-la-fille-d-un-idéologue-proche-du-kremlin-meurt-dans-l-explosion-de-sa-voiture
| titre = Russie: la fille d’un idéologue ultranationaliste meurt dans l’explosion de sa voiture
| auteur = Julian Colling
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://mosregtoday.ru/culture/semejnyj-literaturno-muzykalnyj-festival-tradiciya-prohodit-v-podmoskove/
| titre = Семейный литературно-музыкальный фестиваль «Традиция» проходит в Подмосковье
| auteur =
| publication = mosregtoday.ru
| date =20 août 2022
}}
* {{source|langue=fr
| url = https://www.ouest-france.fr/monde/guerre-en-ukraine/guerre-en-ukraine-dans-la-region-de-kherson-un-cadre-de-l-occupation-russe-meurt-apres-un-attentat-fa515e12-1620-11ed-8f2b-c79a897efa61
| titre = Guerre en Ukraine. Dans la région de Kherson, un cadre de l’occupation russe meurt après un attentat
| auteur = avec {{W|AFP}}
| publication = ouest-france.fr
| date =7 août 2022
}}
* {{source|langue=en
| url = https://www.independent.co.uk/news/world/europe/ukraine-mariupol-mayor-assassination-zoo-b2149237.html
| titre = Russia’s puppet mayor in Mariupol ‘survives assassination attempt’ at zoo
| auteur = Andy Gregory
| publication = independent.co.uk
| date =21 août 2022
}}
{{Page|Russie|Guerre|Nécrologie}}
{{Publication
| statut = relecture
| jour = 22
| mois = août
| année = 2022
}}
[[Catégorie:Crimes et délits]]
[[Catégorie:Nécrologie]]
[[Catégorie:Attentat]]
[[Catégorie:Moscou]]
[[Catégorie:Russie]]
[[Catégorie:Ukraine]]
[[Catégorie:Vladimir Poutine]]
[[Catégorie:Invasion de l'Ukraine par la Russie en 2022]]
[[Catégorie:Conflit russo-ukrainien]]
6smuqwv1u5l02cxias1sscnc9gnoki5
873037
873034
2022-08-22T21:01:35Z
Topelie
49489
vu que je ne lui écris pas perso
wikitext
text/x-wiki
[[Fichier:2022-04-06. Дарья Дугина 2 (cropped).jpg|alt=La journaliste Daria Dougina.|vignette|La journaliste Daria Dougina (2022).]]
{{Date|22 août 2022}}
À {{W|Bolchie Viaziomy}} (Odintsovsky, {{W|Russie}}), un village situé à 40 kilomètres de {{W|Moscou}}, la journaliste {{W|Daria Douguina}}, fille d'{{W|Alexandre Douguine}}, a été tuée dans un {{W|attentat}} à la voiture piégée le 20 août entre 21 heures et 22 heures. Avant l'explosion, la jeune femme et son père ont participé au festival littéraire et musical « Tradition » à Zakharovo, pendant lequel un engin explosif a été placé dans le véhicule du père laissé sans surveillance sur un parking dont les caméras étaient en pannes depuis deux semaines.
À la fin de sa conférence, Alexandre Douguine a décidé de changer de voiture, laissant sa voiture à sa fille, tandis qu'il est monté dans une seconde voiture. Lors de son trajet sur la {{W|double voie}} « Mozhaisk » la voiture de Daria Douguina a explosé avant de quitter la route et s'arrêter en prenant feu. Alexandre Douguine qui suivait derrière est resté impuissant devant la carcasse en flammes en attendant les secours qui n'ont pu que constater le décès de sa fille.
D'après {{W|Denis Strelkov}}, on ne sait pas qui était la cible de l'auteur entre la fille ou le père.
La fille, {{W|Daria Douguina}}, 29 ans, était présentatrice sur la chaîne de télévision {{W|Tsargrad TV}} et la rédactrice en chef du site web ''United World International'' qui avait suggéré que l'Ukraine « périrait si elle était admise à l'{{W|Otan}} ». Elle était favorable à la {{W|guerre en Ukraine}}, allant jusqu'à l'extermination de tous les Ukrainiens. Suite à l'invasion russe, elle a fait partie des personnes sanctionnées en mars 2022 par les {{W|États-Unis}} et le {{W|Royaume-Uni}}.
Le père, {{W|Alexandre Douguine}}, 60 ans, est surnommé ''{{W|Raspoutine}}''. C'est un {{W|écrivain}} tellement nationaliste que le {{W|président de la Russie}}, {{W|Vladimir Poutine}} ne le fréquente pas même si ils partagent certaines idées. Après les événements d'{{W|Odessa}} de 2014, Alexandre Douguine avait dit qu'il fallait « tuer tous les Ukrainiens » et militait publiquement depuis pour la {{W|guerre en Ukraine}}. Approuvant l'annexion russe de la {{W|Crimée}}, il a été visé par les sanctions de l'{{W|Union européenne}}. Ces dernières années, plusieurs de ses ouvrages, comme ''Ukraine. Ma guerre. Journal géopolitique'' et ''Revanche eurasiatique de la Russie'' avaient été interdit par l'{{W|Ukraine}}. Certains adversaires politiques souhaitent tuer Alexandre Douguine.
Vraisemblablement, le père et la fille étaient tout deux visés, mais en tout cas, l'auteur est certainement interne à la Russie d'après {{W|Nicolas Tenzer}}, enseignant à {{W|Sciences Po}} et pour {{W|Patrick Martin-Genier}}, cet attentat montre que « au sein même de la Russie » certains sont opposés à cette guerre en Ukraine.
Cet assassinat fait suite à deux autres attentats, celui contre le chef-adjoint de l'administration de {{W|Nova Kakhovka}}, Vitali Goura, qui a succombé à des tirs par balles le 6 août puis la tentative ratée dans la journée du 20 août contre {{W|Konstantin Ivaschenko}}, le maire pro-Kremlin de {{W|Marioupol}}.
Le conseiller présidentiel ukrainien, {{W|Mikhaïlo Podoliak}}, a martelé que « l'Ukraine n'a sans aucun doute rien à voir avec l'explosion d'hier, parce que nous ne sommes pas un État criminel ».
== Voir aussi ==
[[Dossier:Conflit russo-ukrainien]]
== Sources ==
{{thème|Russie|Politique et conflits|Nécrologie|Crimes et délits}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/vladimir-poutine/russie-la-fille-d-un-nationaliste-proche-de-poutine-tuee-dans-un-attentat-a-la-voiture-piegee_5319412.html
| titre = Russie : la fille d'un nationaliste proche de Poutine tuée dans un attentat à la voiture piégée
| auteur = J. Debraux, B. Delombre, F. Cardoen
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.france24.com/fr/europe/20220821-russie-la-fille-d-un-proche-de-vladimir-poutine-tu%C3%A9e-dans-l-explosion-de-sa-voiture
| titre = Russie : la fille d'un proche de Vladimir Poutine tuée dans l'explosion de sa voiture
| auteur =
| publication = france24.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/russie-daria-douguine-fille-d-un-proche-de-vladimir-poutine-tuee-dans-l-explosion-de-son-vehicule_5318830.html
| titre = Russie : Daria Douguina, fille d'un idéologue ultra-nationaliste, tuée dans l'explosion de son véhicule
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.zinfos974.com/Moscou-La-fille-du-plus-proche-conseiller-de-Poutine-tuee-dans-un-attentat_a186256.html
| titre = Moscou : La fille du plus proche conseiller de Poutine tuée dans un attentat
| auteur = NP
| publication = zinfos974.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/guerre-en-ukraine-ce-qu-il-faut-retenir-de-la-journee-du-dimanche-21-aout_5319337.html
| titre = Guerre en Ukraine : ce qu'il faut retenir de la journée du dimanche 21 août
| auteur =
| publication =francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/russie-ce-que-l-on-sait-de-la-mort-de-la-fille-d-un-l-ideologue-ultra-nationaliste-dans-une-explosion-a-la-voiture-piegee_5318839.html
| titre = Russie : ce que l'on sait de la mort de la fille d'un idéologue ultra-nationaliste dans une explosion à la voiture piégée
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/europe/20220821-russie-alexandre-douguine-n-est-pas-un-raspoutine-de-poutine
| titre = Russie: «Alexandre Douguine n’est pas un Raspoutine de Poutine»
| auteur = Nicolas Falez
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.rfi.fr/ru/россия/20220821-под-москвой-при-взрыве-машины-погибла-дочь-философа-дугина-возможно-это-было-покушение-на-самого-идеолога-русского-мира
| titre = Под Москвой при взрыве машины погибла дочь философа Дугина, возможно это было покушение на самого идеолога «русского мира»
| auteur =
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.bbc.com/russian/news-62615457
| titre = Дочь философа Дугина погибла при взрыве автомобиля в Подмосковье. Что известно
| auteur =
| publication = bbc.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/asie-pacifique/20220821-russie-la-fille-d-un-idéologue-proche-du-kremlin-meurt-dans-l-explosion-de-sa-voiture
| titre = Russie: la fille d’un idéologue ultranationaliste meurt dans l’explosion de sa voiture
| auteur = Julian Colling
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://mosregtoday.ru/culture/semejnyj-literaturno-muzykalnyj-festival-tradiciya-prohodit-v-podmoskove/
| titre = Семейный литературно-музыкальный фестиваль «Традиция» проходит в Подмосковье
| auteur =
| publication = mosregtoday.ru
| date =20 août 2022
}}
* {{source|langue=fr
| url = https://www.ouest-france.fr/monde/guerre-en-ukraine/guerre-en-ukraine-dans-la-region-de-kherson-un-cadre-de-l-occupation-russe-meurt-apres-un-attentat-fa515e12-1620-11ed-8f2b-c79a897efa61
| titre = Guerre en Ukraine. Dans la région de Kherson, un cadre de l’occupation russe meurt après un attentat
| auteur = avec {{W|AFP}}
| publication = ouest-france.fr
| date =7 août 2022
}}
* {{source|langue=en
| url = https://www.independent.co.uk/news/world/europe/ukraine-mariupol-mayor-assassination-zoo-b2149237.html
| titre = Russia’s puppet mayor in Mariupol ‘survives assassination attempt’ at zoo
| auteur = Andy Gregory
| publication = independent.co.uk
| date =21 août 2022
}}
{{Page|Russie|Guerre|Nécrologie}}
{{Publication
| statut = relecture
| jour = 22
| mois = août
| année = 2022
}}
[[Catégorie:Crimes et délits]]
[[Catégorie:Nécrologie]]
[[Catégorie:Attentat]]
[[Catégorie:Moscou]]
[[Catégorie:Russie]]
[[Catégorie:Ukraine]]
[[Catégorie:Vladimir Poutine]]
[[Catégorie:Invasion de l'Ukraine par la Russie en 2022]]
[[Catégorie:Conflit russo-ukrainien]]
c1htnzl3frctohru6s595osq4l33az0
873047
873037
2022-08-22T23:29:45Z
Topelie
49489
anr
wikitext
text/x-wiki
[[Fichier:2022-04-06. Дарья Дугина 2 (cropped).jpg|alt=La journaliste Daria Dougina.|vignette|La journaliste Daria Dougina (2022).]]
{{Date|22 août 2022}}
À {{W|Bolchie Viaziomy}} (Odintsovsky, {{W|Russie}}), un village situé à 40 kilomètres de {{W|Moscou}}, la journaliste {{W|Daria Douguina}}, fille d'{{W|Alexandre Douguine}}, a été tuée dans un {{W|attentat}} à la voiture piégée le 20 août entre 21 heures et 22 heures. Avant l'explosion, la jeune femme et son père ont participé au festival littéraire et musical « Tradition » à Zakharovo, pendant lequel un engin explosif a été placé dans le véhicule du père laissé sans surveillance sur un parking dont les caméras étaient en pannes depuis deux semaines.
À la fin de sa conférence, Alexandre Douguine a décidé de changer de voiture, laissant sa voiture à sa fille, tandis qu'il est monté dans une seconde voiture. Lors de son trajet sur la {{W|double voie}} « Mozhaisk » la voiture de Daria Douguina a explosé avant de quitter la route et s'arrêter en prenant feu. Alexandre Douguine qui suivait derrière est resté impuissant devant la carcasse en flammes en attendant les secours qui n'ont pu que constater le décès de sa fille.
D'après {{W|Denis Strelkov}}, on ne sait pas qui était la cible de l'auteur entre la fille ou le père.
La fille, {{W|Daria Douguina}}, 29 ans, était présentatrice sur la chaîne de télévision {{W|Tsargrad TV}} et la rédactrice en chef du site web ''United World International'' qui avait suggéré que l'Ukraine « périrait si elle était admise à l'{{W|Otan}} ». Elle était favorable à la {{W|guerre en Ukraine}}, allant jusqu'à l'extermination de tous les Ukrainiens. Suite à l'invasion russe, elle a fait partie des personnes sanctionnées en mars 2022 par les {{W|États-Unis}} et le {{W|Royaume-Uni}}.
Le père, {{W|Alexandre Douguine}}, 60 ans, est surnommé ''{{W|Raspoutine}}''. C'est un {{W|écrivain}} tellement nationaliste que le {{W|président de la Russie}}, {{W|Vladimir Poutine}} ne le fréquente pas même si ils partagent certaines idées. Après les événements d'{{W|Odessa}} de 2014, Alexandre Douguine avait dit qu'il fallait « tuer tous les Ukrainiens » et militait publiquement depuis pour la {{W|guerre en Ukraine}}. Approuvant l'annexion russe de la {{W|Crimée}}, il a été visé par les sanctions de l'{{W|Union européenne}}. Ces dernières années, plusieurs de ses ouvrages, comme ''Ukraine. Ma guerre. Journal géopolitique'' et ''Revanche eurasiatique de la Russie'' avaient été interdit par l'{{W|Ukraine}}. Certains adversaires politiques souhaitent tuer Alexandre Douguine.
Vraisemblablement, le père et la fille étaient tout deux visés, mais en tout cas, l'auteur est certainement interne à la Russie d'après {{W|Nicolas Tenzer}}, enseignant à {{W|Sciences Po}} et pour {{W|Patrick Martin-Genier}}, cet attentat montre que « au sein même de la Russie » certains sont opposés à cette guerre en Ukraine. L'ancien membre de la [[Douma d'État]] russe, {{W|Ilya Ponomarev}}, vivant aujourd'hui en Ukraine, a affirmé qu'un groupe de partisans russes portant le nom de {{W|Armée nationale républicaine}} (ANR) était responsable de l'attaque. Ponomarev affirme que l'ANR est un groupe clandestin travaillant à l'intérieur de la Russie et dédié au renversement de l'État russe.
Cet assassinat fait suite à deux autres attentats, celui contre le chef-adjoint de l'administration de {{W|Nova Kakhovka}}, Vitali Goura, qui a succombé à des tirs par balles le 6 août puis la tentative ratée dans la journée du 20 août contre {{W|Konstantin Ivaschenko}}, le maire pro-Kremlin de {{W|Marioupol}}.
Le conseiller présidentiel ukrainien, {{W|Mikhaïlo Podoliak}}, a martelé que « l'Ukraine n'a sans aucun doute rien à voir avec l'explosion d'hier, parce que nous ne sommes pas un État criminel ».
== Voir aussi ==
[[Dossier:Conflit russo-ukrainien]]
== Sources ==
{{thème|Russie|Politique et conflits|Nécrologie|Crimes et délits}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/vladimir-poutine/russie-la-fille-d-un-nationaliste-proche-de-poutine-tuee-dans-un-attentat-a-la-voiture-piegee_5319412.html
| titre = Russie : la fille d'un nationaliste proche de Poutine tuée dans un attentat à la voiture piégée
| auteur = J. Debraux, B. Delombre, F. Cardoen
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.france24.com/fr/europe/20220821-russie-la-fille-d-un-proche-de-vladimir-poutine-tu%C3%A9e-dans-l-explosion-de-sa-voiture
| titre = Russie : la fille d'un proche de Vladimir Poutine tuée dans l'explosion de sa voiture
| auteur =
| publication = france24.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/russie-daria-douguine-fille-d-un-proche-de-vladimir-poutine-tuee-dans-l-explosion-de-son-vehicule_5318830.html
| titre = Russie : Daria Douguina, fille d'un idéologue ultra-nationaliste, tuée dans l'explosion de son véhicule
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.zinfos974.com/Moscou-La-fille-du-plus-proche-conseiller-de-Poutine-tuee-dans-un-attentat_a186256.html
| titre = Moscou : La fille du plus proche conseiller de Poutine tuée dans un attentat
| auteur = NP
| publication = zinfos974.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/guerre-en-ukraine-ce-qu-il-faut-retenir-de-la-journee-du-dimanche-21-aout_5319337.html
| titre = Guerre en Ukraine : ce qu'il faut retenir de la journée du dimanche 21 août
| auteur =
| publication =francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/russie-ce-que-l-on-sait-de-la-mort-de-la-fille-d-un-l-ideologue-ultra-nationaliste-dans-une-explosion-a-la-voiture-piegee_5318839.html
| titre = Russie : ce que l'on sait de la mort de la fille d'un idéologue ultra-nationaliste dans une explosion à la voiture piégée
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/europe/20220821-russie-alexandre-douguine-n-est-pas-un-raspoutine-de-poutine
| titre = Russie: «Alexandre Douguine n’est pas un Raspoutine de Poutine»
| auteur = Nicolas Falez
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.rfi.fr/ru/россия/20220821-под-москвой-при-взрыве-машины-погибла-дочь-философа-дугина-возможно-это-было-покушение-на-самого-идеолога-русского-мира
| titre = Под Москвой при взрыве машины погибла дочь философа Дугина, возможно это было покушение на самого идеолога «русского мира»
| auteur =
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.bbc.com/russian/news-62615457
| titre = Дочь философа Дугина погибла при взрыве автомобиля в Подмосковье. Что известно
| auteur =
| publication = bbc.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/asie-pacifique/20220821-russie-la-fille-d-un-idéologue-proche-du-kremlin-meurt-dans-l-explosion-de-sa-voiture
| titre = Russie: la fille d’un idéologue ultranationaliste meurt dans l’explosion de sa voiture
| auteur = Julian Colling
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://mosregtoday.ru/culture/semejnyj-literaturno-muzykalnyj-festival-tradiciya-prohodit-v-podmoskove/
| titre = Семейный литературно-музыкальный фестиваль «Традиция» проходит в Подмосковье
| auteur =
| publication = mosregtoday.ru
| date =20 août 2022
}}
* {{source|langue=fr
| url = https://www.ouest-france.fr/monde/guerre-en-ukraine/guerre-en-ukraine-dans-la-region-de-kherson-un-cadre-de-l-occupation-russe-meurt-apres-un-attentat-fa515e12-1620-11ed-8f2b-c79a897efa61
| titre = Guerre en Ukraine. Dans la région de Kherson, un cadre de l’occupation russe meurt après un attentat
| auteur = avec {{W|AFP}}
| publication = ouest-france.fr
| date =7 août 2022
}}
* {{source|langue=en
| url = https://www.independent.co.uk/news/world/europe/ukraine-mariupol-mayor-assassination-zoo-b2149237.html
| titre = Russia’s puppet mayor in Mariupol ‘survives assassination attempt’ at zoo
| auteur = Andy Gregory
| publication = independent.co.uk
| date =21 août 2022
}}
* {{source|langue=en
| url = https://www.theguardian.com/world/2022/aug/21/ex-russian-mp-claims-russian-partisans-responsible-for-moscow-car-bomb
| titre = Ex-Russian MP claims Russian partisans responsible for Moscow car bomb
| auteur = Luke Harding
| publication = theguardian.com
| date =21 août 2022
}}
{{Page|Russie|Guerre|Nécrologie}}
{{Publication
| statut = relecture
| jour = 22
| mois = août
| année = 2022
}}
[[Catégorie:Crimes et délits]]
[[Catégorie:Nécrologie]]
[[Catégorie:Attentat]]
[[Catégorie:Moscou]]
[[Catégorie:Russie]]
[[Catégorie:Ukraine]]
[[Catégorie:Vladimir Poutine]]
[[Catégorie:Invasion de l'Ukraine par la Russie en 2022]]
[[Catégorie:Conflit russo-ukrainien]]
o13fl9o4yrpgzfmp2855ig4gxa0chnq
873048
873047
2022-08-22T23:32:39Z
Topelie
49489
maj
wikitext
text/x-wiki
[[Fichier:2022-04-06. Дарья Дугина 2 (cropped).jpg|alt=La journaliste Daria Dougina.|vignette|La journaliste Daria Dougina (2022).]]
{{Date|22 août 2022}}
À {{W|Bolchie Viaziomy}} (Odintsovsky, {{W|Russie}}), un village situé à 40 kilomètres de {{W|Moscou}}, la journaliste {{W|Daria Douguina}}, fille d'{{W|Alexandre Douguine}}, a été tuée dans un {{W|attentat}} à la voiture piégée le 20 août entre 21 heures et 22 heures. Avant l'explosion, la jeune femme et son père ont participé au festival littéraire et musical « Tradition » à Zakharovo, pendant lequel un engin explosif a été placé dans le véhicule du père laissé sans surveillance sur un parking dont les caméras étaient en pannes depuis deux semaines.
À la fin de sa conférence, Alexandre Douguine a décidé de changer de voiture, laissant sa voiture à sa fille, tandis qu'il est monté dans une seconde voiture. Lors de son trajet sur la {{W|double voie}} « Mozhaisk » la voiture de Daria Douguina a explosé avant de quitter la route et s'arrêter en prenant feu. Alexandre Douguine qui suivait derrière est resté impuissant devant la carcasse en flammes en attendant les secours qui n'ont pu que constater le décès de sa fille.
D'après {{W|Denis Strelkov}}, on ne sait pas qui était la cible de l'auteur entre la fille ou le père.
La fille, {{W|Daria Douguina}}, 29 ans, était présentatrice sur la chaîne de télévision {{W|Tsargrad TV}} et la rédactrice en chef du site web ''United World International'' qui avait suggéré que l'Ukraine « périrait si elle était admise à l'{{W|Otan}} ». Elle était favorable à la {{W|guerre en Ukraine}}, allant jusqu'à l'extermination de tous les Ukrainiens. Suite à l'invasion russe, elle a fait partie des personnes sanctionnées en mars 2022 par les {{W|États-Unis}} et le {{W|Royaume-Uni}}.
Le père, {{W|Alexandre Douguine}}, 60 ans, est surnommé ''{{W|Raspoutine}}''. C'est un {{W|écrivain}} tellement nationaliste que le {{W|président de la Russie}}, {{W|Vladimir Poutine}} ne le fréquente pas même si ils partagent certaines idées. Après les événements d'{{W|Odessa}} de 2014, Alexandre Douguine avait dit qu'il fallait « tuer tous les Ukrainiens » et militait publiquement depuis pour la {{W|guerre en Ukraine}}. Approuvant l'annexion russe de la {{W|Crimée}}, il a été visé par les sanctions de l'{{W|Union européenne}}. Ces dernières années, plusieurs de ses ouvrages, comme ''Ukraine. Ma guerre. Journal géopolitique'' et ''Revanche eurasiatique de la Russie'' avaient été interdit par l'{{W|Ukraine}}. Certains adversaires politiques souhaitent tuer Alexandre Douguine.
Vraisemblablement, le père et la fille étaient tout deux visés, mais en tout cas, l'auteur est certainement interne à la Russie d'après {{W|Nicolas Tenzer}}, enseignant à {{W|Sciences Po}} et pour {{W|Patrick Martin-Genier}}, cet attentat montre que « au sein même de la Russie » certains sont opposés à cette guerre en Ukraine. L'ancien membre de la {{W|Douma d'État}} russe, {{W|Ilya Ponomarev}}, vivant aujourd'hui en Ukraine, a affirmé que l'auteur de l'attaque est l'{{W|Armée nationale républicaine}} (ANR), un groupe clandestin travaillant à l'intérieur de la Russie et dédié au renversement de l'État russe.
Cet assassinat fait suite à deux autres attentats, celui contre le chef-adjoint de l'administration de {{W|Nova Kakhovka}}, Vitali Goura, qui a succombé à des tirs par balles le 6 août puis la tentative ratée dans la journée du 20 août contre {{W|Konstantin Ivaschenko}}, le maire pro-Kremlin de {{W|Marioupol}}.
Le conseiller présidentiel ukrainien, {{W|Mikhaïlo Podoliak}}, a martelé que « l'Ukraine n'a sans aucun doute rien à voir avec l'explosion d'hier, parce que nous ne sommes pas un État criminel ».
== Voir aussi ==
[[Dossier:Conflit russo-ukrainien]]
== Sources ==
{{thème|Russie|Politique et conflits|Nécrologie|Crimes et délits}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/vladimir-poutine/russie-la-fille-d-un-nationaliste-proche-de-poutine-tuee-dans-un-attentat-a-la-voiture-piegee_5319412.html
| titre = Russie : la fille d'un nationaliste proche de Poutine tuée dans un attentat à la voiture piégée
| auteur = J. Debraux, B. Delombre, F. Cardoen
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.france24.com/fr/europe/20220821-russie-la-fille-d-un-proche-de-vladimir-poutine-tu%C3%A9e-dans-l-explosion-de-sa-voiture
| titre = Russie : la fille d'un proche de Vladimir Poutine tuée dans l'explosion de sa voiture
| auteur =
| publication = france24.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/russie-daria-douguine-fille-d-un-proche-de-vladimir-poutine-tuee-dans-l-explosion-de-son-vehicule_5318830.html
| titre = Russie : Daria Douguina, fille d'un idéologue ultra-nationaliste, tuée dans l'explosion de son véhicule
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.zinfos974.com/Moscou-La-fille-du-plus-proche-conseiller-de-Poutine-tuee-dans-un-attentat_a186256.html
| titre = Moscou : La fille du plus proche conseiller de Poutine tuée dans un attentat
| auteur = NP
| publication = zinfos974.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/guerre-en-ukraine-ce-qu-il-faut-retenir-de-la-journee-du-dimanche-21-aout_5319337.html
| titre = Guerre en Ukraine : ce qu'il faut retenir de la journée du dimanche 21 août
| auteur =
| publication =francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/russie-ce-que-l-on-sait-de-la-mort-de-la-fille-d-un-l-ideologue-ultra-nationaliste-dans-une-explosion-a-la-voiture-piegee_5318839.html
| titre = Russie : ce que l'on sait de la mort de la fille d'un idéologue ultra-nationaliste dans une explosion à la voiture piégée
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/europe/20220821-russie-alexandre-douguine-n-est-pas-un-raspoutine-de-poutine
| titre = Russie: «Alexandre Douguine n’est pas un Raspoutine de Poutine»
| auteur = Nicolas Falez
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.rfi.fr/ru/россия/20220821-под-москвой-при-взрыве-машины-погибла-дочь-философа-дугина-возможно-это-было-покушение-на-самого-идеолога-русского-мира
| titre = Под Москвой при взрыве машины погибла дочь философа Дугина, возможно это было покушение на самого идеолога «русского мира»
| auteur =
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.bbc.com/russian/news-62615457
| titre = Дочь философа Дугина погибла при взрыве автомобиля в Подмосковье. Что известно
| auteur =
| publication = bbc.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/asie-pacifique/20220821-russie-la-fille-d-un-idéologue-proche-du-kremlin-meurt-dans-l-explosion-de-sa-voiture
| titre = Russie: la fille d’un idéologue ultranationaliste meurt dans l’explosion de sa voiture
| auteur = Julian Colling
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://mosregtoday.ru/culture/semejnyj-literaturno-muzykalnyj-festival-tradiciya-prohodit-v-podmoskove/
| titre = Семейный литературно-музыкальный фестиваль «Традиция» проходит в Подмосковье
| auteur =
| publication = mosregtoday.ru
| date =20 août 2022
}}
* {{source|langue=fr
| url = https://www.ouest-france.fr/monde/guerre-en-ukraine/guerre-en-ukraine-dans-la-region-de-kherson-un-cadre-de-l-occupation-russe-meurt-apres-un-attentat-fa515e12-1620-11ed-8f2b-c79a897efa61
| titre = Guerre en Ukraine. Dans la région de Kherson, un cadre de l’occupation russe meurt après un attentat
| auteur = avec {{W|AFP}}
| publication = ouest-france.fr
| date =7 août 2022
}}
* {{source|langue=en
| url = https://www.independent.co.uk/news/world/europe/ukraine-mariupol-mayor-assassination-zoo-b2149237.html
| titre = Russia’s puppet mayor in Mariupol ‘survives assassination attempt’ at zoo
| auteur = Andy Gregory
| publication = independent.co.uk
| date =21 août 2022
}}
* {{source|langue=en
| url = https://www.theguardian.com/world/2022/aug/21/ex-russian-mp-claims-russian-partisans-responsible-for-moscow-car-bomb
| titre = Ex-Russian MP claims Russian partisans responsible for Moscow car bomb
| auteur = Luke Harding
| publication = theguardian.com
| date =21 août 2022
}}
{{Page|Russie|Guerre|Nécrologie}}
{{Publication
| statut = relecture
| jour = 22
| mois = août
| année = 2022
}}
[[Catégorie:Crimes et délits]]
[[Catégorie:Nécrologie]]
[[Catégorie:Attentat]]
[[Catégorie:Moscou]]
[[Catégorie:Russie]]
[[Catégorie:Ukraine]]
[[Catégorie:Vladimir Poutine]]
[[Catégorie:Invasion de l'Ukraine par la Russie en 2022]]
[[Catégorie:Conflit russo-ukrainien]]
29ygwc2g36um31gu59ecxvc1e70qoit
873051
873048
2022-08-23T01:23:50Z
Topelie
49489
pas confondre avec anr italie
wikitext
text/x-wiki
[[Fichier:2022-04-06. Дарья Дугина 2 (cropped).jpg|alt=La journaliste Daria Dougina.|vignette|La journaliste Daria Dougina (2022).]]
{{Date|22 août 2022}}
À {{W|Bolchie Viaziomy}} (Odintsovsky, {{W|Russie}}), un village situé à 40 kilomètres de {{W|Moscou}}, la journaliste {{W|Daria Douguina}}, fille d'{{W|Alexandre Douguine}}, a été tuée dans un {{W|attentat}} à la voiture piégée le 20 août entre 21 heures et 22 heures. Avant l'explosion, la jeune femme et son père ont participé au festival littéraire et musical « Tradition » à Zakharovo, pendant lequel un engin explosif a été placé dans le véhicule du père laissé sans surveillance sur un parking dont les caméras étaient en pannes depuis deux semaines.
À la fin de sa conférence, Alexandre Douguine a décidé de changer de voiture, laissant sa voiture à sa fille, tandis qu'il est monté dans une seconde voiture. Lors de son trajet sur la {{W|double voie}} « Mozhaisk » la voiture de Daria Douguina a explosé avant de quitter la route et s'arrêter en prenant feu. Alexandre Douguine qui suivait derrière est resté impuissant devant la carcasse en flammes en attendant les secours qui n'ont pu que constater le décès de sa fille.
D'après {{W|Denis Strelkov}}, on ne sait pas qui était la cible de l'auteur entre la fille ou le père.
La fille, {{W|Daria Douguina}}, 29 ans, était présentatrice sur la chaîne de télévision {{W|Tsargrad TV}} et la rédactrice en chef du site web ''United World International'' qui avait suggéré que l'Ukraine « périrait si elle était admise à l'{{W|Otan}} ». Elle était favorable à la {{W|guerre en Ukraine}}, allant jusqu'à l'extermination de tous les Ukrainiens. Suite à l'invasion russe, elle a fait partie des personnes sanctionnées en mars 2022 par les {{W|États-Unis}} et le {{W|Royaume-Uni}}.
Le père, {{W|Alexandre Douguine}}, 60 ans, est surnommé ''{{W|Raspoutine}}''. C'est un {{W|écrivain}} tellement nationaliste que le {{W|président de la Russie}}, {{W|Vladimir Poutine}} ne le fréquente pas même si ils partagent certaines idées. Après les événements d'{{W|Odessa}} de 2014, Alexandre Douguine avait dit qu'il fallait « tuer tous les Ukrainiens » et militait publiquement depuis pour la {{W|guerre en Ukraine}}. Approuvant l'annexion russe de la {{W|Crimée}}, il a été visé par les sanctions de l'{{W|Union européenne}}. Ces dernières années, plusieurs de ses ouvrages, comme ''Ukraine. Ma guerre. Journal géopolitique'' et ''Revanche eurasiatique de la Russie'' avaient été interdit par l'{{W|Ukraine}}. Certains adversaires politiques souhaitent tuer Alexandre Douguine.
Vraisemblablement, le père et la fille étaient tout deux visés, mais en tout cas, l'auteur est certainement interne à la Russie d'après {{W|Nicolas Tenzer}}, enseignant à {{W|Sciences Po}} et pour {{W|Patrick Martin-Genier}}, cet attentat montre que « au sein même de la Russie » certains sont opposés à cette guerre en Ukraine. L'ancien membre de la {{W|Douma d'État}} russe, {{W|Ilya Ponomarev}}, vivant aujourd'hui en Ukraine, a affirmé que l'auteur de l'attaque est l'[[w:Armée nationale républicaine (Russie)|Armée nationale républicaine]] (ANR), un groupe clandestin travaillant à l'intérieur de la Russie et dédié au renversement de l'État russe.
Cet assassinat fait suite à deux autres attentats, celui contre le chef-adjoint de l'administration de {{W|Nova Kakhovka}}, Vitali Goura, qui a succombé à des tirs par balles le 6 août puis la tentative ratée dans la journée du 20 août contre {{W|Konstantin Ivaschenko}}, le maire pro-Kremlin de {{W|Marioupol}}.
Le conseiller présidentiel ukrainien, {{W|Mikhaïlo Podoliak}}, a martelé que « l'Ukraine n'a sans aucun doute rien à voir avec l'explosion d'hier, parce que nous ne sommes pas un État criminel ».
== Voir aussi ==
[[Dossier:Conflit russo-ukrainien]]
== Sources ==
{{thème|Russie|Politique et conflits|Nécrologie|Crimes et délits}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/vladimir-poutine/russie-la-fille-d-un-nationaliste-proche-de-poutine-tuee-dans-un-attentat-a-la-voiture-piegee_5319412.html
| titre = Russie : la fille d'un nationaliste proche de Poutine tuée dans un attentat à la voiture piégée
| auteur = J. Debraux, B. Delombre, F. Cardoen
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.france24.com/fr/europe/20220821-russie-la-fille-d-un-proche-de-vladimir-poutine-tu%C3%A9e-dans-l-explosion-de-sa-voiture
| titre = Russie : la fille d'un proche de Vladimir Poutine tuée dans l'explosion de sa voiture
| auteur =
| publication = france24.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/russie/russie-daria-douguine-fille-d-un-proche-de-vladimir-poutine-tuee-dans-l-explosion-de-son-vehicule_5318830.html
| titre = Russie : Daria Douguina, fille d'un idéologue ultra-nationaliste, tuée dans l'explosion de son véhicule
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.zinfos974.com/Moscou-La-fille-du-plus-proche-conseiller-de-Poutine-tuee-dans-un-attentat_a186256.html
| titre = Moscou : La fille du plus proche conseiller de Poutine tuée dans un attentat
| auteur = NP
| publication = zinfos974.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/guerre-en-ukraine-ce-qu-il-faut-retenir-de-la-journee-du-dimanche-21-aout_5319337.html
| titre = Guerre en Ukraine : ce qu'il faut retenir de la journée du dimanche 21 août
| auteur =
| publication =francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.francetvinfo.fr/monde/europe/manifestations-en-ukraine/russie-ce-que-l-on-sait-de-la-mort-de-la-fille-d-un-l-ideologue-ultra-nationaliste-dans-une-explosion-a-la-voiture-piegee_5318839.html
| titre = Russie : ce que l'on sait de la mort de la fille d'un idéologue ultra-nationaliste dans une explosion à la voiture piégée
| auteur =
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/europe/20220821-russie-alexandre-douguine-n-est-pas-un-raspoutine-de-poutine
| titre = Russie: «Alexandre Douguine n’est pas un Raspoutine de Poutine»
| auteur = Nicolas Falez
| publication = francetvinfo.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.rfi.fr/ru/россия/20220821-под-москвой-при-взрыве-машины-погибла-дочь-философа-дугина-возможно-это-было-покушение-на-самого-идеолога-русского-мира
| titre = Под Москвой при взрыве машины погибла дочь философа Дугина, возможно это было покушение на самого идеолога «русского мира»
| auteur =
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://www.bbc.com/russian/news-62615457
| titre = Дочь философа Дугина погибла при взрыве автомобиля в Подмосковье. Что известно
| auteur =
| publication = bbc.com
| date =21 août 2022
}}
* {{source|langue=fr
| url = https://www.rfi.fr/fr/asie-pacifique/20220821-russie-la-fille-d-un-idéologue-proche-du-kremlin-meurt-dans-l-explosion-de-sa-voiture
| titre = Russie: la fille d’un idéologue ultranationaliste meurt dans l’explosion de sa voiture
| auteur = Julian Colling
| publication = rfi.fr
| date =21 août 2022
}}
* {{source|langue=ru
| url = https://mosregtoday.ru/culture/semejnyj-literaturno-muzykalnyj-festival-tradiciya-prohodit-v-podmoskove/
| titre = Семейный литературно-музыкальный фестиваль «Традиция» проходит в Подмосковье
| auteur =
| publication = mosregtoday.ru
| date =20 août 2022
}}
* {{source|langue=fr
| url = https://www.ouest-france.fr/monde/guerre-en-ukraine/guerre-en-ukraine-dans-la-region-de-kherson-un-cadre-de-l-occupation-russe-meurt-apres-un-attentat-fa515e12-1620-11ed-8f2b-c79a897efa61
| titre = Guerre en Ukraine. Dans la région de Kherson, un cadre de l’occupation russe meurt après un attentat
| auteur = avec {{W|AFP}}
| publication = ouest-france.fr
| date =7 août 2022
}}
* {{source|langue=en
| url = https://www.independent.co.uk/news/world/europe/ukraine-mariupol-mayor-assassination-zoo-b2149237.html
| titre = Russia’s puppet mayor in Mariupol ‘survives assassination attempt’ at zoo
| auteur = Andy Gregory
| publication = independent.co.uk
| date =21 août 2022
}}
* {{source|langue=en
| url = https://www.theguardian.com/world/2022/aug/21/ex-russian-mp-claims-russian-partisans-responsible-for-moscow-car-bomb
| titre = Ex-Russian MP claims Russian partisans responsible for Moscow car bomb
| auteur = Luke Harding
| publication = theguardian.com
| date =21 août 2022
}}
{{Page|Russie|Guerre|Nécrologie}}
{{Publication
| statut = relecture
| jour = 22
| mois = août
| année = 2022
}}
[[Catégorie:Crimes et délits]]
[[Catégorie:Nécrologie]]
[[Catégorie:Attentat]]
[[Catégorie:Moscou]]
[[Catégorie:Russie]]
[[Catégorie:Ukraine]]
[[Catégorie:Vladimir Poutine]]
[[Catégorie:Invasion de l'Ukraine par la Russie en 2022]]
[[Catégorie:Conflit russo-ukrainien]]
qjv3wbw8lur3qnpr3n68as8c62e0lpa
Discussion utilisateur:TheMrP
3
91733
872995
2022-08-22T13:32:04Z
Vincent Vega
46345
Vincent Vega a déplacé la page [[Discussion utilisateur:TheMrP]] vers [[Discussion utilisateur:P1]] : Page automatiquement déplacée lors du renommage de l’utilisateur « [[Special:CentralAuth/TheMrP|TheMrP]] » en « [[Special:CentralAuth/P1|P1]] »
wikitext
text/x-wiki
#REDIRECTION [[Discussion utilisateur:P1]]
gi8tw0kbmyhbyfnxgkqubdsxsjv1wyo
Module:Cycling race/l10n
828
91734
872996
2022-08-22T14:37:48Z
Psemdel
30544
Page créée avec « --Contains all translation for Module:Cycling race --To export to a local wiki use --https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter --== IV) Translation == return { startlist_translate={"Liste des participants", "Num", "Coureur","Pos","Directeur sportif :","AB","HD","NP","DQ","route","chrono","et", "sans équipe","afficher","masquer" }, startlist_women_translate={"Liste des participantes", "Num", "Coureuse","Pos","Directeur sportif :","AB",... »
Scribunto
text/plain
--Contains all translation for Module:Cycling race
--To export to a local wiki use
--https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter
--== IV) Translation ==
return
{
startlist_translate={"Liste des participants", "Num", "Coureur","Pos","Directeur sportif :","AB","HD","NP","DQ","route","chrono","et", "sans équipe","afficher","masquer"
},
startlist_women_translate={"Liste des participantes", "Num", "Coureuse","Pos","Directeur sportif :","AB","HD","NP","DQ","route","chrono","et", "sans équipe","afficher","masquer"
},
startlisttable_translate={"Liste des participants", "Num", "Coureur","Équipe","Pos"
},
startlisttable_women_translate={"Liste des participantes", "Num", "Coureuse","Équipe","Pos"
},
race_reference_translate={"Source : ", "Sources : "
},
race_reference_women_translate={"Source : ", "Sources : "
},
--title problem
calendar_translate={"Calendrier UCI", "Date", "n°","Course", "Pays", "Classe", "Vainqueur", "Deuxième", "Troisième", "Leader du classement général","UCI Women's World Tour","","UCI World Tour","UCI Europe Tour","UCI Asia Tour","UCI America Tour","UCI Africa Tour","UCI Oceania Tour","Championnats nationaux","Course en ligne","Contre-la-montre", "UCI ProSeries"
},
calendar_women_translate={"Calendrier UCI", "Date", "n°","Course", "Pays", "Classe", "Vainqueur", "Deuxième", "Troisième", "Leader du classement général","UCI Women's World Tour","","UCI World Tour","UCI Europe Tour","UCI Asia Tour","UCI America Tour","UCI Africa Tour","UCI Oceania Tour","Championnats nationaux","Course en ligne","Contre-la-montre", "UCI ProSeries"
},
victories_translate={"Classement général", "Victoires", "Date", "Course", "Pays", "Classe", "Vainqueur","étape","Prologue"
},
victories_women_translate={"Classement général", "Victoires", "Date", "Course", "Pays", "Classe", "Vainqueur","étape","Prologue"
},
listofstagesclassification_translate={"non attribué","Classements finals"
},
listofstagesclassification_women_translate={"non attribué","Classements finals"
},
stageinfobox_translate={"Généralités", "Course", "Type", "Date", "Dates", "Distance", "Pays", "Pays",
"Lieu de départ", "Lieu d'arrivée", "Partants",
"Arrivants", "Vitesse moyenne", "Coût", "Résultats de l’étape", "Vainqueur", "Deuxième", "Troisième", "Combatif",
"Classement général à l’issue de l’étape", "Leader", "Deuxième", "Troisième",
"Classements annexes à l’issue de l’étape", "Points", "Montagne", "Sprints", "Jeune", "Super- combatif",
"Combiné", "Étapes volantes", "Régularité",
"Équipe", "Équipe aux points",
"Image", "Légende", "Carte", "Vue en coupe", "Documentation", "Cima Coppi", "Cima Pantani", "Azzurri d'Italia", "Fuga", "Dénivelé"
},
stageinfobox_women_translate={"Généralités", "Course", "Type", "Date", "Dates", "Distance", "Pays", "Pays",
"Lieu de départ", "Lieu d'arrivée", "Partantes",
"Arrivantes", "Vitesse moyenne", "Coût", "Résultats de l’étape", "Vainqueur", "Deuxième", "Troisième", "Combative",
"Classement général à l’issue de l’étape", "Leader", "Deuxième", "Troisième",
"Classements annexes à l’issue de l’étape", "Points", "Montagne", "Sprints", "Jeune", "Super- combatif",
"Combiné", "Étapes volantes", "Régularité",
"Équipe", "Équipe aux points",
"Image", "Légende", "Carte", "Vue en coupe", "Documentation", "Cima Coppi", "Cima Pantani", "Azzurri d'Italia", "Fuga", "Dénivelé"
},
raceinfobox_translate={"annuelle", "mensuelle", "Site officiel", "Sport", "Création", "Disparition", "Nombre d'éditions",
"Périodicité", "Type", "Lieu", "Lieux", "Organisateur", "Organisateurs", "Site web officiel",
"Catégorie","Catégories", "Circuit",
"Noms officiels", "Généralités","Palmarès","Dernier vainqueur","Plus titré(s)",
"Compétitions actuelles"," pour la dernière compétition voir ",
" pour la prochaine compétition voir ", "Documentation",
"Directeur de course", "Directeurs de course","victoires","victoires", "en","victoire","Pays","Pays"
},
raceinfobox_women_translate={"annuelle", "mensuelle", "Site officiel", "Sport", "Création", "Disparition", "Nombre d'éditions",
"Périodicité", "Type", "Lieu", "Lieux", "Organisateur", "Organisateurs", "Site web officiel",
"Catégorie","Catégories", "Circuit",
"Noms officiels", "Généralités","Palmarès","Dernière vainqueur","Plus titrée(s)",
"Compétitions actuelles"," pour la dernière compétition voir ",
" pour la prochaine compétition voir ", "Documentation",
"Directeur de course", "Directeurs de course","victoires","victoires", "en"
},
riderinfobox_translate={"Nom de naissance", "Noms de naissances", "Surnom", "Surnoms", "Nom officiel", "Noms officiels",
"Nom court", "Noms courts", "Naissance", "Mort", "Pays", "Pays", "Équipe actuelle",
"Équipes actuelles", "Spécialité", "Spécialités", "Latéralisation", "Groupe sanguin",
"Taille","Poids",
"Récompense", "Récompenses", "Équipe dirigée", "Équipes dirigées", "Années direction",
"Équipe amateur", "Équipes amateur", "Années amateur",
"Équipe non-UCI", "Équipes non-UCI", "Années non-UCI",
"Équipe pro", "Équipes pro", "Années pro",
"Équipe UCI", "Équipes UCI", "Années UCI",
"Victoires principales", "Équipe VTT","Équipes VTT",
"Équipe cyclo-cross","Équipes cyclo-cross","Équipe piste","Équipes piste",
"Équipe professionnelle", "Équipes professionnelles","Médailles","ans", "ans", "ans",
"sous-titre","Selection nationale dirigée", "Selections nationales dirigées","Années sélection"
},
riderinfobox_women_translate={"Nom de naissance", "Noms de naissances", "Surnom", "Surnoms", "Nom officiel", "Noms officiels",
"Nom court", "Noms courts", "Naissance", "Mort", "Pays", "Pays", "Équipe actuelle",
"Équipes actuelles", "Spécialité", "Spécialités", "Latéralisation", "Groupe sanguin",
"Taille","Poids",
"Récompense", "Récompenses", "Équipe dirigée", "Équipes dirigées", "Années direction",
"Équipe amateur", "Équipes amateur", "Années amateur",
"Équipe non-UCI", "Équipes non-UCI", "Années non-UCI",
"Équipe pro", "Équipes pro", "Années pro",
"Équipe UCI", "Équipes UCI", "Années UCI",
"Victoires principales", "Équipe VTT","Équipes VTT",
"Équipe cyclo-cross","Équipes cyclo-cross","Équipe piste","Équipes piste",
"Équipe professionnelle", "Équipes professionnelles","Médailles","ans", "ans", "ans",
"sous-titre","Selection nationale dirigée", "Selections nationales dirigées","Années sélection"
},
teaminfobox_translate={"Informations", "Sport", "Statut", "Statuts", "Code UCI", "Codes UCI",
"Pays", "Pays", "Création", "Disparition", "Saisons", "en",
"Site officiel", "Directeur général", "Directeurs générals",
"Directeur sportif", "Directeurs sportifs", "Encadrement",
"Dénominations", "Maillot",
"Saison actuelle", " pour la dernière saison ", " pour la prochaine saison ",
"Marque de cycles", "Marques de cycles", "Budget"
},
teaminfobox_women_translate={"Informations", "Sport", "Statut", "Statuts", "Code UCI", "Codes UCI",
"Pays", "Pays", "Création", "Disparition", "Saisons", "en",
"Site officiel", "Directeur général", "Directeurs générals",
"Directeur sportif", "Directeurs sportifs", "Encadrement",
"Dénominations", "Maillot",
"Saison actuelle", " pour la dernière saison ", " pour la prochaine saison ",
"Marque de cycles", "Marques de cycles", "Budget"
},
getSquadTableColumn_translate={"Cycliste", "Date de naissance", "Équipe précédente", "note", "note", "Pays", "Effectif"
},
getSquadTableColumn_women_translate={"Cycliste", "Date de naissance", "Équipe précédente", "note", "note", "Pays", "Effectif"
},
infobox_translate={"Généralités", "Course", "Compétition", "Compétitions", "Étapes", "Date", "Dates", "Distance", "Pays", "Pays",
"Lieu de départ", "Lieu d'arrivée", "Équipes", "Partants", "Arrivants", "Vitesse moyenne", "Coût", "Résultats", "Vainqueur", "Deuxième", "Troisième",
"Classement par points", "Meilleur grimpeur", "Meilleur sprinteur", "Meilleur jeune", "Super-combatif", "Meilleur au combiné", "Meilleure équipe",
"Image", "Légende", "Carte", "Special 1", "Special 2", "Documentation", "Étapes volantes", "Régularité", "Meilleure équipe aux points",
"Fuga", "Azzurri d'Italia", "Néophyte", "Amateur","Nationalité","Dénivelé",
"Région", "Course",
"Édition", "Lieu", "Lieux", "Organisateur", "Organisateurs",
"Vainqueurs", "Individuel", "Jeune", "Équipe", "Groupe Sportif I",
"Groupe Sportif II", "Groupe Sportif III", "Nations", "Nations espoirs", "Médailles",
"Vélodrome", "Vélodromes", "Catégorie", "Détails de la saison", "Détails du championnat",
"Général", "Ville", "Villes"
},
infobox_women_translate={"Généralités", "Course", "Compétition", "Compétitions", "Étapes", "Date", "Dates", "Distance", "Pays", "Pays",
"Lieu de départ", "Lieu d'arrivée", "Équipes", "Partantes", "Arrivantes", "Vitesse moyenne", "Coût", "Résultats", "Vainqueur", "Deuxième", "Troisième",
"Classement par points", "Meilleure grimpeuse", "Meilleure sprinteuse", "Meilleure jeune", "Super-combative", "Meilleure au combiné", "Meilleure équipe",
"Image", "Légende", "Carte", "Special 1", "Special 2", "Documentation", "Étapes volantes", "Régularité", "Meilleure équipe aux points",
"Fuga", "Azzurri d'Italia", "Néophyte", "Amateur","Nationalité","Dénivelé",
"Région", "Course",
"Édition", "Lieu", "Lieux", "Organisateur", "Organisateurs",
"Vainqueurs", "Individuel", "Jeune", "Équipe", "Groupe Sportif I",
"Groupe Sportif II", "Groupe Sportif III", "Nations", "Nations espoirs", "Médailles",
"Vélodrome", "Vélodromes", "Catégorie", "Détails de la saison", "Détails du championnat",
"Général", "Ville", "Villes"
},
unit_translate={"en", " h ", " min ", " s", ' km/h', " pt", " pts"
},
unit_women_translate={"en", " h ", " min ", " s", ' km/h', " pt", " pts"
},
headoftable_translate={"Étape", "Date", "Villes étapes", "Distance (km)", "Vainqueur d'étape", "Leader du classement général","Dénivelé (m)"
},
headoftable_women_translate={"Étape", "Date", "Villes étapes", "Distance (km)", "Vainqueur d'étape", "Leader du classement général","Dénivelé (m)"
},
headoftableII_translate={"Coureur", "Pays", "Équipe", "Temps", "Écart de temps", "Vitesse moy.", "Points", "Classement de l'étape", "Classement général", "Classement par points", "Classement de la montagne", "Classement des sprints", "Classement du meilleur jeune", "Classement par équipes", "Classement par équipes aux points", "Classement du combiné", "Classement de la combativité", "Classement du meilleur jeune", "Classement UCI"
},
headoftableII_women_translate={"Coureuse", "Pays", "Équipe", "Temps", "Écart de temps", "Vitesse moy.", "Points", "Classement de l'étape", "Classement général", "Classement par points", "Classement de la montagne", "Classement des sprints", "Classement du meilleur jeune", "Classement par équipes", "Classement par équipes aux points", "Classement du combiné", "Classement de la combativité", "Classement du meilleur jeune", "Classement UCI"
},
headoftableIII_translate={"Nom de l'équipe", "Pays", "Code", "WorldTeam", "WorldTeams", "ProTeam", "ProTeams", "Équipe continentale professionnelle", "Équipes continentales professionnelles", "Équipe continentale", "Équipes continentales", "Équipe nationale", "Équipes nationales", "Équipe régionale et de club", "Équipes régionales et de clubs", "Équipe cycliste professionnelle", "Équipes cyclistes professionnelles", "Équipe cycliste amateur", "Équipes cyclistes amateurs", "Groupe sportif I", "Groupes sportifs I", "Groupe sportif II", "Groupes sportifs II", "Groupe sportif III", "Groupes sportifs III", "Équipe mixte", "Équipes mixtes", "Équipe féminine professionnelle", "Équipes féminines professionnelles", "Équipe cycliste amateur féminine", "Équipe cycliste amateur féminines","Équipe cycliste féminine continentale","Équipes cyclistes féminines continentales"
},
headoftableIII_women_translate={"Nom de l'équipe", "Pays", "Code", "WorldTeam", "WorldTeams", "ProTeam", "ProTeams", "Équipe continentale professionnelle", "Équipes continentales professionnelles", "Équipe continentale", "Équipes continentales", "Équipe nationale", "Équipes nationales", "Équipe régionale et de club", "Équipes régionales et de clubs", "Équipe cycliste professionnelle", "Équipes cyclistes professionnelles", "Équipe cycliste amateur", "Équipes cyclistes amateurs", "Groupe sportif I", "Groupes sportifs I", "Groupe sportif II", "Groupes sportifs II", "Groupe sportif III", "Groupes sportifs III", "Équipe mixte", "Équipes mixtes", "Équipe féminine professionnelle", "Équipes féminines professionnelles", "Équipe cycliste amateur féminine", "Équipe cycliste amateur féminines","Équipe cycliste féminine continentale","Équipes cyclistes féminines continentales"
},
--trick to be added
listofwinners_translate={"Année", "Vainqueur", "Deuxième", "Troisième","Classement par points", "Meilleur grimpeur", "Meilleur sprinteur", "Meilleur jeune", "Super-combatif", "Meilleur au combiné", "Meilleure équipe","Étapes volantes", "Régularité", "Meilleure équipe aux points",
"Fuga", "Azzurri d'Italia", "Néophyte", "Amateur","Nationalité"
},
listofwinners_women_translate={"Année", "Vainqueur", "Deuxième", "Troisième","Classement par points", "Meilleure grimpeuse", "Meilleure sprinteuse", "Meilleure jeune", "Super-combative", "Meilleure au combiné", "Meilleure équipe","Étapes volantes", "Régularité", "Meilleure équipe aux points","Fuga", "Azzurri d'Italia", "Néophyte", "Amateur","Nationalité"
},
riderranking_translate={"Année", "Classement UCI","UCI World Tour" ,"Coupe du monde", "UCI World Tour","UCI Europe Tour",
"UCI Asia Tour", "UCI Oceania Tour", "UCI America Tour", "UCI Africa Tour","Classement mondial","Calendrier mondial",
"UCI ProTour","Classement UCI","Coupe du monde","Super Prestige Pernod","Challenge Desgrange-Colombo"
},
riderranking_women_translate={"Année", "Classement UCI","UCI World Tour" ,"Coupe du monde", "UCI World Tour","UCI Europe Tour",
"UCI Asia Tour", "UCI Oceania Tour", "UCI America Tour", "UCI Africa Tour","Classement mondial","Calendrier mondial",
"UCI ProTour","Classement UCI","Coupe du monde","Super Prestige Pernod","Challenge Desgrange-Colombo"
},
func_prologue_translate={"Prologue"
},
black_list={
['Pierre Barbier']=true, ['Jessica Cutler']=true, ['Fernanda da Silva']=true, ['Guillaume Delvaux']=true, ['Willy De Waele']=true,
['Jules Dubois']=true, ['Jean Dupont']=true, ['Robert Fontaine']=true, ['René Fournier']=true, ['Pierre Gauthier']=true, ['Marc Goossens']=true,
['Claude Guyot']=true, ['Amy Hill']=true, ['Liang Hongyu']=true, ['Marcus Johansson']=true, ['Mathias Jørgensen']=true, ['José Mendoza']=true,
['Daniel Müller']=true, ['Henri Parmentier']=true, ['Jean Raynal']=true, ['Pascal Robert']=true, ['Jean-Yves Roy']=true, ['Michael Shermer']=true,
['Juris Silovs']=true, ['Jacques Simon']=true, ['Guy Thomas']=true, ['Ryan Thomas']=true, ['Hans Vonk']=true, ['Jan Wijnants']=true,
}
}
ghxprsbsu4lyb69e03yz64uodeqhyls
Module:Cycling race/data
828
91735
872997
2022-08-22T14:38:01Z
Psemdel
30544
Page créée avec « --Contains all constants for Module:Cycling race return { class_sort={["Q22231106"]='01', ["Q22231107"]='01', ["Q23005601"]='01', ["Q23005603"]='01', ["Q22231115"]='01', -- 1.UWT, 2.UWT, 1.WWT, 2.WWT, 2.Ncup ["Q22231114"]='02', ["Q22231109"]='03', ["Q22231108"]='04', ["Q22231112"]='05', ["Q22231110"]='06', -- 1.Ncup, 2.HC, 1.HC, 2.1, 1.1 ["Q22231113"]='07', ["Q22231117"]='07', ["Q22231111"]='08', ["Q22231116"]='08', ["Q22231119"]='09', --2.2, 2.2U, 1.2, 1.2... »
Scribunto
text/plain
--Contains all constants for Module:Cycling race
return
{
class_sort={["Q22231106"]='01', ["Q22231107"]='01', ["Q23005601"]='01', ["Q23005603"]='01', ["Q22231115"]='01', -- 1.UWT, 2.UWT, 1.WWT, 2.WWT, 2.Ncup
["Q22231114"]='02', ["Q22231109"]='03', ["Q22231108"]='04', ["Q22231112"]='05', ["Q22231110"]='06', -- 1.Ncup, 2.HC, 1.HC, 2.1, 1.1
["Q22231113"]='07', ["Q22231117"]='07', ["Q22231111"]='08', ["Q22231116"]='08', ["Q22231119"]='09', --2.2, 2.2U, 1.2, 1.2U, CN
["Q22231118"]='13', ["Q23015458"]='15', ["Q74275176"]='03', ["Q74275170"]='04' },
amateurcat={Q20639848=true,Q20652655=true,Q26849121=true},
nationalcat={Q23726798=true, Q20738667=true, Q54660600=true, Q54555994=true, Q99658502=true},
teamCats = {
Q6154783 = true, Q20638319 = true, Q382927 = true, Q1756006 = true, Q23726798 = true,
Q20738667 = true, Q28492441 = true, Q20639848 = true, Q20639847 = true, Q20652655 = true,
Q20653563 = true, Q20653564 = true, Q20653566 = true, Q2466826 = true, Q26849121 = true,
Q78464255 = true, Q80425135=true, Q54660600=true, Q54555994=true, Q99658502=true,
Q20653570=true
},
womenNcRoadtable= {Q934877=true, Q50064341=true,Q50061750=true,Q31271454=true,Q54315111=true,Q30894544=true,
Q66082905=true,Q65965631=true,Q45083914=true,Q31271492=true,Q43286073=true,Q55185740=true,Q65371835=true,
Q31094517=true,QQ27043949=true, Q30332924=true,Q30349395=true,Q53869580=true,Q31505332=true,Q30349364=true,
Q31271605=true,Q43745198=true,Q30332844=true,Q30332239=true,Q30349468=true, Q30332737=true,Q55221006=true,
Q32161692=true,Q33083546=true,Q30332988=true,Q30556990=true,Q32604159=true,Q30557561=true,Q64624273=true,
Q30333102=true, Q31271010=true,Q31276622=true,Q45084873=true,Q32609249=true,Q31271644=true,Q31298588=true,
Q45171831=true,Q30332625=true,Q30349432=true,Q31092105=true,Q30577809=true,Q30349499=true, Q45172931=true
},
womenNcITTtable={Q2630733=true,Q50063172=true,Q50062728=true,Q31271381=true,Q54314912=true,Q30894543=true,
QQ31093255=true,Q31271615=true,Q29642128=true,Q30349411=true,Q53869589=true,
Q31506358=true,Q30349371=true,Q31271315=true,Q43745136=true,Q30332806=true,
Q30332311=true,Q30349480=true,Q30332699=true,Q55220999=true,Q32163348=true,
Q33083817=true,Q30333018=true,Q30556121=true,Q32603438=true,Q30557504=true,
Q64624304=true,Q30333137=true,Q31271024=true,Q30456396=true,Q45084954=true,
Q32611136=true,Q31272638=true,Q31300263=true,Q45171898=true,Q30332486=true,
Q30349441=true,Q30584268=true,Q30577837=true,Q30349507=true,Q45172978=true
},
menNcRoadtable={Q13603535=true,Q30894537=true,Q23069702=true,Q23889469=true,
Q66250756=true, Q22284173=true, Q30967435=true, Q24617852=true, Q27043944=true,
Q24628140=true,Q27056312=true,Q62024698=true,Q26960669=true,Q22951216=true,
Q27048382=true,Q27133468=true,Q26971246=true,Q24621530=true,Q27048391=true,
Q27048399=true,Q27681895=true,Q27681898=true,Q27055629=true,Q26976092=true,
Q26985335=true,Q27048419=true,Q27043957=true,Q27055631=true,Q24050070=true,
Q26973043=true,Q27133456=true,Q26834056=true,Q27043924=true,Q27048374=true,
Q26972921=true,Q27043324=true,Q27056303=true,Q27042502=true,Q27042790=true,
Q27133451=true,Q27056305=true,Q24731826=true,Q27230607=true,Q22680990=true,
Q27043353=true,Q27048408=true,Q22303186=true,Q27042375=true,Q27133460=true,
Q27133465=true,Q22680842=true,Q27230606=true,Q27230610=true,Q26972715=true,
Q24718413=true,Q3754283=true,Q27230604=true,Q27043932=true,Q27230611=true,
Q24733085=true,Q27055624=true,Q24731406=true,Q27056308=true
},
menNcITTtable={Q2557477=true,Q33315723=true,Q22284183=true, Q31023710=true,
Q24618030=true, Q27043945=true,Q24628162=true,Q27056389=true,Q26960674=true,
Q5147941=true,Q27048383=true,Q27133626=true,Q26971248=true,Q24621627=true,
Q27793536=true,Q27048400=true,Q27793536=true,Q27793496=true,Q27055699=true,
Q26976108=true, Q26985336=true, Q27048421=true,Q27043958=true,Q27055700=true,
Q26973044=true,Q27133617=true,Q26834055=true,Q27043925=true,Q24050074=true,
Q27048375=true,Q26972922=true,Q27043325=true,Q27056383=true,Q27042506=true,
Q17319607=true,Q27133615=true,Q17005940=true,Q24731829=true,Q27235634=true,
Q22680998=true,Q3754388=true,Q27048410=true,Q22303252=true,Q27042376=true,
Q27133620=true,Q27133623=true,Q22680863=true,Q7382088=true,Q27235638=true,
Q26972716=true,Q24718416=true,Q27043341=true,Q27230443=true,Q27043933=true,
Q27235639=true,Q24733090=true,Q27055696=true,Q24731482=true,Q27056386=true
},
-- Class of a cycling race. Class is: 1.UWT, 2.UWT, 1.HC, ... add new classes, no problem
--0 = champ, 1= single day race, 2=stage race
class_dic = {
Q60669124=0, -- Am ("Q60669124)
Q60181400=0, -- NE ("Q60181400)
Q106636610=0, -- CDC ("Q106636610)
Q106636611=0, -- SPP ("Q106636611)
Q23015458=0, -- CDM ("Q23015458)
Q22231119=0, -- CN ("Q22231119)
Q22231118=0, -- CC ("Q22231118)
Q106636612=0, -- CM ("Q106636612)
Q18536594=0, -- Olympic games
Q22231110=1, -- 1.1 ("Q22231110)
Q22231111=1, -- 1.2 ("Q22231111)
Q30336909=1, -- 1.3 ("Q30336909)
Q30339152=1, -- 1.4 ("Q30339152)
Q98686837=1, -- 1.5 ("Q98686837)
Q106636603=1, -- 1.6 ("Q106636603)
Q60669131=1, -- 1.7.1 ("Q60669131)
Q106636613=1, -- 1.7.2 ("Q106636613)
Q106636614=1, -- 1.8 ("Q106636614)
Q106636615=1, -- 1.9.1 ("Q106636615)
Q106636616=1, -- 1.9.2 ("Q106636616)
Q22231116=1, -- 1.2U ("Q22231116)
Q22231114=1, -- 1.Ncup ("Q22231114)
Q22231108=1, -- 1.HC ("Q22231108)
Q74275170=1, -- 1.Pro ("Q74275170)
Q101069484=1, -- 1.PT ("Q101069484)
Q106637289=1, -- 1.HIS ("Q106637289)
Q22231106=1, -- 1.UWT ("Q22231106)
Q23005601=1, -- 1.WWT ("Q23005601)
Q22231112=2, -- 2.1 ("Q22231112)
Q22231113=2, -- 2.2 ("Q22231113)
Q101052391=2, -- 2.3 ("Q101052391)
Q101052353=2, -- 2.4 ("Q101052353)
Q29866603=2, -- 2.5 ("Q29866603)
Q101049923=2, -- 2.6 ("Q101049923)
Q106636604=2, -- 2.7.1 ("Q106636604)
Q106636606=2, -- 2.7.2 ("Q106636606)
Q106636607=2, -- 2.8 ("Q106636607)
Q106636608=2, -- 2.9.1 ("Q106636608)
Q106636609=2, -- 2.9.2 ("Q106636609)
Q22231117=2, -- 2.2U ("Q22231117)
Q22231115=2, -- 2.Ncup ("Q22231115)
Q22231109=2, -- 2.HC ("Q22231109)
Q74275176=2, -- 2.Pro ("Q74275176)
Q101052547=2, -- 2.PT ("Q101052547)
Q106637288=2, -- 2.HIS ("Q106637288)
Q22231107=2, -- 2.UWT ("Q22231107)
Q23005603=2, -- 2.WWT ("Q23005603)
},
UCI_Circuits = {
Q1194340=true, -- Europa
Q1063423=true, -- Asia
Q1063430=true, -- America
Q268357=true, -- Africa
Q1039648=true, -- Oceania
Q71580493=true, -- ProSeries
Q1060092=true, -- Challenge Desgrange-Colombo
Q27792093=true, -- Super Prestige Pernod
Q428019=true, -- Road World Rankings
Q786414=true, -- Road World Cup
Q1329578=true, -- ProTour
Q12270097=true, -- World Calendar
Q635366=true, -- World Tour
Q1693153=true, -- Women's Road World Rankings
Q21075974=true, -- Wonen World Tour
Q1517550=true, -- Women's Road World Cup
Q1536617=true, -- Under 23 Nations' Cup
Q2125347=true, -- Men Juniors Nations’ Cup
Q23306961=true -- Women Junior Nations’ Cup
},
stages = {
Q18131152=true,
Q20646667=true,
Q20646670=true,
Q20680270=true,
Q20646668=true,
Q20679712=true,
Q2348250=true,
Q2266066=true,
Q485321=true
},
standardtablecss_part1="border:1px solid rgb(200,200,200); color:black; margin:0 0 0.5em 0;"..
"background-color:rgb(255, 255, 255); padding:5px; clear:left; text-align:",
standardtablecss_part2="; font-size:85%; line-height:1.6em;",
bg_color_table = {
["Q24257871"] ="#FFFF99" , -- Jersey yellow.svg (General)
["Q24257763"] ="#FFC0CB" , -- Jersey pink.svg (General)
["Q24257872"] ="#FF8666" , -- Jersey red.svg (General)
["Q24687408"] ="#99CBFF" , -- Jersey blue.svg (General)
["Q24258056"] ="#FFD030" , -- Jersey orange.svg (General)
["Q26696171"] ="#FFFFFF" , -- Jersey white.svg (General)
["Q24258125"] ="#BFFF80" , -- Jersey green 2.svg (General)
["Q24257991"] ="#FFD030" , -- Jersey gold.svg (General)
["Q24645208"] ="#90EE90" , -- Jersey green.svg (General)
["Q26945271"] ="#90EE90" , -- MaillotVolta.png (General)
["Q26945272"] ="#BF80FF" , -- Jersey violet.svg (General)
["Q29982321"] ="#FFFF99" , -- Jersey combined.svg (General)
["Q29594434"] ="#87CEEB" , -- Jersey green lines volta.svg (General)
["Q30132459"] ="#FFFF99" , -- Jersey yellow-bluebar.svg (General)
["Q85230888"] ="#FFD030" , -- Jersey orange.svg (General Tour Colombia)
["Q24645209"] ="#90EE90" , -- Jersey green.svg (Points)
["Q25831179"] ="#FFFFFF" , -- Jersey white.svg (Points)
["Q26919974"] ="#FF8666" , -- Jersey red.svg (Points)
["Q24687409"] ="#99CBFF" , -- Jersey blue.svg (Points)
["Q25265938"] ="#BF80FF" , -- Jersey violet.svg (Points)
["Q641083"] ="#BF80FF" , -- Jersey violet.svg (Points), Giro
["Q27114205"] ="#C0C0C0" , -- Jersey black.svg (Points)
["Q28546656"] ="#FFFF99" , -- Jersey yellow.svg (Points)
["Q28820618"] ="#87CEEB" , -- MaillotCyan.PNG (Points)
["Q29982764"] ="#FFD030" , -- Jersey orange.svg (Points)
["Q43276992"] ="#FFC0CB" , -- Jersey pink.svg (Points)
["Q47945989"] ="#6495ED" , -- Jersey dark blue.svg (Points)
["Q56449834"] ="#E0FFFF" , -- Jersey blue dotted.png (Points)
["Q56449834"] ="#DDDDDD" , -- Jersey silver.svg (Points)
["Q65557843"] ="#FF8666" , -- Jersey red-blackdots.svg (Points)
["Q62471242"] ="#99CBFF" , -- Jersey blue lines volta.svg (Points)
["Q65665708"] ="#FFC0CB" , -- Jersey polkadot.svg (Points)
["Q25265958"] ="#FFC0CB" , -- Jersey polkadot.svg (Mountain)
["Q25265959"] ="#E0FFFF" , -- Jersey blue dotted.png (Mountain)
["Q25265960"] ="#FFC0CB" , -- Jersey climbing Dauphine.png (Mountain)
["Q27670178"] ="#FF8666" , -- Jersey red.svg (Mountain)
["Q27670182"] ="#90EE90" , -- Jersey green.svg (Mountain)
["Q27670174"] ="#FFD030" , -- Jersey orange.svg (Mountain)
["Q24790519"] ="#C0C0C0" , -- Jersey grey.svg (Mountain)
["Q27670105"] ="#C0C0C0" , -- Jersey blackdots.png (Mountain)
["Q28604413"] ="#99CBFF" , -- Jersey blue.svg (Mountain)
["Q25266023"] ="#F5DEB3" , -- Jersey brown.svg (Mountain)
["Q27670126"] ="#FF8666" , -- Jersey granate.svg (Mountain)
["Q25831602"] ="#FF69B4" , -- Jersey rosa.svg (Mountain)
["Q29168665"] ="#FFC0CB" , -- Jersey pink.svg (Mountain)
["Q29823248"] ="#FFFFFF" , -- Jersey white.svg (Mountain)
["Q28820591"] ="#F5DEB3" , -- Jersey red green.svg (Mountain)
["Q36859499"] ="#CCFFCC" , -- Jersey greendots.svg (Mountain)
["Q33060977"] ="#C0C0C0" , -- Jersey black.svg (Mountain)
["Q47537141"] ="#87CEEB" , -- MaillotCyan.PNG (Mountain)
["Q50822370"] ="#FFC0CB" , -- Jersey red lines volta.svg (Mountain)
["Q56246573"] ="#C0C0C0" , -- Jersey black white dotted.svg (Mountain)
["Q85231689"] ="#99CBFF" , -- Jersey blue.svg (Mountain)
["Q99864759"] ="#99CBFF" , -- Jersey white dots on light blue.svg (Mountain)
["Q64441563"] ="#99CBFF" , -- Jersey white dots on blue.svg (Mountain)
["Q26858731"] ="#FFFFFF" , -- Jersey white.svg (Combinated)
["Q28823004"] ="#FFFF99" , -- Jersey combined.svg (Combinated)
["Q28604421"] ="#FFD030" , -- Jersey orange.svg (Combinated)
["Q43098388"] ="#99CBFF" , -- Jersey blue.svg (Combinated)
["Q24790627"] ="#FF8666" , -- Jersey red.svg (Sprints)
["Q25831754"] ="#99CBFF" , -- Jersey blue.svg (Sprints)
["Q26806427"] ="#90EE90" , -- Jersey green.svg (Sprints)
["Q27478100"] ="#C0C0C0" , -- Jersey black.svg (Sprints)
["Q28060932"] ="#BF80FF" , -- Jersey violet.svg (Sprints)
["Q28483869"] ="#FFFF99" , -- Jersey yellow.svg (Sprints)
["Q33134180"] ="#FF69B4" , -- Jersey rosa.svg (Sprints)
["Q42532690"] ="#E0FFFF" , -- Jersey light blue.svg (Sprints)
["Q43278032"] ="#FFC0CB" , -- Jersey polkadot.svg (Sprints)
["Q47513277"] ="#FFFFFF" , -- Jersey white.svg (Sprints)
["Q64814800"] ="#C0C0C0" , -- Jersey grey.svg (Sprints)
["Q65614883"] ="#FFFFFF" , -- Jersey white-black strip.png (Sprints)
["Q50822390"] ="#FFD030" , -- Jersey orange lines volta.svg (Sprints)
["Q62471233"] ="#FFD030" , -- Jersey orange lines volta.svg (Best young)
["Q640430"] ="#FFFFFF" , -- Jersey white.svg (Best young)
["Q26919967"] ="#90EE90" , -- Jersey green.svg (Best young)
["Q26209148"] ="#99CBFF" , -- Jersey blue.svg (Best young)
["Q26696523"] ="#FFD030" , -- Jersey orange.svg (Best young)
["Q29229790"] ="#BF80FF" , -- Jersey violet.svg (Best young)
["Q29982765"] ="#FFC0CB" , -- Jersey pink.svg (Best young)
["Q33134078"] ="#FF8666" , -- Jersey red.svg (Best young)
["Q38929482"] ="#FFFF99" , -- Jersey yellow.svg (Best young)
["Q33026698"] ="#FF8666" , -- Jersey red.svg (Best young)
["Q56002706"] ="#87CEEB" , -- MaillotCyan.PNG (Best young)
["Q50822410"] ="#99CBFF" , -- Jersey blue lines volta.svg (Best young)
["Q85231184"] ="#FFFFFF" , -- Jersey white.svg (Best young)
["Q26953919"] ="#8FBC8F" , -- Jersey dark green.svg (Combativity)
["Q29957114"] ="#87CEEB" , -- MaillotCyan.PNG (Combativity)
["Q25265995"] ="#F5DEB3" , -- Jersey red green.svg (Combativity)
["Q29594765"] ="#C0C0C0" , -- Jersey black.svg (Combativity)
["Q30035039"] ="#FFD030" , -- Jersey orange.svg (Combativity)
["Q30035038"] ="#90EE90" , -- Jersey green.svg (Combativity)
["Q48691401"] ="#F2BC38" , -- Jersey Goldenrod.svg (Combativity)
["Q61710200"] ="#FF8666" , -- Jersey Red.svg (Combativity)
["Q31474628"] ="#99CBFF" , -- Jersey blue.svg (Nationality)
["Q27117411"] ="#FF8666" , -- Jersey red.svg (Best suisse)
["Q65935870"] ="#FFFFFF" , -- Jersey white.svg (Best suisse)
["Q27644112"] ="#FFFF99" , -- Jersey yellow number.svg (Team)
},
formats = {
[''] = { long = 'j F Y', small = 'j M', onlyday = 'j' },
ar = { long = 'j F Y', small = 'j F', onlyday = 'j' },
br = { long = 'j "a viz" F Y', small = 'j "a viz" M', onlyday = 'j' },
ca = { long = 'j "de" F "de" Y', small = 'j "de" M', onlyday = 'j' },
cs = { long = 'j. xg Y', small = 'j. M', onlyday = 'j' },
da = { long = 'j. F Y', small = 'j. M', onlyday = 'j.' }, -- copy of de
de = { long = 'j. F Y', small = 'j. M', onlyday = 'j.' },
eo = { long = 'j"-a de" F Y', small = 'j"-a de" M', onlyday = 'j' },
en = { long = 'F d, Y', small = 'M d', onlyday = 'd' },
es = { long = 'j "de" F "de" Y', small = 'j "de" M', onlyday = 'j' }, -- copy of ca
eu = { long = 'Y".eko" F"k" j', small = 'M"k" j', onlyday = 'j' },
fi = { long = 'j. F"ta" Y', small = 'j. M', onlyday = 'j.' },
fo = { long = 'j. F Y', small = 'j. M', onlyday = 'j.' }, -- copy of de
he = { long = 'j xg Y', small = 'j F', onlyday = 'j' },
hu = { long = 'Y. F j.', small = 'M. j.', onlyday = 'j.' },
ja = { long = 'Y年m月d日', small = 'm月d日', onlyday = 'd日' },
lb = { long = 'j. F Y', small = 'j. M', onlyday = 'j.' },
lv = { long = 'Y. "gada" j. F', small = 'j. M', onlyday = 'j.' },
ru = { long = 'j xg Y', small = 'j M', onlyday = 'j' },
no = { long = 'j. F Y', small = 'j. M', onlyday = 'j.' }, -- copy of de
},
UCImaster={["women"]='Q1693153', ['WWT']='Q21075974', ['WWC']='Q1517550',
["UWT"]='Q635366', ["europe"]='Q1194340', ["asia"]='Q1063423',
["oceania"]='Q1039648',["america"]='Q1063430' ,["africa"]='Q268357',
["WC"]='Q12270097', ['UPT']='Q1329578', --WC=world calendar, UPT= UCI pro tour
["WR"]='Q21857512', ["UCImen"]="Q428019", ["WCmen"]="Q786414",
["Pernod"]="Q481804",["Desgrange"]="Q1060092"
},
UCIYearToQ={
--world ranking, since 2015
["WR"]= { -- Q21857512
['2021']='Q105130221', ['2020']='Q97367360',['2019']='Q60964153',
['2018']='Q47517245', ['2017']='Q30750603',['2016']='Q23056287'
},
--world tour
["UWT"] = { -- Q635366
['2022']='Q106203911', ['2021']='Q97926291', ['2020'] = 'Q66739340',
['2019'] = 'Q56966729',['2018'] = 'Q42317185',['2017'] = 'Q21857932',
['2016'] = 'Q20970765',['2015'] = 'Q18192726',['2014'] = 'Q14979277',
['2013'] = 'Q1031504',['2012'] = 'Q849059', ['2011'] = 'Q849092',
},
["europe"] = { -- Q1194340
['2022']='Q108920739', ['2021']= 'Q103964987', ['2020'] = 'Q74842812',
['2019'] = 'Q59307576',['2018'] = 'Q44497477',['2017'] = 'Q27915850',
['2016'] = 'Q21029681',['2015'] = 'Q18342122',['2014'] = 'Q15041668',
['2013'] = 'Q1280387',['2012'] = 'Q961709',['2011'] = 'Q751208',
['2010'] = 'Q212197',['2009'] = 'Q1811548',['2008'] = 'Q1788011',
['2007'] = 'Q1780660',['2006'] = 'Q1455600',['2005'] = 'Q1431816'
},
["asia"] = { -- Q1063423
['2022']='Q109000605', ['2021']='Q104212767', ['2020'] = 'Q74121688',
['2019'] = 'Q57267783',['2018'] = 'Q42204070',['2017'] = 'Q27679728',
['2016'] = 'Q21622227',['2015'] = 'Q18341318',['2014'] = 'Q15041671',
['2013'] = 'Q1606048',['2012'] = 'Q2117797',['2011'] = 'Q633349',
['2010'] = 'Q630798',['2009'] = 'Q565160',['2008'] = 'Q1506934',
['2007'] = 'Q966011',['2006'] = 'Q459817',['2005'] = 'Q469479',
},
["america"] = { -- Q1063430
['2022']='Q109237212', ['2021']='Q104188809',['2020'] = 'Q73175384',
['2019'] = 'Q57267780',['2018'] = 'Q42199340',['2017'] = 'Q27704415',
['2016'] = 'Q21621040',['2015'] = 'Q18413668',['2014'] = 'Q15041669',
['2013'] = 'Q129177',['2012'] = 'Q1239608',['2011'] = 'Q1849269',
['2010'] = 'Q1303982',['2009'] = 'Q1536927',['2008'] = 'Q31716',
['2007'] = 'Q31714',['2006'] = 'Q1429246',['2005'] = 'Q1431880',
},
["africa"] = { -- Q268357
['2022']='Q110375456', ['2021']= 'Q102251504', ['2020'] = 'Q74124131',
['2019'] = 'Q57267785',['2018'] = 'Q42202027',['2017'] = 'Q27679848',
['2016'] = 'Q21622217',['2015'] = 'Q18342124', ['2014'] = 'Q15041670',
['2013'] = 'Q327399', ['2012'] = 'Q2296721',['2011'] = 'Q1386870',
['2010'] = 'Q2067266', ['2009'] = 'Q1812465',['2008'] = 'Q676684',
['2007'] = 'Q1436886', ['2006'] = 'Q1758917',['2005'] = 'Q1759404',
},
["oceania"] = { -- Q1039648
['2022']='Q110263933', ['2021']='Q104218422',['2020'] = 'Q74843575',
['2019'] = 'Q59310280',['2018'] = 'Q42205000', ['2017'] = 'Q27887426',
['2016'] = 'Q21559636',['2015'] = 'Q18413671', ['2014'] = 'Q15246814',
['2013'] = 'Q129134',['2012'] = 'Q1591132', ['2011'] = 'Q2298207',
['2010'] = 'Q665283',['2009'] = 'Q964517', ['2008'] = 'Q1788621',
['2007'] = 'Q1473640',['2006'] = 'Q1429165', ['2005'] = 'Q937636',
},
["WWT"] = {
['2022']='Q107093611', ['2021']='Q101436794', ['2020'] = 'Q70443700',
['2019'] = 'Q57277246', ['2018'] = 'Q41787783', ['2017'] = 'Q27431192',
['2016'] = 'Q21034783',
},
["women"] = { --UCI women
['2022']='Q109975945', ['2021']='Q103982710', ['2020'] = 'Q74127378',
['2019'] = 'Q57267790', ['2018'] = 'Q47005682', ['2017'] = 'Q27765666',
['2016'] = 'Q22696468', ['2015'] = 'Q18348936', ['2014'] = 'Q15831496',
['2013'] = 'Q6425932', ['2012'] = 'Q2466796', ['2011'] = 'Q2466792',
['2010'] = 'Q2933831', ['2009'] = 'Q2933830', ['2008'] = 'Q2933828',
['2007'] = 'Q3650627', ['2006'] = 'Q16154659',['2005'] = 'Q17000868',
['2004'] = 'Q16154608',['2003'] = 'Q97776002',['2002'] = 'Q97776065',
['2001'] = 'Q97776121',['2000'] = 'Q97776177',['1999'] = 'Q97776227'
},
["Pro"] = {
['2022']='Q108913985', ['2021']='Q101371171', ['2020'] = 'Q74279750',
},
["WWC"] = { ['2015']='Q18589848', ['2014']='Q15076094', ['2013']='Q3000659',
['2012']='Q326406',['2011']='Q326401', ['2010']='Q120210',
['2009']='Q326012',['2008']='Q326006',['2007']='Q326001',
['2006']='Q325995',['2005']='Q127681',['2004']='Q80792',
['2003']='Q16451', ['2002']='Q746107', ['2001']='Q979663',
['2000']='Q44096',['1999']='Q44095', ['1998']='Q39077'
}, --missing men WC, UCI men ranking
["WC"]={
['2010']='Q629591', ['2009']='Q926131'
},
["UPT"]={
['2010']='Q644382', ['2009']='Q2466872', --2010 and before is pro tour
['2008']='Q1472589',['2007']='Q667654', ['2006']='Q1490763',
['2005']='Q388600'
},
["UCImen"]={
['1984']="Q2976079", ['1985']="Q2976078", ['1986']="Q2976080",
['1987']="Q2976083", ['1988']="Q2976085", ['1989']="Q2976086",
['1990']="Q2976088", ['1991']="Q2976089", ['1992']="Q2976092",
['1993']="Q53843867", ['1994']="Q53844929", ['1995']="Q53844930",
['1996']="Q53844931", ['1997']="Q53844932", ['1998']="Q53844933",
['1999']="Q53844934", ['2000']="Q53844936", ['2001']="Q53844937",
['2002']="Q53844939", ['2003']="Q53844940", ['2004']="Q53844942",
},
["WCmen"]= {
["1989"]="Q2033019",["1990"]="Q2032964",["1991"]="Q2033000",
["1992"]="Q576817", ['1993']="Q1110391", ['1994']="Q1518208",
['1995']="Q1518196", ['1996']="Q538613", ['1997']="Q382630",
['1998']="Q1514635", ['1999']="Q826357", ['2000']="Q826543",
['2001']="Q826375", ['2002']="Q432453", ['2003']="Q1809220",
['2004']="Q1808779"
},
["Pernod"]={
["1959"]="Q27792196", ["1960"]="Q27792197",["1961"]="Q27792200",
["1962"]="Q27792201", ["1963"]="Q27792202",["1964"]="Q27792206",
["1965"]="Q27792208", ["1966"]="Q27792209",["1967"]="Q27792211",
["1968"]="Q27792213", ["1969"]="Q27792214", ["1970"]="Q27792216",
["1971"]="Q27792218", ["1972"]="Q27792219", ["1973"]="Q27792221",
["1974"]="Q27792223", ["1975"]="Q27792225", ["1976"]="Q27792227",
["1977"]="Q27792229", ["1978"]="Q27792231", ["1979"]="Q27792234",
["1980"]="Q27792236", ["1981"]="Q27792237", ["1982"]="Q27792241",
["1983"]="Q27792242", ["1984"]="Q27792245", ["1985"]="Q27792246",
["1986"]="Q27792248", ["1987"]="Q27792250"
},
["Desgrange"]={
['1948']="Q2395083", ["1949"]="Q2081502", ["1950"]="Q19787432",
["1951"]="Q19848484",["1952"]="Q19848483",["1953"]="Q19818874",
["1954"]="Q19848485",["1955"]="Q19848486",["1956"]="Q19848487",
["1957"]="Q19848490",["1958"]="Q19848488"
}
},
NationalRoadCyclingChampionships={
["women"] = {
['2022']= 'Q110548921',
['2021']= 'Q104304845', ['2020']='Q78466304', ['2019'] = 'Q66362617',
['2018'] = 'Q66762475', ['2017'] = 'Q66762546', ['2016'] = 'Q66762540',
['2015'] = 'Q66762534', ['2014'] = 'Q66762524', ['2013'] = 'Q66762521',
['2012'] = 'Q66762511', ['2011'] = 'Q66762500', ['2010'] = 'Q66762491'
},
--"men" missing
},
NationalITTCyclingChampionships={
["women"] = {
['2022']= 'Q110548922',
['2021']= 'Q104305086', ['2020'] = 'Q78466572', ['2019'] = 'Q66736271',
['2018'] = 'Q66762631', ['2017'] = 'Q66762614', ['2016'] = 'Q66762604',
['2015'] = 'Q66762597', ['2014'] = 'Q66762592', ['2013'] = 'Q66762584',
['2012'] = 'Q66762578', ['2011'] = 'Q66762569', ['2010'] = 'Q66762562'
},
--"men" missing
}
}
q76excib2vqly6uxw8t5e9tlh1tbm02
Discussion:Le Sénat examine à nouveau la loi SRU qui instaure 20% de logements sociaux
1
91736
872999
2022-08-22T15:43:12Z
192.134.132.9
/* calandrier */ nouvelle section
wikitext
text/x-wiki
== calandrier ==
calendrier [[Spécial:Contributions/192.134.132.9|192.134.132.9]] 22 août 2022 à 15:43 (UTC)
qx89sfsu0y8m1df55ac2j6mmg8asuei
Discussion:Vallée d'Aoste : publication du calendrier des Batailles de reines pour 2022
1
91737
873000
2022-08-22T15:47:21Z
Wisdood
34834
/* le site italien comporte une erreur */ nouvelle section
wikitext
text/x-wiki
== le site italien comporte une erreur ==
calandrier, au lieu de calendrier... [[Utilisateur:Wisdood|Wisdood]] ([[Discussion utilisateur:Wisdood|discussion]]) 22 août 2022 à 15:47 (UTC)
roucrerti4wf0rfxr0k5rlxp8h7zfiv
France : l’hôpital de Corbeil-Essonnes touché par une cyberattaque
0
91738
873001
2022-08-22T17:21:05Z
Wyslijp16
45738
Page créée avec « {{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’hôpital de [[w:Corbeil-Essonnes|Corbeil-Essonnes]] ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulés une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier. L’hôpital a déclenché u... »
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’hôpital de [[w:Corbeil-Essonnes|Corbeil-Essonnes]] ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulés une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|Ministère de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
6pt061ukrg2zy4u6d94teu2lr2cucns
873004
873001
2022-08-22T18:27:09Z
Wyslijp16
45738
Ajout de catégories
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’hôpital de [[w:Corbeil-Essonnes|Corbeil-Essonnes]] ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulés une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|Ministère de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
[[Catégorie:Europe]]
[[Catégorie:France]]
[[Catégorie:Île-de-France]]
[[Catégorie:Essonne]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Santé]]
[[Catégorie:Informatique]]
[[Catégorie:Piratage informatique]]
68gokg82e4le680exuesf3oi3c9e25x
873033
873004
2022-08-22T19:59:26Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’hôpital de [[w:Corbeil-Essonnes|Corbeil-Essonnes]] ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulés une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|Ministère de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
{{Relecture}}
[[Catégorie:Europe]]
[[Catégorie:France]]
[[Catégorie:Île-de-France]]
[[Catégorie:Essonne]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Santé]]
[[Catégorie:Informatique]]
[[Catégorie:Piratage informatique]]
bg60zy48qh6eu3ct63zxfcs5lb3dfcu
873035
873033
2022-08-22T20:49:54Z
Topelie
49489
Avec l'auxiliaire "avoir", le participe de passé ne s'accorde pas avec le sujet sauf si le COD est placé avant l'auxiliaire "avoir".
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’hôpital de [[w:Corbeil-Essonnes|Corbeil-Essonnes]] ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulé une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|Ministère de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
{{Relecture}}
[[Catégorie:Europe]]
[[Catégorie:France]]
[[Catégorie:Île-de-France]]
[[Catégorie:Essonne]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Santé]]
[[Catégorie:Informatique]]
[[Catégorie:Piratage informatique]]
kbjjud8w7s4k5lzbkg5wzgw2ckkiiow
873036
873035
2022-08-22T21:00:37Z
Topelie
49489
vu que c'est Braun
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’hôpital de [[w:Corbeil-Essonnes|Corbeil-Essonnes]] ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulé une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|ministre de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
{{Relecture}}
[[Catégorie:Europe]]
[[Catégorie:France]]
[[Catégorie:Île-de-France]]
[[Catégorie:Essonne]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Santé]]
[[Catégorie:Informatique]]
[[Catégorie:Piratage informatique]]
doa9ye3kn19ul4rbgi36k4my0eiyzac
873038
873036
2022-08-22T21:05:01Z
Topelie
49489
wikilien
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’{{W|hôpital de Corbeil-Essonnes}} ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulé une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|ministre de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
{{Relecture}}
[[Catégorie:Europe]]
[[Catégorie:France]]
[[Catégorie:Île-de-France]]
[[Catégorie:Essonne]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Santé]]
[[Catégorie:Informatique]]
[[Catégorie:Piratage informatique]]
dtlraub7ihvkr8jx48xjpzavrdmhk1y
873056
873038
2022-08-23T08:12:23Z
Geralix
9251
Bon à publier.
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’{{W|hôpital de Corbeil-Essonnes}} ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulé une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|ministre de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
{{Publication|jour=23|mois=août|année=2022}}
[[Catégorie:Europe]]
[[Catégorie:France]]
[[Catégorie:Île-de-France]]
[[Catégorie:Essonne]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Santé]]
[[Catégorie:Informatique]]
[[Catégorie:Piratage informatique]]
fsbobkbcy5rxhp80x2n2sc2d7lk7f7j
873057
873056
2022-08-23T08:19:51Z
Geralix
9251
Annulation des modifications 873056 de [[Special:Contributions/Geralix|Geralix]] ([[User talk:Geralix|d]]) : c'est plus compliqué que Wikipédia.
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’{{W|hôpital de Corbeil-Essonnes}} ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulé une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|ministre de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
{{Relecture}}
[[Catégorie:Europe]]
[[Catégorie:France]]
[[Catégorie:Île-de-France]]
[[Catégorie:Essonne]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Santé]]
[[Catégorie:Informatique]]
[[Catégorie:Piratage informatique]]
dtlraub7ihvkr8jx48xjpzavrdmhk1y
873058
873057
2022-08-23T08:21:33Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Date|22 août 2022}}Le '''dimanche 21 août 2022 vers 1h''', l’{{W|hôpital de Corbeil-Essonnes}} ([[w:Essonne|Essonne]]) a été victime d'une [[w:Cyberattaque|cyberattaque]], le ou les pirates ont formulé une demande de rançon de 10 millions de dollars en anglais. Le système informatique est toujours bloqué et une enquête a été ouverte. Le piratage perturbe gravement l’activité du centre hospitalier.
L’hôpital a déclenché un [[w:Plan Orsan|plan blanc]]. L’établissement a indiqué dans un communiqué que {{Citation|cette attaque rend pour l’heure inaccessible tous les logiciels métiers de l’hôpital, les systèmes de stockage (notamment d’imagerie médicale) et le système d’information ayant trait aux admissions de la patientèle}}. L’[[w:Agence nationale de la sécurité des systèmes d'information|Agence nationale en matière de sécurité et de défense des systèmes d’information]] (Anssi) a été {{Citation|rapidement saisie par la cellule de crise}}, a souligné le centre hospitalier, ajoutant par la suite les modes de prise en charge de la patientèle. Dans le communiqué, l’établissement rassure, {{Citation|Cette attaque n’impacte pas le fonctionnement et la sécurité du bâtiment hospitalier, tous les réseaux restent en activité (téléphone à l’exception du fax, flux automatisés de distribution, etc.). L'établissement met tout en œuvre pour maintenir les soins ambulatoires.}} Les patients qui nécessitent l’accès au plateau technique ont été réorientés vers des hôpitaux publics d’[[w:Île-de-France|Île-de-France]].
Depuis plus de 24 heures, les soignants sont contraints de tout gérer sur papier. {{Citation|L’activité du bloc opératoire a été aussi fortement ralentie. Certaines opérations ont même dû être déprogrammées. Une enquête a été ouverte par le paquet de Paris.}}, rapporte la journaliste Valentine Meyer à [[w:France Info (offre globale)|franceinfo]]. Pour l'heure, les magistrats attendent les premiers rapports des spécialistes de l'Anssi. Leurs analyses sur le type, la nature ainsi que la portée du [[w:Rançongiciel|rançongiciel]] permettront aux enquêteurs d'orienter leurs investigations. Les investigations ont également été confiées aux gendarmes du [[w:Centre de lutte contre les criminalités numériques|Centre de lutte contre les criminalités numériques]] (C3N).
Le 22 août 2022, le [[w:Ministère de la Santé (France)|ministre de la Santé et de la Prévention]], [[w:François Braun|François Braun]], a commenté la situation sur Twitter, {{Citation|Je suis de près la situation au Centre hospitalier Sud Francilien de Corbeil-Essonnes, touché par une cyberattaque. C’est un acte inqualifiable, ses auteurs seront poursuivis. Plein soutien aux équipes mobilisées pour la sécurité & la continuité de prise en charge des patients.}}.
== Sources ==
* {{Source
| langue = fr
| url = https://www.francetvinfo.fr/internet/securite-sur-internet/cyberattaques/cyberattaque-lhopital-de-corbeil-essonnes-touche_5320474.html
| titre = Cyberattaque : l’hôpital de Corbeil-Essonnes touché
| publication = francetvinfo.fr
| date = 22 août 2022
| auteur = Valentine Meyer
}}
* {{Source
| langue = fr
| url = https://www.20minutes.fr/paris/3339831-20220822-corbeil-essonnes-centre-hospitalier-victime-cyberattaque
| titre = Corbeil-Essonnes : Le centre hospitalier victime d’une cyberattaque
| publication = 20Minutes
| date = 22 août 2022
}}
* {{Source
| langue = fr
| url = https://rmc.bfmtv.com/actualites/police-justice/corbeil-l-hopital-sud-francilien-victime-d-une-cyberattaque_AN-202208220020.html
| titre = CORBEIL: L'HÔPITAL SUD FRANCILIEN VICTIME D'UNE CYBERATTAQUE
| publication = BFM TV
| date = 22 août 2022
| auteur = Guillaume Biet et Guillaume Descours
}}
* {{Source
| langue = fr
| url = https://www.tf1info.fr/justice-faits-divers/attaque-informatique-des-hackers-demandent-10-millions-de-dollars-au-centre-hospitalier-de-corbeil-essonnes-cyberattaque-a-l-hopital-2229973.html
| titre = Attaque informatique : des hackers demandent 10 millions de dollars au centre hospitalier de Corbeil-Essonnes
| publication = TF1
| date = 22 août 2022
}}
{{Relecture urgente}}
[[Catégorie:Europe]]
[[Catégorie:France]]
[[Catégorie:Île-de-France]]
[[Catégorie:Essonne]]
[[Catégorie:Corbeil-Essonnes]]
[[Catégorie:Santé]]
[[Catégorie:Informatique]]
[[Catégorie:Piratage informatique]]
2m0s9fpaz19w25g6ejwnucg8fda45vc
Catégorie:Corbeil-Essonnes
14
91739
873013
2022-08-22T18:48:40Z
Wyslijp16
45738
Page créée avec « {{Topic cat}} [[Catégorie:Essonne]] [[Catégorie:Ville française]] »
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Essonne]]
[[Catégorie:Ville française]]
0w4q91efmp9zrkx7r8izwj17qkbbk5o
Catégorie:Saint-Étienne-le-Laus
14
91740
873018
2022-08-22T19:37:49Z
Wyslijp16
45738
Page créée avec « {{Topic cat}} [[Catégorie:Provence-Alpes-Côte d’Azur]] [[Catégorie:Ville française]] »
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Provence-Alpes-Côte d’Azur]]
[[Catégorie:Ville française]]
owo7drbzgtmo7oxukd4m8dk0mh1dwdj
873019
873018
2022-08-22T19:39:45Z
Wyslijp16
45738
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Provence-Alpes-Côte d'Azur]]
[[Catégorie:Ville française]]
ipk66rzojexotrjxz57i6oq9vndu9y7
Catégorie:Firminy
14
91741
873020
2022-08-22T19:40:53Z
Wyslijp16
45738
Page créée avec « {{Topic cat}} [[Catégorie:Auvergne-Rhône-Alpes]] [[Catégorie:Ville française]] »
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Auvergne-Rhône-Alpes]]
[[Catégorie:Ville française]]
mnb0xg82hyhe4ps532ru9sk1v1o46er
Catégorie:Maubeuge
14
91742
873022
2022-08-22T19:45:15Z
Wyslijp16
45738
Page créée avec « {{Topic cat}} [[Catégorie:Hauts-de-France]] [[Catégorie:Ville française]] »
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Hauts-de-France]]
[[Catégorie:Ville française]]
1o54agnt9k3vwegubwb7stz7sgjbgt4
Catégorie:Scionzier
14
91743
873024
2022-08-22T19:48:37Z
Wyslijp16
45738
Page créée avec « {{Topic cat}} [[Catégorie:Auvergne-Rhône-Alpes]] [[Catégorie:Ville française]] »
wikitext
text/x-wiki
{{Topic cat}}
[[Catégorie:Auvergne-Rhône-Alpes]]
[[Catégorie:Ville française]]
mnb0xg82hyhe4ps532ru9sk1v1o46er
Discussion:France : l’hôpital de Corbeil-Essonnes touché par une cyberattaque
1
91744
873039
2022-08-22T21:22:41Z
Topelie
49489
/* Photo d'un bâtiment protégé par le droit d'auteur */ nouvelle section
wikitext
text/x-wiki
== Photo d'un bâtiment protégé par le droit d'auteur ==
@[[Utilisateur:JackPotte|JackPotte]], @[[Utilisateur:SleaY|SleaY]] : j'aimerai mettre « [[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]] »
que l'on trouve ici : https://fr.wikipedia.org/wiki/Fichier:CHSF_20130407_125352.jpg
mais c'est indiqué : « Attention : Un fichier avec ce bandeau ne peut pas être transféré sur Wikimedia Commons car la politique sur les copyrights de Commons est plus restrictive. Le fichier y serait donc supprimé. »
quid de wikinews ? je pense que c'est plutôt comme WP que Commons, mais dans le doute, je prefère demmander. [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 21:22 (UTC)
63k5ve0usebuvqathjoahlhdk64sr4e
873040
873039
2022-08-22T21:24:01Z
Topelie
49489
/* Photo d'un bâtiment protégé par le droit d'auteur */
wikitext
text/x-wiki
== Photo d'un bâtiment protégé par le droit d'auteur ==
@[[Utilisateur:JackPotte|JackPotte]], @[[Utilisateur:SleaY|SleaY]] : j'aimerai mettre « [[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]] <nowiki>[[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]]</nowiki> »
que l'on trouve ici : https://fr.wikipedia.org/wiki/Fichier:CHSF_20130407_125352.jpg
mais c'est indiqué : « Attention : Un fichier avec ce bandeau ne peut pas être transféré sur Wikimedia Commons car la politique sur les copyrights de Commons est plus restrictive. Le fichier y serait donc supprimé. »
quid de wikinews ? je pense que c'est plutôt comme WP que Commons, mais dans le doute, je prefère demmander. [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 21:22 (UTC)
o66ndyoclf50i14grsllkflyccvjtgp
873041
873040
2022-08-22T21:24:59Z
Topelie
49489
/* Photo d'un bâtiment protégé par le droit d'auteur */
wikitext
text/x-wiki
== Photo d'un bâtiment protégé par le droit d'auteur ==
@[[Utilisateur:JackPotte|JackPotte]], @[[Utilisateur:SleaY|SleaY]] : j'aimerai mettre « [[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]] <nowiki>[[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]]</nowiki> »
que l'on trouve ici : https://fr.wikipedia.org/wiki/Fichier:CHSF_20130407_125352.jpg
mais c'est indiqué : « Attention : Un fichier avec ce bandeau ne peut pas être transféré sur Wikimedia Commons car la politique sur les copyrights de Commons est plus restrictive. Le fichier y serait donc supprimé. »
quid de wikinews ? je pense que c'est plutôt comme WP que Commons, mais dans le doute, je prefère demander. [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 21:22 (UTC)
ma5659g2qumi4yq6qrr71qu0vzoisi3
873042
873041
2022-08-22T21:31:50Z
SleaY
14056
réponse
wikitext
text/x-wiki
== Photo d'un bâtiment protégé par le droit d'auteur ==
@[[Utilisateur:JackPotte|JackPotte]], @[[Utilisateur:SleaY|SleaY]] : j'aimerai mettre « [[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]] <nowiki>[[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]]</nowiki> »
que l'on trouve ici : https://fr.wikipedia.org/wiki/Fichier:CHSF_20130407_125352.jpg
mais c'est indiqué : « Attention : Un fichier avec ce bandeau ne peut pas être transféré sur Wikimedia Commons car la politique sur les copyrights de Commons est plus restrictive. Le fichier y serait donc supprimé. »
quid de wikinews ? je pense que c'est plutôt comme WP que Commons, mais dans le doute, je prefère demander. [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 21:22 (UTC)
:{{mention|Topelie}} Tout d'abord, l'hébergement de fichiers est techniquement impossible sur Wikinews en français. Concernant le côté légal, je m'y connais peu, mais je crois qu'une prise de décision concernant l'adoption du ''fair use'' serait suffisant. --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 22 août 2022 à 21:31 (UTC)
a8bm4b8dn5qrtaqip2n65sq3wqaa1cj
873043
873042
2022-08-22T21:33:17Z
SleaY
14056
retouche de la modification précédente
wikitext
text/x-wiki
== Photo d'un bâtiment protégé par le droit d'auteur ==
@[[Utilisateur:JackPotte|JackPotte]], @[[Utilisateur:SleaY|SleaY]] : j'aimerai mettre « [[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]] <nowiki>[[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]]</nowiki> »
que l'on trouve ici : https://fr.wikipedia.org/wiki/Fichier:CHSF_20130407_125352.jpg
mais c'est indiqué : « Attention : Un fichier avec ce bandeau ne peut pas être transféré sur Wikimedia Commons car la politique sur les copyrights de Commons est plus restrictive. Le fichier y serait donc supprimé. »
quid de wikinews ? je pense que c'est plutôt comme WP que Commons, mais dans le doute, je prefère demander. [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 21:22 (UTC)
:{{mention|Topelie}} Tout d'abord, l'hébergement de fichiers est techniquement impossible sur Wikinews en français. Ensuite, concernant le côté légal, je m'y connais peu, mais je crois qu'une prise de décision concernant l'adoption du ''fair use'' serait suffisant. --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 22 août 2022 à 21:31 (UTC)
ji13uachev1ciat0tzxkrt3vufc8rgj
873046
873043
2022-08-22T23:06:14Z
Topelie
49489
/* Photo d'un bâtiment protégé par le droit d'auteur */ Réponse
wikitext
text/x-wiki
== Photo d'un bâtiment protégé par le droit d'auteur ==
@[[Utilisateur:JackPotte|JackPotte]], @[[Utilisateur:SleaY|SleaY]] : j'aimerai mettre « [[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]] <nowiki>[[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]]</nowiki> »
que l'on trouve ici : https://fr.wikipedia.org/wiki/Fichier:CHSF_20130407_125352.jpg
mais c'est indiqué : « Attention : Un fichier avec ce bandeau ne peut pas être transféré sur Wikimedia Commons car la politique sur les copyrights de Commons est plus restrictive. Le fichier y serait donc supprimé. »
quid de wikinews ? je pense que c'est plutôt comme WP que Commons, mais dans le doute, je prefère demander. [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 21:22 (UTC)
:{{mention|Topelie}} Tout d'abord, l'hébergement de fichiers est techniquement impossible sur Wikinews en français. Ensuite, concernant le côté légal, je m'y connais peu, mais je crois qu'une prise de décision concernant l'adoption du ''fair use'' serait suffisant. --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 22 août 2022 à 21:31 (UTC)
::Merci [[Utilisateur:SleaY|SleaY]], mais à l'exception des wikis locaux, « les fichiers multimédias "fair use" ne sont pas autorisés sur Wikimedia Commons » (source : https://commons.wikimedia.org/wiki/Commons:Fair_use).
::J'ai posé la question sur le bistro de Commons : https://commons.wikimedia.org/wiki/Commons:Bistro#Mettre_une_photo_d'un_b%C3%A2timent_prot%C3%A9g%C3%A9_par_le_droit_d'auteur_de_fr.wikipedia_sur_fr.wikinews [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 23:06 (UTC)
i1vsvr4710bwmollpkerx6ncgjbxwah
873052
873046
2022-08-23T02:28:40Z
SleaY
14056
/* Photo d'un bâtiment protégé par le droit d'auteur */
wikitext
text/x-wiki
== Photo d'un bâtiment protégé par le droit d'auteur ==
@[[Utilisateur:JackPotte|JackPotte]], @[[Utilisateur:SleaY|SleaY]] : j'aimerai mettre « [[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]] <nowiki>[[Fichier:CHSF 20130407 125352.jpg|alt=Le centre hospitalier sud francilien. (hôpital de Corbeil-Essonnes).|vignette|Le centre hospitalier sud francilien (hôpital de Corbeil-Essonnes).]]</nowiki> »
que l'on trouve ici : https://fr.wikipedia.org/wiki/Fichier:CHSF_20130407_125352.jpg
mais c'est indiqué : « Attention : Un fichier avec ce bandeau ne peut pas être transféré sur Wikimedia Commons car la politique sur les copyrights de Commons est plus restrictive. Le fichier y serait donc supprimé. »
quid de wikinews ? je pense que c'est plutôt comme WP que Commons, mais dans le doute, je prefère demander. [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 21:22 (UTC)
:{{mention|Topelie}} Tout d'abord, l'hébergement de fichiers est techniquement impossible sur Wikinews en français. Ensuite, concernant le côté légal, je m'y connais peu, mais je crois qu'une prise de décision concernant l'adoption du ''fair use'' serait suffisant. --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 22 août 2022 à 21:31 (UTC)
::Merci [[Utilisateur:SleaY|SleaY]], mais à l'exception des wikis locaux, « les fichiers multimédias "fair use" ne sont pas autorisés sur Wikimedia Commons » (source : https://commons.wikimedia.org/wiki/Commons:Fair_use).
::J'ai posé la question sur le bistro de Commons : https://commons.wikimedia.org/wiki/Commons:Bistro#Mettre_une_photo_d'un_b%C3%A2timent_prot%C3%A9g%C3%A9_par_le_droit_d'auteur_de_fr.wikipedia_sur_fr.wikinews [[Utilisateur:Topelie|Topelie]] ([[Discussion utilisateur:Topelie|discussion]]) 22 août 2022 à 23:06 (UTC)
:::Quoi qu'il en soit, c'est possible de le faire sur Wikinews en anglais ([https://en.wikinews.org/w/index.php?title=Special:Upload&wpDestFile=A voir ici]) --[[Utilisateur:SleaY|'''S'''<small>l''e''a</small>Y]] ([[Discussion utilisateur:SleaY|discuter]]) 23 août 2022 à 02:28 (UTC)
cn3e4ur6x3qc4tvlmtypxin3mizmmjk
The Witcher video Game
0
91745
873053
2022-08-23T04:27:00Z
YWWBrooks14205
49763
Page créée avec « <br> It's best to observe that just a few of those games may not be the appropriate ones for teenagers as a result of extreme violence inside them. In a sport where you're changing your deck and recruiting quite a few cards, it all starts to seem familiar and thus, repetitive. Six plays, normally this could be a very good thing, any recreation that warrants six performs in such a short while is a positive, but I simply don’t feel as constructive about it now as... »
wikitext
text/x-wiki
<br> It's best to observe that just a few of those games may not be the appropriate ones for teenagers as a result of extreme violence inside them. In a sport where you're changing your deck and recruiting quite a few cards, it all starts to seem familiar and thus, repetitive. Six plays, normally this could be a very good thing, any recreation that warrants six performs in such a short while is a positive, but I simply don’t feel as constructive about it now as I did at first. But after six performs, it really appears like I am simply doing the same factor each play, and at the moment where "replayability" is every little thing, Fort has started to fall in need of its mark for one cause. It’s an excellent thing for probably the most half, however it's hindrance to the simplicity of the sport. Charlie Gleason: People are actually participating with this tiny thing. Among my teams that have performed, there are clearly most well-liked fits as nicely. Make one thing that is actually fascinating for a pair performs, after which hope that there is sufficient within the field to keep of us involved till the new [https://www.thefreedictionary.com/expansion expansion] or deck of cards comes out to rekindle the excitment.<br><br><br><br> Forge of Empires doesn’t cease on the Contemporary Era; with sufficient time you may progress all the solution to the colonisation of Venus. While the obvious are the flexibility and the cost savings from not having to journey or spend excess time away from work, there are also others that might not be so apparent. So there are tons of ways to buy on your phone or tablet. Your Best Friend playing cards are the exception here, even when they aren't played on a turn, they are discarded, not put in the yard. Fort has some enjoyable interaction and a lot of opportunity to really hinder your opponents, however in flip, they’ll do the identical to you. It’s a enjoyable theme, and I love deck-building games that reinforce the need to change your deck as you play. It’s essential that the players understand simply what all of those symbols imply.<br><br><br><br> I imply is Ghost a lifeless good friend? Does that imply that I am done with Fort forever? Fort is a wonderful looking production, Kyle Ferrin’s illustrations are playful and help invoke the theme. Looking again at the unique PS2 Shadow of the Colossus, it's clearly a mere shell of what the creators wanted the sport to look like. Organizations vary from nonprofit, charitable organizations to big-identify travel agencies in search of a brand new advertising area of interest. Most Secret Santas have budgets of $25 or much less, however you possibly can set a value vary most comfy in your individuals. Thankfully, each card you play isn’t going to make use of all of those icons, so you possibly can sort of be taught them as you play, however you do need to have that basic understanding of what these ten playing cards in your hand could presumably do. As it is though, this is sort of what trendy board recreation design feels prefer to me. I feel the icons are carried out effectively, and after six performs I don’t have much issue knowing what everything does without ever consulting the player help, however man does it gradual the sport down at first, which is a disgrace as Fort has all the [https://Www.Business-Opportunities.biz/?s=makings makings] of a quick taking part in power filler sort of recreation.<br><br><br><br> This can be a sport that clearly desires to be played time and again, and the cards within the copy that I've used for six performs are starting to point out some put on. My group plays Race for the Galaxy in about 20 minutes at 4 players, it’s an uncomfortable velocity for me, but Fort might be played that shortly, pretty comfortably, but that requires everybody to wish to play it multiple time. If we both go house free download ([https://www.drunkbastard.net/ mouse click the next webpage]), neither of us regrets it: we are able to spend time with each other and we have each got our highest utility. On the time it was introduced, the game was 10% full. It does a great job of blending different points of all strategy recreation genres. Avatar is essentially the most on-line virtual game. A recreation that clearly exhibits its roots in Race for the Galaxy and Glory to Rome is going to have icons, that’s only a given.<br>
gnr58wtwavlk4seffzz93rtjhzkst7o
873054
873053
2022-08-23T06:24:43Z
HakanIST
22497
+ delete, spam
wikitext
text/x-wiki
{{delete|Spam/Cross-wiki spam}}
<br> It's best to observe that just a few of those games may not be the appropriate ones for teenagers as a result of extreme violence inside them. In a sport where you're changing your deck and recruiting quite a few cards, it all starts to seem familiar and thus, repetitive. Six plays, normally this could be a very good thing, any recreation that warrants six performs in such a short while is a positive, but I simply don’t feel as constructive about it now as I did at first. But after six performs, it really appears like I am simply doing the same factor each play, and at the moment where "replayability" is every little thing, Fort has started to fall in need of its mark for one cause. It’s an excellent thing for probably the most half, however it's hindrance to the simplicity of the sport. Charlie Gleason: People are actually participating with this tiny thing. Among my teams that have performed, there are clearly most well-liked fits as nicely. Make one thing that is actually fascinating for a pair performs, after which hope that there is sufficient within the field to keep of us involved till the new [https://www.thefreedictionary.com/expansion expansion] or deck of cards comes out to rekindle the excitment.<br><br><br><br> Forge of Empires doesn’t cease on the Contemporary Era; with sufficient time you may progress all the solution to the colonisation of Venus. While the obvious are the flexibility and the cost savings from not having to journey or spend excess time away from work, there are also others that might not be so apparent. So there are tons of ways to buy on your phone or tablet. Your Best Friend playing cards are the exception here, even when they aren't played on a turn, they are discarded, not put in the yard. Fort has some enjoyable interaction and a lot of opportunity to really hinder your opponents, however in flip, they’ll do the identical to you. It’s a enjoyable theme, and I love deck-building games that reinforce the need to change your deck as you play. It’s essential that the players understand simply what all of those symbols imply.<br><br><br><br> I imply is Ghost a lifeless good friend? Does that imply that I am done with Fort forever? Fort is a wonderful looking production, Kyle Ferrin’s illustrations are playful and help invoke the theme. Looking again at the unique PS2 Shadow of the Colossus, it's clearly a mere shell of what the creators wanted the sport to look like. Organizations vary from nonprofit, charitable organizations to big-identify travel agencies in search of a brand new advertising area of interest. Most Secret Santas have budgets of $25 or much less, however you possibly can set a value vary most comfy in your individuals. Thankfully, each card you play isn’t going to make use of all of those icons, so you possibly can sort of be taught them as you play, however you do need to have that basic understanding of what these ten playing cards in your hand could presumably do. As it is though, this is sort of what trendy board recreation design feels prefer to me. I feel the icons are carried out effectively, and after six performs I don’t have much issue knowing what everything does without ever consulting the player help, however man does it gradual the sport down at first, which is a disgrace as Fort has all the [https://Www.Business-Opportunities.biz/?s=makings makings] of a quick taking part in power filler sort of recreation.<br><br><br><br> This can be a sport that clearly desires to be played time and again, and the cards within the copy that I've used for six performs are starting to point out some put on. My group plays Race for the Galaxy in about 20 minutes at 4 players, it’s an uncomfortable velocity for me, but Fort might be played that shortly, pretty comfortably, but that requires everybody to wish to play it multiple time. If we both go house free download ([https://www.drunkbastard.net/ mouse click the next webpage]), neither of us regrets it: we are able to spend time with each other and we have each got our highest utility. On the time it was introduced, the game was 10% full. It does a great job of blending different points of all strategy recreation genres. Avatar is essentially the most on-line virtual game. A recreation that clearly exhibits its roots in Race for the Galaxy and Glory to Rome is going to have icons, that’s only a given.<br>
c3ues7ddhtfiybgqgevt6grnqry6kwn