Wikilivres
frwikibooks
https://fr.wikibooks.org/wiki/Accueil
MediaWiki 1.47.0-wmf.20
first-letter
Média
Spécial
Discussion
Utilisateur
Discussion utilisateur
Wikilivres
Discussion Wikilivres
Fichier
Discussion fichier
MediaWiki
Discussion MediaWiki
Modèle
Discussion modèle
Aide
Discussion aide
Catégorie
Discussion catégorie
Transwiki
Discussion Transwiki
Wikijunior
Discussion Wikijunior
TimedText
TimedText talk
Module
Discussion module
Event
Event talk
Japonais/Vocabulaire/Animaux
0
4983
772248
772025
2026-09-16T08:05:21Z
~2026-49795-50
124562
/* Mammifères */
772248
wikitext
text/x-wiki
== Classifications ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Chaîne alimentaire
|[[wikt:fr:食物連鎖|食物連鎖]]
|しょくもつれんさ
|shokumotsu rensa
|/
|-
|Pâture
|[[wikt:fr:餌食|餌食]]
|えじき
|ejiki
|/
|-
|Prédateur
|[[wikt:fr:捕食者|捕食者]]
|ほしょくしゃ
|hoshokusha
|/
|-
|Prédation
|[[wikt:fr:捕食|捕食]]
|ほしょく
|hoshoku
|/
|-
|Proie
|[[wikt:fr:獲物|獲物]]
|えもの
|emono
|/
|}
== Ordres ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Carnivore
|[[wikt:fr:肉食動物|肉食動物]]
|にくしょくどうぶつ
|nikushoku dōbutsu
|Carnivore/Animal
|-
|Herbivore
|[[wikt:fr:草食動物|草食動物]]
|そうしょくどうぶつ
|sōshoku dōbutsu
|Herbivore/Animal
|-
|Frugivore
|[[wikt:fr:|fr:]]
|
|
|Frugivore/Animal
|-
|Granivore
|[[wikt:fr:|fr:]]
|
|
|Granivore/Animal
|-
|Insectivore
|[[wikt:fr:食虫動物|食虫動物]]
|しょくちゅうどうぶつ
|shokuchū dōbutsu
|Insectivore/Animal
|-
|Omnivore
|[[wikt:fr:雑食動物|雑食動物]]
|ざっしょくどうぶつ
|zasshoku dōbutsu
|Omnivore/Animal
|}
== Arachnides ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Acarien/Pou
|[[wikt:fr:壁蝨|壁蝨]]
|だに
|dani
|
|-
|Araignée
|[[wikt:fr:蜘蛛|蜘蛛]]
|くも
|kumo
|
|-
|Scorpion
|[[wikt:fr:蠍|蠍]]
|さそり
|sasori
|
|}
== Insectes ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Abeille
|[[wikt:fr:蜂|蜂]]
|はち
|hachi
|
|-
|Blatte, cafard
|[[wikt:fr:蜚蠊|蜚蠊]]
|ごきぶり
|gokiburi
|
|-
|Cigale
|[[wikt:fr:蝉|蝉]]
|せみ
|semi
|/Insecte
|-
|Coccinelle
|[[wikt:fr:天道虫|天道虫]]
|てんとうむし
|tentōmushi
|Sentier céleste/Insecte
|-
|Criquet
|[[wikt:飛蝗|飛蝗]]
|ばった
|batta
|/Insecte
|-
|Diamant noir
|[[wikt:fr:大鍬形|大鍬形]]
|おおくわがた
|ōkuwagata
|/
|-
|Dynaste Hercule
|[[wikt:長戟大甲蟲|長戟大甲蟲]]
|ちょうげきだいこうむし
|chōgeki daikōmushi
|/
|-
|Grillon
|[[wikt:fr:蟋蟀|蟋蟀]]
|こおろぎ
|kōrogi
|/Insecte
|-
|Fourmi
|[[wikt:fr:蟻|蟻]]
|あり
|ari
|/Insecte
|-
|Guêpe, frelon
|[[wikt:fr:雀蜂|雀蜂]]
|すずめばち
|suzumebachi
|Moineau/Abeille
|-
|
|[[wikt:fr:頬長雀蜂|頬長雀蜂]]
|ほおながすずめばち
|hōnagasuzumebachi
|Joue/Long/Guêpe
|-
|Insecte
|[[wikt:fr:虫|虫]]
|むし
|mushi
|
|-
|Libellule
|[[wikt:fr:蜻蛉|蜻蛉]]
|とんぼ
|tonbo
|/Insecte
|-
|Lucane cerf-volant
|[[wikt:fr:鍬形虫|鍬形虫]]
|くわがたむし
|Kuwagatamushi
|//
|-
|Luciole
|[[wikt:fr:蛍|蛍]]
|ほたる
|hotaru
|Petit couvercle/Insecte
|-
|Mante orchidée
|[[wikt:fr:花蟷螂|花蟷螂]]
|はなかまきり
|hanakamakiri
|Fleur/Mante religieuse
|-
|Mante religieuse
|[[wikt:fr:蟷螂|蟷螂]]
|かまきり
|kamakiri
|/
|-
|Mite
|[[wikt:fr:蛾|蛾]]
|が
|ga
|/
|-
|Mouche
|[[wikt:fr:蝿|蝿]]
|はえ
|hae
|
|-
|Moustique
|[[wikt:fr:蚊|蚊]]
|か
|ka
|
|-
|Papillon
|[[wikt:fr:蝶|蝶]]
|ちょう
|chō
|
|-
|Puce
|[[wikt:fr:蚤|蚤]]
|のみ
|nomi
|
|-
|Sauterelle
|[[wikt:蝗|蝗]]
|いなご
|inago
|/Insecte
|-
|Scarabée
|[[wikt:fr:兜虫|兜虫]]
|かぶとむし
|kabutomushi
|Casque/Insecte
|}
==Oiseaux==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Hirgana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Aigle
|[[wikt:fr:鷲|鷲]]
|わし
|washi
|Lieu grandiose/Oiseau
|-
|Aigle royal
|[[wikt:fr:犬鷲|犬鷲]]
|いぬわし
|inuwashi
|Chien/Aigle
|-
|Aigrette
|[[wikt:fr:白鷺|白鷺]]
|しらさぎ
|shirasagi
|Blanc/Héron
|-
|Aigrette sacrée
|[[wikt:fr:黒鷺|黒鷺]]
|くろさぎ
|kurosagi
|Noir/Héron
|-
|Alouette
|[[wikt:fr:雲雀|雲雀]]
|ひばり
|hibari
|Nuage/Moineau
|-
|Autruche
|[[wikt:fr:鴕鳥|鴕鳥]]
|だちょう
|dachō
|Autruche/Oiseau
|-
|Bécasse
|[[wikt:fr:山鴫|山鴫]]
|やましぎ
|yamashigi
|Montagne/Chevalier
|-
|Bihoreau goisagi
|[[wikt:fr:溝五位|溝五位]]
|みぞごい
|mizogoi
|Fossé/Cinq/Couronne
|-
|Bihoreau violacé
|[[wikt:fr:蓑五位|蓑五位]]
|みのごい
|minogoi
|Manteau de paille/Cinq/Couronne
|-
|Caille
|[[wikt:fr:鶉|鶉]]
|うずら
|uzura
|/Oiseau
|-
|Calao
|[[wikt:fr:犀鳥|犀鳥]]
|さいちょう
|saichō
|Rhinocéros/Oiseau
|-
|Calopsitte
|[[wikt:阿亀鸚哥|阿亀鸚哥]]
|おかめいんこ
|okame inko
|Femme inélégante/Perruche
|-
|Canard
|[[wikt:fr:鴨|鴨]] (sauvage)<br />[[wikt:fr:家鴨|家鴨]] (domestique)
|かも<br />あひる
|kamo<br />ahiru
|Enveloppe dure/Oiseau<br />Maison/Canard sauvage
|-
|Canard colvert
|[[wikt:fr:真鴨|真鴨]]
|まがも
|magamo
|Vrai/Canard sauvage
|-
|Canard mandarin
|[[wikt:fr:鴛鴦|鴛鴦]]
|おしどり
|oshidori
|/
|-
|Canaroie semipalmée
|[[wikt:fr:鵲雁|鵲雁]]
|かささぎがん
|kasasagigan
|Pie/Oie sauvage
|-
|Casoar
|[[wikt:fr:火食鳥|火食鳥]]
|ひくいどり
|hikuidori
|Feu/Mangeant/Oiseau
|-
|Cassican flûteur
|[[wikt:fr:鵲笛鴉|鵲笛鴉]]
|かささぎふえがらす
|kasasagi fuegarasu
|Pie/Flûte/Corbeau
|-
|Chouette
|[[wikt:fr:梟|梟]]
|ふくろう
|fukurō
|Oiseau/Arbre
|-
|Cigogne
|[[wikt:fr:鸛|鸛]]
|こうのとり
|kōnotori
|Enfant/Oiseau
|-
|Cigogne blanche
|[[wikt:fr:朱嘴鸛|朱嘴鸛]]
|しゅばしこう
|shubashikō
|Vermillon/Bec/Cigogne
|-
|Cigogne d'Abdim
|[[wikt:fr:青端鸛|青端鸛]]
|あおはしこう
|aohashikō
|Bleu/Extrémité/Cigogne
|-
|Cigogne épiscopale
|[[wikt:fr:白襟鸛|白襟鸛]]
|しろえりこう
|shiroerikō
|Blanc/Cou/Cigogne
|-
|Cigogne maguari
|[[wikt:fr:燕尾鸛|燕尾鸛]]
|えんびこう
|enbikō
|Hirondelle/Queue/Cigogne
|-
|Cigogne noire
|[[wikt:fr:鍋鸛|鍋鸛]]
|なべこう
|nabekō
|Chaudron/Cigogne
|-
|Colombe/Pigeon
|[[wikt:fr:鳩|鳩]]
|はと
|hato
|/Oiseau
|-
|Condor
|[[wikt:fr:公佗児|公佗児]]
|こうわじ
|kōwaji
|Public/Fier ; solitaire/ (On trouve également le terme 「コンドル」issu de l'anglais "condor".)
|-
|Coq de bruyère
|[[wikt:fr:雷鳥|雷鳥]]
|らいちょう
|raichō
|Tonnerre/Oiseau
|-
|Coq
|[[wikt:fr:雄鳥|雄鳥]]
|おんどり
|ondori
|Mâle/Oiseau
|-
|Corbeau
|[[wikt:fr:烏|烏]]
|からす
|karasu
|Terme général désignant les animaux du genre ''corvus''
|-
|Corneille mantelée
|[[wikt:fr:頭巾烏|頭巾烏]]
|ずきんがらす
|zukingarasu
|Capuche/Corbeau
|-
|Dinde
|[[wikt:fr:七面鳥|七面鳥]]
|しちめんちょう
|shichimenchō
|Sept visages/Oiseau
|-
|Faisan
|[[wikt:fr:雉|雉]]
|きじ
|kiji
|
|-
|Faucon
|[[wikt:fr:鷹|鷹]]
|たか
|taka
|
|-
|Faucon crécerelle
|[[wikt:fr:長元坊|長元坊]]
|ちょうげんぼう
|chōgenbō
|Chef/Fondation/Chambre
|-
|Faucon pèlerin
|[[wikt:fr:隼|隼]]
|はやぶさ
|hayabusa
|
|-
|Geai
|[[wikt:fr:懸巣|懸巣]]
|かけす
|kakesu
|/
|-
|Grand-duc de Blakiston
|[[wikt:fr:島梟|島梟]]
|しまふくろう
|shimafukurō
|Île/Chouette
|-
|Grèbe castagneux
|[[wikt:fr:鸊鷉|鸊鷉]]
|かいつぶり
|kaitsuburi
|/
|-
|Grive
|[[wikt:fr:鶇|鶇]]
|つぐみ
|tsugumi
|Tenir sa langue/Oiseau
|-
|Grue demoiselle
|[[wikt:fr:姉羽鶴|姉羽鶴]]
|あねはづる
|anehazuru
|Grande sœur/Aile/Grue
|-
|Grue
|[[wikt:fr:鶴|鶴]]
|つる
|tsuru
|S'élever/Oiseau
|-
|Grue royale
|[[wikt:fr:頬白冠鶴|頬白冠鶴]]
|ほおじろかんむりづる
|hōjiro kanmurizuru
|Bruant à longue queue/Grue couronnée
|-
|Harpie féroce
|[[wikt:fr:扇鷲|扇鷲]]
|おうぎわし
|ōgiwashi
|Éventail/Aigle
|-
|Héron cendré
|[[wikt:fr:蒼鷺|蒼鷺]]
|あおさぎ
|aosagi
|Bleu/Héron
|-
|Hibou
|[[wikt:fr:木菟|木菟]]
|みみずく
|mimizuku
|Arbre/Lapin
|-
|Hirondelle
|[[wikt:fr:燕|燕]]
|つばめ
|tsubame
|
|-
|Hirondelle bicolore
|[[wikt:fr:緑燕|緑燕]]
|みどりつばめ
|midori tsubame
|Vert/Hirondelle
|-
|Huppe fasciée
|[[wikt:fr:戴勝|戴勝]]
|やつがしら
|yatsugashira
|Serviteur/Tête
|-
|Lagopède alpin
|[[wikt:fr:雷鳥|雷鳥]]
|らいちょう
|raichō
|Foudre/Oiseau
|-
|Macareux moine
|[[wikt:fr:西角目鳥|西角目鳥]]
|にしつのめどり
|nishitsunomedori
|Ouest/Macareux cornu
|-
|Martinet
|[[wikt:fr:雨燕|雨燕]]
|あまつばめ
|amatsubame
|Pluie/Hirondelle
|-
|Moineau
|[[wikt:fr:雀|雀]]
|すずめ
|suzume
|
|-
|Mouette
|[[wikt:fr:鴎|鴎]]
|かもめ
|kamome
|Arrondissement citadin/Oiseau
|-
|Oie
|[[wikt:fr:鵞鳥|鵞鳥]]
|がちょう
|gachō
|Oie/Oiseau
|-
|Oiseau de proie
|[[wikt:fr:猛禽|猛禽]]
|もうきん
|mōkin
|Fureur/Oiseau
|-
|Oiseau
|[[wikt:fr:鳥|鳥]]
|とり
|tori
|
|-
|Palombe/Ramier
|[[wikt:fr:森鳩|森鳩]]
|もりばと
|moribato
|Forêt/Pigeon
|-
|Paon
|[[wikt:fr:孔雀|孔雀]]
|くじゃく
|kujaku
|Cavité/Moineau
|-
|Paradisier
|[[wikt:fr:風鳥|風鳥]]
|ふうちょう
|fūchō
|Vent/Oiseau
|-
|Perroquet
|[[wikt:fr:鸚鵡|鸚鵡]]
|おうむ
|ōmu
|
|-
|Perruche
|[[wikt:fr:鸚哥|鸚哥]]
|いんこ
|inko
|
|-
|Pie
|[[wikt:fr:鵲|鵲]]
|かささぎ
|kasasagi
|Autrefois/Oiseau
|-
|Plongeon imbrin
|[[wikt:fr:嘴黒阿比|嘴黒阿比]]
|はしぐろあび
|hashiguroabi
|Bec noir/Plongeon
|-
|Poule
|[[wikt:fr:雌鶏|雌鶏]]
|めんどり
|mendori
|Femelle/Poulet
|-
|Poulet
|[[wikt:fr:鶏|鶏]] (domestique)
|にわとり
|niwatori
|Jardin/Oiseau
|-
|Passerin indigo
|[[wikt:fr:瑠璃野路子|瑠璃野路子]]
|るりのじこ
|rurinojiko
|/Enfant
|-
|Roitelet
|[[wikt:fr:鷦鷯|鷦鷯]]
|みそさざい
|misosazai
|/
|-
|Roselin pourpré
|[[wikt:fr:紫猿子|紫猿子]]
|むらさきましこ
|murasaki mashiko
|Violet/Singe/Enfant
|-
|Rossignol
|[[wikt:fr:小夜啼鳥|小夜啼鳥]]
|さよなきどり
|sayonakidori
|Petite nuit/Oiseau chanteur
|-
|Rouge-gorge
|[[wikt:fr:駒鳥|駒鳥]]
|こまどり
|komadori
|Chevalet/Oiseau
|-
|Sarcelle
|[[wikt:fr:小鴨|小鴨]]
|こがも
|kogamo
|Petit/Canard sauvage
|-
|Sterne arctique
|[[wikt:fr:極鰺刺|極鰺刺]]
|きょくあじさし
|kyokuajisashi
|Extrême/Sterne
|-
|Sterne
|[[wikt:fr:鰺刺|鰺刺]]
|あじさし
|ajisashi
|Chinchard/
|-
|Toucan
|[[wikt:fr:大嘴|大嘴]]
|おおはし
|ōhashi
|Grand/Bec
|-
|Tourterelle
|[[wikt:fr:山鳩|山鳩]]
|やまばと
|yamabato
|Montagne/Colombe, pigeon
|-
|Tourterelle des bois
|[[wikt:fr:小雉鳩|小雉鳩]]
|こきじばと
|kokijibato
|Petit/Tourterelle occidentale
|-
|Vautour
|[[wikt:fr:禿鷹|禿鷹]]
|はげたか
|hagetaka
|Calvitie/Faucon
|}
== Mammifères ==
[[Image:Books-aj.svg aj ashton 01.svg|right|70px]]
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Agneau
|[[wikt:fr:子羊|子羊]]
|こひつじ
|kohitsuji
|Enfant/Mouton
|-
|Alpaga
|
|アルパカ
|arupaka
|
|-
|Âne
|[[wikt:fr:驢馬|驢馬]]
|ろば
|roba
|Ce terme s'écrit en katakana comme suit :「ロバ」
|-
|Babouin
|[[wikt:狒々|狒々]]
|ひひ
|hihi
|Issu de la créature légendaire du folklore japonais : ''[[w:Hi-hi|Hi-hi]]''
|-
|Baleine
|[[wikt:fr:鯨|鯨]]
|くじら
|kujira
|Ce terme s'écrit en katakana comme suit :「クジラ」
|-
|Bassaris rusé
|
|カコミスル
|kakomisuru
|Issu de l'anglais « cacomistle ».
|-
|Belette d’Europe
|[[wikt:fr:飯綱|飯綱]]
|いいづな
|īzuna
|Riz/corde. Désignait originellement une créature légendaire du nom de [[w:Kuda-kitsune|kuda-gitsune]].
|-
|Belette du Japon / Itatsi
|㹨
|いたち
|Itachi
|Désigne également les mustélidés en général. Ce terme s’écrit en katakana comme suit : 「イタチ」
|-
|Bélier
|[[wikt:雄羊|雄羊]]
|おひつじ
|ohitsuji
|Mâle/Mouton
|-
|Bison
|[[wikt:野牛|野牛]]
|やぎゅう
|yagyū
|Champ/Bœuf. Est surtout désigné sous le terme baizon 「バイゾン」
|-
|Blaireau
|[[wikt:fr:穴熊|穴熊]]
|あなぐま
|anaguma
|Trou (穴) Ours (熊). Ce terme s'écrit en katakana comme suit :「アナグマ」
|-
|Blaireau japonais
|[[wikt:fr:日本穴熊|日本穴熊]]
|にほんあなぐま
|Nihon anaguma
|Japon (日本) Blaireau (穴熊)
|-
|Bouc
|[[wikt:雄山羊|雄山羊]]
|おやぎ
|oyagi
|Mâle/Chèvre
|-
|Brebis
|[[wikt:雌羊|雌羊]]
|めひつじ
|mehitsuji
|Femelle/Mouton
|-
|Buffle
|水牛
|すいぎゅ
|suigyu
|Eau/Bœuf : Vient du buffle d’Eau d’Asie.
|-
|Castor
|
|ビーバー
|bībā
|Beaver (en)
|-
|Chameau
|[[wikt:fr:駱駝|駱駝]]
|らくだ
|rakuda
|
|-
|Chat
|[[wikt:fr:猫|猫]]
|ねこ
|neko
|
|-
|Chaton
|[[wikt:fr:子猫|子猫]]
|こねこ
|koneko
|Enfant/Chat
|-
|Chauve-souris
|[[wikt:fr:蝙蝠|蝙蝠]]
|こうもり
|kōmori
|
|-
|Chevreau
|[[wikt:子山羊|子山羊]]
|こやぎ
|koyagi
|Enfant/Chèvre
|-
|Chevreuil
|[[wikt:麕鹿|麕鹿]]
|のろじか
|norojika
|Chevreuil/Cerf
|-
|Cerf
|[[wikt:fr:鹿|鹿]]
|しか
|shika
|
|-
|Cerf du père David
|四不像
|ししふうぞう
|shifuzō
|Quatre/Négatif/Image (en tête). Du chinois « aucun des quatre »
|-
|Cerf sika
|日本鹿
|にほんじか
|Nihon jika
|Japon/Cerf
|-
|Chacal
|
|ジャッカル
|jakkaru
|jackal (en)
|-
|Cheval
|[[wikt:fr:馬|馬]]
|うま
|uma
|
|-
|Chèvre
|[[wikt:fr:山羊|山羊]]
|やぎ
|yagi
|Montagne (山) Mouton (羊)
|-
|Chien
|[[wikt:fr:犬|犬]]
|いぬ
|inu
|
|-
|Chien viverrin / Tanuki
|[[wikt:fr:狸|狸]]
|たぬき
|tanuki
|
|-
|Chinchilla
|
|チンチラ
|chinchira
|
|-
|Chiot
|[[wikt:fr:子犬|子犬]]
|こいぬ
|koinu
|Enfant (子) Chien (犬)
|-
|Civette
|[[wikt:fr:麝香猫|麝香猫]]
|じゃこうねこ
|jakōneko
|Musc (麝香) Chat (猫)
|-
|Coati
|鼻熊
|はなぐま
|hanaguma
|Nez (鼻) Ours (熊)
|-
|Cochon
|[[wikt:fr:豚|豚]]
|ぶた
|buta
|
|-
|Cochon d'Inde
|
|モルモット
|morumotto
|On trouve également le terme 「ギニアピッグ」
|-
|Coyote
|
|コヨーテ
|koyōte
|
|-
|Daim
|駝鹿
|ダマジカ
|damajika
|Daim/Cerf
|-
|Dasyure
|[[wikt:fr:袋猫|袋猫]]
|ふくろねこ
|fukuroneko
|Sac (袋) Chat (猫)
|-
|Dègue
|
|デグー
|degū
|
|-
|Dhole
|犲
|やまいぬ
|Yamainu
|Montagne/Chien. Confondu avec les chiens errants et les loups, est aujourd’hui plutôt désigné sous le nom de ''dōru'' 「ドール」
|-
|Dromadaire
|[[wikt:fr:一瘤駱駝|一瘤駱駝]]
|ひとこぶらくだ
|hitokobu rakuda
|Bosse unique/Chameau
|-
|Dugong / Vache marine
|儒艮
|じゅごん
|jugon
|
|-
|Échidné
|[[wikt:fr:針土竜|針土竜]]
|はりねずみ
|harimogura
|Aiguille/Taupe
|-
|Écureuil
|[[wikt:fr:栗鼠|栗鼠]]
|りす
|risu
|Noix (栗) Rat (鼠)
|-
|Écureuil volant
|[[wikt:fr:鼯鼠|鼯鼠]]
|ももんが
|momonga
|Écureuil volant (鼯) Rat (鼠)
|-
|Élan
|[[wikt:fr:箆鹿|箆鹿]]
|へらじか
|herajika
|Spatule (箆) Cerf (鹿)
|-
|Éléphant
|[[wikt:fr:象|象]]
|ぞう
|zō
|-
|Faon
|[[wikt:子鹿|子鹿]]
|こじか
|kojika
|Enfant/Cerf
|-
|Fouine
|[[wikt:fr:胸白貂|胸白貂]]
|むねしろてん
|muneshiroten
|Poitrail blanc/Martre
|-
|Furet
|[[wikt:fr:白鼬|白鼬]]
|しろいたち
|shiroitachi
|Blanc/Belette (On trouve également le terme「フェレット」issu de l'anglais "ferret".)
|-
|Gerbille de Mongolie
|[[wikt:fr:砂鼠|砂鼠]]
|すなねずみ
|sunanezumi
|Sable (砂) Souris (鼠)
|-
|Gibbon
|[[wikt:fr:手長猿|手長猿]]
|てながざる
|tenagazaru
|Main/Long/Singe
|-
|Gibbon à mains blanches
|[[wikt:fr:白手手長猿|白手手長猿]]
|しろててながざる
|shirote tenagazaru
|Blanc/Main/Long/Singe
|-
|Girafe
|[[wikt:fr:麒麟|麒麟]]
|きりん
|kirin
|Issue de la créature légendaire du folklore assiatique : [[w:Qilin|Qilin]]
|-
|Glouton
|[[wikt:fr:屈狸|屈狸]]
|くずり
|kuzuri
|Ce terme s'écrit en katakana comme suit:「クズリ」
|-
|Gorille
|
|ゴリラ
|gorira
|Gorilla (en)
|-
|Grizzly
|[[wikt:fr:灰色熊|灰色熊]]
|はいいろぐま
|haīroguma
|Gris/Ours
|-
|Guépard
|[[wikt:fr:狩猟豹|狩猟豹]]
|しゅりょうひょう
|shuryōhyō
|Chasse/Panthère (On trouve également le terme 「チーター」issu de l'anglais "cheetah".)
|-
|Hamster
|
|ハムスター
|hamusutā
|Hamster (fr)
|-
|Hermine
|[[wikt:fr:白鼬|白鼬]]
|おこじょ
|okojo
|Blanc/Belette
|-
|Hérisson
|[[wikt:fr:針鼠|針鼠]]
|はりねずみ
|harinezumi
|Aiguille (針) Rat (鼠)
|-
|Hippopotame
|[[wikt:fr:河馬|河馬]]
|かば
|kaba
|Fleuve (河) Cheval (馬)
|-
|Kangourou
|袋鼠
|ふくろねずみ
|fukuronezumi
|Sachet/Souris. On trouve également le terme「カンガルー」.
|-
|Kinkajou
|
|キンカジュー
|kinkajū
|Variante de quincajou.
|-
|Lama
|
|ラマ
|rama
|Lama (fr)
|-
|Lamantin
|
|マナティー
|manatī
|Issu de l'anglais "manatee".
|-
|Lapin
|[[wikt:fr:兎|兎]]
|うさぎ
|usagi
|Terme général désignant les lagomorphes
|-
|Léopard/Panthère
|[[wikt:豹#ja|豹]]
|ひょう
|hyō
|
|-
|Lièvre
|[[wikt:fr:野兎|野兎]]
|のうさぎ
|nousagi
|Champ (野) Lapin (兎)
|-
|Lion
|[[wikt:fr:獅子|獅子]]
|しし
|shishi
|Le terme 「ライオン」 issu de l'anglais "lion" est aujourd'hui plus largement utilisé.
|-
|Loup
|[[wikt:fr:狼|狼]]
|おおかみ
|ōkami
|
|-
|Loutre
|[[wikt:fr:川獺|川獺]]
|かわうそ
|kawauso
|Rivère (川) Loutre (獺)
|-
|Loutre de mer
|海獺
|らっこ
|rakko
|Mer/Loutre
|-
|Loutre japonaise
|[[wikt:fr:日本川獺|日本川獺]]
|にほんあなぐま
|Nihon kawauso
|Japon (日本) Loutre (獺) (Cette espèce est aujourd’hui éteinte.)
|-
|Lycaon
|
|リカオン
|rikaon
|
|-
|Lynx
|[[wikt:fr:大山猫|大山猫]]
|おおやまねこ
|ōyamaneko
|Grand (大) Montagne (山) Chat (猫)
|-
|Marmotte
|
|ウッドチャック
|uddochakku
|Issu de l'anglais "woodchuck".
|-
|Martre
|貂
|てん
|ten
|
|-
|Mouffette
|
|スカンク
|sukanku
|Skunk (en)
|-
|Mouton
|[[wikt:fr:羊|羊]]
|ひつじ
|hitsuji
|
|-
|Mule
|[[wikt:fr:騾馬|騾馬]]
|らば
|raba
|Cheval (馬)
|-
|Mulet
|[[wikt:fr:駃騠|駃騠]]
|けってい
|kettei
|
|-
|Narval
|[[wikt:一角|一角]]
|いっかく
|ikkaku
|Une (一), Corne (角)
|-
|Numbat
|[[wikt:袋蟻食|袋蟻食]]
|ふくろありくい
|fukuroarikui
|Poche/Fourmilier
|-
|Opossum
|
|[[wikt:オポッサム|オポッサム]]
|opossamu
|Opossum (en)
|-
|Ornithorynque
|[[wikt:fr:鴨嘴|鴨嘴]]
|かものはし
|kamonohashi
|Canard/Bec
|-
|Ours
|[[wikt:fr:熊|熊]]
|くま
|kuma
|
|-
|Ours brun
|羆
|ひぐま
|higuma
|
|-
|Ours noir d’Asie
|月輪熊
|ツキノワグマ
|tsukinowaguma
|Lune/Anneau/Ours. Est parfois raccourci par ''tsukiguma'' (月熊)
|-
|Ours polaire
|[[wikt:fr:白熊|白熊]]
|しろくま
|shirokuma
|Blanc (白) Ours (熊)
|-
|Panda
|
|パンダ
|panda
|Panda (fr)
|-
|Paresseux
|[[wikt:樹懶|樹懶]]
|なまけもの
|namakemono
|
|-
|Petit panda
|
|レッサーパンダ
|ressā panda
|Issu de l'anglais "lesser panda".
|-
|Porc-épic
|[[wikt:fr:山荒|山荒]]
|やまあらし
|yamaarashi
|Montagne (山) Stérile (荒)
|-
|Protèle
|[[wikt:fr:土狼|土狼]]
|つちおおかみ
|tsuchiōkami
|Terre/Loup (On trouve également le terme 「アードウルフ」issu de l'anglais "aardwolf".)
|-
|Puma
|
|ピューマ
|pyūma
|Puma (en)
|-
|Putois
|[[wikt:fr:毛長鼬|毛長鼬]]
|けながいたち
|kenagaitachi
|Poil long/Belette
|-
|Rat
|[[wikt:fr:熊鼠|熊鼠]]
|くまねずみ
|kumanezumi
|Ours/Souris
|-
|Raton laveur
|[[wikt:fr:洗熊|洗熊]]
|あらいぐま
|araiguma
|Laver/Ours
|-
|Renard
|[[wikt:fr:狐|狐]]
|きつね
|kitsune
|
|-
|Renard argenté
|[[wikt:fr:銀狐|銀狐]]
|ぎんぎつね
|gingitsune
|Argent (銀) Renard (狐)
|-
|Renard gris
|[[wikt:fr:灰色狐|灰色狐]]
|はいいろぎんぎつね
|haīro gitsune
|Cendre (灰) Couleur (色) Renard (狐)
|-
|Rhinoceros
|[[wikt:fr:犀|犀]]
|さい
|sai
|
|-
|Sanglier
|[[wikt:fr:猪|猪]]
|いのしし
|inoshishi
|
|-
|Saro
|鴨鹿
|カモシカ
|kamoshika
|Canard sauvage/Cerf. Les kanjis ne sont jamais utilisés, le nom est écrit exclusivement en katakana
|-
|Siamang
|[[wikt:fr:袋手長猿|袋手長猿]]
|ふくろてながざる
|fukurotenagazaru
|Sac/Main/Long/Singe
|-
|Singe
|[[wikt:fr:猿|猿]]
|さる
|saru
|
|-
|Souris
|[[wikt:fr:鼠|鼠]]
|ねずみ
|nezumi
|
|-
|Suricate
|
|ミーアキャット
|mīakyatto
|Meerkat (en)
|-
|Tamia
|[[wikt:fr:縞栗鼠|縞栗鼠]]
|しまりす
|shimarisu
|Rayure/Écureuil
|-
|Tapir
|[[wikt:fr:獏|獏]]
|ばく
|baku
|Issu de la créature légendaire : [[w:Baku|baku]], elle même issue des textes chinois sur le tapir.
|-
|Taupe
|[[wikt:fr:土竜|土竜]]
|もぐら
|mogura
|Terre/Dragon
|-
|Taureau
|[[wikt:fr:雄牛|雄牛]]
|おうし
|oushi
|Mâle (雄) Vache (牛)
|-
|Tigre
|[[wikt:fr:虎|虎]]
|とら
|tora
|
|-
|Vache
|[[wikt:fr:牛|牛]]
|うし
|ushi
|
|-
|Veau
|[[wikt:fr:子牛|子牛]]
|こうし
|koushi
|Enfant (子) Vache (牛)
|-
|Vison
|
|ミンク
|minku
|mink (en)
|-
|Zèbre
|[[wikt:fr:縞馬|縞馬]]
|しまうま
|shimauma
|Rayure (縞) Cheval (馬)
|-
|Zèbre de montagne
|[[wikt:fr:山縞馬|山縞馬]]
|やましまうま
|yamashimauma
|Montagne (山) Zèbre (縞馬)
|-
|Zibeline
|[[wikt:fr:黒貂|黒貂]]
|くろてん
|kuroten
|Noir (黒) Martre (貂)
|}
== Reptiles, poissons et autres vies marines ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Anguille
|[[wikt:fr:鰻|鰻]]
|うなぎ
|unagi
|
|-
|Barracuda
|[[wikt:fr:梭子魚|梭子魚]]
|かます
|kamasu
|Navette/Enfant/Poisson
|-
|Calamar
|[[wikt:fr:墨魚|墨魚]]
|いか
|ika
|Encre/Poisson
|-
|Carpe
|[[wikt:fr:鯉|鯉]]
|こい
|koi
|
|-
|Concombre de mer
|[[wikt:海鼠|海鼠]]
|なまこ
|namako
|Mer/Rat
|-
|Congre
|[[wikt:fr:穴子|穴子]]
|あなご
|anago
|Trou/Enfant
|-
|Crabe
|[[wikt:fr:蟹|蟹]]
|かに
|kani
|
|-
|Crabe de cocotier
|[[wikt:fr:椰子蟹|椰子蟹]]
|やしがに
|yashigani
|Palmier/Crabe
|-
|Crapaud
|[[wikt:蟇蛙|蟇蛙]]
|ひきがえる
|hikigaeru
|Crapaud/Grenouille
|-
|Crevette
|[[wikt:fr:蝦|蝦]]
|えび
|ebi
|
|-
|Crocodile
|[[wikt:fr:鰐|鰐]]
|わに
|wani
|
|-
|Dauphin
|[[wikt:fr:海豚|海豚]]
|いるか
|iruka
|Mer/Cochon
|-
|Dragon
|[[wikt:fr:竜|竜]]
|りゅう
|ryū
|Pour parler d'un dragon occidental, on emploiera「ドラゴン」.
|-
|Dragon de Komodo
|
|コモドドラゴン
|Komodo-doragon
|Komodo Dragon (en)
|-
|Escargot
|[[wikt:fr:蝸牛|蝸牛]]
|かたつむり
|katatsumuri
|Escargot/Vache
|-
|Gecko
|[[wikt:守宮|守宮]]
|やもり
|yamori
|Protection/Palais
|-
|Gecko léopard
|[[wikt:豹紋蜥蜴擬き|豹紋蜥蜴擬き]]
|ひょうもんとかげもどき
|hyōmon'tokagemodoki
|/Lézard/
|-
|Grenouille
|[[wikt:fr:蛙|蛙]]
|かえる
|kaeru
|
|-
|Iguane
|
|イグアナ
|iguana
|Iguana(en)
|-
|Léopard de mer
|[[wikt:fr:豹海豹|豹海豹]]
|ひょうあざらし
|hyōazarashi
|Panthère/Phoque
|-
|Marsouin
|[[wikt:fr:鼠海豚|鼠海豚]]
|ねずみいるか
|nezumīruka
|Souris/Dauphin
|-
|Méduse
|[[wikt:fr:水母|水母]]/[[wikt:fr:海月|海月]]
|くらげ
|kurage
|Eau/Mère ; Mer/Lune
|-
|Morse
|[[wikt:fr:海象|海象]]
|せいうち
|seiuchi
|Mer/Éléphant
|-
|Murène
|[[wikt:鱓|鱓]]
|うつぼ
|utsubo
|/
|-
|Orque
|[[wikt:fr:鯱|鯱]]
|しゃち
|shachi
|/
|-
|Otarie
|[[wikt:fr:海驢|海驢]]
|あしか
|ashika
|Mer/Âne
|-
|Phoque
|[[wikt:fr:海豹|海豹]]
|あざらし
|azarashi
|Mer/Panthère
|-
|Pieuvre
|[[wikt:fr:蛸|蛸]]
|たこ
|tako
|
|-
|Poisson
|[[wikt:fr:魚|魚]]
|さかな
|sakana
|
|-
|Poisson rouge
|[[wikt:fr:金魚|金魚]]
|きんぎょ
|kingyo
|Or/Poisson
|-
|Raie
|[[wikt:fr:鱝|鱝]]
|えい
|ei
|Poisson/Orné
|-
|Requin
|[[wikt:fr:鮫|鮫]]
|さめ
|same
|Poisson/Croisement
|-
|Requin-baleine
|甚兵衛鮫
|じんべいざめ
|jinbeizame
|Jinbei/Requin
|-
|Requin-renard
|[[wikt:fr:尾長鮫|尾長鮫]]
|おながざめ
|onagazame
|Longue queue/Requin
|-
|Requin-tigre
|[[wikt:fr:鼬鮫|鼬鮫]]
|いたちざめ
|itachizame
|Belette/Requin
|-
|Salamandre
|[[wikt:fr:蠑螈|蠑螈]]
|いもり
|imori
|/
|-
|Sardine
|[[wikt:鰯|鰯]]
|いわし
|iwashi
|Poisson/Faible
|-
|Serpent
|[[wikt:fr:蛇|蛇]]
|へび
|hebi
|
|-
|Thon
|[[wikt:fr:鮪|鮪]]
|まぐろ
|maguro
|Poisson/Bleu
|-
|Tortue
|[[wikt:fr:亀|亀]]
|かめ
|kame
|
|-
|Tortue de mer
|[[wikt:fr:海亀|海亀]]
|うみがめ
|umigame
|Mer/Tortue
|}
== Voir aussi ==
*Une série d'[[Japonais/Exercices de vocabulaire#Animaux|exercices]] sur les animaux est également disponible.
*[[wikt:fr:Catégorie:Noms_communs_japonais|Les noms dans le wiktionnaire]]
{{Glossaires_de_Japonais}}
[[Catégorie:Glossaires de Japonais]]
[[en:Japanese/Vocabulary/Animals]]
[[es:Japonés/Vocabulario/Animales]]
00m3e4i7bxtlaw7cr7ma9pc4x69wmrj
772249
772248
2026-09-16T08:17:38Z
~2026-49795-50
124562
/* Reptiles, poissons et autres vies marines */
772249
wikitext
text/x-wiki
== Classifications ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Chaîne alimentaire
|[[wikt:fr:食物連鎖|食物連鎖]]
|しょくもつれんさ
|shokumotsu rensa
|/
|-
|Pâture
|[[wikt:fr:餌食|餌食]]
|えじき
|ejiki
|/
|-
|Prédateur
|[[wikt:fr:捕食者|捕食者]]
|ほしょくしゃ
|hoshokusha
|/
|-
|Prédation
|[[wikt:fr:捕食|捕食]]
|ほしょく
|hoshoku
|/
|-
|Proie
|[[wikt:fr:獲物|獲物]]
|えもの
|emono
|/
|}
== Ordres ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Carnivore
|[[wikt:fr:肉食動物|肉食動物]]
|にくしょくどうぶつ
|nikushoku dōbutsu
|Carnivore/Animal
|-
|Herbivore
|[[wikt:fr:草食動物|草食動物]]
|そうしょくどうぶつ
|sōshoku dōbutsu
|Herbivore/Animal
|-
|Frugivore
|[[wikt:fr:|fr:]]
|
|
|Frugivore/Animal
|-
|Granivore
|[[wikt:fr:|fr:]]
|
|
|Granivore/Animal
|-
|Insectivore
|[[wikt:fr:食虫動物|食虫動物]]
|しょくちゅうどうぶつ
|shokuchū dōbutsu
|Insectivore/Animal
|-
|Omnivore
|[[wikt:fr:雑食動物|雑食動物]]
|ざっしょくどうぶつ
|zasshoku dōbutsu
|Omnivore/Animal
|}
== Arachnides ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Acarien/Pou
|[[wikt:fr:壁蝨|壁蝨]]
|だに
|dani
|
|-
|Araignée
|[[wikt:fr:蜘蛛|蜘蛛]]
|くも
|kumo
|
|-
|Scorpion
|[[wikt:fr:蠍|蠍]]
|さそり
|sasori
|
|}
== Insectes ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Abeille
|[[wikt:fr:蜂|蜂]]
|はち
|hachi
|
|-
|Blatte, cafard
|[[wikt:fr:蜚蠊|蜚蠊]]
|ごきぶり
|gokiburi
|
|-
|Cigale
|[[wikt:fr:蝉|蝉]]
|せみ
|semi
|/Insecte
|-
|Coccinelle
|[[wikt:fr:天道虫|天道虫]]
|てんとうむし
|tentōmushi
|Sentier céleste/Insecte
|-
|Criquet
|[[wikt:飛蝗|飛蝗]]
|ばった
|batta
|/Insecte
|-
|Diamant noir
|[[wikt:fr:大鍬形|大鍬形]]
|おおくわがた
|ōkuwagata
|/
|-
|Dynaste Hercule
|[[wikt:長戟大甲蟲|長戟大甲蟲]]
|ちょうげきだいこうむし
|chōgeki daikōmushi
|/
|-
|Grillon
|[[wikt:fr:蟋蟀|蟋蟀]]
|こおろぎ
|kōrogi
|/Insecte
|-
|Fourmi
|[[wikt:fr:蟻|蟻]]
|あり
|ari
|/Insecte
|-
|Guêpe, frelon
|[[wikt:fr:雀蜂|雀蜂]]
|すずめばち
|suzumebachi
|Moineau/Abeille
|-
|
|[[wikt:fr:頬長雀蜂|頬長雀蜂]]
|ほおながすずめばち
|hōnagasuzumebachi
|Joue/Long/Guêpe
|-
|Insecte
|[[wikt:fr:虫|虫]]
|むし
|mushi
|
|-
|Libellule
|[[wikt:fr:蜻蛉|蜻蛉]]
|とんぼ
|tonbo
|/Insecte
|-
|Lucane cerf-volant
|[[wikt:fr:鍬形虫|鍬形虫]]
|くわがたむし
|Kuwagatamushi
|//
|-
|Luciole
|[[wikt:fr:蛍|蛍]]
|ほたる
|hotaru
|Petit couvercle/Insecte
|-
|Mante orchidée
|[[wikt:fr:花蟷螂|花蟷螂]]
|はなかまきり
|hanakamakiri
|Fleur/Mante religieuse
|-
|Mante religieuse
|[[wikt:fr:蟷螂|蟷螂]]
|かまきり
|kamakiri
|/
|-
|Mite
|[[wikt:fr:蛾|蛾]]
|が
|ga
|/
|-
|Mouche
|[[wikt:fr:蝿|蝿]]
|はえ
|hae
|
|-
|Moustique
|[[wikt:fr:蚊|蚊]]
|か
|ka
|
|-
|Papillon
|[[wikt:fr:蝶|蝶]]
|ちょう
|chō
|
|-
|Puce
|[[wikt:fr:蚤|蚤]]
|のみ
|nomi
|
|-
|Sauterelle
|[[wikt:蝗|蝗]]
|いなご
|inago
|/Insecte
|-
|Scarabée
|[[wikt:fr:兜虫|兜虫]]
|かぶとむし
|kabutomushi
|Casque/Insecte
|}
==Oiseaux==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Hirgana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Aigle
|[[wikt:fr:鷲|鷲]]
|わし
|washi
|Lieu grandiose/Oiseau
|-
|Aigle royal
|[[wikt:fr:犬鷲|犬鷲]]
|いぬわし
|inuwashi
|Chien/Aigle
|-
|Aigrette
|[[wikt:fr:白鷺|白鷺]]
|しらさぎ
|shirasagi
|Blanc/Héron
|-
|Aigrette sacrée
|[[wikt:fr:黒鷺|黒鷺]]
|くろさぎ
|kurosagi
|Noir/Héron
|-
|Alouette
|[[wikt:fr:雲雀|雲雀]]
|ひばり
|hibari
|Nuage/Moineau
|-
|Autruche
|[[wikt:fr:鴕鳥|鴕鳥]]
|だちょう
|dachō
|Autruche/Oiseau
|-
|Bécasse
|[[wikt:fr:山鴫|山鴫]]
|やましぎ
|yamashigi
|Montagne/Chevalier
|-
|Bihoreau goisagi
|[[wikt:fr:溝五位|溝五位]]
|みぞごい
|mizogoi
|Fossé/Cinq/Couronne
|-
|Bihoreau violacé
|[[wikt:fr:蓑五位|蓑五位]]
|みのごい
|minogoi
|Manteau de paille/Cinq/Couronne
|-
|Caille
|[[wikt:fr:鶉|鶉]]
|うずら
|uzura
|/Oiseau
|-
|Calao
|[[wikt:fr:犀鳥|犀鳥]]
|さいちょう
|saichō
|Rhinocéros/Oiseau
|-
|Calopsitte
|[[wikt:阿亀鸚哥|阿亀鸚哥]]
|おかめいんこ
|okame inko
|Femme inélégante/Perruche
|-
|Canard
|[[wikt:fr:鴨|鴨]] (sauvage)<br />[[wikt:fr:家鴨|家鴨]] (domestique)
|かも<br />あひる
|kamo<br />ahiru
|Enveloppe dure/Oiseau<br />Maison/Canard sauvage
|-
|Canard colvert
|[[wikt:fr:真鴨|真鴨]]
|まがも
|magamo
|Vrai/Canard sauvage
|-
|Canard mandarin
|[[wikt:fr:鴛鴦|鴛鴦]]
|おしどり
|oshidori
|/
|-
|Canaroie semipalmée
|[[wikt:fr:鵲雁|鵲雁]]
|かささぎがん
|kasasagigan
|Pie/Oie sauvage
|-
|Casoar
|[[wikt:fr:火食鳥|火食鳥]]
|ひくいどり
|hikuidori
|Feu/Mangeant/Oiseau
|-
|Cassican flûteur
|[[wikt:fr:鵲笛鴉|鵲笛鴉]]
|かささぎふえがらす
|kasasagi fuegarasu
|Pie/Flûte/Corbeau
|-
|Chouette
|[[wikt:fr:梟|梟]]
|ふくろう
|fukurō
|Oiseau/Arbre
|-
|Cigogne
|[[wikt:fr:鸛|鸛]]
|こうのとり
|kōnotori
|Enfant/Oiseau
|-
|Cigogne blanche
|[[wikt:fr:朱嘴鸛|朱嘴鸛]]
|しゅばしこう
|shubashikō
|Vermillon/Bec/Cigogne
|-
|Cigogne d'Abdim
|[[wikt:fr:青端鸛|青端鸛]]
|あおはしこう
|aohashikō
|Bleu/Extrémité/Cigogne
|-
|Cigogne épiscopale
|[[wikt:fr:白襟鸛|白襟鸛]]
|しろえりこう
|shiroerikō
|Blanc/Cou/Cigogne
|-
|Cigogne maguari
|[[wikt:fr:燕尾鸛|燕尾鸛]]
|えんびこう
|enbikō
|Hirondelle/Queue/Cigogne
|-
|Cigogne noire
|[[wikt:fr:鍋鸛|鍋鸛]]
|なべこう
|nabekō
|Chaudron/Cigogne
|-
|Colombe/Pigeon
|[[wikt:fr:鳩|鳩]]
|はと
|hato
|/Oiseau
|-
|Condor
|[[wikt:fr:公佗児|公佗児]]
|こうわじ
|kōwaji
|Public/Fier ; solitaire/ (On trouve également le terme 「コンドル」issu de l'anglais "condor".)
|-
|Coq de bruyère
|[[wikt:fr:雷鳥|雷鳥]]
|らいちょう
|raichō
|Tonnerre/Oiseau
|-
|Coq
|[[wikt:fr:雄鳥|雄鳥]]
|おんどり
|ondori
|Mâle/Oiseau
|-
|Corbeau
|[[wikt:fr:烏|烏]]
|からす
|karasu
|Terme général désignant les animaux du genre ''corvus''
|-
|Corneille mantelée
|[[wikt:fr:頭巾烏|頭巾烏]]
|ずきんがらす
|zukingarasu
|Capuche/Corbeau
|-
|Dinde
|[[wikt:fr:七面鳥|七面鳥]]
|しちめんちょう
|shichimenchō
|Sept visages/Oiseau
|-
|Faisan
|[[wikt:fr:雉|雉]]
|きじ
|kiji
|
|-
|Faucon
|[[wikt:fr:鷹|鷹]]
|たか
|taka
|
|-
|Faucon crécerelle
|[[wikt:fr:長元坊|長元坊]]
|ちょうげんぼう
|chōgenbō
|Chef/Fondation/Chambre
|-
|Faucon pèlerin
|[[wikt:fr:隼|隼]]
|はやぶさ
|hayabusa
|
|-
|Geai
|[[wikt:fr:懸巣|懸巣]]
|かけす
|kakesu
|/
|-
|Grand-duc de Blakiston
|[[wikt:fr:島梟|島梟]]
|しまふくろう
|shimafukurō
|Île/Chouette
|-
|Grèbe castagneux
|[[wikt:fr:鸊鷉|鸊鷉]]
|かいつぶり
|kaitsuburi
|/
|-
|Grive
|[[wikt:fr:鶇|鶇]]
|つぐみ
|tsugumi
|Tenir sa langue/Oiseau
|-
|Grue demoiselle
|[[wikt:fr:姉羽鶴|姉羽鶴]]
|あねはづる
|anehazuru
|Grande sœur/Aile/Grue
|-
|Grue
|[[wikt:fr:鶴|鶴]]
|つる
|tsuru
|S'élever/Oiseau
|-
|Grue royale
|[[wikt:fr:頬白冠鶴|頬白冠鶴]]
|ほおじろかんむりづる
|hōjiro kanmurizuru
|Bruant à longue queue/Grue couronnée
|-
|Harpie féroce
|[[wikt:fr:扇鷲|扇鷲]]
|おうぎわし
|ōgiwashi
|Éventail/Aigle
|-
|Héron cendré
|[[wikt:fr:蒼鷺|蒼鷺]]
|あおさぎ
|aosagi
|Bleu/Héron
|-
|Hibou
|[[wikt:fr:木菟|木菟]]
|みみずく
|mimizuku
|Arbre/Lapin
|-
|Hirondelle
|[[wikt:fr:燕|燕]]
|つばめ
|tsubame
|
|-
|Hirondelle bicolore
|[[wikt:fr:緑燕|緑燕]]
|みどりつばめ
|midori tsubame
|Vert/Hirondelle
|-
|Huppe fasciée
|[[wikt:fr:戴勝|戴勝]]
|やつがしら
|yatsugashira
|Serviteur/Tête
|-
|Lagopède alpin
|[[wikt:fr:雷鳥|雷鳥]]
|らいちょう
|raichō
|Foudre/Oiseau
|-
|Macareux moine
|[[wikt:fr:西角目鳥|西角目鳥]]
|にしつのめどり
|nishitsunomedori
|Ouest/Macareux cornu
|-
|Martinet
|[[wikt:fr:雨燕|雨燕]]
|あまつばめ
|amatsubame
|Pluie/Hirondelle
|-
|Moineau
|[[wikt:fr:雀|雀]]
|すずめ
|suzume
|
|-
|Mouette
|[[wikt:fr:鴎|鴎]]
|かもめ
|kamome
|Arrondissement citadin/Oiseau
|-
|Oie
|[[wikt:fr:鵞鳥|鵞鳥]]
|がちょう
|gachō
|Oie/Oiseau
|-
|Oiseau de proie
|[[wikt:fr:猛禽|猛禽]]
|もうきん
|mōkin
|Fureur/Oiseau
|-
|Oiseau
|[[wikt:fr:鳥|鳥]]
|とり
|tori
|
|-
|Palombe/Ramier
|[[wikt:fr:森鳩|森鳩]]
|もりばと
|moribato
|Forêt/Pigeon
|-
|Paon
|[[wikt:fr:孔雀|孔雀]]
|くじゃく
|kujaku
|Cavité/Moineau
|-
|Paradisier
|[[wikt:fr:風鳥|風鳥]]
|ふうちょう
|fūchō
|Vent/Oiseau
|-
|Perroquet
|[[wikt:fr:鸚鵡|鸚鵡]]
|おうむ
|ōmu
|
|-
|Perruche
|[[wikt:fr:鸚哥|鸚哥]]
|いんこ
|inko
|
|-
|Pie
|[[wikt:fr:鵲|鵲]]
|かささぎ
|kasasagi
|Autrefois/Oiseau
|-
|Plongeon imbrin
|[[wikt:fr:嘴黒阿比|嘴黒阿比]]
|はしぐろあび
|hashiguroabi
|Bec noir/Plongeon
|-
|Poule
|[[wikt:fr:雌鶏|雌鶏]]
|めんどり
|mendori
|Femelle/Poulet
|-
|Poulet
|[[wikt:fr:鶏|鶏]] (domestique)
|にわとり
|niwatori
|Jardin/Oiseau
|-
|Passerin indigo
|[[wikt:fr:瑠璃野路子|瑠璃野路子]]
|るりのじこ
|rurinojiko
|/Enfant
|-
|Roitelet
|[[wikt:fr:鷦鷯|鷦鷯]]
|みそさざい
|misosazai
|/
|-
|Roselin pourpré
|[[wikt:fr:紫猿子|紫猿子]]
|むらさきましこ
|murasaki mashiko
|Violet/Singe/Enfant
|-
|Rossignol
|[[wikt:fr:小夜啼鳥|小夜啼鳥]]
|さよなきどり
|sayonakidori
|Petite nuit/Oiseau chanteur
|-
|Rouge-gorge
|[[wikt:fr:駒鳥|駒鳥]]
|こまどり
|komadori
|Chevalet/Oiseau
|-
|Sarcelle
|[[wikt:fr:小鴨|小鴨]]
|こがも
|kogamo
|Petit/Canard sauvage
|-
|Sterne arctique
|[[wikt:fr:極鰺刺|極鰺刺]]
|きょくあじさし
|kyokuajisashi
|Extrême/Sterne
|-
|Sterne
|[[wikt:fr:鰺刺|鰺刺]]
|あじさし
|ajisashi
|Chinchard/
|-
|Toucan
|[[wikt:fr:大嘴|大嘴]]
|おおはし
|ōhashi
|Grand/Bec
|-
|Tourterelle
|[[wikt:fr:山鳩|山鳩]]
|やまばと
|yamabato
|Montagne/Colombe, pigeon
|-
|Tourterelle des bois
|[[wikt:fr:小雉鳩|小雉鳩]]
|こきじばと
|kokijibato
|Petit/Tourterelle occidentale
|-
|Vautour
|[[wikt:fr:禿鷹|禿鷹]]
|はげたか
|hagetaka
|Calvitie/Faucon
|}
== Mammifères ==
[[Image:Books-aj.svg aj ashton 01.svg|right|70px]]
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Agneau
|[[wikt:fr:子羊|子羊]]
|こひつじ
|kohitsuji
|Enfant/Mouton
|-
|Alpaga
|
|アルパカ
|arupaka
|
|-
|Âne
|[[wikt:fr:驢馬|驢馬]]
|ろば
|roba
|Ce terme s'écrit en katakana comme suit :「ロバ」
|-
|Babouin
|[[wikt:狒々|狒々]]
|ひひ
|hihi
|Issu de la créature légendaire du folklore japonais : ''[[w:Hi-hi|Hi-hi]]''
|-
|Baleine
|[[wikt:fr:鯨|鯨]]
|くじら
|kujira
|Ce terme s'écrit en katakana comme suit :「クジラ」
|-
|Bassaris rusé
|
|カコミスル
|kakomisuru
|Issu de l'anglais « cacomistle ».
|-
|Belette d’Europe
|[[wikt:fr:飯綱|飯綱]]
|いいづな
|īzuna
|Riz/corde. Désignait originellement une créature légendaire du nom de [[w:Kuda-kitsune|kuda-gitsune]].
|-
|Belette du Japon / Itatsi
|㹨
|いたち
|Itachi
|Désigne également les mustélidés en général. Ce terme s’écrit en katakana comme suit : 「イタチ」
|-
|Bélier
|[[wikt:雄羊|雄羊]]
|おひつじ
|ohitsuji
|Mâle/Mouton
|-
|Bison
|[[wikt:野牛|野牛]]
|やぎゅう
|yagyū
|Champ/Bœuf. Est surtout désigné sous le terme baizon 「バイゾン」
|-
|Blaireau
|[[wikt:fr:穴熊|穴熊]]
|あなぐま
|anaguma
|Trou (穴) Ours (熊). Ce terme s'écrit en katakana comme suit :「アナグマ」
|-
|Blaireau japonais
|[[wikt:fr:日本穴熊|日本穴熊]]
|にほんあなぐま
|Nihon anaguma
|Japon (日本) Blaireau (穴熊)
|-
|Bouc
|[[wikt:雄山羊|雄山羊]]
|おやぎ
|oyagi
|Mâle/Chèvre
|-
|Brebis
|[[wikt:雌羊|雌羊]]
|めひつじ
|mehitsuji
|Femelle/Mouton
|-
|Buffle
|水牛
|すいぎゅ
|suigyu
|Eau/Bœuf : Vient du buffle d’Eau d’Asie.
|-
|Castor
|
|ビーバー
|bībā
|Beaver (en)
|-
|Chameau
|[[wikt:fr:駱駝|駱駝]]
|らくだ
|rakuda
|
|-
|Chat
|[[wikt:fr:猫|猫]]
|ねこ
|neko
|
|-
|Chaton
|[[wikt:fr:子猫|子猫]]
|こねこ
|koneko
|Enfant/Chat
|-
|Chauve-souris
|[[wikt:fr:蝙蝠|蝙蝠]]
|こうもり
|kōmori
|
|-
|Chevreau
|[[wikt:子山羊|子山羊]]
|こやぎ
|koyagi
|Enfant/Chèvre
|-
|Chevreuil
|[[wikt:麕鹿|麕鹿]]
|のろじか
|norojika
|Chevreuil/Cerf
|-
|Cerf
|[[wikt:fr:鹿|鹿]]
|しか
|shika
|
|-
|Cerf du père David
|四不像
|ししふうぞう
|shifuzō
|Quatre/Négatif/Image (en tête). Du chinois « aucun des quatre »
|-
|Cerf sika
|日本鹿
|にほんじか
|Nihon jika
|Japon/Cerf
|-
|Chacal
|
|ジャッカル
|jakkaru
|jackal (en)
|-
|Cheval
|[[wikt:fr:馬|馬]]
|うま
|uma
|
|-
|Chèvre
|[[wikt:fr:山羊|山羊]]
|やぎ
|yagi
|Montagne (山) Mouton (羊)
|-
|Chien
|[[wikt:fr:犬|犬]]
|いぬ
|inu
|
|-
|Chien viverrin / Tanuki
|[[wikt:fr:狸|狸]]
|たぬき
|tanuki
|
|-
|Chinchilla
|
|チンチラ
|chinchira
|
|-
|Chiot
|[[wikt:fr:子犬|子犬]]
|こいぬ
|koinu
|Enfant (子) Chien (犬)
|-
|Civette
|[[wikt:fr:麝香猫|麝香猫]]
|じゃこうねこ
|jakōneko
|Musc (麝香) Chat (猫)
|-
|Coati
|鼻熊
|はなぐま
|hanaguma
|Nez (鼻) Ours (熊)
|-
|Cochon
|[[wikt:fr:豚|豚]]
|ぶた
|buta
|
|-
|Cochon d'Inde
|
|モルモット
|morumotto
|On trouve également le terme 「ギニアピッグ」
|-
|Coyote
|
|コヨーテ
|koyōte
|
|-
|Daim
|駝鹿
|ダマジカ
|damajika
|Daim/Cerf
|-
|Dasyure
|[[wikt:fr:袋猫|袋猫]]
|ふくろねこ
|fukuroneko
|Sac (袋) Chat (猫)
|-
|Dègue
|
|デグー
|degū
|
|-
|Dhole
|犲
|やまいぬ
|Yamainu
|Montagne/Chien. Confondu avec les chiens errants et les loups, est aujourd’hui plutôt désigné sous le nom de ''dōru'' 「ドール」
|-
|Dromadaire
|[[wikt:fr:一瘤駱駝|一瘤駱駝]]
|ひとこぶらくだ
|hitokobu rakuda
|Bosse unique/Chameau
|-
|Dugong / Vache marine
|儒艮
|じゅごん
|jugon
|
|-
|Échidné
|[[wikt:fr:針土竜|針土竜]]
|はりねずみ
|harimogura
|Aiguille/Taupe
|-
|Écureuil
|[[wikt:fr:栗鼠|栗鼠]]
|りす
|risu
|Noix (栗) Rat (鼠)
|-
|Écureuil volant
|[[wikt:fr:鼯鼠|鼯鼠]]
|ももんが
|momonga
|Écureuil volant (鼯) Rat (鼠)
|-
|Élan
|[[wikt:fr:箆鹿|箆鹿]]
|へらじか
|herajika
|Spatule (箆) Cerf (鹿)
|-
|Éléphant
|[[wikt:fr:象|象]]
|ぞう
|zō
|-
|Faon
|[[wikt:子鹿|子鹿]]
|こじか
|kojika
|Enfant/Cerf
|-
|Fouine
|[[wikt:fr:胸白貂|胸白貂]]
|むねしろてん
|muneshiroten
|Poitrail blanc/Martre
|-
|Furet
|[[wikt:fr:白鼬|白鼬]]
|しろいたち
|shiroitachi
|Blanc/Belette (On trouve également le terme「フェレット」issu de l'anglais "ferret".)
|-
|Gerbille de Mongolie
|[[wikt:fr:砂鼠|砂鼠]]
|すなねずみ
|sunanezumi
|Sable (砂) Souris (鼠)
|-
|Gibbon
|[[wikt:fr:手長猿|手長猿]]
|てながざる
|tenagazaru
|Main/Long/Singe
|-
|Gibbon à mains blanches
|[[wikt:fr:白手手長猿|白手手長猿]]
|しろててながざる
|shirote tenagazaru
|Blanc/Main/Long/Singe
|-
|Girafe
|[[wikt:fr:麒麟|麒麟]]
|きりん
|kirin
|Issue de la créature légendaire du folklore assiatique : [[w:Qilin|Qilin]]
|-
|Glouton
|[[wikt:fr:屈狸|屈狸]]
|くずり
|kuzuri
|Ce terme s'écrit en katakana comme suit:「クズリ」
|-
|Gorille
|
|ゴリラ
|gorira
|Gorilla (en)
|-
|Grizzly
|[[wikt:fr:灰色熊|灰色熊]]
|はいいろぐま
|haīroguma
|Gris/Ours
|-
|Guépard
|[[wikt:fr:狩猟豹|狩猟豹]]
|しゅりょうひょう
|shuryōhyō
|Chasse/Panthère (On trouve également le terme 「チーター」issu de l'anglais "cheetah".)
|-
|Hamster
|
|ハムスター
|hamusutā
|Hamster (fr)
|-
|Hermine
|[[wikt:fr:白鼬|白鼬]]
|おこじょ
|okojo
|Blanc/Belette
|-
|Hérisson
|[[wikt:fr:針鼠|針鼠]]
|はりねずみ
|harinezumi
|Aiguille (針) Rat (鼠)
|-
|Hippopotame
|[[wikt:fr:河馬|河馬]]
|かば
|kaba
|Fleuve (河) Cheval (馬)
|-
|Kangourou
|袋鼠
|ふくろねずみ
|fukuronezumi
|Sachet/Souris. On trouve également le terme「カンガルー」.
|-
|Kinkajou
|
|キンカジュー
|kinkajū
|Variante de quincajou.
|-
|Lama
|
|ラマ
|rama
|Lama (fr)
|-
|Lamantin
|
|マナティー
|manatī
|Issu de l'anglais "manatee".
|-
|Lapin
|[[wikt:fr:兎|兎]]
|うさぎ
|usagi
|Terme général désignant les lagomorphes
|-
|Léopard/Panthère
|[[wikt:豹#ja|豹]]
|ひょう
|hyō
|
|-
|Lièvre
|[[wikt:fr:野兎|野兎]]
|のうさぎ
|nousagi
|Champ (野) Lapin (兎)
|-
|Lion
|[[wikt:fr:獅子|獅子]]
|しし
|shishi
|Le terme 「ライオン」 issu de l'anglais "lion" est aujourd'hui plus largement utilisé.
|-
|Loup
|[[wikt:fr:狼|狼]]
|おおかみ
|ōkami
|
|-
|Loutre
|[[wikt:fr:川獺|川獺]]
|かわうそ
|kawauso
|Rivère (川) Loutre (獺)
|-
|Loutre de mer
|海獺
|らっこ
|rakko
|Mer/Loutre
|-
|Loutre japonaise
|[[wikt:fr:日本川獺|日本川獺]]
|にほんあなぐま
|Nihon kawauso
|Japon (日本) Loutre (獺) (Cette espèce est aujourd’hui éteinte.)
|-
|Lycaon
|
|リカオン
|rikaon
|
|-
|Lynx
|[[wikt:fr:大山猫|大山猫]]
|おおやまねこ
|ōyamaneko
|Grand (大) Montagne (山) Chat (猫)
|-
|Marmotte
|
|ウッドチャック
|uddochakku
|Issu de l'anglais "woodchuck".
|-
|Martre
|貂
|てん
|ten
|
|-
|Mouffette
|
|スカンク
|sukanku
|Skunk (en)
|-
|Mouton
|[[wikt:fr:羊|羊]]
|ひつじ
|hitsuji
|
|-
|Mule
|[[wikt:fr:騾馬|騾馬]]
|らば
|raba
|Cheval (馬)
|-
|Mulet
|[[wikt:fr:駃騠|駃騠]]
|けってい
|kettei
|
|-
|Narval
|[[wikt:一角|一角]]
|いっかく
|ikkaku
|Une (一), Corne (角)
|-
|Numbat
|[[wikt:袋蟻食|袋蟻食]]
|ふくろありくい
|fukuroarikui
|Poche/Fourmilier
|-
|Opossum
|
|[[wikt:オポッサム|オポッサム]]
|opossamu
|Opossum (en)
|-
|Ornithorynque
|[[wikt:fr:鴨嘴|鴨嘴]]
|かものはし
|kamonohashi
|Canard/Bec
|-
|Ours
|[[wikt:fr:熊|熊]]
|くま
|kuma
|
|-
|Ours brun
|羆
|ひぐま
|higuma
|
|-
|Ours noir d’Asie
|月輪熊
|ツキノワグマ
|tsukinowaguma
|Lune/Anneau/Ours. Est parfois raccourci par ''tsukiguma'' (月熊)
|-
|Ours polaire
|[[wikt:fr:白熊|白熊]]
|しろくま
|shirokuma
|Blanc (白) Ours (熊)
|-
|Panda
|
|パンダ
|panda
|Panda (fr)
|-
|Paresseux
|[[wikt:樹懶|樹懶]]
|なまけもの
|namakemono
|
|-
|Petit panda
|
|レッサーパンダ
|ressā panda
|Issu de l'anglais "lesser panda".
|-
|Porc-épic
|[[wikt:fr:山荒|山荒]]
|やまあらし
|yamaarashi
|Montagne (山) Stérile (荒)
|-
|Protèle
|[[wikt:fr:土狼|土狼]]
|つちおおかみ
|tsuchiōkami
|Terre/Loup (On trouve également le terme 「アードウルフ」issu de l'anglais "aardwolf".)
|-
|Puma
|
|ピューマ
|pyūma
|Puma (en)
|-
|Putois
|[[wikt:fr:毛長鼬|毛長鼬]]
|けながいたち
|kenagaitachi
|Poil long/Belette
|-
|Rat
|[[wikt:fr:熊鼠|熊鼠]]
|くまねずみ
|kumanezumi
|Ours/Souris
|-
|Raton laveur
|[[wikt:fr:洗熊|洗熊]]
|あらいぐま
|araiguma
|Laver/Ours
|-
|Renard
|[[wikt:fr:狐|狐]]
|きつね
|kitsune
|
|-
|Renard argenté
|[[wikt:fr:銀狐|銀狐]]
|ぎんぎつね
|gingitsune
|Argent (銀) Renard (狐)
|-
|Renard gris
|[[wikt:fr:灰色狐|灰色狐]]
|はいいろぎんぎつね
|haīro gitsune
|Cendre (灰) Couleur (色) Renard (狐)
|-
|Rhinoceros
|[[wikt:fr:犀|犀]]
|さい
|sai
|
|-
|Sanglier
|[[wikt:fr:猪|猪]]
|いのしし
|inoshishi
|
|-
|Saro
|鴨鹿
|カモシカ
|kamoshika
|Canard sauvage/Cerf. Les kanjis ne sont jamais utilisés, le nom est écrit exclusivement en katakana
|-
|Siamang
|[[wikt:fr:袋手長猿|袋手長猿]]
|ふくろてながざる
|fukurotenagazaru
|Sac/Main/Long/Singe
|-
|Singe
|[[wikt:fr:猿|猿]]
|さる
|saru
|
|-
|Souris
|[[wikt:fr:鼠|鼠]]
|ねずみ
|nezumi
|
|-
|Suricate
|
|ミーアキャット
|mīakyatto
|Meerkat (en)
|-
|Tamia
|[[wikt:fr:縞栗鼠|縞栗鼠]]
|しまりす
|shimarisu
|Rayure/Écureuil
|-
|Tapir
|[[wikt:fr:獏|獏]]
|ばく
|baku
|Issu de la créature légendaire : [[w:Baku|baku]], elle même issue des textes chinois sur le tapir.
|-
|Taupe
|[[wikt:fr:土竜|土竜]]
|もぐら
|mogura
|Terre/Dragon
|-
|Taureau
|[[wikt:fr:雄牛|雄牛]]
|おうし
|oushi
|Mâle (雄) Vache (牛)
|-
|Tigre
|[[wikt:fr:虎|虎]]
|とら
|tora
|
|-
|Vache
|[[wikt:fr:牛|牛]]
|うし
|ushi
|
|-
|Veau
|[[wikt:fr:子牛|子牛]]
|こうし
|koushi
|Enfant (子) Vache (牛)
|-
|Vison
|
|ミンク
|minku
|mink (en)
|-
|Zèbre
|[[wikt:fr:縞馬|縞馬]]
|しまうま
|shimauma
|Rayure (縞) Cheval (馬)
|-
|Zèbre de montagne
|[[wikt:fr:山縞馬|山縞馬]]
|やましまうま
|yamashimauma
|Montagne (山) Zèbre (縞馬)
|-
|Zibeline
|[[wikt:fr:黒貂|黒貂]]
|くろてん
|kuroten
|Noir (黒) Martre (貂)
|}
== Reptiles, poissons et autres vies marines ==
{| {{tableau_japonais}}
! Français !! [[Japonais/Kanji|Kanji]] !! [[Japonais/Kana|Kana]] !! [[Japonais/Romaji|Rōmaji]] !! Sens littéral
|-
|Anguille
|[[wikt:fr:鰻|鰻]]
|うなぎ
|unagi
|
|-
|Barracuda
|[[wikt:fr:梭子魚|梭子魚]]
|かます
|kamasu
|Navette/Enfant/Poisson
|-
|Calamar
|[[wikt:fr:墨魚|墨魚]]
|いか
|ika
|Encre/Poisson
|-
|Carpe
|[[wikt:fr:鯉|鯉]]
|こい
|koi
|
|-
|Concombre de mer
|[[wikt:海鼠|海鼠]]
|なまこ
|namako
|Mer/Rat
|-
|Congre
|[[wikt:fr:穴子|穴子]]
|あなご
|anago
|Trou/Enfant
|-
|Crabe
|[[wikt:fr:蟹|蟹]]
|かに
|kani
|
|-
|Crabe de cocotier
|[[wikt:fr:椰子蟹|椰子蟹]]
|やしがに
|yashigani
|Palmier/Crabe
|-
|Crapaud
|[[wikt:蟇蛙|蟇蛙]]
|ひきがえる
|hikigaeru
|Crapaud/Grenouille
|-
|Crevette
|[[wikt:fr:蝦|蝦]]
|えび
|ebi
|
|-
|Crocodile
|[[wikt:fr:鰐|鰐]]
|わに
|wani
|Poisson/
|-
|Dauphin
|[[wikt:fr:海豚|海豚]]
|いるか
|iruka
|Mer/Cochon
|-
|Dragon
|[[wikt:fr:竜|竜]]
|りゅう
|ryū
|Pour parler d'un dragon occidental, on emploiera「ドラゴン」.
|-
|Dragon de Komodo
|
|コモドドラゴン
|Komodo-doragon
|Komodo Dragon (en)
|-
|Escargot
|[[wikt:fr:蝸牛|蝸牛]]
|かたつむり
|katatsumuri
|Escargot/Vache
|-
|Gecko
|[[wikt:守宮|守宮]]
|やもり
|yamori
|Protection/Palais
|-
|Gecko léopard
|[[wikt:豹紋蜥蜴擬き|豹紋蜥蜴擬き]]
|ひょうもんとかげもどき
|hyōmon'tokagemodoki
|Léopard/Lézard/Imitation
|-
|Grenouille
|[[wikt:fr:蛙|蛙]]
|かえる
|kaeru
|
|-
|Iguane
|
|イグアナ
|iguana
|Iguana(en)
|-
|Léopard de mer
|[[wikt:fr:豹海豹|豹海豹]]
|ひょうあざらし
|hyōazarashi
|Panthère/Phoque
|-
|Marsouin
|[[wikt:fr:鼠海豚|鼠海豚]]
|ねずみいるか
|nezumīruka
|Souris/Dauphin
|-
|Méduse
|[[wikt:fr:水母|水母]]/[[wikt:fr:海月|海月]]
|くらげ
|kurage
|Eau/Mère ; Mer/Lune
|-
|Morse
|[[wikt:fr:海象|海象]]
|せいうち
|seiuchi
|Mer/Éléphant
|-
|Murène
|[[wikt:鱓|鱓]]
|うつぼ
|utsubo
|/
|-
|Orque
|[[wikt:fr:鯱|鯱]]
|しゃち
|shachi
|Poisson/Tigre
|-
|Otarie
|[[wikt:fr:海驢|海驢]]
|あしか
|ashika
|Mer/Âne
|-
|Phoque
|[[wikt:fr:海豹|海豹]]
|あざらし
|azarashi
|Mer/Panthère
|-
|Pieuvre
|[[wikt:fr:蛸|蛸]]
|たこ
|tako
|
|-
|Poisson
|[[wikt:fr:魚|魚]]
|さかな
|sakana
|
|-
|Poisson rouge
|[[wikt:fr:金魚|金魚]]
|きんぎょ
|kingyo
|Or/Poisson
|-
|Raie
|[[wikt:fr:鱝|鱝]]
|えい
|ei
|Poisson/Ornement
|-
|Requin
|[[wikt:fr:鮫|鮫]]
|さめ
|same
|Poisson/Croisement
|-
|Requin-baleine
|甚兵衛鮫
|じんべいざめ
|jinbeizame
|Jinbei/Requin
|-
|Requin-renard
|[[wikt:fr:尾長鮫|尾長鮫]]
|おながざめ
|onagazame
|Longue queue/Requin
|-
|Requin-tigre
|[[wikt:fr:鼬鮫|鼬鮫]]
|いたちざめ
|itachizame
|Belette/Requin
|-
|Salamandre
|[[wikt:fr:蠑螈|蠑螈]]
|いもり
|imori
|/
|-
|Sardine
|[[wikt:鰯|鰯]]
|いわし
|iwashi
|Poisson/Faible
|-
|Serpent
|[[wikt:fr:蛇|蛇]]
|へび
|hebi
|
|-
|Thon
|[[wikt:fr:鮪|鮪]]
|まぐろ
|maguro
|Poisson/Bleu
|-
|Tortue
|[[wikt:fr:亀|亀]]
|かめ
|kame
|
|-
|Tortue de mer
|[[wikt:fr:海亀|海亀]]
|うみがめ
|umigame
|Mer/Tortue
|}
== Voir aussi ==
*Une série d'[[Japonais/Exercices de vocabulaire#Animaux|exercices]] sur les animaux est également disponible.
*[[wikt:fr:Catégorie:Noms_communs_japonais|Les noms dans le wiktionnaire]]
{{Glossaires_de_Japonais}}
[[Catégorie:Glossaires de Japonais]]
[[en:Japanese/Vocabulary/Animals]]
[[es:Japonés/Vocabulario/Animales]]
2uqu5t7d5b55xz4yk8mdsgtqi1tkrlt
Japonais/Vocabulaire/Nombres
0
5021
772247
770508
2026-09-16T06:46:44Z
~2026-49795-50
124562
772247
wikitext
text/x-wiki
[[Image:Books-aj.svg aj ashton 01.svg|right|70px]]
{|class="wikitable"
! Français
! [[Japonais/Kanji|Kanji]]
! [[Japonais/Kana|Kana]]
! [[Japonais/Romaji|Rōmaji]]
|-
| Zéro
| [[wikt:零|零]]/[[wikt:〇|〇]]
| れい/ゼロ
| rei/zero
|-
| Un
| [[wikt:一|一]]
| いち
| ichi
|-
| Deux
| [[wikt:二|二]]
| に
| ni
|-
| Trois
| [[wikt:三|三]]
| さん
| san
|-
| Quatre
| [[wikt:四|四]]
| し/よん
| shi/yon
|-
| Cinq
| [[wikt:五|五]]
| ご
| go
|-
| Six
| [[wikt:六|六]]
| ろく
| roku
|-
| Sept
| [[wikt:七|七]]
| しち/なな
| shichi/nana
|-
| Huit
| [[wikt:八|八]]
| はち
| hachi
|-
| Neuf
| [[wikt:九|九]]
| く/きゅう
| ku/kyū
|-
| Dix
| [[wikt:十|十]]
| じゅう
| jū
|-
| Onze
| [[wikt:十一|十一]]
| じゅういち
| jūichi
|-
| Douze
| [[wikt:十二|十二]]
| じゅうに
| jūni
|-
| Treize
| [[wikt:十三|十三]]
| じゅうさん
| jūsan
|-
| Vingt
| [[wikt:二十|二十]]
| にじゅう
| nijū
|-
| Vingt-et-un
| [[wikt:二十一|二十一]]
| にじゅういち
| nijūichi
|-
| Trente
| [[wikt:三十|三十]]
| さんじゅう
| sanjū
|-
| Trente-cinq
| [[wikt:三十五|三十五]]
| さんじゅうご
| sanjūgo
|-
| Quarante
| [[wikt:四十|四十]]
| よんじゅう
| yonjū
|-
| Cinquante
| [[wikt:五十|五十]]
| ごじゅう
| gojū
|-
| Soixante
| [[wikt:六十|六十]]
| ろくじゅう
| rokujū
|-
| Soixante-dix
| [[wikt:七十|七十]]
| ななじゅう
| nanajū
|-
| Quatre-vingts
| [[wikt:八十|八十]]
| はちじゅう
| hachijū
|-
| Quatre-vingt-dix
| [[wikt:九十|九十]]
| きゅうじゅう
| kyūjū
|-
| Cent
| [[wikt:百|百]]
| ひゃく
| hyaku
|-
| Mille
| [[wikt:千|千]]
| せん
| sen
|-
| Dix-mille
| [[wikt:一万|一万]]
| いちまん
| ichiman
|-
| Cent-mille
| [[wikt:十万|十万]]
| じゅうまん
| jūman
|-
| Un million
| [[wikt:百万|百万]]
| ひゃくまん
| hyakuman
|-
| Dix millions
| [[wikt:千万|千万]]
| せんまん
| sen’man
|-
| Cent millions
| [[wikt:一億|一億]]
| いちおく
| ichioku
|-
| Un milliard
| [[wikt:十億|十億]]
| じゅうおく
| jūoku
|-
| Dix milliards
| [[wikt:百億|百億]]
| ひゃくおく
| hyakuoku
|-
| Cent milliards
| [[wikt:千億|千億]]
| せんおく
| sen’oku
|-
| Un billion
| [[wikt:一兆|一兆]]
| ひっちょう
| itchō
|-
| Dix billions
| [[wikt:十兆|十兆]]
| じゅっちょう
| jutchō
|-
| cent billions
| [[wikt:百兆|百兆]]
| ひゃくちょう
| hyakuchō
|-
| Un billiard
| [[wikt:千兆|千兆]]
| せんちょう
| sen’chō
|-
| Dix billiards
| [[wikt:一京|一京]]
| いっけい
| ikkei
|-
| Cent billiards
| [[wikt:十京|十京]]
| じゅっけい
| jukkei
|-
| Un trillion
| [[wikt:百京|百京]]
| ひゃっけい
| hyakkei
|-
| Dix trillions
| [[wikt:千京|千京]]
| せんけい
| sen’kei
|-
| Cent trillions
| [[wikt:一垓|一垓]]
| いちがい
| ichigai
|-
| Un trilliard
| [[wikt:十垓|十垓]]
| じゅうがい
| jūgai
|-
| Dix trilliards
| [[wikt:百垓|百垓]]
| ひゃくがい
| hyakugai
|-
| Cent trilliards
| [[wikt:千垓|千垓]]
| せんがい
| sen’gai
|-
| Un quadrillion
| [[wikt:一𥝱|一𥝱]]
| いちじょ
| ichijo
|-
| Dix quadrillions
| [[wikt:十𥝱|十𥝱]]
| じゅうじょ
| jūjo
|-
| Cent quadrillions
| [[wikt:百𥝱|百𥝱]]
| ひゃくじょ
| hyakujo
|-
| Un quadrilliard
| [[wikt:千𥝱|千𥝱]]
| せんじょ
| sen’jo
|-
| Dix quadrilliards
| [[wikt:一穣|一穣]]
| いちじょう
| ichijō
|-
| Cent quadrilliards
| [[wikt:十穣|十穣]]
| じゅうじょう
| jūjō
|-
| Un quintillion
| [[wikt:百穣|百穣]]
| ひゃくっじょう
| hyakujō
|-
| Dix quintillions
| [[wikt:千穣|千穣]]
| せんじょう
| sen’jō
|-
| Cent quintillions
| [[wikt:一溝|一溝]]
| いっこう
| ikkō
|-
| Un quintilliard
| [[wikt:十溝|十溝]]
| じゅうっこう
| jūkkō
|-
| Dix quintilliards
| [[wikt:百溝|百溝]]
| ひゃっこう
| hyakkō
|-
| Cent quintilliards
| [[wikt:千溝|千溝]]
| せんこう
| sen’kō
|-
| Un sextillion
| [[wikt:一澗|一澗]]
| いっかん
| ikkan
|-
| Dix sextillions
| [[wikt:十澗|十澗]]
| じゅっかん
| jukkan
|-
| Cent sextillions
| [[wikt:百澗|百澗]]
| ひゃっかん
| hyakkan
|-
| Un sextilliard
| [[wikt:千澗|千澗]]
| せんかん
| sen’kan
|-
| Dix sextilliards
| [[wikt:一正|一正]]
| いっせい
| issei
|-
| Cent sextilliards
| [[wikt:十正|十正]]
| じゅっせい
| jussei
|-
| Un septillion
| [[wikt:百正|百正]]
| ひゃくせい
| hyakusei
|-
| Dix septillions
| [[wikt:千正|千正]]
| せんせい
| sen’sei
|-
| Cent septillions
| [[wikt:一載|一載]]
| いっさい
| issai
|-
| Un septilliard
| [[wikt:十載|十載]]
| じゅうっさい
| jūssai
|-
| Dix septilliards
| [[wikt:百載|百載]]
| ひゃくさい
| hyakusai
|-
| Cent septilliards
| [[wikt:千載|千載]]
| せんさい
| sen’sai
|-
| Un octillion
| [[wikt:一極|一極]]
| いちごく
| ichigoku
|-
| Dix octillions
| [[wikt:十極|十極]]
| じゅうごく
| jūgoku
|-
| Cent octillions
| [[wikt:百極|百極]]
| ひゃくごく
| hyakugoku
|-
| Un octilliard
| [[wikt:千極|千極]]
| せんごく
| sengoku
|-
| Dix octilliards
| [[wikt:一恒河沙|一恒河沙]]
| いちごうがしゃ
| ichigōgasha
|-
| Cent octilliards
| [[wikt:十恒河沙|十恒河沙]]
| じゅうごうがしゃ
| jūgōgasha
|-
| Un nonillion
| [[wikt:百恒河沙|百恒河沙]]
| ひゃくごうがしゃ
| hyakugōgasha
|-
| Dix nonillions
| [[wikt:千恒河沙|千恒河沙]]
| せんごうがしゃ
| sen’gōgasha
|-
| Cent nonillions
| [[wikt:一阿僧祇|一阿僧祇]]
| いちあそうぎ
| ichiasōgi
|-
| Un nonilliard
| [[wikt:十阿僧祇|十阿僧祇]]
| じゅうあそうぎ
| jūasōgi
|-
| Dix nonilliards
| [[wikt:百阿僧祇|百阿僧祇]]
| ひゃくあそうぎ
| hyakuasōgi
|-
| Cent nonilliards
| [[wikt:千阿僧祇|千阿僧祇]]
| せんあそうぎ
| sen’asōgi
|-
| Un décillion
| [[wikt:一那由他|一那由他]]
| いちなゆた
| ichinayuta
|-
| Dix décillions
| [[wikt:十那由他|十那由他]]
| じゅうなゆた
| jūnayuta
|-
| Cent décillions
| [[wikt:百那由他|百那由他]]
| ひゃくなゆた
| hyakunayuta
|-
| Un décilliard
| [[wikt:千那由他|千那由他]]
| せんなゆた
| sen’nayuta
|-
| Dix décilliards
| [[wikt:|一不可思議]]
| いちふかしぎ
| ichifukashigi
|-
| Cent décilliards
| [[wikt:|十不可思議]]
| じゅうふかしぎ
| jūfukashigi
|-
| Un undécillion
| [[wikt:百不可思議|百不可思議]]
| ひゃくふかしぎ
| hyakufukashigi
|-
| Dix undécillions
| [[wikt:千不可思議|千不可思議]]
| せんふかしぎ
| sen’fukashigi
|-
| Cent undécillions
| [[wikt:一無量大数|一無量大数]]
| いちむりょうたいすう
| ichimuryōtaisū
|-
| Un undécilliard
| [[wikt:十無量大数|十無量大数]]
| じゅうむりょうたいすう
| jūmuryōtaisū
|-
| Dix undécilliards
| [[wikt:百無量大数|百無量大数]]
| ひゃくむりょうたいすう
| hyakumuryōtaisū
|-
| Cent undécilliards
| [[wikt:千無量大数|千無量大数]]
| せんむりょうたいすう
| sen’muryōtaisū
|-
|}
Certains nombres comportent des modifications euphoniques.
{|class="wikitable"
! Français
! [[Japonais/Kanji|Kanji]]
! [[Japonais/Kana|Kana]]
! [[Japonais/Romaji|Rōmaji]]
|-
| Trois cents
| [[wikt:三百|三百]]
| さんびゃく
| sanbyaku
|-
| Six cents
| [[wikt:六百|六百]]
| ろっぴゃく
| roppyaku
|-
|Huit cents
| [[wikt:八百|八百]]
| はっぴゃく
| happyaku
|-
| Trois mille
| [[wikt:三千|三千]]
| さんぜん
| sanzen
|-
|Huit mille
| [[wikt:八千|八千]]
| はっせん
| hassen
|-
|}
{|class="wikitable"
! Français
! [[Japonais/Kanji|Kanji]]
! [[Japonais/Kana|Kana]]
! [[Japonais/Romaji|Rōmaji]]
|-
| neuf-cent-quarante-deux milliards quatre-cent-soixante-et-un millions cent-douze mille soixante-deux (942 461 112 062)
| 九千四百二十四億六千百十一万二千六十二
| きゅうせんよんひゃくにじゅうよん おくろくせんひゃくじゅういちまんにせんろくじゅうに
| kyūsen yon hyaku nijū yon oku rokusen hyakujū ichiman nisen roku jūni
|}
(Pour le 4, 「し」 est moins utilisé parce qu'il se prononce de la même façon que « mort » ([[wikt:fr:死|死]]). Il y a également un souci avec le 7, 「しち」 pouvant signifier « terre de mort » ([[wikt:fr:死地|死地]]). Idem pour le 9, 「く」 pouvant correspondre au mot « souffrance » ([[wikt:fr:苦|苦]]).)
==Chiffres japonais==
Contrairement aux chiffres d'origine chinoise utilisés habituellement, le japonais possède ses propres chiffres qui ne sont utilisés que dans certains cas particuliers. (Avec le classificateur '''つ''' par exemple.)
{|class="wikitable"
! [[Japonais/Kanji|Kanji]]
! [[Japonais/Kana|Kana]]
! [[Japonais/Romaji|Rōmaji]]
|-
| 一
| ひと
| hito
|-
| 二
| ふた
| futa
|-
| 三
| み
| mi
|-
| 四
| よ
| yo
|-
| 五
| いつ
| itsu
|-
| 六
| む
| mu
|-
| 七
| なな
| nana
|-
| 八
| や
| ya
|-
| 九
| ここの
| kokono
|-
| 十
| とお
| tō
|-
|卄、廾、廿
|はた
|hata
|-
|卅、丗
|みそ
|miso
|-
|卌
|よそ
|yoso
|-
|五十
|いそ
|iso
|-
|六十
|むそ
|muso
|-
|七十
|ななそ
|nanaso
|-
|八十
|やそ
|yaso
|-
|九十
|ここのそ
|kokonoso
|-
|百
|もも
|momo
|-
|二百
|ふたもも
|futamomo
|-
|三百
|みお
|mi'o
|-
|四百
|よお
|yo'o
|-
|五百
|いお
|i'o
|-
|六百
|むお
|mu'o
|-
|七百
|ななお
|nana'o
|-
|八百
|やお
|ya'o
|-
|九百
|ここのお
|kokono'o
|-
|千
|ち
|chi
|-
|万
|よろず
| yorozu
|-
|兆
|きざ
|kiza
|}
==Les classificateurs==
En japonais, quand on compte, on doit impérativement utiliser un classificateur indiquant le type d'objet compté.
Par exemple : 「二車」 (« ni kuruma ») est faux ; il faut dire 「二台車」 (« nidai kuruma ») (« deux voitures »)
Voici des tableaux contenant quelques classificateurs :
{|class="wikitable"
!Chiffre
!人 ''nin'' (personne)
!匹 ''hiki'' (petits animaux)
!頭 ''tō'' (gros animaux, papillons)
!羽 ''wa'' (oiseaux, lapins)
!枚 ''mai'' (objets plats)
!本 ''hon'' (objets cylindriques)
!冊 ''satsu'' (livres)
!台 ''dai'' (machines)
!杯 ''hai'' (contenu d'un récipient)
!輪 ''rin'' (objets circulaires)
!固 ''ko'' (objets petits ou moyens)
!つ ''tsu'' (choses concrètes ou abstraites)
|-
|一
|一人 (hitori)
|一匹 (ippiki)
|一頭 (ittō)
|一羽 (ichiwa)
|一枚 (ichimai)
|一本 (ippon)
|一冊 (issatsu)
|一台 (ichidai)
|一杯 (ippai)
|一輪 (ichirin)
|一個 (ikko)
|一つ (hitotsu)
|-
|二
|二人 (futari)
|二匹 (nihiki)
|二頭 (nitō)
|二羽 (niwa)
|二枚 (nimai)
|二本 (nihon)
|二冊 (nisatsu)
|荷台 (nidai)
|二杯 (nihai)
|二輪 (nirin)
|二個 (niko)
|二つ (futatsu)
|-
|三
|三人 (sannin)
|三匹 (sanbiki)
|三頭 (santō)
|三羽 (sanba)
|三枚 (sanmai)
|三本 (sanbon)
|三冊 (sansatsu)
|三台 (sandai)
|三杯 (sanbai)
|三輪 (sanrin)
|三個 (sanko)
|三つ (mittsu)
|-
|四
|四人 (yonin)
|四匹 (yonhiki)
|四頭 (yontō)
|四羽 (yonwa)
|四枚 (yonmai)
|四本 (yonhon)
|四冊 (yonsatsu)
|四台 (yondai)
|四杯 (yonhai)
|四輪 (yonrin)
|四個 (yonko)
|四つ (yottsu)
|-
|五
|五人 (gonin)
|五匹 (gohiki)
|五頭 (gotō)
|五羽 (gowa)
|五枚 (gomai)
|五本 (gohon)
|五冊 (gosatsu)
|五台 (godai)
|五杯 (gohai)
|五輪 (gorin)
|五個(goko)
|五つ (itsutsu)
|-
|六
|六人 (rokunin)
|六匹 (roppiki)
|六頭 (rokutō)
|五羽 (roppa)
|六枚 (rokumai)
|六本 (rokuhon)
|六冊 (rokusatsu)
|六台 (rokudai)
|六杯 (roppai)
|六輪 (rokurin)
|六個 (rokko)
|六つ (muttsu)
|-
|七
|七人 (nananin)
|七匹 (nanahiki)
|七頭 (nanatō)
|七羽 (nanawa)
|七枚 (nanamai)
|七本 (nanahon)
|七冊 (nanasatsu)
|七台 (nanadai)
|七杯 (nanahai)
|七輪 (nanarin)
|七個 (nanako)
|七つ (nanatsu)
|-
|八
|八人 (hachinin)
|八匹 (happiki)
|八頭 (hattō)
|八羽 (happa)
|八枚 (hachimai)
|八本 (happon)
|八冊 (hassatsu)
|八台 (hachidai)
|八杯 (happai)
|八輪 (hachirin)
|八個 (hakko)
|八つ (yattsu)
|-
|九
|九人 (kyūnin)
|九匹 (kyūhiki)
|九頭 (kyūtō)
|九羽 (kyūwa)
|九枚 (kyūmai)
|九本 (kyūhon)
|九冊 (kyūsatsu)
|九台 (kyūdai)
|九杯 (kyuhai)
|九輪 (kyūrin)
|九個 (kyūko)
|九つ (kokonotsu)
|-
|十
|十人 (jūnin)
|十匹 (jippiki)
|十頭 (juttō)
|十羽 (juppa)
|十枚 (jūmai)
|十本 (juppon)
|十冊 (jūssatsu)
|十台 (jūdai)
|十杯 (juppai)
|十輪 (jūrin)
|十個 (jukko)
|十 (tō)
|}
{|class="wikitable"
!Chiffre
!年 ''nen'' (année)
!ヶ月 ''kagetsu'' (mois)
!日 ''nichi''/''ka'' (jour)
!週間 ''shūkan'' (semaine)
!錠 ''jō'' (médicament rond)
!時 ''ji'' (heure)
!分 ''fun'' (minute)
!秒 ''byō'' (seconde)
!着 ''chaku'' (vêtement)
!速 ''soku'' (chaussure)
!切れ ''kire'' (tranche)
|-
|一
|一年 (ichinen)
|一ヶ月 (ikkagetsu)
|一日 (ichinichi)
|一週間 (isshūkan)
|一錠 (ichijō)
|一時 (ichiji)
|一分 (ippun)
|一秒 (ichibyō)
|一着 (itchaku)
|一足 (issoku)
|一切れ (hitokire)
|-
|二
|二年 (ninen)
|二ヶ月 (nikagetsu)
|二日間 (futsukakan)
|二週間 (nishūkan)
|二錠 (nijō)
|二時 (niji)
|二分 (nifun)
|二秒 (nibyō)
|二着 (nichaku)
|二足 (nisoku)
|二切れ (futakire)
|-
|三
|三年 (sannen)
|三ヶ月 (sankagetsu)
|三日間 (mikkakan)
|三週間 (sanshūkan)
|三錠 (sanjō)
|三時 (sanji)
|三分 (sanpun)
|三秒 (sanbyō)
|三着 (sanchaku)
|三足 (sanzoku)
|三切れ (mikire)
|-
|四
|四年 (yonen)
|四ヶ月(yonkagetsu)
|四日間 (yokkakan)
|四週間 (yonshūkan)
|四錠 (yonjō)
|四時 (yoji)
|四分 (yonpun)
|四秒 (yonbyō)
|四着 (yonchaku)
|四足 (yonsoku)
|四切れ (yonkire)
|-
|五
|五年 (gonen)
|五ヶ月 (gokagetsu)
|五日間 (itsukakan)
|五週間 (goshūkan)
|五錠 (gojō)
|五時 (goji)
|五分 (gofun)
|五秒 (gobyō)
|五着 (gochaku)
|五足 (gosoku)
|五切れ (gokire)
|-
|六
|六年 (rokunen)
|六ヶ月 (rokkagetsu)
|六日間 (muikakan)
|六週間 (rokushūkan)
|六錠 (rokujō)
|六時 (rokuji)
|六分 (roppun)
|六秒 (rokubyō)
|六着 (rokuchaku)
|六足 (rokusoku)
|六切れ (rokkire)
|-
|七
|七年 (nananen)
|七ヶ月 (nanakagetsu)
|七日間 (nanokakan)
|七週間 (nanashūkan)
|七錠 (nanajō)
|七時 (shichiji)
|七分 (nanafun)
|七秒 (shichibyō)
|七着 (nanachaku)
|七足 (nanasoku)
|七切れ (nanakire)
|-
|八
|八年 (hachinen)
|八ヶ月(hachikagetsu)
|八日間 (yōkakan)
|八週間 (hasshūkan)
|八錠 (hachijō)
|八時 (hachiji)
|八分 (happun)
|八秒 (hachibyō)
|八着 (hatchaku)
|八足 (hassoku)
|八切れ (hakkire)
|-
|九
|九年 (kyūnen)
|九ヶ月 (kyūkagetsu)
|九日間 (kokonokakan)
|九週間 (kyūshūkan)
|九錠 (kyūjō)
|九時 (kuji)
|九分 (kyūfun)
|九秒 (kyūbyō)
|九着 (kyūchaku)
|九足 (kyūsoku)
|九切れ (kyūkire)
|-
|十
|十年 (jūnen)
|十ヶ月 (jukkagetsu)
|十日間 (tōkakan)
|十週間 (jusshūkan)
|十錠 (jūjō)
|十時 (jūji)
|十分 (juppun)
|十秒 (jūbyō)
|十着 (jutchaku)
|十足 (jussoku)
|十切れ (jukkire)
|}
{|class="wikitable"
!Chiffre
!課 ''ka'' (chapitre d'un livre, section d'un manuel)
!巻 ''kan'' (tome d'une histoire en plusieurs volumes)
!篇 ''hen'' (arc narratif)
!部 ''bu'' (saison d'une sérié télévisée)
!幕 ''maku'' (acte de théâtre)
!弾 ''dan'' (acte d'intrigue)
!軒 ''ken'' (maison, petit bâtiment)
!棟 ''tō'' (immeuble, grand bâtiment)
!脚 ''kyaku'' (chaise)
!膳 ''zen'' (paire de baguettes)
!位 ''i'' (numéro [rang])
!号 ''gō'' (numéro [identifiant numérique])
|-
|一
|一課 (ichika)
|一巻(ichikan)
|一篇 (ichihen)
|一部 (ichibu)
|一幕 (ichimaku)
|一弾 (ichidan)
|一軒 (ichiken)
|一棟 (ichitō)
|一脚 (ichikyaku)
|一膳 (ichizen)
|一位 (ichi'i)
|一号 (ichigō)
|-
|二
|二課 (nika)
|二巻 (nikan)
|二篇 (nihen)
|二部 (nibu)
|二幕 (nimaku)
|二弾 (nidan)
|二軒 (niken)
|二棟 (nitō)
|二脚 (nikyaku)
|二膳 (nizen)
|二位 (ni'i)
|二号 (nigō)
|-
|三
|三課 (sanka)
|三巻 (sankan)
|三篇 (sanhen)
|三部 (sanbu)
|三幕 (sanmaku)
|三弾 (sandan)
|三軒 (sanken)
|三棟 (santō)
|三脚 (sankyaku)
|三膳 (sanzen)
|三位 (san'i)
|三号 (sangō)
|-
|四
|四課 (yonka)
|四巻 (yonkan)
|四篇 (yonhen)
|四部 (yonbu)
|四幕 (yonmaku)
|四弾 (yondan)
|四軒 (yonken)
|四棟 (yontō)
|四脚 (yonkyaku)
|四膳 (yonzen)
|四位 (yon'i)
|四号 (yongō)
|-
|五
|五課 (goka)
|五巻 (gokan)
|五篇 (gohen)
|五部 (gobu)
|五幕 (gomaku)
|五弾 (godan)
|五軒 (goken)
|五棟 (gotō)
|五脚 (gokyaku)
|五膳 (gozen)
|五位 (go'i)
|五号 (gogō)
|-
|六
|六課 (rokuka)
|六巻 (rokukan)
|六篇 (rokuhen)
|六部 (rokubu)
|六幕 (rokumaku)
|六弾 (rokudan)
|六軒 (rokuken)
|六棟 (rokutō)
|六脚 (rokukyaku)
|六膳 (rokuzen)
|六位 (roku'i)
|六号 (rokugō)
|-
|七
|七課 (nanaka)
|七巻 (nanakan)
|七篇 (nanahen)
|七部 (nanabu)
|七幕 (nanamaku)
|七弾 (nanadan)
|七軒 (nanaken)
|七棟 (nanatō)
|七脚 (nanakyaku)
|七膳 (nanazen)
|七位 (nana'i)
|七号 (nanagō)
|-
|八
|八課 (hachika)
|八巻 (hachikan)
|八篇 (hachihen)
|八部 (hachibu)
|八幕 (hachimaku)
|八弾 (hachidan)
|八軒 (hachiken)
|八棟 (hachitō)
|八脚 (hachikyaku)
|八膳 (hachizen)
|八位 (hachi'i)
|八号 (hachigō)
|-
|九
|九課 (kyūka)
|九巻 (kyūkan)
|九篇 (kyūhen)
|九部 (kyūbu)
|九幕 (kyūmaku)
|九弾 (kyūdan)
|九軒 (kyūken)
|九棟 (kyūtō)
|九脚 (kyūkyaku)
|九膳 (kyūzen)
|九位 (kyū'i)
|九号 (kyūgō)
|-
|十
|十課 (jūka)
|十巻 (jūkan)
|十篇 (jūhen)
|十部 (jūbu)
|十幕 (jūmaku)
|十弾 (jūdan)
|十軒 (jūken)
|十棟 (jūtō)
|十脚 (jūkyaku)
|十膳 (jūzen)
|十位 (jū'i)
|十号 (jūgō)
|}
'''''Note :''''' Le classificateur '''つ''' utilise les chiffres japonais (et non les chiffres sino-japonais) et ne peut être utilisé que pour compter de '''一''' (ichi) à '''十''' (jū). On l'utilise surtout pour les éléments n'ayant pas de classificateur spécifique.
==Les unités de mesure==
Les unités de mesures s'utilisent comme des classificateurs numéraux.
Voici des tableaux contenant quelques unités :
{|class="wikitable"
!Chiffre
!階 ''kai'' (étage)
!段 ''dan'' (niveau)
!話 ''wa'' (épisode)
!泊 ''haku'' (nuitée)
!歳 ''sai'' (âge)
!代 ''dai'' (génération)
!番 ''ban'' (numéro [tour])
!倍 ''bai'' (multiplicateur)
!回 ''kai'' (nombre de fois)
!度 ''do'' (nombre de répétitions)
!第 ''dai'' (ordre prédéterminé)
!目 ''me'' (classement)
|-
|一
|一階(ichikai)
|一段(ichidan)
|一話 (ichiwa)
|一泊 (ichihaku)
|一歳 (ichisai)
|一代 (ichidai)
|一番 (ichiban)
|一倍 (ichibai)
|一回 (ichikai)
|一度 (ichido)
|第一 (daiichi)
|一目 (ichime)
|-
|二
|二階 (nikai)
|二段 (nidan)
|二話 (niwa)
|二泊 (nihaku)
|二歳 (nisai)
|二代 (nidai)
|二番 (niban)
|二倍 (nibai)
|二回 (nikai)
|二度 (nido)
|第二 (daini)
|二目 (nime)
|-
|三
|三階 (sankai)
|三段 (sandan)
|三話 (sanwa)
|三泊(sanhaku)
|三歳 (sansai)
|三代 (sandai)
|三番(sanban)
|三倍 (sanbai)
|三回 (sankai)
|三度 (sando)
|第三 (daisan)
|三目 (sanme)
|-
|四
|四階 (yonkai)
|四段 (yondan)
|四話 (yonwa)
|四泊(yonhaku)
|四歳(yonsai)
|四代 (yondai)
|四番 (yonban)
|四倍 (yonbai)
|四回(yonkai)
|四度 (yondo)
|第四 (daiyon)
|四目 (yonme)
|-
|五
|五階 (gokai)
|五段 (godan)
|五話 (gowa)
|五泊 (gohaku)
|五歳 (gosai)
|五代 (godai)
|五番 (goban)
|五倍 (gobai)
|五回 (gokai)
|五度 (godo)
|第五 (daigo)
|五目 (gome)
|-
|六
|六階 (rokukai)
|六段 (rokudan)
|六話 (rokuwa)
|六泊 (rokuhaku)
|六歳(rokusai)
|六代 (rokudai)
|六番(rokuban)
|六倍 (rokubai)
|六回 (rokukai)
|六度 (rokudo)
|第六 (dairoku)
|六目 (rokume)
|-
|七
|七階(nanakai)
|七段(nanadan)
|七話(nanawa)
|七泊(nanahaku)
|七歳(nanasai)
|七代 (nanadai)
|七番(nanaban)
|七倍 (nanabai)
|七回(nanakai)
|七度(nanado)
|第七 (dainana)
|七目(naname)
|-
|八
|八階(hachikai)
|八段(hachidan)
|八話(hachiwa)
|八泊(hachihaku)
|八歳(hachisai)
|八代(hachidai)
|八番(hachiban)
|八倍 (hachibai)
|八回(hachikai)
|八度(hachido)
|第八 (daihachi)
|八目 (hachime)
|-
|九
|九階(kyūkai)
|九段(kyūdan)
|九話(kyūwa)
|九泊(kyūhaku)
|九歳(kyūsai)
|九代 (kyūdai)
|九番(kyūban)
|九倍 (kyūbai)
|九回(kyūkai)
|九度 (kyūdo)
|第九 (daikyū)
|九目 (kyūme)
|-
|十
|十階(jūkai)
|十段(jūdan)
|十話(jūwa)
|十泊(jūhaku)
|十歳 (jūsai)
|十代 (jūdai)
|十番(jūban)
|十倍 (jūbai)
|十回(jūkai)
|十度 (jūdo)
|第十 (daijū)
|十目 (jūme)
|}
== Voir aussi ==
*[[wikt:Catégorie:Noms communs japonais|Les noms dans le Wiktionnaire]]
*[[w:Numération japonaise|La numération japonaise sur Wikipédia]]
*[[w:Compter en japonais|Compter en japonais sur Wikipédia]]
{{Glossaires de Japonais}}
[[Catégorie:Glossaires de Japonais]]
[[en:Japanese/Vocabulary/Numbers]]
[[es:Japonés/Vocabulario/Números]]
0vo91hjrx9aj04xaulj9u7sp9s93ueh
Catégorie:Livres terminés
14
11928
772255
771430
2026-09-16T11:24:35Z
Lionel Scheepmans
20012
Présentation plus explicite
772255
wikitext
text/x-wiki
<noinclude>'''Cette page de Wikilivres reprend toute la catégorie des livres considérés comme terminés et reprenant plusieurs chapitres.'''</noinclude>
[[Catégorie:Livres par niveau d'avancement]]
bu0dd0ojch38t8o2peqavgaqbvfmfaa
772256
772255
2026-09-16T11:25:26Z
Lionel Scheepmans
20012
772256
wikitext
text/x-wiki
<noinclude><big>'''Cette page de Wikilivres reprend toute la catégorie des livres considérés comme terminés et reprenant plusieurs chapitres.'''</big></noinclude>
[[Catégorie:Livres par niveau d'avancement]]
h9vhvxc58f7zrc8awpzs5xvbxkj75u6
Catégorie:Minilivres
14
11936
772257
771609
2026-09-16T11:29:36Z
Lionel Scheepmans
20012
772257
wikitext
text/x-wiki
[[Catégorie:Livres par niveau d'avancement]]
'''<big>Cette page de Wikilivres reprend la catégorie de tous les minilivres, ou autrement dit tous les livres présentés sur une seule page web.</big>'''
bqbguxgdpvd39mcm10b01p4ppkfvjb4
772258
772257
2026-09-16T11:30:22Z
Lionel Scheepmans
20012
772258
wikitext
text/x-wiki
[[Catégorie:Livres par niveau d'avancement]]
'''<big>Cette page de Wikilivres reprend la catégorie de tous les minilivres, c'est à dire tous les livres écrits sur une seule page web.</big>'''
4rxuxb49zyxg06izz71110kreo3182d
Wikilivres:Tous les livres
4
14152
772259
650958
2026-09-16T11:41:30Z
Lionel Scheepmans
20012
Introduction
772259
wikitext
text/x-wiki
'''Cette page présente tous les livres disponibles sur Wikilivres, y compris les ébauches et les livres en cours d'écriture. N'hésitez pas à prendre contact avec les auteurs que l'on peut découvrir en cliquant sur l'onglet « Voir l'historique » des pages de présentations. '''
[[Fichier:Pedia-shelf-1.jpg|right|250px]]
__NOEDITSECTION__
La bibliothèque contient [[Spécial:Statistics|{{NUMBEROFARTICLES}}]] pages réparties en [[:Catégorie:Livres par titre|{{formatnum:{{NUMBEROFBOOKS}}}} livres]], dont [[:Catégorie:Livres avec version PDF|{{PAGESINCATEGORY:Livres avec version PDF}}]] téléchargeables en PDF.
{{message|clear=left|style=margin:0.2em 0;|Il existe, pour le moment, deux systèmes d'indexation internes pour trouver du contenu :
* Le [[#Tous les livres par catégorie|système de catégories]] {{100}}. La quasi-intégralité des livres peuvent être trouvés via ce système.
* La [[#Tous les livres selon la classification décimale universelle|classification décimale universelle]] {{25}}, utilisée dans les bibliothèques. Hélas, beaucoup de livres ne sont pas encore rangés selon cette classification, préférez pour le moment la première méthode ou la [[Wikilivres:Rechercher un livre|recherche de livre]].
}}
== Tous les livres par catégorie ==
<div class="flex-content">
<div class="flex-content-half">
<div class="headerbleu">Livres par thème</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex; padding-right:1em;">Livres par thème</categorytree>
</div>
<div class="flex-content-half">
<div class="headerbleu">Livres par niveau d'avancement</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex;">Livres par niveau d'avancement</categorytree>
</div>
</div>
== Tous les livres selon la classification décimale universelle ==
{{:Wikilivres:CDU}}
[[Catégorie:Wikilivres]]
gm3pfjudrwfo76pqzrwv4pw3r42load
772260
772259
2026-09-16T11:46:54Z
Lionel Scheepmans
20012
772260
wikitext
text/x-wiki
'''Cette page présente tous les livres disponibles sur Wikilivres, y compris les ébauches et les livres en cours d'écriture. N'hésitez pas non plus à poursuivre l'écriture ou à améliorer les livres en cours de création. Un Wiki est fait pour cela. Si vous le désirez, vous pouvez aussi contacter les autres personnes qui ont contribué à la rédaction de l'ouvrage. Cela peut se faire en cliquant sur l'onglet « Voir l'historique » des pages de présentations.'''
[[Fichier:Pedia-shelf-1.jpg|right|250px]]
__NOEDITSECTION__
La bibliothèque contient [[Spécial:Statistics|{{NUMBEROFARTICLES}}]] pages réparties en [[:Catégorie:Livres par titre|{{formatnum:{{NUMBEROFBOOKS}}}} livres]], dont [[:Catégorie:Livres avec version PDF|{{PAGESINCATEGORY:Livres avec version PDF}}]] téléchargeables en PDF.
{{message|clear=left|style=margin:0.2em 0;|Il existe, pour le moment, deux systèmes d'indexation internes pour trouver du contenu :
* Le [[#Tous les livres par catégorie|système de catégories]] {{100}}. La quasi-intégralité des livres peuvent être trouvés via ce système.
* La [[#Tous les livres selon la classification décimale universelle|classification décimale universelle]] {{25}}, utilisée dans les bibliothèques. Hélas, beaucoup de livres ne sont pas encore rangés selon cette classification, préférez pour le moment la première méthode ou la [[Wikilivres:Rechercher un livre|recherche de livre]].
}}
== Tous les livres par catégorie ==
<div class="flex-content">
<div class="flex-content-half">
<div class="headerbleu">Livres par thème</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex; padding-right:1em;">Livres par thème</categorytree>
</div>
<div class="flex-content-half">
<div class="headerbleu">Livres par niveau d'avancement</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex;">Livres par niveau d'avancement</categorytree>
</div>
</div>
== Tous les livres selon la classification décimale universelle ==
{{:Wikilivres:CDU}}
[[Catégorie:Wikilivres]]
4jxvoh1113qnmjz15kvctvojf4vdaqt
772261
772260
2026-09-16T11:47:20Z
Lionel Scheepmans
20012
772261
wikitext
text/x-wiki
'''Cette page présente tous les livres disponibles sur Wikilivres, y compris les ébauches et les livres en cours d'écriture.''' N'hésitez pas non plus à poursuivre l'écriture ou à améliorer les livres en cours de création. Un Wiki est fait pour cela. Si vous le désirez, vous pouvez aussi contacter les autres personnes qui ont contribué à la rédaction de l'ouvrage. Cela peut se faire en cliquant sur l'onglet « Voir l'historique » des pages de présentations.
[[Fichier:Pedia-shelf-1.jpg|right|250px]]
__NOEDITSECTION__
La bibliothèque contient [[Spécial:Statistics|{{NUMBEROFARTICLES}}]] pages réparties en [[:Catégorie:Livres par titre|{{formatnum:{{NUMBEROFBOOKS}}}} livres]], dont [[:Catégorie:Livres avec version PDF|{{PAGESINCATEGORY:Livres avec version PDF}}]] téléchargeables en PDF.
{{message|clear=left|style=margin:0.2em 0;|Il existe, pour le moment, deux systèmes d'indexation internes pour trouver du contenu :
* Le [[#Tous les livres par catégorie|système de catégories]] {{100}}. La quasi-intégralité des livres peuvent être trouvés via ce système.
* La [[#Tous les livres selon la classification décimale universelle|classification décimale universelle]] {{25}}, utilisée dans les bibliothèques. Hélas, beaucoup de livres ne sont pas encore rangés selon cette classification, préférez pour le moment la première méthode ou la [[Wikilivres:Rechercher un livre|recherche de livre]].
}}
== Tous les livres par catégorie ==
<div class="flex-content">
<div class="flex-content-half">
<div class="headerbleu">Livres par thème</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex; padding-right:1em;">Livres par thème</categorytree>
</div>
<div class="flex-content-half">
<div class="headerbleu">Livres par niveau d'avancement</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex;">Livres par niveau d'avancement</categorytree>
</div>
</div>
== Tous les livres selon la classification décimale universelle ==
{{:Wikilivres:CDU}}
[[Catégorie:Wikilivres]]
l32aep91v556dsd9dizbkibj8v76v9o
772262
772261
2026-09-16T11:47:45Z
Lionel Scheepmans
20012
772262
wikitext
text/x-wiki
'''Cette page présente tous les livres disponibles sur Wikilivres, y compris les ébauches et les livres en cours d'écriture.'''
N'hésitez pas non plus à poursuivre l'écriture ou à améliorer les livres en cours de création. Un Wiki est fait pour cela. Si vous le désirez, vous pouvez aussi contacter les autres personnes qui ont contribué à la rédaction de l'ouvrage. Cela peut se faire en cliquant sur l'onglet « Voir l'historique » des pages de présentations.
[[Fichier:Pedia-shelf-1.jpg|right|250px]]
__NOEDITSECTION__
La bibliothèque contient [[Spécial:Statistics|{{NUMBEROFARTICLES}}]] pages réparties en [[:Catégorie:Livres par titre|{{formatnum:{{NUMBEROFBOOKS}}}} livres]], dont [[:Catégorie:Livres avec version PDF|{{PAGESINCATEGORY:Livres avec version PDF}}]] téléchargeables en PDF.
{{message|clear=left|style=margin:0.2em 0;|Il existe, pour le moment, deux systèmes d'indexation internes pour trouver du contenu :
* Le [[#Tous les livres par catégorie|système de catégories]] {{100}}. La quasi-intégralité des livres peuvent être trouvés via ce système.
* La [[#Tous les livres selon la classification décimale universelle|classification décimale universelle]] {{25}}, utilisée dans les bibliothèques. Hélas, beaucoup de livres ne sont pas encore rangés selon cette classification, préférez pour le moment la première méthode ou la [[Wikilivres:Rechercher un livre|recherche de livre]].
}}
== Tous les livres par catégorie ==
<div class="flex-content">
<div class="flex-content-half">
<div class="headerbleu">Livres par thème</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex; padding-right:1em;">Livres par thème</categorytree>
</div>
<div class="flex-content-half">
<div class="headerbleu">Livres par niveau d'avancement</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex;">Livres par niveau d'avancement</categorytree>
</div>
</div>
== Tous les livres selon la classification décimale universelle ==
{{:Wikilivres:CDU}}
[[Catégorie:Wikilivres]]
cow37m4ngs9zzh0tbrim7yjgnvm60p7
772263
772262
2026-09-16T11:50:55Z
Lionel Scheepmans
20012
Déplacement des catégories en page d'accueil suite à la prise de décision.
772263
wikitext
text/x-wiki
'''Cette page présente tous les livres disponibles sur Wikilivres, y compris les ébauches et les livres en cours d'écriture.'''
N'hésitez pas non plus à poursuivre l'écriture ou à améliorer les livres en cours de création. Un Wiki est fait pour cela. Si vous le désirez, vous pouvez aussi contacter les autres personnes qui ont contribué à la rédaction de l'ouvrage. Cela peut se faire en cliquant sur l'onglet « Voir l'historique » des pages de présentations.
[[Fichier:Pedia-shelf-1.jpg|right|250px]]
__NOEDITSECTION__
La bibliothèque contient [[Spécial:Statistics|{{NUMBEROFARTICLES}}]] pages réparties en [[:Catégorie:Livres par titre|{{formatnum:{{NUMBEROFBOOKS}}}} livres]], dont [[:Catégorie:Livres avec version PDF|{{PAGESINCATEGORY:Livres avec version PDF}}]] téléchargeables en PDF.
{{message|clear=left|style=margin:0.2em 0;|Il existe, pour le moment, deux systèmes d'indexation internes pour trouver du contenu :
* Le [[#Tous les livres par catégorie|système de catégories]] {{100}}. La quasi-intégralité des livres peuvent être trouvés via ce système.
* La [[#Tous les livres selon la classification décimale universelle|classification décimale universelle]] {{25}}, utilisée dans les bibliothèques. Hélas, beaucoup de livres ne sont pas encore rangés selon cette classification, préférez pour le moment la première méthode ou la [[Wikilivres:Rechercher un livre|recherche de livre]].
}}
== Tous les livres par catégorie ==
{| class="flexible"
| style="width:25%;" |[[Fichier:Book_icon.png|lien=Wikilivres:Tous_les_livres|100x100px]]
| style="width:25%;" |
* [[:Catégorie:Classe 7 - Arts. Divertissements. Sports|Arts]]
* [[:Catégorie:Loisirs|Loisirs]]
* [[:Catégorie:Histoire|Histoire]]
| style="width:25%;" |
* [[:Catégorie:Classe 8 - Langue. Linguistique. Littérature|Langues]]
* [[:Catégorie:Technologie|Technologie]]
* [[:Catégorie:Informatique|Informatique]]
| style="width:25%;" |
* [[:Catégorie:Classe 5 - Mathématique. Sciences exactes et naturelles|Sciences]]
* [[:Catégorie:Sciences humaines|Sciences humaines]]
* '''[[Wikilivres:Tous les livres|Tous les livres]]'''
|}
<div class="flex-content">
<div class="flex-content-half">
<div class="headerbleu">Livres par thème</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex; padding-right:1em;">Livres par thème</categorytree>
</div>
<div class="flex-content-half">
<div class="headerbleu">Livres par niveau d'avancement</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex;">Livres par niveau d'avancement</categorytree>
</div>
</div>
== Tous les livres selon la classification décimale universelle ==
{{:Wikilivres:CDU}}
[[Catégorie:Wikilivres]]
pk083zsd0n207bq4yd1x69lnsaa7uet
772264
772263
2026-09-16T11:51:21Z
Lionel Scheepmans
20012
772264
wikitext
text/x-wiki
'''Cette page présente tous les livres disponibles sur Wikilivres, y compris les ébauches et les livres en cours d'écriture.'''
N'hésitez pas non plus à poursuivre l'écriture ou à améliorer les livres en cours de création. Un Wiki est fait pour cela. Si vous le désirez, vous pouvez aussi contacter les autres personnes qui ont contribué à la rédaction de l'ouvrage. Cela peut se faire en cliquant sur l'onglet « Voir l'historique » des pages de présentations.
[[Fichier:Pedia-shelf-1.jpg|right|250px]]
__NOEDITSECTION__
La bibliothèque contient [[Spécial:Statistics|{{NUMBEROFARTICLES}}]] pages réparties en [[:Catégorie:Livres par titre|{{formatnum:{{NUMBEROFBOOKS}}}} livres]], dont [[:Catégorie:Livres avec version PDF|{{PAGESINCATEGORY:Livres avec version PDF}}]] téléchargeables en PDF.
{{message|clear=left|style=margin:0.2em 0;|Il existe, pour le moment, deux systèmes d'indexation internes pour trouver du contenu :
* Le [[#Tous les livres par catégorie|système de catégories]] {{100}}. La quasi-intégralité des livres peuvent être trouvés via ce système.
* La [[#Tous les livres selon la classification décimale universelle|classification décimale universelle]] {{25}}, utilisée dans les bibliothèques. Hélas, beaucoup de livres ne sont pas encore rangés selon cette classification, préférez pour le moment la première méthode ou la [[Wikilivres:Rechercher un livre|recherche de livre]].
}}
== Tous les livres par catégorie ==
{| class="flexible"
| style="width:25%;" |[[Fichier:Book_icon.png|lien=Wikilivres:Tous_les_livres|100x100px]]
| style="width:25%;" |
* [[:Catégorie:Classe 7 - Arts. Divertissements. Sports|Arts]]
* [[:Catégorie:Loisirs|Loisirs]]
* [[:Catégorie:Histoire|Histoire]]
| style="width:25%;" |
* [[:Catégorie:Classe 8 - Langue. Linguistique. Littérature|Langues]]
* [[:Catégorie:Technologie|Technologie]]
* [[:Catégorie:Informatique|Informatique]]
| style="width:25%;" |
* [[:Catégorie:Classe 5 - Mathématique. Sciences exactes et naturelles|Sciences]]
* [[:Catégorie:Sciences humaines|Sciences humaines]]
|}
<div class="flex-content">
<div class="flex-content-half">
<div class="headerbleu">Livres par thème</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex; padding-right:1em;">Livres par thème</categorytree>
</div>
<div class="flex-content-half">
<div class="headerbleu">Livres par niveau d'avancement</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex;">Livres par niveau d'avancement</categorytree>
</div>
</div>
== Tous les livres selon la classification décimale universelle ==
{{:Wikilivres:CDU}}
[[Catégorie:Wikilivres]]
f962y4qptuqci9lu54l1evpxdo5dh85
772265
772264
2026-09-16T11:52:00Z
Lionel Scheepmans
20012
772265
wikitext
text/x-wiki
'''Cette page présente tous les livres disponibles sur Wikilivres, y compris les ébauches et les livres en cours d'écriture.'''
N'hésitez pas à poursuivre l'écriture ou à améliorer les livres en cours de création. Un Wiki est fait pour cela. Si vous le désirez, vous pouvez aussi contacter les autres personnes qui ont contribué à la rédaction de l'ouvrage. Cela peut se faire en cliquant sur l'onglet « Voir l'historique » des pages de présentations.
[[Fichier:Pedia-shelf-1.jpg|right|250px]]
__NOEDITSECTION__
La bibliothèque contient [[Spécial:Statistics|{{NUMBEROFARTICLES}}]] pages réparties en [[:Catégorie:Livres par titre|{{formatnum:{{NUMBEROFBOOKS}}}} livres]], dont [[:Catégorie:Livres avec version PDF|{{PAGESINCATEGORY:Livres avec version PDF}}]] téléchargeables en PDF.
{{message|clear=left|style=margin:0.2em 0;|Il existe, pour le moment, deux systèmes d'indexation internes pour trouver du contenu :
* Le [[#Tous les livres par catégorie|système de catégories]] {{100}}. La quasi-intégralité des livres peuvent être trouvés via ce système.
* La [[#Tous les livres selon la classification décimale universelle|classification décimale universelle]] {{25}}, utilisée dans les bibliothèques. Hélas, beaucoup de livres ne sont pas encore rangés selon cette classification, préférez pour le moment la première méthode ou la [[Wikilivres:Rechercher un livre|recherche de livre]].
}}
== Tous les livres par catégorie ==
{| class="flexible"
| style="width:25%;" |[[Fichier:Book_icon.png|lien=Wikilivres:Tous_les_livres|100x100px]]
| style="width:25%;" |
* [[:Catégorie:Classe 7 - Arts. Divertissements. Sports|Arts]]
* [[:Catégorie:Loisirs|Loisirs]]
* [[:Catégorie:Histoire|Histoire]]
| style="width:25%;" |
* [[:Catégorie:Classe 8 - Langue. Linguistique. Littérature|Langues]]
* [[:Catégorie:Technologie|Technologie]]
* [[:Catégorie:Informatique|Informatique]]
| style="width:25%;" |
* [[:Catégorie:Classe 5 - Mathématique. Sciences exactes et naturelles|Sciences]]
* [[:Catégorie:Sciences humaines|Sciences humaines]]
|}
<div class="flex-content">
<div class="flex-content-half">
<div class="headerbleu">Livres par thème</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex; padding-right:1em;">Livres par thème</categorytree>
</div>
<div class="flex-content-half">
<div class="headerbleu">Livres par niveau d'avancement</div>
<categorytree hideroot="on" mode="pages" style="border:1px solid #A0A0A0; padding:0.7ex;">Livres par niveau d'avancement</categorytree>
</div>
</div>
== Tous les livres selon la classification décimale universelle ==
{{:Wikilivres:CDU}}
[[Catégorie:Wikilivres]]
je9o74shk82tao97fbauvx1kn3qt2cd
Photographie/Personnalités/R/Oscar Gustave Rejlander
0
35269
772243
599300
2026-09-15T20:39:45Z
JayCubby
120242
([[c:GR|GR]]) [[File:Lewis Carroll 1863.jpg]] → [[File:Lewis Carroll (Charles Lutwidge Dodgson) MET DP-15137-001 (cropped).jpg]] res
772243
wikitext
text/x-wiki
{{Ph s Personnalités}}
[[File:Sel-Portrait LACMA AC1992.197.107.jpg|thumb|240px|autoportrait]]
'''Oscar Gustave Rejlander''' était un photographe britanno-suédois né en 1813 en Suède et décédé le 18 janvier 1875 à Clapham. Il a travaillé à Londres de 1813 à 1875.
{{clr}}
== Galerie de photographies ==
<gallery widths="240px" heights="240px">
Alfred and Emily Tennyson with their sons at Farringford, by Oscar Gustave Rejlander.jpg
Alfred Tennyson by Rejlander, 1863.jpg
Alfred Tennyson, 1st Baron Tennyson and family.jpg
Alfred Tennyson, 1st Baron Tennyson.jpg
Allegory22.jpg
Alfred and Emily Tennyson with their sons at Farringford, by Oscar Gustave Rejlander.jpg|Alfred et Emily Tennyson avec leurs fils à Farringord
Ariadne MET DP267128.jpg
Cecily Hamilton MET DP295241.jpg
Charles Darwin photograph by Oscar Rejlander, circa 1871-b&w.jpg
Charles Darwin photograph by Oscar Rejlander, circa 1871.jpg
Expression of the Emotions Plate III.png
His Country's Hope MET DP343183.jpg
Julia and Herbert Duckworth.jpg
Julia Prinsep Jackson circa 1856.jpg
Lewis Carroll (Charles Lutwidge Dodgson) MET DP-15137-001 (cropped).jpg
M197202490002.jpg|Fillette pensive
MissMander.jpg
Mr. and Miss Constable MET DP262085.jpg
Ogrejlander.jpg
Ogrejlander2.jpg
Oscar Gustav Rejlander - Study of the Head of John the Baptist in a Charger - Google Art Project.jpg
Oscar Gustave Rejlander (1813—1875) The self portrai.jpg
Oscar-gustave-rejlander two ways of life (HR, sepia).jpg
Oscar-gustave-rejlander two ways of life.jpg
Oscar Gustave Rejlander.jpg
Portrait of Emily Honoria Patmore.jpg|Emily Honoria Patmore
Rejlander 01.jpg
Rejlander oscar gustave-miss constable.jpg
Rejlander St. John the Baptist.jpg
Rejlander studio frame, 1863.gif
Rejlander und die Zigeuner-Hausiererin.jpg
Rejlander, 1857, Non Angeli sed Angli.png
Rejlander, 1860, The Dream.jpg
Rejlander, 1864, Poor Jo.jpg
Rejlander, 1871, Ginxs Baby original.jpeg
Rejlander, 1871, Ginxs Baby polychrome.PNG
Rejlander, 1871, Ginxs Baby retouched.jpeg
Rejlander, 1872 double selfportrait.jpeg
Rejlander, 1873 double selfportrait.jpeg
Rejlander, 1874, Street Urchins.jpg
Rejlander, Hard Times.jpg
Rejlander, Oskar Gustav - Aktstudie (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Alfred Lord Tennyson (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Almosen (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Alter Mann mit schlafendem Kind (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Der Bibelleser (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Der fröhliche Barnaby (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Der Jongleur (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Der Kopf Johannes des Täufers auf einer Platte (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Der Schornsteinfeger (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Der Traum (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Der Wanderer (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Der Waschtag (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Die Göttin Nicotina (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Ein Schuljunge in Lumpen (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Ekel (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Entrüstung (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Familienähnlichkeit (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Frau hält ein Paar Füße (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Fröhliche Tage (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Gebet (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Geduld (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Gestaltstudie (1) (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Gestaltstudie (2) (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Hallam Tennyson (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Harte Zeiten (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Heimweh (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Hilflosigkeit (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Ihr Porträt (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Joseph Wilson Foster (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Junge Frau trägt weißes ausgeschnittenes Kleid (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Junges Mädchen gesticktes Kleid tragend (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Kinder mit einer Maske spielend (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Kinderphotographie (1) (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Kinderphotographie (2) (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Kummer (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Lewis Carroll (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Lionel Tennyson (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Nachmittagssonne (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - O.G.R. der Künstler stellt O.G.R. den Freiwilligen vor (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Rejlander als Democritus (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Rejlander als Garibaldi (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Ringkampfstudie (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Severin Hower (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Sommer (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Spiel (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Tag in der Stadt (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Überraschung (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Wahrsagen (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Weinendes Baby und Rejlander (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - Winter (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Bitte gib uns 'nen Pfennig« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Einen Penny bitte« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Ich zahl'« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Ist das wahr« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Jem, ist das 'n guter« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »s ist dunkel drinnen und helle draußen« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Sie sieht mich an, das liebe Wesen« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Verdammter Ostwind« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Woll'n sie Streichhölzer« (Zeno Fotografie).jpg
Rejlander, Oskar Gustav - »Zweite Ausgabe!« (Zeno Fotografie).jpg
Rejlander02.jpg
Rejlander044.jpg
Rejlander045.jpg
Rejlander047.jpg
Rejlander0520.jpg
Rejlander2.jpg
Study of a Head MET DP209255.jpg
The Life and Letters of Lewis Carroll 1863.jpeg
The Scholar's Mate MET DP261141.jpg
There He Goes LACMA M.2008.40.1656.jpg
YoungHallamTennyson.png
Джо.jpg
Оскар Густав Реиландер. Тяжёлые времена.jpg
</gallery>
{{Ph Personnalités}}
{{DEFAULTSORT:Rejlander, Oscar}}
[[Catégorie:Personnalités de la photographie]]
ccmniav373utqqe3ugf8ycki6b6zgsx
Fonctionnement d'un ordinateur/Les architectures à parallélisme de données
0
65960
772240
771171
2026-09-15T16:54:59Z
Mewtow
31375
/* Les processeurs SIMD purs (packed SIMD) et SIMT */
772240
wikitext
text/x-wiki
Nous allons maintenant aborder le parallélisme de données, qui consiste à traiter des données différentes en parallèle. De nombreuses situations s'y prêtent relativement bien : traitement d'image, manipulation de sons, vidéo, rendu 3d, etc. Mais pour exploiter ce parallélisme, il a fallu concevoir des processeurs adaptés. Les architectures les plus simples exécutent une instruction sur plusieurs données en parallèle, à l'intérieur d'un processeur. Ces architectures exploitent le parallélisme de données au niveau de l'unité de calcul, celle-ci pouvant exécuter un même calcul sur des données différentes en parallèle.
Si on omet quelques exceptions, on peut classer ces architectures dans plusieurs catégories principales : les processeurs à instructions SIMD, les processeurs à instructions SIMD à prédicat, les processeurs SIMT, les processeurs vectoriels. Si les processeurs vectoriels sont assez rares de nos jours, tous les processeurs récents incorporent des instructions SIMD. Quant au SIMT, il est utilisé sur les cartes graphiques modernes.
==Les instructions SIMD : les points communs entre tous les processeurs SIMD==
Les processeurs modernes fournissent presque tous des '''instructions SIMD''', qui sont capables de traiter plusieurs éléments en parallèle. Elles travaillent sur des nombres entiers ou flottants regroupés dans ce qu'on appelle un ''vecteur'', qui sont eux-mêmes stockés dans des registres spécialisés. En général, tous les vecteurs ont une taille fixe, peu importe leur contenu. Cela implique que suivant la taille des données à manipuler, on pourra en placer plus ou moins dans un vecteur. Par exemple, un vecteur de 128 bits pourra contenir 4 entiers de 32 bits, 4 flottants 32 bits, ou 8 entiers de 16 bits.
[[File:Vector register.png|centre|vignette|upright=2|Contenu d'un vecteur en fonction du type de données utilisé.]]
Les vecteurs sont stockés dans des '''registres vectoriels''', aussi appelés '''registres SIMD'''. Un registre vectoriel peut contenir un vecteur complet, pas plus. En conséquence, ils ont une taille assez importante : ils font généralement 128,,256, voire 512 bits, comparé aux 32/64 bits des registres scalaires. Le résultat est que les processeurs SIMD modernes ont des registres SIMD séparés des registres entiers/flottants normaux. Un défaut de cette organisation est que les registres vectoriels sont des registres en plus, qui doivent être sauvegardés lors des commutations de contexte, lors des interruptions, lors des appels systèmes, etc.
{|
|+ Comparaison entre un processeur sans registres vectoriels, et avec registres vectoriels.
|[[File:Non-SIMD cpu diagram1.svg|vignette|upright=1.5|CPU Non-SIMD]]
|[[File:SIMD cpu diagram1.svg|vignette|upright=1.5|CPU SIMD]]
|}
Les instructions SIMD peuvent être rassemblées en deux grands groupes : les horizontales et les verticales.
Les '''instructions SIMD verticales''' travaillent en parallèle sur les éléments qui sont "à la même place" dans deux vecteurs. Elles peuvent additionner ou multiplier deux vecteurs, par exemple. Pour prendre l'exemple d'une instruction d'addition vectorielle, celle-ci va additionner ensemble les données qui sont à la même place dans deux vecteurs, et placer le résultat dans un autre vecteur, à la même place.
Les '''instructions SIMD horizontales''' partent d'un vecteur et ont pour résultat un simple nombre. Elles peuvent calculer la somme ou le produit des éléments d'un vecteur, renvoyer le nombre d’éléments nuls dans un vecteur, etc.
[[File:Instructions SIMD.png|centre|vignette|upright=2|Instructions SIMD]]
Les instructions SIMD sont difficilement utilisables dans des langages de haut niveau et c'est donc au compilateur de traduire un programme avec des instructions vectorielles. Les transformations qui permettent de traduire des morceaux de programmes en instructions vectorielles (déroulage de boucles, strip-mining) portent le nom de vectorisation.
===Les instructions SIMD arithmétiques verticales===
Les instructions SIMD sont essentiellement des instructions arithmétiques, comme des additions, des soustractions, des multiplications, éventuellement des opérations bit à bit, et quelques autres. Suivant la taille des données, et le type de celle-si, on devra effecteur des instructions différentes. Par exemple, on devra utiliser deux instructions d'addition différentes suivant qu'on manipule des flottants 64 bits ou des entiers 32 bits. De même, l'instruction pour additionner des vecteurs d'entiers de 16 bits sera différente de celle manipulant des vecteurs d'entiers de 32 bits.
L'addition et la multiplication peuvent générer des débordements d'entier. Pour les instructions non-SIMD, le débordement d'une addition est géré par un bit de retenue, stocké dans le registre d'état. Mais pour les instructions SIMD, ce n'est pas une solution très facile à implémenter. À la place, les additions et soustractions utilisent généralement l'arithmétique saturée, à savoir que lorsqu'une addition déborde, le résultat est la valeur maximale représentable dans un entier.
Pour la multiplication, les instructions non-SIMD génère un résultat qui est codé sur le double du nombre de bits. Une multiplication de deux nombres 64 bits donnera un résultat sur 128 bits, par exemple. Pour gérer cela, les multiplications non-SIMD stockent ce résultat dans deux registres, ou ne conservent que les 64 bits de poids faible. D'autres solutions sont possibles, mais ces deux là sont les plus utilisées. Pour les instructions SMID, une autre solution est préférée car plus simple pour de telles instructions : fournir deux instructions : une qui calcule les 64 bits de poids faible du résultat, une autre pour les 64 bits de poids fort.
Les processeurs SIMD étant utilisés pour du traitement d'image ou du rendu 2D/3D, ils supportent généralement des opérations mathématiques assez complexes sur des nombres flottants. Il n'est pas rare d'avoir des instructions SIMD pour le calcul de l'inverse d'un nombre, de sa racine carrée, l'inverse d'une racine carrée, des fonctions trigonométriques, etc. L'implémentation matérielle de telles instructions est généralement très complexe et gourmande en circuits, ce qui fait que les concepteurs de processeurs rusent. Sauf sur certains processeurs assez peu fréquents, les instructions mathématiques complexes ne calculent pas un résultat exact, mais une approximation du résultat. Utiliser un résultat approximatif ne pose pas de problème pour de telles applications, le rendu d'image ou 3D s'en accommodant parfaitement, contrairement au calcul scientifique.
===Les instructions SIMD de manipulation de données intra-vecteur===
Après avoir vu les instructions SIMD verticales, il est temps de voir les instructions SIMD horizontales. Pour rappel, celles-ci travaillent un vecteur unique, dont elles réarrangent ou modifient les éléments. Tout cela sera plus parlant une fois qu'on aura donné quelques exemples. Mais avant toute chose, nous allons séparer les instructions horizontales en deux sous-types, fondamentalement différents. Le premier sous-type change de place les données dans un vecteur. Le second type est celui des instructions horizontales arithmétiques/logiques habituelles, qu'on verra plus tard. La distinction entre les deux est très importante, comme on le verra plus tard.
[[File:SIMD instruction data movement - One operand.png|vignette|upright=1.5|Instructions SIMD de mouvement de données à une opérande.]]
Les instructions SIMD horizontales les plus communes bougent des données à l'intérieur des vecteurs, ce qui leur vaut le nom d''''instructions de manipulation de vecteur'''. Les plus simples sont celles qui ont une seule opérande, à savoir qui prennent un vecteur comme opérande et renvoient un vecteur résultat.
Les plus intuitives sont les instructions de '''permutation''', dont le nom est assez explicite. Elles changent de place des données dans un vecteur. Dans le cas le plus compliqué, elles prennent deux vecteur : le vecteur dans lequel faire la permutation, et un vecteur qui indique comment faire la permutation. Le vecteur précise, pour chaque élement du vecteur, où il doit aller après la permutation. L'instruction effectue la permutation des entiers/flottants/octets dans le vecteur.
Les instructions '''''compress''''' et '''''expand''''' sont elles aussi spécifiques aux vecteurs. L'instruction ''compress'' prend un vecteur en opérande, sélectionne certaines valeurs présentes dedans, et les stocke dans un vecteur de sortie. Elle regroupe les valeurs sélectionnées dans le début du vecteur, et laisse les cases inoccupées à 0. Par exemple, pour un vecteur de 16 entiers, elle permet de sélectionner 5 entiers dedans, et les place dans un vecteur résultat qui ne contient que ces 5 valeurs au début du vecteur, le reste est à 0. L'instruction ''expand'' fait l'inverse : elle prend un vecteur crée par l'instruction ''compress'' (ou du moin qui a le même format), prend toutes les valeurs non-nulles dedans, et les disperse dans un vecteur de sortie, en les mettant à la place désirée.
Les autres instructions SIMD horizontales prennent deux opérandes, voire aucune opérande vectorielle (elles prennent un nombre, pas un vecteur).
Les instructions '''''shuffle''''' prennent plusieurs vecteurs, sélectionnent les éléments adéquats dans chaque vecteur, et les regroupe dans un vecteur résultat. Par exemple, prenons 2 vecteurs de 16 entiers chacun. Une instruction ''shuffle'' peut prendre 8 entiers dans chaque vecteur et les regrouper dans un vecteur résultat unique de 16 entiers. Ou encore, elle peut prendre trois vecteurs de 16 flottants chacun, prendre 4 flottants dans le premier, 10 dans le second et 2 dans le troisième, et regrouper le tout dans un vecteur résultat de 16 flottants.
Il arrive que les deux cas précédents correspondent à des cas séparés, à deux instructions de type ''shuffle'', mais qui fonctionnent différemment. Le premier type prend les N premiers éléments du premier vecteur, puis prend les élements manquant à partir de la fin du vecteur. Le second type prend un élément sur deux dans chaque vecteur, mais avec un décalage d'un rang entre les deux vecteurs.
Il y a aussi les instructions dites de '''''broadcast''''', qui copient une valeur unique dans un vecteur entier. Elles sont surtout utilisées pour initialiser des tableaux avec une valeur unique, ou pour remplir un vecteur avec des données prédéterminées pour certains calculs impliquant des constantes.
[[File:SIMD instruction exemple.png|centre|vignette|upright=1.5|Instructions SIMD de mouvement de données qui ne sont pas à une opérande.]]
===Les instructions SIMD de réduction===
Il existe des instructions horizontales de type arithmétiques. La plus simple est celle qui additionne les différents entiers/flottants d'un vecteur. Elle est utilisée pour accélérer une opération précise : faire la somme d'un tableau d'entier/flottants. On peut aussi citer les opérations maximum et minimum, qui renvoient le plus grand/petit élément d'un vecteur. Un point important avec ces opérations est qu'elles prennent un vecteur, mais renvoie un résultat unique, un scalaire, un nombre entier/flottant seul. Elles sont parfois appelées des '''instructions de réduction'''.
Les instructions de réduction sont généralement la spécificité des processeurs vectoriels, les processeurs SIMD récents n'en ont pas. La raison est que leur implémentation matérielle est généralement assez compliquée. Contrairement aux instructions verticales, elles ont une forme de parallélisme de donnée très limitée. Elles ne travaillent pas exactement sur des données indépendantes, elles font des calculs dont le résultat est utilisé par d'autres, il y a des dépendances de données entre éléments du vecteur.
Cependant, il faut savoir que l'on peut émuler une instruction de réduction en utilisant des instructions verticales couplées à des instructions de manipulation de vecteur. Par exemples, prenons le cas d'une instruction de réduction qui additionne entre eux les éléments d'un vecteur. On peut l'émuler en utilisant une addition verticale entre deux vecteurs, et une instruction ''compress''. L'idée est la suivante : on coupe le vecteur initial en deux avec deux instructions ''compress'', ce qui donne deux sous-vecteurs. Puis, on additionne les deux vecteurs résultat entre eux. Puis on répète les deux étapes précédentes jusqu'à obtenir la somme finale.
Le fait que l'on puisse émuler les instructions de réduction est la raison principale qui explique que les processeurs SIMD récents n’intègrent pas d'instructions de réduction. Ils se débrouillent avec des instructions SIMD de manipulation de vecteur, et des instructions SIMD verticales. C'est un bon compromis entre cout en circuits et performance.
===Les accès mémoire===
La gestion des accès mémoire est assez hétéroclite, la façon de faire étant différente selon les architectures. Dans le cas le plus simple, les données d'un vecteur sont contigües en mémoire et les instructions ont juste à préciser l'adresse mémoire du début du vecteur, qui est généralement dans un registre d'adresse spécialisé, ou un registre non-SIMD. Avec des vecteurs de 8 octets, toute instruction d'accès mémoire de ce type va lire ou écrire des blocs de 8 octets. L'adresse de départ de ces blocs est soumise à des contraintes d'alignement sur les jeux d'instructions comme le SSE, le MMX, etc. La raison à cela est que gérer des accès non alignés en mémoire rend les circuits de lecture/écriture en mémoire plus complexes. En contrepartie, ces contraintes compliquent l'utilisation des instructions SIMD par le compilateur.
D'autres modes d'adressage des vecteurs permettent à une instruction de charger des données dispersées en mémoire pour les rassembler dans un vecteur. On peut notamment citer l'existence d'accès mémoires en stride et en scatter-gather.
L''''accès en stride''' regroupe des données séparées par un intervalle régulier d'adresses. Ce mode d'accès a besoin de l'adresse initiale, de celle du premier élément du vecteur, et de la distance entre deux données en mémoire. Il permet aux instructions de mieux gérer les tableaux de structures, ainsi que les tableaux multi-dimensionnels. Lorsqu'on utilise de tels tableaux, il arrive assez souvent que l'on n'accède qu'à des éléments tous séparés par une même distance. Par exemple, si on fait des calculs de géométrie dans l'espace, on peut très bien ne vouloir traiter que les coordonnées sur l'axe des x, sans accès sur l'axe des y ou des z. Les instructions d'accès mémoire en enjambées gèrent de tels cas efficacement.
Les processeurs SIMD incorporent aussi les accès en '''''scatter-gather'''''. De tels accès prennent en opérande un vecteur contenant des adresses mémoires, et lit/écrit chacune de ses adresses mémoire indépendamment. Les accès en ''scatter-Gather'' peuvent être vus comme une généralisation de l'adressage indirect à registre aux vecteurs, chaque élément du vecteur étant adressé via adressage indirect. Les accès en ''gather'' sont des lectures : elles prennent un vecteur d'adresse, lisent chaque adresse, et regroupent toutes les données lues dans un vecteur, dans un registre vectoriel. Les accès en ''scatter'' sont l'équivalent pour les écritures. Ils prennent un vecteur d'opérande pour les données à écrire, un vecteur pour les adresses.
[[File:Cuda4.png|centre|vignette|upright=2|Adressage en scatter-gather]]
Un autre version des accès en ''scatter-gather'' n'utilise pas des adresses mémoire, amis des indices. Le vecteur opérande ne contient pas des adresses, mais des indices qui sont combinés à une adresse de base pour calculer plusieurs adresses. Un tel mode d'adressage permet de faciliter l'implémentation de certaines structures de données, appelées des vecteurs de Liffe. Ils sont très utilisés pour gérer les matrices creuses, des matrices où une grande partie des éléments sont nuls et où, dans un souci d'optimisation, seuls les éléments non nuls de la matrice sont stockés en mémoire.
Lors d'une instruction de ''scatter'' ou de ''gather'', tous les accès mémoire n'ont pas lieu en même temps, certains accès mémoire seront terminés avant les autres. Les accès peuvent se faire dans le désordre et de nombreuses optimisations matérielle en profitent pour gagner en performance. Il existe cependant un cas où les accès mémoire doivent se faire dans un ordre bien précis, généralement du premier élément vers le dernier : lorsqu'une instruction ''scatter'' effectue plusieurs écritures à la même adresse. C'est parfaitement possible, et c'est le seul cas où il est intéressant de forcer un ordre pour les écritures.
En théorie, une instruction SIMD est un tout, c'est à dire qu'elle ne doit pas modifier les registres SIMD avant que tous les accès mémoire se soient terminés. Cependant, il est possible qu'une partie des accès mémoire déclenchent des défauts de page ou lèvent des exceptions matérielles, alors que les autres se sont terminés. En théorie, le processeur est censé se débarrasser du résultat des accès mémoire terminés. Mais ce serait un gachis de performance, ce qui fait que le processeur viole la règle voulant que les registres SIMD soient mis à jour en une seule fois à la fin de l'instruction de ''scatter-gather''. Dès qu'un accès mémoire se termine, il écrit son résultat dans le registre SIMD, à l'endroit adéquat.
Cependant, ce comportement pose un problème. Lorsqu'une exception survient, comme lors d'un défaut de page, le processeur exécute la routine d'interruption associée, puis redémarre l'instruction fautive, le second essai étant le bon. Ici, le processeur ne réexecute pas l'instruction à l'identique, mais seulement les accès non-terminés. Mais comment le processeur sait-il quelles accès mémoire redémarrer ? Il doit pour cela mémoriser quels sont les accès mémoire terminés. Il utilise pour cela un registre architectural appelé le '''masque de complétion'''. Le registre est forcément architectural car il doit être préservé lors d'un changement de contexte, l’exécution de l'exception matérielle forçant un changement de contexte.
===Exemple avec les processeurs x86===
[[File:PD-20060908-SSE3-01.svg|vignette|Chronologie des extensions x86 SIMD.]]
Après avoir vu la théorie sur les instructions SIMD, il est temps de voir un exemple concret : celui des instructions SIMD des processeurs x86, présents dans nos PC. Le jeu d'instruction des PC qui fonctionnent sous Windows est appelé le x86. C'est un jeu d'instructions particulièrement ancien, apparu en 1978. Depuis, des '''extensions x86''' ont ajouté des instructions au x86 de base. On peut citer par exemple les extensions MMX, SSE, SSE2, ''3dnow!'', etc.
Les premières instructions SIMD furent fournies par une extension x86 du nom de MMX, introduite par Intel en 1996 sur le processeur Pentium MMX. Le MMX a perduré durant quelques années avant d'être remplacé par les extensions SSE. La même année, AMD sorti d'expansion ''3DNow!'', qui ajoutait 21 instructions SIMD similaires à celles du MMX. Celui-ci fût suivi du ''3DNow!+'' quelques années plus tard. Le SSE fût ensuite décliné en plusieurs versions avant d'être "remplacé" par l'AVX. Une grande quantité de ces extensions x86 sont des ajouts d'instructions SIMD.
L’'''extension MMX''' ajoutait pas mal d'instructions SIMD assez basiques, essentiellement des instructions arithmétiques : addition, soustraction, opérations logiques, décalages, rotations, mise à zéro d'un registre, etc. La multiplication est aussi supportée, mais avec quelques petites subtilités, via l'instruction PMULLW. Les instructions MMX ne mettent pas le registre d'état à jour et ne préviennent pas en cas d'overflow ou d'underflow si ceux-ci arrivent (pour les instructions qui ne travaillent pas en arithmétique saturée).
Le MMX introduisait 8 registres vectoriels, du nom de MM0, MM1, MM2, MM3, MM4, MM5, MM6 et MM7. Ils ne pouvaient contenir que des nombres entiers et faisaient 64 bits. Ils avaient cependant un léger défaut, qui a nui à l'adoption du MMX. Pour rappel, avant le MMX, les flottants étaient gérés par l'extension x87, qui définit 8 registres flottants de 80 bits. Et chaque registre MMX correspondait aux 64 bits de poids faible d'un registre flottant x87 ! Le système d'''alias'' de registres typique des CPU x86 a encore frappé ! En conséquence, il était impossible d'utiliser en même temps l'unité de calcul flottante et l'unité MMX. Par contre, sauvegarder les registres lors d'un changement de contexte, d'une interruption, ou d'un appel de fonction était très simple : la sauvegarde des registres de la FPU x87 suffisait.
[[File:MMX-FPU-Register.JPG|centre|vignette|upright=2|Registres MMX et FPU x87.]]
[[File:XMM registers.svg|droite|vignette|XMM registers]]
Dans les années 1999, une nouvelle extension SIMD fit son apparition sur les processeurs Intel Pentium 3 : le '''Streaming SIMD Extensions''', abrévié SSE. Ce SSE fut ensuite complété, et différentes versions virent le jour : le SSE2, SSE3, SSE4, etc. Cette extension fit apparaitre 8 nouveaux registres, les registres XMM. Sur les processeurs 64 bits, ces registres sont doublés et on en trouve donc 16. En plus de ces registres, on trouve aussi un registre d'état qui permet de contrôler le comportement des instructions SSE : celui contient des bits qui permettront de dire au processeur que les instructions doivent arrondir leurs calculs d'une certaine façon, etc. Ce registre n'est autre que le registre MXCSR. Chose étrange, seuls les 16 premiers bits de ce registre ont une utilité : les concepteurs du SSE ont surement préférés laisser un peu de marge au cas où.
La première version du SSE contenait assez peu d'instructions : seulement 70. Le SSE première version ne fournissait que des instructions pouvant manipuler des paquets contenant 4 nombres flottants de 32 bits (simple précision). Je ne vais pas toutes les lister, mais je peux quand-même dire qu'on trouve des instructions arithmétiques de base, avec pas mal d'opérations en plus : permutations, opérations arithmétiques complexes, autres. Petit détail : la multiplication est gérée plus simplement et l'on a pas besoin de s’embêter à faire mumuse avec plusieurs instructions différentes pour faire une simple multiplication comme avec le MMX.
On peut quand même signaler une chose : des instructions permettant de contrôler le cache firent leur apparition. On retrouve ainsi des instructions qui permettent d'écrire ou de lire le contenu d'un registre XMM en mémoire sans le copier dans le cache. Ces instructions permettent ainsi de garder le cache propre en évitant de copier inutilement des données dedans. On peut citer par exemple, les instructions MOVNTQ et MOVNTPS du SSE premiére version. On trouve aussi des instructions permettant de charger le contenu d'une portion de mémoire dans le cache, ce qui permet de contrôler son contenu. De telles instructions de prefetch permettent ainsi de charger à l'avance une donnée dont on aura besoin, permettant de supprimer pas mal de cache miss. Le SSE fournissait notamment les instructions PREFETCH0, PREFETCH1, PREFETCH2 et PREFETCHNTA. Autant vous dire qu'utiliser ces instructions peut donner lieu à de sacrés gains si on s'y prend correctement ! Il faut tout de même noter que le SSE n'est pas seul "jeu d'instruction" incorporant des instructions de contrôle du cache : certains jeux d'instruction POWER PC (je pense à l'Altivec) ont aussi cette particularité.
Avec le '''SSE2''', de nouvelles instructions furent ajoutés, permettant d'utiliser des nombres de 64, 16 et 8 bits dans chaque vecteur. Le SSE2 incorporait ainsi pas moins de 144 instructions différentes. Ce qui commençait à faire beaucoup.
Puis, vient le '''SSE3''', avec ses 13 instructions supplémentaires. Pas grand-chose à signaler, si ce n'est que des instructions permettant d'additionner ou de soustraire tous les éléments d'un paquet SSE ensemble, des instructions pour les nombres complexes, et plus intéressant : les deux instructions MWAIT et MONITOR qui permettent de paralléliser plus facilement des programmes.
Le '''SSE4''' fut un peu plus complexe et fut décliné lui-même en 2 versions. Le SSE4.1 introduit ainsi des opérations de calcul de moyenne, de copie conditionnelle de registre (un registre est copié dans un autre si le résultat d'une opération de comparaison précédente est vrai), de calcul de produits scalaire, de calcul du minimum ou du maximum de deux entiers, des calculs d'arrondis, et quelques autres. Avec le SSE4.2, le vice à été poussé jusqu'à incorporer des instructions de traitement de chaines de caractères.
[[File:AVX registers.svg|vignette|Registres AVX.]]
Avec l''''AVX (Advanced Vector eXtensions)''', on retrouve 16 registres d'une taille de 256 bits, nommés de YMM0 à YMM15 et dédiés aux instructions AVX. Ils sont partagés avec les registres XMM : les 128 bits de poids faible des registres YMM ne sont autres que les registres XMM. L'AVX complète le SSE et ses extensions, en rajoutant quelques instructions, et surtout en permettant de traiter des données de 256 bits.
Son principal atout face au SSE est que les instructions AVX permettent de préciser le registre de destination en plus des registres d'opérandes. Avec le SSE et le MMX, le résultat d'une instruction SIMD était écrit dans un des deux registres d'opérande manipulé par l'instruction. Il fallait sauvegarder son contenu si on en avait besoin plus tard, ce qui n'est plus nécessaire avec l'AVX.
==La performance des processeurs SIMD==
Il est intéressant de comparer la performance d'un processeur SIMD et celle d'un processeur normal, sans SIMD. Mais cet exercice est compliqué par le fait que les processeurs non-SIMD sont très nombreux : entre les CPU superscalaires, à émission dans l'ordre, exécution dans le désordre, ceux sans rien de tout cela, on a de quoi être perdu. Dans ce qui suit, nous allons comparer deux processeurs basiques sans pipeline : un avec SIMD, un autre sans.
Comparé à un processeur sans pipeline, on s'attend à ce que la performance soit augmentée d'un facteur N, avec N le nombre maximal d'entiers/flottants que l'on peut mettre dans un vecteur. Si une architecture SIMD fait N calculs en parallèles, alors les performances sont censées être multipliées par N. Cela laisse penser que plus les vecteurs sont longs, plus le gain en performance est important. Il s'agit là d'un résultat basique, mais la vraie vie est différente.
Un premier problème est que ce résultat ne tient que si la mémoire RAM et les caches suivent. En effet, faire N calculs en parallèle demande de lire/écrire N fois plus de données. Les données sont souvent stockées dans des registres vectoriels, ce qui fait que la pression sur le banc de registre est assez importante. Mais cela signifie aussi que les instructions d'accès mémoire doivent lire/écrire N fois plus de données. Il faut alors ajouter des ports sur le cache, élargir le bus mémoire, augmenter la taille des lignes de cache, etc. Le débit binaire des caches et de la mémoire RAM deviennent rapidement des points limitants, qui réduisent le gain en performance des instructions SIMD.
Et ne parlons pas de l'interaction avec la mémoire virtuelle : vu qu'on lit/écrit par paquets de données, cela signifie qu'on traverse une page mémoire plus vite, ce qui fait que les défauts de page sont lus fréquents. Un processeur SIMD a intérêt à être combiné à une RAM et des caches solides, très performants. C'est le cas sur les processeurs modernes, mais cela a pose des problèmes pour les processeurs vectoriels, et a mené à leur abandon progressif.
Mais passons outre ce problème et regardons la seconde raison qui font que ce résultat est naïf : la loi d'Amdhal ! Toutes les portions d'un programme ne sont pas accélérées par des instructions SIMD, il y a des portions dont les calculs ont des dépendances de données, d'autres qui ne sont pas parallélisables, etc. Une partie du programme est donc impossible à véctoriser (i.e optimiser pour le SIMD), une l'autre l'est. Pour simplifier les explications, on suppose qu'une instruction SIMD prend le même nombre de cycles que son équivalent non-SIMD. Par exemple, une addition SIMD prend le même temps qu'une addition normale. Dans ce cas, la portion non-vectorisable du code reste inchangée, alors que la portion vectorisable est divisée par N, par la largeur du vecteur. On retombe sur une formulation identique à la loi d'Amdhal sur le fond.
Une manière de quantifier le tout est d'utiliser la métrique de l'efficience SIMD. Elle est calculée en divisant deux grandeurs. La première est elle-même un rapport : c'est le gain obtenu en terme de nombre d'instructions exécutées. Prenons un programme qui exécute I instructions avant vectorisation, et qui en exécute I/X après. Le gain s'exprime comme suit :
: <math>G = \frac{I}{I/X} = X</math>
Maintenant, prenons ce gain est divisons-le par la largeur d'un vecteur. On obtient alors l'efficience SIMD :
: <math>\text{Efficience SIMD} = \frac{G}{N} = \frac{\frac{I}{I/X}}{N}</math>
Notons que le gain et la largeur SIMD ne sont égales que dans un cas bien précis : tout le code est vectorisable. Il s'agit donc d'une reformulation du gain de la loi d'Amdhal, mais dans laquelle le pourcentage de code série est caché.
Il est intéressant de regarder l'efficience SIMD quand on augmente la portion du code série, ainsi que la taille des vecteurs. Prenons un cas assez généreux, réaliste pour certaines applications très adaptées au SIMD : 1% du code est non-vectorisable, 99% profite du SIMD. L'efficience SIMD varie alors assez rapidement avec la taille des vecteurs. De 99% pour N=2, elle descend à 98% pour N=16, et tombe sous les 50% pou N=128. La conséquence est que les très grandes tailles de vecteurs ne sont pas vraiment utiles, le rendement est décroissant avec la taille des vecteurs.
==Les processeurs SIMD à registres généraux==
Le premier type de processeur SIMD que nous allons voir est celui des processeurs de type '''SWAR''' (''SIMD Within A Register''). Le terme SWAR est un terme polysémique dont le sens a beaucoup changé au fil du temps. Ici, nous allons l'utiliser dans la définition la plus stricte : celle où on effectue du SIMD dans les registres généraux du processeur, sans registres spécialisés. Il s'agit d'une forme de SIMD qui est aujourd'hui peu utilisée, mais qui a été la première forme de SIMD utilisée dans des processeurs grand public commerciaux.
L'idée est d'améliorer un petit peu un processeur normal, non-SIMD. Un processeur usuel contient des registres généraux de 32 à 64 bits, qui stockent chacun un opérande de même taille que le registre. D'anciens processeurs avaient des instructions pour effectuer des calculs simples, sur des opérandes plus courts. Par exemple, les processeurs x86 32 bits sont capables de faire des calculs sur 8, 16, ou 32 bits. Mais on ne pouvait placer qu'un seul opérande de 8, 16 ou 32 bits dans un registre général, ce qui est un léger gâchis. Le SWAR est une amélioration de cette technique qui vise à mieux utiliser les registres et l'ALU.
L'idée est de regrouper plusieurs opérandes de 8, 16, voire 32 bits, dans un seul registre général. De plus, on ajoute des instructions SIMD d'addition/soustraction/autres, qui lisent des opérandes 8/16/32 bits dans ces registres généraux. Par exemple, sur un processeur 32 bits, on peut ajouter une opération d'addition qui lit deux registres de 32 bits, pour récupérer quatre opérandes de 16 bits (deux par registre) et effectue deux additions 16 bits en même temps dans l'ALU. Et il y a la même chose pour d'autres opérations, comme la soustraction, la comparaison, etc.
Les instructions SIMD disponibles sur ces processeurs se limitent généralement à des additions, soustractions, comparaisons, mais guère plus. De plus, il s'agit d'instructions entières, il n'y a pas d'instructions SIMD flottantes. La raison à cela est très simple, mais nous l'expliquerons plus bas, dans la section sur l'implémentation. Disons simplement que de tells architectures visent une économie en circuit maximale. Elles implémentent les instructions SIMD en utilisant le moins de circuits possibles, ce qui fait qu'elles réutilisent les registres généraux et n'ont pas de registres SIMD séparés.
===Les extensions/jeux d'instructions de type SWAR===
Les premiers processeurs à intégrer du SWAR étaient les processeurs DEC Alpha, avec l'extension multimédia '''''Motion Video Extensions'''''. Les processeurs en question étaient les processeurs Alpha 21164PC (PCA56 and PCA57), Alpha 21264 (EV6) and Alpha 21364 (EV7). Les instructions SIMD disponibles étaient très simples et se résumaient à quelques comparaisons : trouver le maximum ou le minimum de deux opérandes de 8/16 bits, quelques instructions de permutation.
Les extensions '''''Multimedia Acceleration eXtensions''''' des processeurs Hewlett-Packard PA-RISC sont aussi de ce type, mais disposent de plus d'instructions SIMD. La première version, appelée MAX-1, était disponible sur les processeurs 32 bits de la marque, à partir du processeur PA-7100LC. Les instructions disponibles étaient des additions et soustractions d'opérandes 16 bit. Il y avait en tout trois instructions d'addition et trois pour la soustraction. En tout, il y avait :
* une instruction d'addition/soustraction non-signée utilisant l'arithmétique modulaire ;
* une instruction d'addition/soustraction signée en arithmétique modulaire ;
* une instruction d'addition/soustraction signée en arithmétique saturée.
Outre les additions/soustractions, il y avait aussi une instruction pour calculer la moyenne de deux opérandes 16 bits, ainsi qu'une addition fusionnée avec un décalage.
La seconde version, appelée MAX-2, ajouta des instructions d'additions fusionnées avec des décalages, mais aussi des instructions de permutation. De plus, cette version était disponible sur les processeurs 64 bits de la marque, ce qui fait que les registres étaient eux aussi de 64 bits. Ils pouvaient contenir deux fois plus d'opérandes 16 bits. Il n'y avait de gestion d'opérandes 32 bits pour les extensions SIMD.
===L'implémentation matérielle===
L'avantage de cette technique est la grande simplicité d'implémentation. On n'ajoute pas de registres SIMD séparés, ce qui a de nombreux avantages : économie de circuits car pas besoin d'un second banc de registre, pas besoin de sauvegarder des registres SIMD en plus lors d'un appel système/interruption, etc. L'implémentation a juste besoin de modifier le décodeur et l'unité de calcul. Le décodeur est modifié pour ajouter des instructions en plus, rien de spécifique au SWAR. Les modifications de l'unité de calcul sont spécifiques au SWAR et modifient la manière dont elle gère les retenues.
Une première solution est d'utiliser une ALU bit-slicée, ce qui est l'idéal pour les unités de calcul entières. Par exemple, pour une ALU 32 bits entière, on peut la découper en 4 unités de calcul 8 bits. Pour une opération SIMD avec 4 opérandes 8 bits, les quatre ALU fonctionnent en parallèle, il n'y a pas transmission des retenues. Pour les calculs SIMD avec des opérandes de 16 bits, on regroupe les ALU par paire et on propage les retenues à l'intérieur d'une paire, mais pas entre les paires. Enfin, pour un calcul non-SIMD, les opérandes de 32 bits, on propage les retenues normalement, d'une ALU 8 bits vers la suivante.
Une autre solution prend un additionneur 32/64 bits normal, mais mets à 0 les retenues. L'implémentation est très simple avec un additionneur à anticipation de retenues, où les retenues sont calculées en avance, avant de faire l'addition proprement dite, par un circuit d'anticipation de retenue. Il suffit alors d'ajouter un circuit de masquage en sortie du circuit d'anticipation de retenue, qui met à zéro les retenues adéquates. La gestion des débordements demande d'ajouter des circuits, ou du moins de modifier ceux déjà présents dans l'ALU. Typiquement, les circuits pour gérer l'arithmétique saturée sont un peu modifiés pour effectuer la mise à 1111...111 octet par octet et chaque octet est masqué si besoin.
[[File:ALU modifiée pour implémenter du SWAR.png|centre|vignette|upright=3|ALU modifiée pour implémenter du SWAR]]
Notons que la technique ne s'applique qu'aux additions, et aux opérations dérivées comme la soustraction et les comparaisons (ces dernières sont des soustractions déguisées). Mais les multiplications ou divisions ne peuvent pas s'implémenter simplement en modifiant des ALU existantes, du moins pas avec des modifications simples. Aussi, les processeurs qui utilisent cette technique se bornent aux additions et opérations dérivées, pas plus.
La gestion des opérations de permutation est quant à elle très simple : beaucoup de processeurs disposent déjà d'instructions de permutation d'octets, qui sont l'équivalent d'instructions SIMD de permutation pour les registres généraux. Nous en avions déjà parlé dans le chapitre sur le langage machine et l'assembleur, quand nous avions fait la liste des instructions les plus courantes. De telles instructions de permutation d'octet sont utiles pour gérer le boutisme ou effectuer quelques manipulations assez rares. Pas besoin de rajouter une ALU dédiée, celle-ci est déjà présente de base, du moins si les instructions de permutation d'octet sont déjà présentes.
==Les processeurs SIMD purs (''packed SIMD'')==
Maintenant que nous avons vu les instructions SIMD, passons maintenant aux processeurs eux-même. Tous les processeurs que nous allons voir dans ce qui suit supportent des instructions SIMD. Mais leur implémentation matérielle, leur micro-architecture, n'est pas la même. Ils ont aussi quelques différences en termes de jeu d'instruction, mais qui sont fortement liées à l'implémentation matérielle.
Nous allons ici voir les '''processeurs SIMD purs''', aussi dits de type ''Packed SIMD''. Ils implémentent des instructions SIMD sans rien de plus, juste le strict minimum : pas de prédication, pas de vecteurs de taille variable, presque pas d’instructions horizontales, architecture de type LOAD-STORE. De tels processeurs utilisent plusieurs ALU entières/flottantes qui travaillent en parallèle. De plus, ils disposent de registres SIMD séparés des registres généraux. Voyons ces points immédiatement.
* La première distinction est que les vecteurs sont stockés dans des registres séparés des registres généraux, appelés les '''registres SIMD''', ou ''registres vectoriels''. Ils sont beaucoup plus larges que les registres classiques et mémorisent 2, 4, 8 entiers/flottants.
* La seconde distinction est que les calculs SIMD sont effectués dans une unité SIMD séparée de l'ALU ou de la FPU. L'unité de calcul SIMD peut exécuter au minimum des instructions SIMD verticales, plus rarement des instructions SIMD horizontales. Pour ce faire, elle regroupe plusieurs additionneurs/multiplieurs, qui effectuent des calculs en parallèle.
===Les instructions SIMD verticales : plusieurs ALU travaillant en parallèle===
[[File:SIMD2.svg|vignette|Parallélisme de données au niveau de l'unité de calcul. Celle-ci contient plusieurs circuits indépendants qui appliquent la même opération sur des données différentes.]]
Une unité de calcul SIMD gère au minimum des instructions SIMD verticales. Et pour ce faire, elle contient plusieurs additionneurs/multiplieurs séparés. Par exemple, pour additionner deux vecteurs contenant chacun 16 entiers/flottants, il faut utilise 16 additionneurs entiers et 16 additionneurs flottants. Dans le cas général, une ALU SIMD est composée de plusieurs ALU entières et flottantes regroupées ensemble et avec quelques circuits pour gérer les débordements et d'autres situations. Notons que les ALU travaillent en parallèle, elles font des calculs indépendants.
Notons que les additionneurs dans chaque ALU doivent pouvoir être configurés de manière à gérer des tailles de données différentes. Par exemple, si on prend un vecteur simple, qui peut contenir soit 32 entiers de 16 bits, soit 16 entiers 32 bits, soit 8 entiers 64 bits, alors on doit utiliser 8 additionneurs, mais chacun d'entre eux doit pouvoir être reconfiguré de manière à ne pas propager les retenues au-delà des premiers 16 ou 32 bits.
Un défaut de cette organisation est que le cout en circuits est loin d'être négligeable. Il faut dupliquer des unités de calcul et les coller en rajoutant des circuits, cela utilise beaucoup de transistors. Le cout en circuit est d'autant plus grand que les vecteurs sont longs et le cout est approximativement proportionnel à la taille des vecteurs. Entre des vecteurs de 128 et 256 bits, l'unité de calcul utilisera globalement deux fois plus de circuits avec 256 bits qu'avec 128. Même chose pour les registres, mais c'est là un cout commun à toutes les architectures.
Retenez cependant : l'usage de plusieurs ALU travaillant en parallèle a plusieurs défauts. Premièrement, cela implique des vecteurs de taille fixe, du fait que le nombre d'ALU travaillant en parallèle est fixe. Deuxièmement, des difficultés d'implémentation concernant les instructions de réduction. Détaillons ce second point !
Une autre possibilité est d'utiliser moins d'unités de calcul qu'il n'y a d'éléments dans un vecteur. Par exemple, pour des vecteurs contenant 32 flottants, il se peut qu'il n'y ait que 16 ALU. Les opérations sur les vecteurs sont donc faites en deux fois : une première passe pour les 16 premiers éléments, une seconde passe pour les 16 restants. On économise ainsi pas mal de circuits, mais cela se fait au détriment de la performance globale. L'avantage est que l'ensemble des calculs se fait en une seule instruction machine. L'implémentation est généralement la suivante : le processeur décode une instruction SIMD en deux micro-instructions SIMD plus courtes. Par exemple, pour une instruction SIMD de 32 éléments, elle sera décodée en deux instructions SIMD de 16 éléments, chacune étant exécutée sur l'ALU.
Il est possible de réduire fortement l'impact en performance en doublant la fréquence de l'ALU. Par exemple, pour des vecteurs contenant 32 flottants, le processeur incorpore 16 ALU, mais celles-ci fonctionne à une fréquence double de celle du processeur. L'usage d'une ALU à double fréquence est une technique qui a été utilisée sur le Pentium 4 et quelques processeurs, pour des instructions non-SIMD. Mais pour les processeurs SIMD, elle s'applique à la perfection. L'implémentation est la même que précédemment, sauf que la fenêtre d'instruction et la logique d'émission fonctionnent à double fréquence. Pour limiter la casse, il est préférable d'utiliser une fenêtre d'instruction séparée pour les instructions SIMD, qui sera seule à fonctionner à double fréquence.
===Les instructions horizontales : une ALU simple séparée===
Les instructions horizontales posent des difficultés d’implémentation. Elles ne peuvent pas s'implémenter en utilisant plusieurs ALU travaillant en parallèle, contrairement aux instructions verticales, ce qui fait qu'elles utilisent généralement des unités de calcul spécialisées. Et c'est là que la différence entre instructions de manipulation de vecteurs et instructions de réduction vient encore une fois poser problème. Les instructions de manipulation de vecteur sont relativement simples à implémenter : elles ont juste besoin d'une ALU spécialisée, relativement simple, composée de beaucoup de multiplexeurs à configurer convenablement. Mais pour les instructions de réduction, c'est autre chose !
L'implémentation des instructions de réduction est possible mais a un cout en circuits assez prohibitif. Pour additionner N entiers, il faut utiliser un additionneur multi-opérande qui prend beaucoup de circuits et dont le temps de calcul est proche de celui d'une multiplication (très lent). Trouver le maximum et le minimum d'un nombre demandent de faire la même chose avec des comparateurs. Le tout a un cout en circuit non-négligeable, pour accélérer des opérations assez peu fréquentes. Elles sont surtout utilisées pour trouver la somme ou le maximum/minimum d'un tableau, opération séquentielle par nature, avec peu parallélisme de données, peu courante.
Une autre solution utilise une unité SIMD normale, mais intègre un système de contournement, de ''bypass'', qui relierait l'entrée d'une ALU à la sortie d'une autre. Mais le cout lié aux interconnexions est très important : on doit relier chaque ALU à toutes les autres dans le pire des cas, on peut optimiser le tout et réduire un peu la quantité d'interconnexions, mais le cout reste important. Au final, on gagne en circuits ce qu'on perd en interconnexions. Le choix entre les deux solutions est loin d'être facile et dépend du processeur, de la technologie utilisée, du budget en transistors disponibles, etc.
Les processeurs SIMD purs résolvent ce problème assez simplement : ils n'implémentent pas d'instructions de réduction. Par contre, ils implémentent systématiquement des instructions de manipulation de vecteur, comme des permutations ou autres. La raison est que l'on peut émuler les instructions de réduction en utilisant des instructions SIMD de manipulation de vecteur couplées à des additions/multiplications SIMD verticales. Il s'agit donc d'un compromis entre cout en circuits et performance finale. Niveau circuits, on a une unité SIMD avec plusieurs ALU de calcul en parallèle, une unité de manipulation de vecteur séparée assez simple et au cout en circuits raisonnable. Les performances pour les opérations de réduction sont acceptables, le cout en performance est relativement modéré.
===Le banc de registre vectoriel===
La présence de registres vectoriels séparés permet d'avoir des vecteurs assez longs. Pour ce faire, les registres vectoriels sont plus grands que les registres généraux. Par exemple, sur un processeur 32 bits, qui gère donc des entiers de 32 bits, les vecteurs peuvent faire 128 ou 256 bits. Un vecteur contient donc plusieurs entiers ou flottants de taille maximale. On n'est pas dans le cas précédent, où registres généraux et SIMD sont les mêmes, ils sont séparés et n'ont pas la même taille.
Le processeur utilise un banc de registre séparé pour les registres SIMD, appelé le '''banc de registre SIMD'''. Vu que les registres vectoriels sont assez longs, le banc de registre vectoriels a une grande taille, une grande capacité mémoire. Pour donner un exemple, les extensions SSE des processeurs x86 définissent 8 registres SIMD de 128 bits chacun. Ils ont été introduits à une époque où les processeurs avaient des registres généraux de 32 bits. Le banc de registres associé était donc environ 4 fois plus grand que celui pour les registres généraux. Je dis environ car le décodeur avait sensiblement la même taille, seul le plan mémoire était grossit, mais l'idée est là.
Une conséquence est que le banc de registres SIMD consomme beaucoup d'énergie et d'électricité. Il en est de même avec les ALU SIMD. Et diverses optimisations tentent de réduire ce cout en énergie. L'une d'entre ajoute une mémoire cache entre les ALU SIMD et les registres vectoriels ! L'idée est que si un registre vectoriel est relu plusieurs fois de suite, la première lecture lira le vecteur dans le banc de registres SIMD, mais les lectures suivantes liront le vecteur dans le cache. L'optimisation marche car accéder au banc de registre vectoriel est vraiment couteux, plus qu'accéder à un cache. Le cache en question est appelé un '''''register reuse caches'''''. Ils sont présents sur le processeur Monaka de Fujitsu, mais aussi et surtout dans les cartes graphiques modernes !
: Pour ceux qui veulent en savoir plu_s pour leur utilisation sur les cartes graphiques, tout est détaillé dans mon wikilivre sur les cartes graphiques, via le lien suivant. Mais sachez cependant qu'il faut idéalement lire le chapitre entier, et peut-être même les chapitres précédents, pour comprendre cette section. Voici le lien : [https://fr.wikibooks.org/wiki/Les_cartes_graphiques/La_microarchitecture_des_processeurs_de_shaders#L'Operand_Collector_et_les_caches_de_register_reuse L'Operand_Collector_et_les_caches_de_register_reuse]
===L'implémentation des LOAD-STORE à des données consécutives===
Les architectures SIMD pures sont des architectures de type LOAD-STORE, ce qui veut dire que les instructions SIMD ne peuvent que lire ou écrire dans les registres vectoriels, pas en mémoire ou ailleurs. Les transferts entre registres SIMD et mémoire sont le fait d'instructions LOAD et STORE spécialisées, qui transfèrent des vecteurs entre RAM et registres vectoriels. Les autres architectures n'ont pas nécessairement ce genre de restrictions, mais laissons cela pour plus tard.
Implémenter les instructions LOAD/STORE pour des vecteurs dont les données sont consécutives en mémoire n'est pas très compliqué. Il suffit juste d'élargir le port de lecture/écriture du cache L1 de données, pour pouvoir lire/écrire un vecteur entier. Rien de bien compliqué, il suffit juste d'ajouter des interconnexions et d'ajouter des multiplexeurs. Du moins, c'est le cas tant que les vecteurs sont plus petits qu'une ligne de cache, ce qui est souvent le cas en pratique. Dans le cas très rare où les vecteurs sont plus longs qu'une ligne de cache, les LOAD/STORE doivent se faire en deux accès dans le cache, ce qui demande d'ajouter du matériel pour contrôler la situation.
Précisons cependant qu'il s'agit là d'un cas idéal, où les vecteurs sont correctement alignés en mémoire. En effet, il se peut qu'un vecteur soit à cheval sur deux lignes de cache, alors qu'il est plus petit qu'une ligne de cache. Il suffit pour cela qu'il soit placé à une adresse adéquate. Par exemple, prenons un vecteur de 16 octets et des lignes de cache de 32 octets. Si le vecteur démarre à l'adresse 24, alors il sera à cheval sur deux lignes de cache. Il faut donc intégrer des circuits pour gérer cette situation. Pour cela, il suffit d'ajouter un registre pour stocker la première de ligne lue, puis un circuit qui combine les deux lignes de cache pour donner le vecteur final.
===L'implémentation des LOAD-STORE en ''scatter-gather''===
L'implémentation des accès en ''scatter-gather'' est plus compliquée. Un accès en ''scatter-gather'' demande de faire des calculs d'adresse, suivis par un ensemble de lectures/écritures, suivis par un regroupement des données lues dans un vecteur. Le calcul d'adresse peut se faire en parallèle dans une unité de calcul SIMD, dans plusieurs unités de calcul d'adresse en parallèle. Par contre, les lectures/écritures ne le peuvent pas. Le cache n'a pas assez de ports de lecture/écriture pour lire/écrire N données. Il a quelques ports, ce qui lui permet de lire/écrire 3/4 données grand maximum, soit moins que ce qui est nécessaire pour faire un accès en ''scatter-gather'' en une fois. Les lectures/écritures sont donc effectuées en plusieurs fois. Pour une opération de ''Gather'', il faut aussi regrouper les données lues dans un vecteur.
Sur les caches des processeurs à haute performance, le calcul d'adresse est intégré dans le décodeur. Ce sont des caches adressés par somme, que nous avions abordé dans le chapitre sur les mémoires caches. Avec de telles caches, on ne peut pas utiliser une unité de calcul d'adresse SIMD, on ne peut calculer qu'autant d'adresse qu'il y a de ports sur le cache.
Les accès en ''scatter-gather'' regroupent plusieurs accès mémoire, qui peuvent être effectués dans le désordre. La seule exception est celle où un ''scatter'' effectue plusieurs écritures à la même adresse, où les deux écritures doivent se faire dans l'ordre allant du premier au dernier élément du vecteur d'adresse. Les processeurs SIMD profitent de cette absence d'ordre pour effectuer les accès dans un ordre le plus optimisé possible.
Par exemple, imaginons le cas où une instruction ''gather'' lise des éléments placés dans deux lignes de cache uniquement, mais dans le désordre en passant sans cesse d'une ligne de cache à l'autre. Il est alors possible de faire tous les accès dans la première ligne de cache en premier, avant de faire ceux allant dans l'autre. Une telle optimisation marche aussi bien pour les lectures que les écritures, pour les ''gather'' que pour les ''scatter''. Elle peut aussi être adaptée pour plus de deux lignes de cache. Elle porte le nom de '''''memory coalescing'''''.
Une autre optimisation possible est de détecter le cas où un accès en ''scatter-gather'' accède à des données consécutives. Il suffit pour cela que les indices/adresses du vecteur opérande soient consécutives, et cela arrive plus souvent qu'on ne le pense. Dans ce cas, l'accès est remplacé par une instruction LOAD/STORE SIMD normale, beaucoup plus simple et plus rapide. Les deux optimisations demandent que les adresses soient calculées avant de faire l'accès mémoire. Les adresses calculées sont alors comparées entre elles, par un réseau de comparateurs assez complexe.
Un point important de l'implémentation des instructions ''gather'' est qu'une donnée chargée doit être insérée au bon endroit dans le vecteur destination. Et pareil pour les ''scatter'' : il faut lire la bonne donnée au bon moment. Si on prend une ligne de cache complète, il faut lire plusieurs élèments en même temps et les envoyer au registre de destination au bon endroit. Il faut pour cela tout un réseau de multiplexeurs assez complexe pour faire ce travail. Il y a le même genre de réseau pour les instructions ''scatter'', mais qui va dans l'autre sens : du registre vers la ligne de cache.
==Les processeurs SIMD avec prédication==
Un obstacle très gênant à la vectorisation est la présence de branchements conditionnels dans les boucles à vectoriser. Si une boucle contient des branchements conditionnels, elle ne peut pas être vectorisée facilement : il est impossible de zapper certains éléments d'un vecteur suivant une condition. Il n'est pas possible d'effectuer une instruction SIMD seulement sur certains éléments d'un vecteur et d'ignorer les autres, en fonction du résultat d'un branchement conditionnel. Tout le vecteur y passe, ou le vecteur est épargné, mais la condition intermédiaire n'est pas possible avec du SIMD simple.
Pour résoudre ce problème, les processeurs SIMD incorporent diverses techniques pour implémenter ou éviter les branchements conditionnels le plus possible. La plus simple est l'incorporation de certaines instructions SIMD simples, comme la valeur absolue, le calcul du minimum/maximum, etc. Ces opérations sont généralement émulées en utilisant des branchements, avec quelques conditions simples. Incorporer ces instructions permet ainsi de faire disparaitre une partie des branchements du code. Elle ne paye pas de mine, mais elle a un résultat pas négligeable pour le rendu graphique, certaines applications de calcul scientifiques, et quelques autres. Son cout en transistors est très variable, il faut rajouter des circuits dans le séquenceur, l'unité de calcul SIMD est assez peu modifiée (il faut juste rajouter des multiplexeurs).
Le vrai problème est que cette solution laisse énormément de branchements dans le code. Et qu'il faut donc trouver une solution plus générale, capable de réduire drastiquement les branchements. Pour cela, on réutilise une technique vue dans les chapitre sur l'assembleur et le langage machine : la prédication.
===Les instructions à prédicats===
Pour optimiser le cas général, il est possible d'utiliser des instructions à prédicats adaptées pour fonctionner sur des vecteurs. L'idée est que quand une instruction effectue un calcul sur un ou deux vecteurs, certains éléments du vecteurs sont ignorés. Les éléments à ignorer sont choisis suivant le résultat d'une instruction de comparaison, qui effectue un test : les éléments pour lesquels ce test est respecté sont pris en compte, ceux qui ne passent pas le test sont ignorés.
Pour donner un exemple d'utilisation, imaginons que l'on ait un vecteur dans lequel on veut remplacer toutes les valeurs négatives par des 0. Dans ce cas, on utilise :
* une instruction de comparaison, qui compare chaque élément du vecteur avec 0 et génère plusieurs bits de résultat ;
* suivi d'une instruction à prédicat qui met à zéro les éléments pour lesquels les bits de résultat précédents sont à 1.
La prédication peut aussi être utilisée pour simuler des vecteurs de taille variable. Tous les vecteurs ont une taille fixe, mais on peut ne pas faire de calculs sur la fin d'un vecteur, ce qui fait que tout se passe comme si le vecteur était plus petit. Ce n'est pas sa seule utilisation, mais la prédication permet de simuler ce comportement. Néanmoins, cela n'en fait pas un processeur vectoriel, capable de traiter des vecteurs de taille variable : il n'y a pas de moyen de préciser explicitement la taille des vecteurs à traiter.
Tout cela demande plusieurs modifications du jeu d'instruction : ajouter des instructions de comparaison SIMD, ajouter de quoi faire la prédication.
===Le calcul des masques et le registre de masque===
La prédication demande que le résultat d'une comparaison soit stocké dans un registre à prédicat ou dans le registre d'état. Pour les processeurs SIMD, il y a cependant une grosse adaptation à faire concernant le fonctionnement des comparaisons et le stockage des résultats.
Premièrement, les instructions de comparaison SIMD comparent une paire de deux éléments à la même place dans deux vecteurs et fournissent un résultat d'un bit pour chaque paire. Le résultat est donc un ensemble de bits, qui sont regroupées dans un vecteur spécialisé.
Deuxièmement, reste à savoir que faire de ce vecteur. Pour cela, deux solutions sont possibles. Avec la première, le vecteur est stocké dans un registre vectoriel/SIMD comme les autres, il est traité comme n'importe quel autre vecteur. Avec la seconde solution, il reçoit un registre dédié, qui est un mix entre registre d'état et registre à prédicat, appelé un '''registre de masque''' (''Vector Mask Register''). Il stocke un bit pour chaque donnée présente dans le vecteur à traiter, qui indique s'il faut ignorer la donnée ou non. L'instruction SIMD suivante fait usage de ce masque pour savoir s'il faut faire l'opération pour chaque élément du vecteur.
[[File:Vector mask register.png|centre|vignette|upright=2|Vector mask register]]
Il peut y avoir un ou plusieurs registres de masque. S'il y en a plusieurs, ils sont généralement nommés, sur le modèle des registres à prédicats. L'application d'un masque demande de fournir le nom du registre de masque à utiliser, ils adressés explicitement dans les instructions. S'il n'y en a qu'un seul, il est possible de le pas le nommer et de faire en sorte qu'il soit adressé implicitement par les instructions qui en ont besoin. On parle alors de '''masquage implicite'''. Le masquage implicite est très utilisé sur les cartes graphiques, qui sont actuellement des architectures SIMD, comme nous le verrons plus bas.
Un gros problème du masquage implicite est qu'il introduit des dépendances implicites entre instructions, qui ne sont pas explicites quand on regarder uniquement les registres manipulés par une instruction, qui perturbent le renommage de registres. Rien d'insurmontable, mais cela peut poser des problèmes de performance et la résolution de ce problème a un cout en hardware. Mais ce n'est un problème que sur les architectures à exécution dans le désordre. Les architectures à émission dans l'ordre ne sont pas concernées, et c'est notamment le cas sur les GPU et les cartes graphiques modernes.
Diverses optimisations sont possible avec un registre de masque. La première est de ne pas exécuter d'instruction si tous les bits du masque sont à 0. Dans ce cas, l'instruction SIMD n'a pas de calculs à faire, vu que tous les résultats sont masqués. Il est alors possible de ne pas exécuter l'instruction SIMD et de passer directement à la suivante. L'implémentation matérielle est très simple : une porte NOR qui détermine si le registre de masque contient la valeur 0. La sortie de cette porte NOR est envoyée au séquenceur d'instruction. Le décodeur est alors conçu pour zapper l'instruction si le registre de masque contient un zéro.
===Les accès mémoire en ''scatter-gather'' avec prédication===
Un problème avec les accès mémoire que certains accès peuvent déclencher des défauts de page ou d'autres formes d'exceptions (erreurs de protection mémoire, autre). Si l'accès mémoire se fait sans prédication, ces exceptions sont gérées dans l'ordre des accès mémoire, en commençant par le début du vecteur, ce qui rend l'implémentation assez facile. Mais avec la prédiction, il se peut qu'un accès masqué et censé être ignoré déclenche une exception matérielle. Et le résultat dépend de l'implémentation.
Une première solution est d'effectuer l'accès mémoire, et de masquer ensuite les éléments à ignorer. Mais dans ce cas, les éléments masqués peuvent déclencher des exceptions, qui ne sont pas censées se produire. Une autre solution est de déterminer quelles sont les adresses qu'il faut lire ou écrire et ne pas faire les accès mémoire masqués. Une autre solution effectue tous les accès avant de savoir quels sont ceux à masquer, mais de ne pas déclencher d'exception avant qu'on sache quels sont les accès masqués. Une fois le masquage des accès effectués, le processeur exécute les exceptions adéquates. Il s'agit d'un comportement de masquage d'exception, très utilisé.
L'implémentation est assez simple pour les accès mémoire contiguës, mais plus compliqué pour les accès en ''stride'' ou en ''scatter-gather''. Pour les accès contiguës, les seules exceptions pouvant survenir sont celles ayant lieu quand on passe d'une page mémoire à la suivante (au sens pagination, mémoire virtuelle). Et le hardware pour détecter un débordement de page est assez simple. Mais pour les accès en ''stride'' ou en ''scatter-gather'' demandent qu'oin vérifie les exceptions pour chaque élément du vecteur.
===L'implémentation matérielle===
L'implémentation matérielle est assez proche des processeurs SIMD purs. On retrouve plusieurs unités de calcul travaillant en parallèle, avec quelques circuits ajoutés pour gérer la prédication. Le cout supplémentaire en circuits est acceptable, les gains en performance associés sont très intéressants. Les circuits en plus, pour gérer la prédication, sont similaires à ceux utilisés pour la prédication sur les architectures non-SIMD, mais sont dupliqués.
La seule innovation architecturale est l'implémentation du registre de masque. Tous les processeurs n'en utilisent pas, mais c'est la solution la plus performante. En effet, ce registre de masque est un peu l'équivalent du registre d'état pour les instructions SIMD, bien qu'il soit techniquement une concaténation de registres à prédicat non-nommés. Ils ont pour avantage de libérer des registres SIMD normaux tout en ayant un cout en matériel très limité. Un autre point est que pour gérer les masques, les instructions SIMD à prédicat doivent lire le masque. Sans registre de masque, en utilisant un registre SIMD normal, il faut rajouter un troisième port de lecture sur le banc de registre pour récupérer le masque, ce qui est couteux en matériel. Pas besoin avec un registre de masque, qui n'est connecté qu'à l'ALU, sur le même modèle que le registre d'état.
Plus haut, on a vu que l'implémentation de l'ALU SIMD peut se faire en utilisant des moins d'ALU que prévu. Par exemple, pour des vecteurs de 32 éléments, on peut utiliser 16 ALUs (allant à double fréquence ou non). Une instruction SIMD est alors décodée en plusieurs micro-instructions SIMD consécutives, chacune traitant une partie d'un vecteur. Par exemple, une instruction SIMD sur des vecteurs de 32 éléments est exécutée par deux micro-instructions travaillant sur des vecteurs de 16 éléments. L'avantage est que cela se marie bien avec l'abandon des opérations pour les masques dont tous les bits sont à 0. Par exemple, prenons une instruction travaillant sur 16 flottants, exécutée en deux fois sur 8 flottants. Si le masque dit que les 8 premières opérations ne sont pas à exécuter, alors l'ALU ne fera que le calcul des 8 derniers flottants. Pour cela, le décodeur doit vérifier que les 8 bits de poids faible ainsi que de poids fort du registre de masque ne soient pas individuellement à zéro. Cela se fait en dupliquant la porte NOR évoquer plus haut , l'une pour la partie basse du registre et la seconde pour la partie haute.
==La prédication pour les structures de contrôle imbriquées==
Au niveau du jeu d’instruction, les architectures SIMT implémentent de la prédication, sous une forme améliorée. Les processeurs SIMT actuels sont surtout utilisées sur les processeurs intégrés aux cartes graphiques. Et ces derniers gèrent très mal les branchements, et encore : beaucoup de cartes graphiques, même récentes, ne gèrent tout simplement pas les branchements. Elles doivent donc se débrouiller avec uniquement la prédication, là où les processeurs SIMD utilisent des branchements normaux en complément de la prédication. Insistons sur le fait que cet usage exclusif de la prédication n'est présent que sur une sous-partie des architectures SIMT, le seul exemple que l'auteur de ce wikilivre connait étant celui des cartes graphiques.
Les architectures SIMT sans branchements doivent donc trouver des solutions pour gérer les structures de contrôle imbriquées, à savoir une boucle placée à l'intérieur d'une autre boucle, un IF...ELSE dans un autre IF...ELSE, etc. Elles utilisent pour cela la prédication, combinée avec des mécanismes annexes. Le premier d'entre eux est l'usage de plusieurs registres de masques organisés d'une manière bien précise, l'autre est l'usage de compteurs d'activité. Voyons ces deux techniques.
===La pile de masques===
La '''pile de masques''' remplace le ou les registres de masque. Sans elle, le processeur SIMD incorpore un registre de masque qui est adressé implicitement ou explicitement. Éventuellement, le processeur peut contenir plusieurs registres de masque séparés adressables via un nom de registre. Avec elle, le processeur SIMD incorpore plusieurs registres de masque organisé en pile. Le registre de masque est donc remplacé par une mémoire LIFO, une pile, dans laquelle plusieurs masques sont empilés.
Le tout forme une pile, similaire à la pile d'appel, sauf qu'elle est utilisée pour empiler des masques. Un masque est calculé et empilé à chaque entrée dans une structure de contrôle, puis dépilé une fois la structure de contrôle exécutée. L'empilement et le dépilement des masques est effectué par des instructions PUSH et POP, présentes dans le jeu d'instruction du processeur SIMD.
Le calcul des masques doit répondre à plusieurs impératifs.
* Premièrement, chaque masque se calcule en faisant un ET entre le masque précédent et le masque calculé par l'instruction de test. Cela permet de ne pas réveiller d’élément au beau milieu d'une structure imbriquée. Si in IF désactive certains éléments du vecteur, une condition imbriquée dans ce IF ne doit pas réveiller cet élément. Le fait de faire un ET entre les masques garantit cela.
* Deuxièmement, les masques doivent être empilés et dépilés correctement. Au moment de rentrer dans une structure de contrôle, on effectue une instruction de test associée à la structure de contrôle, qui calcule un masque, et on empile le masque calculé. Au moment de sortir de la structure de contrôle, on dépile le masque en question.
L'implémentation demande d'utiliser une mémoire LIFO pour stocker la pile de masques, et quelques circuits annexes. Il faut notamment un circuit relié à l'ALU qui récupère les conditions, les résultats des comparaisons, et qui effectue le ET pour combiner les maques.
Pour donner un exemple, prenons le code suivant, qui est volontairement simpliste et ne sert qu'à des fins d'explication :
<syntaxhighlight lang="c">
if ( condition 1 )
{
if ( condition 2 )
{
...
}
else
{
...
}
Autres instructions
}
Instructions après le IF...
</syntaxhighlight>
Imaginons que l'on traite des vecteurs de 8 éléments.
Pour le vecteur considéré, la première condition (a > 0) n'est respectée que par les 4 premiers éléments. L'instruction de condition calcule alors le masque correspondant : 1111 0000. Le masque est alors calculé, puis empilé au somment de la pile.
La seconde instruction de test, qui teste la variable b, est maintenant valide pour les 4 bits du milieu du masque. Mais n'allez pas croire que le masque correspondant soit 0011 11100 : il faut tenir compte de la condition précédente, qui a éliminé les 4 derniers éléments. Pour cela, on fait un ET logique entre le masque précédent, et le masque calculé par la condition. Le masque au sommet de la pile est donc lu, combiné avec le masque calculé par l'instruction, ce qui donne le masque final. Le masque final est alors empilé au sommet de la pile.
On exécute alors l'instruction du IF, en tenant compte du masque qui est au sommet de la pile. Si le IF était plus compliqué, toutes les instructions suivantes tiendraient compte du masque. En fait, le masque est pris en compte tant qu'il n'est pas dépilé. Une fois que le IF est terminé, le masque est dépilé.
On passe alors au ELSE, et rebelotte. Le masque pour le ELSE est calculé en combinant le masque au sommet de la pile avec la condition du ELSE. Le masque au sommet de la pile est celui calculé à l'entrée du premier IF, pas le second qui a été dépilé. Les instructions du ELSE sont alors exécutées en tenant compte de ce masque. Une fois qu'elles sont toutes exécutées, le masque est dépilé.
Puis vient l'exécution des instructions après le ELSE. Elles utilisent le masque empilé au sommet de la pile, qui correspond à celui à l'entrée du IF.
Puis vient le moment d'exécuter les instructions après le IF : pas de masque, on exécute sur tout le vecteur.
===Les compteurs d'activité===
Une variante de la technique précédente remplace la pile de masques par des '''compteurs d'activité'''. La technique est similaire, si ce n'est qu'elle utilise moins de circuits. Avant , on avait une pile de masques de même taille, dont les bits sont à 0 ou 1 suivant que la condition est remplie. La pile de masque ressemble donc à ceci :
{|class="wikitable"
|-
! masque 1
| 1 || 1 || 1 || 1
|-
! masque 2
| 0 || 1 || 1 || 1
|-
! masque 3
| 0 || 1 || 1 || 1
|-
! masque 4
| 0 || 0 || 0 || 1
|-
! masque 1
| colspan="4" | vide
|}
Une manière équivalent de représenter cette pile de masque est de compter combien de bits sont à 0 dans chaque colonne. Attention : j'ai bien dit à 0 ! On obtient alors :
{|class="wikitable"
|-
! masque 1
| 3 || 1 || 1 || 0
|}
Et c'est le principe caché derrière la techniques des compteurs d'activité. Chaque élément dans un vecteur, chaque place, se voit attribuer un compteur. Un compteur non-nul indique qu'il ne faut pas prendre en compte l’élément. Ce n'est qu'une fois que le compteur est nul que l'on effectue des opérations sur l’élément associé du vecteur.
À chaque fois qu'on entre dans une structure de contrôle, on teste une condition sur chaque élément. Si la condition est respectée pour un élément, alors le compteur ne change pas. Mais si la condition n'est pas respectée, alors on incrémente le compteur associé. En sortant de la structure de contrôle, on décrémente le compteur associé. Notons que les compteurs qui n'ont pas été incrémenté en entrant dans la structure de contrôle ne sont pas décrémenté en sortant. En clair, là où on empilait/dépilait un masque, on se contente d'incrémenter/décrémenter un compteur.
Utiliser un compteur en lieu et place d'une colonne entière dans la pile de masque utilise moins de bits. Et c'est sans doute pour cette raison que certaines cartes graphiques, comme les cartes graphiques intégrées d'Intel depuis 2004, utilisent cette technique.
==Les processeurs vectoriels==
Les '''processeurs vectoriels''' sont les ancêtres des processeurs à instruction SIMD. Bien qu'ils soient arrivés en premier, ils incorporent diverses techniques que de simples instructions SIMD n'ont pas forcément. C'est paradoxal, mais c'est ainsi.
La première différence se manifeste au niveau du jeu d'instruction. Les processeurs vectoriels sont capables de traiter des vecteurs de taille variable, alors que les instructions SIMD usuelles ne gèrent que des vecteurs de taille fixe. Par taille variable, on veut dire que le processeur gère nativement des vecteurs d'une taille allant de 1 à la taille maximale d'un vecteur. La taille maximale d'un vecteur est celle permise par la taille des registres vectoriels, il s'agit de la taille d'un vecteur SIMD équivalent sur les autres processeurs SIMD.
La seconde différence est une différence en termes de micro-architecture. Un processeur SIMD actuel dispose d'une unité de calcul très élaborée, capable de faire plusieurs calculs en parallèle, au moins un pour chaque élément du vecteur. Par exemple, si un vecteur contient 16 entiers, l'ALU SIMD doit contenir au moins 16 additionneurs entiers. Mais sur un processeur vectoriel, ce n'est pas le cas : l'unité de calcul est en réalité une unité de calcul entière/flottante normale, mais qui a la particularité d'être pipelinée. Les calculs sont donc effectués en parallèle, mais d'une manière totalement différente.
La plupart de ces différences s'expliquent par le fait que les anciens processeurs vectoriels devaient faire avec des limitations en termes de circuits. Ils avaient peu de transistors à leur disposition, ce qui fait que leur unité de calcul devait être la plus simple possible. D'où l'utilisation d'une unité de calcul simple, mais utilisée de manière pipelinée. De plus, les processeurs vectoriels ne possèdent aucune mémoire cache pour les données et se contentent juste de caches d'instruction. De tels caches sont généralement peu utiles quand on manipule des tableaux, chose quasiment systématique quand on travaille avec du parallélisme de données.
===Une unité de calcul pipelinée===
La différence entre processeur vectoriel et SIMD tient dans la façon dont sont traités les vecteurs : les instructions SIMD traitent chaque élément en parallèle, alors que les processeurs vectoriels pipelinent ces calculs ! Par pipeliner, on veut dire que l’exécution de chaque instruction est découpée en plusieurs étapes indépendantes. Au lieu d'attendre la fin de l’exécution d'une opération avant de passer à la suivante, on peut commencer le traitement d'une nouvelle donnée sans avoir à attendre que l'ancienne soit terminée.
[[File:Pipeline.png|centre|vignette|upright=2|Pipeline vectoriel.]]
Pour donner un exemple, on peut donner l'exemple d'une multiplication flottante effectuée entre deux registres. Son exécution peut être décomposée en plusieurs étapes.
Par exemple, on peut avoir 3 étapes :
* une première étape E qui va additionner les exposants et gérer les diverses exceptions ;
* une étape M qui va multiplier les mantisses ;
* et enfin une étape A qui va arrondir le résultat.
L’exécution de notre opération flottante sur un vecteur donnerait donc quelque chose dans le genre, où chaque ligne correspond au traitement d'un nouvel élément dans un vecteur, dans un paquet SIMD.
[[File:Multiplication vectorielle - pipeline.png|centre|vignette|upright=2|Multiplication vectorielle - pipeline]]
: Certains processeurs vectoriels utilisent plusieurs ALU pipelinées pour accélérer les calculs. On peut les voir comme des intermédiaires entre processeur vectoriels et SIMD SWAR.
Avec une unité de calcul pipelinée découpée en N étages, on peut gérer N données simultanées : autant qu'il y a d'étapes différentes. Mais ce nombre maximal de données met un certain temps avant d'être atteint. L'unité de calcul met du temps avant d'arriver à son régime de croisière. Durant ce temps, elle n'a pas commencé à traiter suffisamment d’éléments pour que toutes les étapes soient occupées. Ce temps de démarrage est strictement égal du nombre d'étapes nécessaires pour effectuer une instruction. La même chose arrive vers la fin du vecteur, quand il ne reste plus suffisamment d’éléments à traiter pour remplir toutes les étapes.
[[File:Startup and dead time vector pipeline.png|centre|vignette|upright=2|Startup and dead time vector pipeline]]
Pour amortir ces temps de démarrage et de fin, certains processeurs démarrent une nouvelle instruction sans attendre la fin de la précédente : deux instructions peuvent se chevaucher pour remplir les vides. Par contre, il peut y avoir des problèmes lorsque deux instructions qui se suivent manipulent le même vecteur. Il faut que la première instruction ait fini de manipuler un élément avant que la suivante ne veuille commencer à le modifier. Pour cela, il faut avoir des vecteurs suffisamment qui contiennent plus d’éléments qu'il n'y a d'étapes pour effectuer notre instruction.
===La technique du ''chaining''===
La technique du pipeline peut encore être améliorée dans certains cas particuliers. L'idée est simplement d'ajouter la technique du contournement (''bypass'') à l'unité de calcul. Pour rappel, le contournement connecte la sortie de l'ALU à une de ses entrées, ce qui permet au résultat d'un calcul d'être réutilisable au cycle d’horloge suivant. L'usage du contournement sur les processeurs vectoriels porte le nom de '''''Vector Chaining'''''. Un processeur implémentant le ''chaining''/''bypass'' a toutes ses unités de calcul reliées entre elles : la sortie d'une unité est reliée aux entrées de toutes les autres.
Pour comprendre à quoi peut servir cette technique, on peut citer deux grands exemples principaux. Le premier avantage est que l'implémentation des instructions SIMD horizontales est beaucoup plus simple. C'est pour cela que les processeurs vectoriels intègrent souvent des instructions horizontales, et notamment des instructions arithmétiques horizontales. Le contraste avec les processeurs SIMD récents, qui utilisent plusieurs ALU travaillant en parallèle, est frappant. Ces derniers n’intègrent pas d'instructions horizontales arithmétiques, les seules opérations horizontales supportées sont généralement des permutations ou des instructions ''compress/expand'', guère plus.
Maintenant, introduisons une autre possibilité par un exemple. Dans cet exemple, on suppose que le processeur dispose d'une ALU pour l'addition et d'une autre pour la multiplication. Imaginons que l'on ait trois vecteurs nommés A, B et C. Pour chaque énième élément de ces paquets, je souhaite effectuer le calcul <math>A_n + B_n \times C_n</math>. En théorie, il faudrait faire d'abord la multiplication, stocker le résultat temporaire de la multiplication dans un registre vectoriel, puis faire l'addition. Mais en rusant un peu, on peut utiliser le pipeline plus efficacement. Une fois que le premier élément de la multiplication du premier vecteur est connu, pourquoi ne pas démarrer l'addition immédiatement après, et continuer la multiplication en parallèle ? Après tout, les deux calculs ont lieu dans des ALUs séparés. Et le contournement permet d'alimenter l'ALU d'addition avec la sortie du circuit multiplieur.
[[File:Vector chaining.png|centre|vignette|upright=2|Vector chaining]]
===La gestion des vecteurs de taille variable===
L'usage d'une unité de calcul pipelinée fait que la taille des vecteurs n'est pas forcément fixe. Autant les processeurs SIMD non-vectoriels disposent d'un nombre fixe d'unités de calcul, et peuvent donc gérer des vecteurs de taille fixe, autant ce n'est pas le cas des processeurs vectoriels. Une unité de calcul pipelinée à 16 étage peut utiliser les trois premiers pour traiter un vecteur de 3 élements, les 5 suivants pour un second vecteur de 5, et le reste pour un troisième vecteur. Reste que la gestion des vecteurs de taille variable doit être gérée au niveau du séquenceur, mais surtout : doit être permise au niveau du jeu d'instruction.
Pour cela, il faut ajouter au jeu d'instruction de quoi indiquer la taille du vecteur en cours de traitement. Et c'est le rôle d'un registre spécialisé, le '''Vector Length Register''', que de gérer les vecteurs de taille variable. Le ''Vector Length Register'' est un registre qui indique combien d’éléments on doit traiter dans un vecteur. On peut ainsi dire au processeur : je veux que tu ne traites que les 40 premiers éléments présents d'un paquet. Ils sont utilisés pour gérer des tableaux dont la taille n'est pas un multiple d'un vecteur. Quand on arrive à la fin d'un tableau, il suffit de configurer le ''Vector Length Register'' pour ne traiter que ce qu'il faut.
[[File:Vector length register.png|centre|vignette|upright=2|Vector length register.]]
Il facilite l'usage du '''déroulage de boucle''', une optimisation qui vise à réduire le nombre d'itérations d'une boucle en dupliquant son corps en plusieurs exemplaires. Le compilateur réplique le corps de la boucle (les instructions à répéter) en plusieurs exemplaires dans cette boucle, avant de corriger le nombre d'itérations de la boucle. Par exemple, prenons cette boucle, écrite dans le langage C :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; ++i)
{
a[i] = b[i] * 7 ;
}
</syntaxhighlight>
Celle-ci peut être déroulée comme suit :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
a[i] = b[i] * 7 ;
a[i+1] = b[i+1] * 7 ;
a[i+2] = b[i+2] * 7 ;
a[i+3] = b[i+3] * 7 ;
}
</syntaxhighlight>
Les instructions vectorielles permettent de traiter plusieurs éléments à la fois, ce qui fait que plusieurs tours de boucles peuvent être rassemblés en une seule instruction SIMD. Le déroulage de boucles permet d'exposer des situations où ce regroupement est possible. Dans notre exemple, si jamais notre processeur dispose d'une instruction de multiplication capable de traiter 4 éléments du tableau a ou b en une seule fois, la boucle déroulée peut être vectorisée assez simplement en utilisant une multiplication vectorielle (que nous noterons vec_mul).
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
vec_a[i] = vec_mul ( vec_b[i] , 7 ) ;
}
</syntaxhighlight>
Le déroulage de boucles n'est toutefois pas une optimisation valable pour toutes les boucles. Reprenons l'exemple de la boucle vue plus haut. Si jamais le tableau à manipuler a un nombre d’éléments qui n'est pas multiple de 4, la boucle ne pourra être vectorisée, vu que la multiplication vectorielle ne peut traiter que 4 éléments à la fois. Pour ce faire, les compilateurs utilisent généralement deux boucles : une qui traite les éléments du tableau avec des instructions SIMD, et une autre qui traite les éléments restants avec des instructions non vectorielles. Cette transformation s'appelle le '''strip-mining'''.
Par exemple, si je veux parcourir un tableau de taille fixe contenant 102 éléments, je devrais avoir une boucle comme celle-ci :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
a[i] = b[i] * 7 ;
a[i+1] = b[i+1] * 7 ;
a[i+2] = b[i+2] * 7 ;
a[i+3] = b[i+3] * 7 ;
}
for (i = 100; i < 102; ++i)
{
a[i] = b[i] * 7 ;
}
</syntaxhighlight>
Les processeurs vectoriels utilisent le ''Vector Length Register'' pour éviter d'utiliser le strip-mining. Avec ce registre, il est possible de demander aux instructions vectorielles de ne traiter que les n premiers éléments d'un vecteur : il suffit de placer la valeur n dans le ''Vector Length Register''. Évidemment, n doit être inférieur au nombre d’éléments maximal du vecteur. Avec ce registre, on n'a pas besoin d'une seconde boucle pour traiter les éléments restants, et une simple instruction vectorielle peut suffire.
L'avantage principal est que cela réduit la portion de code non-parallélisable, donc augmente l'efficience SIMD. Mais l'intérêt n'est pas qu'une question de code. Il faut aussi prendre en compte que cela permet d'utiliser l'ALU plus efficacement. Dès qu'un vecteur court est terminé, le processeur peut immédiatement démarrer le calcul d'un autre vecteur, le vecteur suivant, l'instruction suivante, sans laisser de cycles inutilisés. Avec un processeur SIMD non-vectoriel, on aurait du utiliser de la prédication, donc utiliser seulement une partie des ALU SIMD, ce qui aurait été un gâchis.
===Les accès mémoire===
Les accès mémoire des processeurs vectoriels sont sensiblement les mêmes que ceux des autres processeurs SIMD. Les instructions d'accès mémoire sont les mêmes, on retrouve les modes d'adressages précédents, dont les accès en ''scatter-gather'' et en ''stride''.
Sur certains processeurs vectoriels, les instructions vectorielles lisent et écrivent en mémoire RAM, sans passer par des registres : on parle de '''processeurs vectoriels mémoire-mémoire'''. Elles n'avaient pas d'instructions LOAD et STORE, les instructions arithmétiques géraient directement la lecture des opérandes en mémoire, et incrémentaient automatiquement les adresses à lire/écrire. Elles pouvaient gérer des vecteurs de taille arbitraire, la gestion d'un tableau se faisait parfois en une seule instruction ! Le problème est que l'absence de registres pour stocker les données lues réduisait grandement les performances.
[[File:Processeur vectoriel mémoire-mémoire.png|centre|vignette|upright=2|Processeur vectoriel mémoire-mémoire]]
Les processeurs vectoriels mémoire-mémoire étaient cependant minoritaires, la grosse majorité des processeurs vectoriels récents possèdent des registres vectoriels dédiés aux vecteurs. La plupart sont des architectures de type LOAD-STORE, mais pas toute. De fait, il n'y a pas de lien strict entre adressage des opérandes et processeurs vectoriel (ou SIMT). Seuls les processeurs SIMD de type SWAR ont une restriction là-dessus et sont systématiquement des architectures LOAD-STORE.
[[File:Processeur vectoriel à registres vectoriels.png|centre|vignette|upright=2|Processeur vectoriel à registres vectoriels.]]
Il faut noter que l'implémentation des accès mémoire est potentiellement différente de celle des autres processeurs SIMD. En principe, on peut utiliser une implémentation identique entre les deux. Mais le fait que les processeurs vectoriels sont pipelinés fait qu'il est préférable d'utiliser une implémentation différente, qui se base sur une RAM ou des caches pipelinés. Vu que l'ALU reçoit une/deux opérandes par cycle, l'idéal est que la mémoire ou le cache aillent au même rythme et soient donc pipelinés.Bien sur, il est possible d'utiliser une implémentation plus classique, avec des caches multiports, un chargement en plusieurs fois des vecteurs depuis le cache, des circuits pour réorganiser les accès mémoire, etc.
En théorie, les architectures vectorielles font peu usage de mémoires cache. Les transferts entre registres vectoriels et mémoire RAM sont directs, sans intermédiaire. La raison est que les applications qui tirent parti du SIMD ont une bonne localité spatiale, mais une mauvaise localité temporelle. Or, les caches de données profitent surtout de la localité temporelle pour donner de bonnes performances. De plus, rappelons que les processeurs vectoriels sont assez anciens et datent d'une époque où les transistors étaient précieux. Il valait mieux utiliser des transistors dans un gros cache d'instruction que pour un cache de donnée peu efficace.
==Les systèmes SIMD à plusieurs processeurs : le SIMT==
Enfin, terminons avec le dernier type de SIMD, qui date du tout début de l'informatique : celui où on combine plusieurs processeurs non-SIMD. L'idée est de synchroniser plusieurs processeurs de manière à ce qu'ils exécutent la même instruction en même temps, chacun sur des données différentes. On parle d''''exécution ''lockstep''''' des instructions. Toute la difficulté est de garantir la synchronisation des processeurs, garantir que tous les processeurs exécutent la même instruction. Ce qui pose problème quand des branchements sont impliqués, des processeurs pouvant prendre le branchement et pas les autres.
===Les ''array processors'' des temps anciens===
Les premières architectures matérielles conçues pour le parallélisme de données étaient de ce type. On peut par exemple citer l'exemple des Thinking machines CM-1 et CM-2, qui exécutaient tous la même instruction au même cycle d'horloge sur 64000 processeurs minimalistes. Un autre exemple est celui de l'ILLIAC IV. Historiquement, le terme utilisé pour désigner de telles architectures était '''array processors''', encore que ce terme fût réservé aux systèmes multiprocesseurs. Par la suite, le terme ''Single Instruction Multiple Threads'', ou SIMT, a été utilisé. Mais ce terme a ensuite été repris par le marketing de NVIDIA pour désigner une technique précise de SIMD avec prédication, utilisée sur ses cartes graphiques récentes. Le mauvais usage de la terminologie fait que le terme SIMT est devenu polysémique et quelque peu trompeur.
L'ILLIAC 4 était un ordinateur un peu particulier, presque unique en son genre. Son architecture était composé d'un processeur principal couplé à plusieurs processeurs secondaires. Il y avait en tout un processeur principal et 64 processeurs secondaires.
Le processeur principal chargeait les instructions depuis la mémoire, les décodaient, puis envoyait les instructions aux processeurs secondaires. Le processeur principal était le seul à avoir un ''program counter'', il était utilisé pour gérer les boucles, ainsi que pour configurer les instructions à prédication. Cependant, le processeur principal n'était pas un simple séquenceur : il pouvait exécuter des instructions, avait un accumulateur et des registres, etc. Il prenait en charge toute instruction non-SIMD, alors que les instructions SIMD étaient envoyées aux processeurs secondaires.
Les 64 processeurs secondaires avaient chacun : une unité de calcul, un ''local store'' de 2048 flottants de 64 bits, une unité mémoire. Ils n'ont pas de séquenceur ni de ''program counter'', ni de quoi charger une instruction. L'unité de calcul est appelée un ''processing element'' ou PE. Elle intègre un additionneur flottant, de quoi faire des décalages, et une unité de calcul logique. De plus, un PE intègre des registres accumulateurs et de quoi calculer des adresses : un registre d'indice, un registre d'adresse, un circuit de calcul d'adresse. L'unité mémoire connectait l'ALU entière PE et le ''local store'', et elle permettait aussi d'adresser des entrées-sorties. Pour gérer la prédication, les processeurs secondaires pouvaient être activés ou désactivés suivant le résultat des branchements/conditions.
Intuitivement, on peut faire le rapprochement avec un processeur SIMD. Le processeur principal regrouperait la partie non-SIMD d'un processeur SIMD, alors que les processeurs secondaires seraient l'unité de calcul SIMD. Cependant, il y a une différence très importante : il n'y a pas de banc de registre vectoriel. À la place, chaque processeur secondaire a son propre banc de registre, et ce sont des registres scalaires ! Une autre différence est que la mémoire RAM est découpée en plusieurs ''local store'' de 2048 adresses, chacun étant relié à une unité de calcul PE. N'oublions pas le système de calcul d'adresse et l'unité LOAD/STORE qui est fusionnée avec l'unité SIMD, chaque PE ayant ses circuits de calcul d'adresse, sa propre unité mémoire, etc.
===Les anciennes cartes graphiques hybrides SIMD-VLIW===
Une technique de SIMD multi-processeur a été utilisée autrefois sur certaines cartes graphiques AMD à architecture Terascale. La différence est que l'architecture en question était multicœur et non multi-processeurs. Elles contenaient plusieurs cœurs VLIW, qui fonctionnaient en ''lockstep''. Un groupe de 16 processeurs VLIWs exécutaient la même opération VLIW. Du moins, c'est ce que semblent dire les [https://www.techpowerup.com/gpu-specs/docs/amd-gcn1-architecture.pdf white papers de présentation de l'architecture GCN]. L'usage de cet hybride SIMD-VLIW était très adapté au traitement graphique.
Les cartes graphiques post-années 2000 sont capables d'exécuter des programmes appelés des '''''shaders''''', qui sont utilisés en rendu 3D, pour calculer certaines scènes 3D, et notamment pour calculer les ombres (d'où leur nom de shader, pour shade - ombre). Or, ces shaders sont justement exécutés par la carte graphique, sur les processeurs de shaders. Un processeur de ''shader'' applique un programme/''shader'' sur chaque ''pixel'' ou triangle d'une scène 3D (en fait des fragments et des vertices, mais faisons cette simplification). Chaque triangle ou pixel d'une scène 3D peut être traité indépendamment des autres, ce qui rend le traitement 3D fortement parallèle. Aussi, l'usage du SIMD est assez naturel : chaque processeur exécute un ''shader'' sur un pixel/triangle, utiliser une architecture SIMD parait naturel. Reste à justifier l'usage de plusieurs CPU VLIW.
La raison tient dans la manière dont est traité un pixel par un shader. Un pixel est codé en utilisant quatre informations. Premièrement, une couleur codée avec trois nombres flottants, qui représentent une couleur au format RGB avec un mélange de rouge, vert et bleu, chaque couleur rouge/bleu/vert étant codée avec un flottant de 32 bits. La quatrième information est un nombre qui code la transparence du pixel. Généralement, le shader traite différemment la transparence de la couleur RGB, dans le sens où les instructions utilisées ne sont pas les mêmes. Au lieu de traiter couleur RGB et transparence séparément, elles sont traitées en même temps en parallèle, ce qui demande de pouvoir émettre deux instructions : une pour le calcul de la transparence, une autre pour la couleur RGB. Fait amusant, l'instruction utilisée pour gérer la composante RGB est une instruction vectorielle qui travaille sur des vecteurs de 3 couleurs. Les architectures VLIW sont parfaites pour cela.
Les cartes graphiques de l'époque de DirectX 9 utilisaient cette méthode qui mélangeait SIMD et VLIW. Elles disposaient de plusieurs cœurs VLIW qui exécutaient le même shader en exécution ''lockstep''. Chaque cœur traitait au moins un pixel à la fois, ou un triangle à la fois. Cependant, nous devons préciser que les cœurs VLIW partagent la même unité de contrôle, ce sont en réalité des chemins de données plus qu'autre chose. L'architecture était aussi combinée avec du ''Fine Grained Multithreading'' afin de pouvoir gérer les accès mémoire, de telles architectures ne pouvant pas se permettre d'utiliser l'exécution dans le désordre. De telles architectures multicœurs à exécution ''lockstep'' permettent quelques optimisations, comme le fait de partager le cache d'instruction entre les cœurs.
==Résumé des différents types de processeurs SIMD==
Dans ce chapitre, nous avons appris qu'il existe plusieurs catégories de processeurs SIMD. Les différences entre ces catégories tiennent à la fois dans le jeu d'instruction, mais aussi dans la microarchitecture des processeurs en question.
Au niveau du jeu d'instruction, il y a trois paliers, qui sont résumés dans le tableau ci-dessous.
{|class="wikitable"
|-
!
! Support de la prédication
! Taille des vecteurs
! Instructions horizontales
! Architecture LOAD-STORE
! Pointeur de pile
|-
! Processeurs SIMD purs
| Non
| rowspan="3" | Fixe
| rowspan="3" | Limitées à des échanges de données à l'intérieur d'un vecteur, pas d'instructions de réduction
| Oui
| rowspan="2" | Unique
|-
! Processeurs SIMD avec prédication
| Oui, par définition
| rowspan="3" | Dépend du processeur
|-
! Processeurs SIMT
| rowspan="2" | Oui, sauf exceptions
| Un pointeur de pile possible par élément du vecteur
|-
! Processeurs vectoriels
| Variable
| Toutes supportées, y compris les instructions arithmétiques horizontales
| Unique
|}
Au niveau de la microarchitecture, il y a trois paliers, qui sont résumés dans le tableau ci-dessous.
{|class="wikitable"
|-
!
! Unité de calcul
! Banc de registre
! Adressage des opérandes
|-
! Processeurs SIMD
| rowspan="2" | Plusieurs ALU simples non-pipelinée, plusieurs additionneurs/multiplieurs/autres
| Banc de registres vectoriels
| Architecture LOAD-STORE
|-
! Processeurs SIMT
| Plusieurs bancs de registres scalaires (non-vectoriels, registres normaux)
| rowspan="2" | Dépend du processeur
|-
! Processeurs vectoriels
| ALU simple unique, pipelinée
| Banc de registres vectoriels
|}
Les processeurs SIMD purs ont des performances différentes des processeurs vectoriels, vu que les premiers font leurs calculs en parallèle, alors que les CPU vectoriels utilisent un pipeline. Mais dans les grandes lignes, les performances sont similaires. Les différences sont grandement atténuées par l'usage du ''vector chaining'', de la gestion des vecteurs de taille variables, et des autres optimisations spécifiques aux processeurs vectoriels. L'avantage est cependant du côté des processeurs SIMD pur.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Architectures multithreadées et Hyperthreading
| prevText=Architectures multithreadées et Hyperthreading
| next=La cohérence des caches
| nextText=La cohérence des caches
}}
{{autocat}}
</noinclude>
qedqpvmofzjvhhp0e2agjsp8qimpxbi
772241
772240
2026-09-15T16:56:49Z
Mewtow
31375
/* Le banc de registre vectoriel */
772241
wikitext
text/x-wiki
Nous allons maintenant aborder le parallélisme de données, qui consiste à traiter des données différentes en parallèle. De nombreuses situations s'y prêtent relativement bien : traitement d'image, manipulation de sons, vidéo, rendu 3d, etc. Mais pour exploiter ce parallélisme, il a fallu concevoir des processeurs adaptés. Les architectures les plus simples exécutent une instruction sur plusieurs données en parallèle, à l'intérieur d'un processeur. Ces architectures exploitent le parallélisme de données au niveau de l'unité de calcul, celle-ci pouvant exécuter un même calcul sur des données différentes en parallèle.
Si on omet quelques exceptions, on peut classer ces architectures dans plusieurs catégories principales : les processeurs à instructions SIMD, les processeurs à instructions SIMD à prédicat, les processeurs SIMT, les processeurs vectoriels. Si les processeurs vectoriels sont assez rares de nos jours, tous les processeurs récents incorporent des instructions SIMD. Quant au SIMT, il est utilisé sur les cartes graphiques modernes.
==Les instructions SIMD : les points communs entre tous les processeurs SIMD==
Les processeurs modernes fournissent presque tous des '''instructions SIMD''', qui sont capables de traiter plusieurs éléments en parallèle. Elles travaillent sur des nombres entiers ou flottants regroupés dans ce qu'on appelle un ''vecteur'', qui sont eux-mêmes stockés dans des registres spécialisés. En général, tous les vecteurs ont une taille fixe, peu importe leur contenu. Cela implique que suivant la taille des données à manipuler, on pourra en placer plus ou moins dans un vecteur. Par exemple, un vecteur de 128 bits pourra contenir 4 entiers de 32 bits, 4 flottants 32 bits, ou 8 entiers de 16 bits.
[[File:Vector register.png|centre|vignette|upright=2|Contenu d'un vecteur en fonction du type de données utilisé.]]
Les vecteurs sont stockés dans des '''registres vectoriels''', aussi appelés '''registres SIMD'''. Un registre vectoriel peut contenir un vecteur complet, pas plus. En conséquence, ils ont une taille assez importante : ils font généralement 128,,256, voire 512 bits, comparé aux 32/64 bits des registres scalaires. Le résultat est que les processeurs SIMD modernes ont des registres SIMD séparés des registres entiers/flottants normaux. Un défaut de cette organisation est que les registres vectoriels sont des registres en plus, qui doivent être sauvegardés lors des commutations de contexte, lors des interruptions, lors des appels systèmes, etc.
{|
|+ Comparaison entre un processeur sans registres vectoriels, et avec registres vectoriels.
|[[File:Non-SIMD cpu diagram1.svg|vignette|upright=1.5|CPU Non-SIMD]]
|[[File:SIMD cpu diagram1.svg|vignette|upright=1.5|CPU SIMD]]
|}
Les instructions SIMD peuvent être rassemblées en deux grands groupes : les horizontales et les verticales.
Les '''instructions SIMD verticales''' travaillent en parallèle sur les éléments qui sont "à la même place" dans deux vecteurs. Elles peuvent additionner ou multiplier deux vecteurs, par exemple. Pour prendre l'exemple d'une instruction d'addition vectorielle, celle-ci va additionner ensemble les données qui sont à la même place dans deux vecteurs, et placer le résultat dans un autre vecteur, à la même place.
Les '''instructions SIMD horizontales''' partent d'un vecteur et ont pour résultat un simple nombre. Elles peuvent calculer la somme ou le produit des éléments d'un vecteur, renvoyer le nombre d’éléments nuls dans un vecteur, etc.
[[File:Instructions SIMD.png|centre|vignette|upright=2|Instructions SIMD]]
Les instructions SIMD sont difficilement utilisables dans des langages de haut niveau et c'est donc au compilateur de traduire un programme avec des instructions vectorielles. Les transformations qui permettent de traduire des morceaux de programmes en instructions vectorielles (déroulage de boucles, strip-mining) portent le nom de vectorisation.
===Les instructions SIMD arithmétiques verticales===
Les instructions SIMD sont essentiellement des instructions arithmétiques, comme des additions, des soustractions, des multiplications, éventuellement des opérations bit à bit, et quelques autres. Suivant la taille des données, et le type de celle-si, on devra effecteur des instructions différentes. Par exemple, on devra utiliser deux instructions d'addition différentes suivant qu'on manipule des flottants 64 bits ou des entiers 32 bits. De même, l'instruction pour additionner des vecteurs d'entiers de 16 bits sera différente de celle manipulant des vecteurs d'entiers de 32 bits.
L'addition et la multiplication peuvent générer des débordements d'entier. Pour les instructions non-SIMD, le débordement d'une addition est géré par un bit de retenue, stocké dans le registre d'état. Mais pour les instructions SIMD, ce n'est pas une solution très facile à implémenter. À la place, les additions et soustractions utilisent généralement l'arithmétique saturée, à savoir que lorsqu'une addition déborde, le résultat est la valeur maximale représentable dans un entier.
Pour la multiplication, les instructions non-SIMD génère un résultat qui est codé sur le double du nombre de bits. Une multiplication de deux nombres 64 bits donnera un résultat sur 128 bits, par exemple. Pour gérer cela, les multiplications non-SIMD stockent ce résultat dans deux registres, ou ne conservent que les 64 bits de poids faible. D'autres solutions sont possibles, mais ces deux là sont les plus utilisées. Pour les instructions SMID, une autre solution est préférée car plus simple pour de telles instructions : fournir deux instructions : une qui calcule les 64 bits de poids faible du résultat, une autre pour les 64 bits de poids fort.
Les processeurs SIMD étant utilisés pour du traitement d'image ou du rendu 2D/3D, ils supportent généralement des opérations mathématiques assez complexes sur des nombres flottants. Il n'est pas rare d'avoir des instructions SIMD pour le calcul de l'inverse d'un nombre, de sa racine carrée, l'inverse d'une racine carrée, des fonctions trigonométriques, etc. L'implémentation matérielle de telles instructions est généralement très complexe et gourmande en circuits, ce qui fait que les concepteurs de processeurs rusent. Sauf sur certains processeurs assez peu fréquents, les instructions mathématiques complexes ne calculent pas un résultat exact, mais une approximation du résultat. Utiliser un résultat approximatif ne pose pas de problème pour de telles applications, le rendu d'image ou 3D s'en accommodant parfaitement, contrairement au calcul scientifique.
===Les instructions SIMD de manipulation de données intra-vecteur===
Après avoir vu les instructions SIMD verticales, il est temps de voir les instructions SIMD horizontales. Pour rappel, celles-ci travaillent un vecteur unique, dont elles réarrangent ou modifient les éléments. Tout cela sera plus parlant une fois qu'on aura donné quelques exemples. Mais avant toute chose, nous allons séparer les instructions horizontales en deux sous-types, fondamentalement différents. Le premier sous-type change de place les données dans un vecteur. Le second type est celui des instructions horizontales arithmétiques/logiques habituelles, qu'on verra plus tard. La distinction entre les deux est très importante, comme on le verra plus tard.
[[File:SIMD instruction data movement - One operand.png|vignette|upright=1.5|Instructions SIMD de mouvement de données à une opérande.]]
Les instructions SIMD horizontales les plus communes bougent des données à l'intérieur des vecteurs, ce qui leur vaut le nom d''''instructions de manipulation de vecteur'''. Les plus simples sont celles qui ont une seule opérande, à savoir qui prennent un vecteur comme opérande et renvoient un vecteur résultat.
Les plus intuitives sont les instructions de '''permutation''', dont le nom est assez explicite. Elles changent de place des données dans un vecteur. Dans le cas le plus compliqué, elles prennent deux vecteur : le vecteur dans lequel faire la permutation, et un vecteur qui indique comment faire la permutation. Le vecteur précise, pour chaque élement du vecteur, où il doit aller après la permutation. L'instruction effectue la permutation des entiers/flottants/octets dans le vecteur.
Les instructions '''''compress''''' et '''''expand''''' sont elles aussi spécifiques aux vecteurs. L'instruction ''compress'' prend un vecteur en opérande, sélectionne certaines valeurs présentes dedans, et les stocke dans un vecteur de sortie. Elle regroupe les valeurs sélectionnées dans le début du vecteur, et laisse les cases inoccupées à 0. Par exemple, pour un vecteur de 16 entiers, elle permet de sélectionner 5 entiers dedans, et les place dans un vecteur résultat qui ne contient que ces 5 valeurs au début du vecteur, le reste est à 0. L'instruction ''expand'' fait l'inverse : elle prend un vecteur crée par l'instruction ''compress'' (ou du moin qui a le même format), prend toutes les valeurs non-nulles dedans, et les disperse dans un vecteur de sortie, en les mettant à la place désirée.
Les autres instructions SIMD horizontales prennent deux opérandes, voire aucune opérande vectorielle (elles prennent un nombre, pas un vecteur).
Les instructions '''''shuffle''''' prennent plusieurs vecteurs, sélectionnent les éléments adéquats dans chaque vecteur, et les regroupe dans un vecteur résultat. Par exemple, prenons 2 vecteurs de 16 entiers chacun. Une instruction ''shuffle'' peut prendre 8 entiers dans chaque vecteur et les regrouper dans un vecteur résultat unique de 16 entiers. Ou encore, elle peut prendre trois vecteurs de 16 flottants chacun, prendre 4 flottants dans le premier, 10 dans le second et 2 dans le troisième, et regrouper le tout dans un vecteur résultat de 16 flottants.
Il arrive que les deux cas précédents correspondent à des cas séparés, à deux instructions de type ''shuffle'', mais qui fonctionnent différemment. Le premier type prend les N premiers éléments du premier vecteur, puis prend les élements manquant à partir de la fin du vecteur. Le second type prend un élément sur deux dans chaque vecteur, mais avec un décalage d'un rang entre les deux vecteurs.
Il y a aussi les instructions dites de '''''broadcast''''', qui copient une valeur unique dans un vecteur entier. Elles sont surtout utilisées pour initialiser des tableaux avec une valeur unique, ou pour remplir un vecteur avec des données prédéterminées pour certains calculs impliquant des constantes.
[[File:SIMD instruction exemple.png|centre|vignette|upright=1.5|Instructions SIMD de mouvement de données qui ne sont pas à une opérande.]]
===Les instructions SIMD de réduction===
Il existe des instructions horizontales de type arithmétiques. La plus simple est celle qui additionne les différents entiers/flottants d'un vecteur. Elle est utilisée pour accélérer une opération précise : faire la somme d'un tableau d'entier/flottants. On peut aussi citer les opérations maximum et minimum, qui renvoient le plus grand/petit élément d'un vecteur. Un point important avec ces opérations est qu'elles prennent un vecteur, mais renvoie un résultat unique, un scalaire, un nombre entier/flottant seul. Elles sont parfois appelées des '''instructions de réduction'''.
Les instructions de réduction sont généralement la spécificité des processeurs vectoriels, les processeurs SIMD récents n'en ont pas. La raison est que leur implémentation matérielle est généralement assez compliquée. Contrairement aux instructions verticales, elles ont une forme de parallélisme de donnée très limitée. Elles ne travaillent pas exactement sur des données indépendantes, elles font des calculs dont le résultat est utilisé par d'autres, il y a des dépendances de données entre éléments du vecteur.
Cependant, il faut savoir que l'on peut émuler une instruction de réduction en utilisant des instructions verticales couplées à des instructions de manipulation de vecteur. Par exemples, prenons le cas d'une instruction de réduction qui additionne entre eux les éléments d'un vecteur. On peut l'émuler en utilisant une addition verticale entre deux vecteurs, et une instruction ''compress''. L'idée est la suivante : on coupe le vecteur initial en deux avec deux instructions ''compress'', ce qui donne deux sous-vecteurs. Puis, on additionne les deux vecteurs résultat entre eux. Puis on répète les deux étapes précédentes jusqu'à obtenir la somme finale.
Le fait que l'on puisse émuler les instructions de réduction est la raison principale qui explique que les processeurs SIMD récents n’intègrent pas d'instructions de réduction. Ils se débrouillent avec des instructions SIMD de manipulation de vecteur, et des instructions SIMD verticales. C'est un bon compromis entre cout en circuits et performance.
===Les accès mémoire===
La gestion des accès mémoire est assez hétéroclite, la façon de faire étant différente selon les architectures. Dans le cas le plus simple, les données d'un vecteur sont contigües en mémoire et les instructions ont juste à préciser l'adresse mémoire du début du vecteur, qui est généralement dans un registre d'adresse spécialisé, ou un registre non-SIMD. Avec des vecteurs de 8 octets, toute instruction d'accès mémoire de ce type va lire ou écrire des blocs de 8 octets. L'adresse de départ de ces blocs est soumise à des contraintes d'alignement sur les jeux d'instructions comme le SSE, le MMX, etc. La raison à cela est que gérer des accès non alignés en mémoire rend les circuits de lecture/écriture en mémoire plus complexes. En contrepartie, ces contraintes compliquent l'utilisation des instructions SIMD par le compilateur.
D'autres modes d'adressage des vecteurs permettent à une instruction de charger des données dispersées en mémoire pour les rassembler dans un vecteur. On peut notamment citer l'existence d'accès mémoires en stride et en scatter-gather.
L''''accès en stride''' regroupe des données séparées par un intervalle régulier d'adresses. Ce mode d'accès a besoin de l'adresse initiale, de celle du premier élément du vecteur, et de la distance entre deux données en mémoire. Il permet aux instructions de mieux gérer les tableaux de structures, ainsi que les tableaux multi-dimensionnels. Lorsqu'on utilise de tels tableaux, il arrive assez souvent que l'on n'accède qu'à des éléments tous séparés par une même distance. Par exemple, si on fait des calculs de géométrie dans l'espace, on peut très bien ne vouloir traiter que les coordonnées sur l'axe des x, sans accès sur l'axe des y ou des z. Les instructions d'accès mémoire en enjambées gèrent de tels cas efficacement.
Les processeurs SIMD incorporent aussi les accès en '''''scatter-gather'''''. De tels accès prennent en opérande un vecteur contenant des adresses mémoires, et lit/écrit chacune de ses adresses mémoire indépendamment. Les accès en ''scatter-Gather'' peuvent être vus comme une généralisation de l'adressage indirect à registre aux vecteurs, chaque élément du vecteur étant adressé via adressage indirect. Les accès en ''gather'' sont des lectures : elles prennent un vecteur d'adresse, lisent chaque adresse, et regroupent toutes les données lues dans un vecteur, dans un registre vectoriel. Les accès en ''scatter'' sont l'équivalent pour les écritures. Ils prennent un vecteur d'opérande pour les données à écrire, un vecteur pour les adresses.
[[File:Cuda4.png|centre|vignette|upright=2|Adressage en scatter-gather]]
Un autre version des accès en ''scatter-gather'' n'utilise pas des adresses mémoire, amis des indices. Le vecteur opérande ne contient pas des adresses, mais des indices qui sont combinés à une adresse de base pour calculer plusieurs adresses. Un tel mode d'adressage permet de faciliter l'implémentation de certaines structures de données, appelées des vecteurs de Liffe. Ils sont très utilisés pour gérer les matrices creuses, des matrices où une grande partie des éléments sont nuls et où, dans un souci d'optimisation, seuls les éléments non nuls de la matrice sont stockés en mémoire.
Lors d'une instruction de ''scatter'' ou de ''gather'', tous les accès mémoire n'ont pas lieu en même temps, certains accès mémoire seront terminés avant les autres. Les accès peuvent se faire dans le désordre et de nombreuses optimisations matérielle en profitent pour gagner en performance. Il existe cependant un cas où les accès mémoire doivent se faire dans un ordre bien précis, généralement du premier élément vers le dernier : lorsqu'une instruction ''scatter'' effectue plusieurs écritures à la même adresse. C'est parfaitement possible, et c'est le seul cas où il est intéressant de forcer un ordre pour les écritures.
En théorie, une instruction SIMD est un tout, c'est à dire qu'elle ne doit pas modifier les registres SIMD avant que tous les accès mémoire se soient terminés. Cependant, il est possible qu'une partie des accès mémoire déclenchent des défauts de page ou lèvent des exceptions matérielles, alors que les autres se sont terminés. En théorie, le processeur est censé se débarrasser du résultat des accès mémoire terminés. Mais ce serait un gachis de performance, ce qui fait que le processeur viole la règle voulant que les registres SIMD soient mis à jour en une seule fois à la fin de l'instruction de ''scatter-gather''. Dès qu'un accès mémoire se termine, il écrit son résultat dans le registre SIMD, à l'endroit adéquat.
Cependant, ce comportement pose un problème. Lorsqu'une exception survient, comme lors d'un défaut de page, le processeur exécute la routine d'interruption associée, puis redémarre l'instruction fautive, le second essai étant le bon. Ici, le processeur ne réexecute pas l'instruction à l'identique, mais seulement les accès non-terminés. Mais comment le processeur sait-il quelles accès mémoire redémarrer ? Il doit pour cela mémoriser quels sont les accès mémoire terminés. Il utilise pour cela un registre architectural appelé le '''masque de complétion'''. Le registre est forcément architectural car il doit être préservé lors d'un changement de contexte, l’exécution de l'exception matérielle forçant un changement de contexte.
===Exemple avec les processeurs x86===
[[File:PD-20060908-SSE3-01.svg|vignette|Chronologie des extensions x86 SIMD.]]
Après avoir vu la théorie sur les instructions SIMD, il est temps de voir un exemple concret : celui des instructions SIMD des processeurs x86, présents dans nos PC. Le jeu d'instruction des PC qui fonctionnent sous Windows est appelé le x86. C'est un jeu d'instructions particulièrement ancien, apparu en 1978. Depuis, des '''extensions x86''' ont ajouté des instructions au x86 de base. On peut citer par exemple les extensions MMX, SSE, SSE2, ''3dnow!'', etc.
Les premières instructions SIMD furent fournies par une extension x86 du nom de MMX, introduite par Intel en 1996 sur le processeur Pentium MMX. Le MMX a perduré durant quelques années avant d'être remplacé par les extensions SSE. La même année, AMD sorti d'expansion ''3DNow!'', qui ajoutait 21 instructions SIMD similaires à celles du MMX. Celui-ci fût suivi du ''3DNow!+'' quelques années plus tard. Le SSE fût ensuite décliné en plusieurs versions avant d'être "remplacé" par l'AVX. Une grande quantité de ces extensions x86 sont des ajouts d'instructions SIMD.
L’'''extension MMX''' ajoutait pas mal d'instructions SIMD assez basiques, essentiellement des instructions arithmétiques : addition, soustraction, opérations logiques, décalages, rotations, mise à zéro d'un registre, etc. La multiplication est aussi supportée, mais avec quelques petites subtilités, via l'instruction PMULLW. Les instructions MMX ne mettent pas le registre d'état à jour et ne préviennent pas en cas d'overflow ou d'underflow si ceux-ci arrivent (pour les instructions qui ne travaillent pas en arithmétique saturée).
Le MMX introduisait 8 registres vectoriels, du nom de MM0, MM1, MM2, MM3, MM4, MM5, MM6 et MM7. Ils ne pouvaient contenir que des nombres entiers et faisaient 64 bits. Ils avaient cependant un léger défaut, qui a nui à l'adoption du MMX. Pour rappel, avant le MMX, les flottants étaient gérés par l'extension x87, qui définit 8 registres flottants de 80 bits. Et chaque registre MMX correspondait aux 64 bits de poids faible d'un registre flottant x87 ! Le système d'''alias'' de registres typique des CPU x86 a encore frappé ! En conséquence, il était impossible d'utiliser en même temps l'unité de calcul flottante et l'unité MMX. Par contre, sauvegarder les registres lors d'un changement de contexte, d'une interruption, ou d'un appel de fonction était très simple : la sauvegarde des registres de la FPU x87 suffisait.
[[File:MMX-FPU-Register.JPG|centre|vignette|upright=2|Registres MMX et FPU x87.]]
[[File:XMM registers.svg|droite|vignette|XMM registers]]
Dans les années 1999, une nouvelle extension SIMD fit son apparition sur les processeurs Intel Pentium 3 : le '''Streaming SIMD Extensions''', abrévié SSE. Ce SSE fut ensuite complété, et différentes versions virent le jour : le SSE2, SSE3, SSE4, etc. Cette extension fit apparaitre 8 nouveaux registres, les registres XMM. Sur les processeurs 64 bits, ces registres sont doublés et on en trouve donc 16. En plus de ces registres, on trouve aussi un registre d'état qui permet de contrôler le comportement des instructions SSE : celui contient des bits qui permettront de dire au processeur que les instructions doivent arrondir leurs calculs d'une certaine façon, etc. Ce registre n'est autre que le registre MXCSR. Chose étrange, seuls les 16 premiers bits de ce registre ont une utilité : les concepteurs du SSE ont surement préférés laisser un peu de marge au cas où.
La première version du SSE contenait assez peu d'instructions : seulement 70. Le SSE première version ne fournissait que des instructions pouvant manipuler des paquets contenant 4 nombres flottants de 32 bits (simple précision). Je ne vais pas toutes les lister, mais je peux quand-même dire qu'on trouve des instructions arithmétiques de base, avec pas mal d'opérations en plus : permutations, opérations arithmétiques complexes, autres. Petit détail : la multiplication est gérée plus simplement et l'on a pas besoin de s’embêter à faire mumuse avec plusieurs instructions différentes pour faire une simple multiplication comme avec le MMX.
On peut quand même signaler une chose : des instructions permettant de contrôler le cache firent leur apparition. On retrouve ainsi des instructions qui permettent d'écrire ou de lire le contenu d'un registre XMM en mémoire sans le copier dans le cache. Ces instructions permettent ainsi de garder le cache propre en évitant de copier inutilement des données dedans. On peut citer par exemple, les instructions MOVNTQ et MOVNTPS du SSE premiére version. On trouve aussi des instructions permettant de charger le contenu d'une portion de mémoire dans le cache, ce qui permet de contrôler son contenu. De telles instructions de prefetch permettent ainsi de charger à l'avance une donnée dont on aura besoin, permettant de supprimer pas mal de cache miss. Le SSE fournissait notamment les instructions PREFETCH0, PREFETCH1, PREFETCH2 et PREFETCHNTA. Autant vous dire qu'utiliser ces instructions peut donner lieu à de sacrés gains si on s'y prend correctement ! Il faut tout de même noter que le SSE n'est pas seul "jeu d'instruction" incorporant des instructions de contrôle du cache : certains jeux d'instruction POWER PC (je pense à l'Altivec) ont aussi cette particularité.
Avec le '''SSE2''', de nouvelles instructions furent ajoutés, permettant d'utiliser des nombres de 64, 16 et 8 bits dans chaque vecteur. Le SSE2 incorporait ainsi pas moins de 144 instructions différentes. Ce qui commençait à faire beaucoup.
Puis, vient le '''SSE3''', avec ses 13 instructions supplémentaires. Pas grand-chose à signaler, si ce n'est que des instructions permettant d'additionner ou de soustraire tous les éléments d'un paquet SSE ensemble, des instructions pour les nombres complexes, et plus intéressant : les deux instructions MWAIT et MONITOR qui permettent de paralléliser plus facilement des programmes.
Le '''SSE4''' fut un peu plus complexe et fut décliné lui-même en 2 versions. Le SSE4.1 introduit ainsi des opérations de calcul de moyenne, de copie conditionnelle de registre (un registre est copié dans un autre si le résultat d'une opération de comparaison précédente est vrai), de calcul de produits scalaire, de calcul du minimum ou du maximum de deux entiers, des calculs d'arrondis, et quelques autres. Avec le SSE4.2, le vice à été poussé jusqu'à incorporer des instructions de traitement de chaines de caractères.
[[File:AVX registers.svg|vignette|Registres AVX.]]
Avec l''''AVX (Advanced Vector eXtensions)''', on retrouve 16 registres d'une taille de 256 bits, nommés de YMM0 à YMM15 et dédiés aux instructions AVX. Ils sont partagés avec les registres XMM : les 128 bits de poids faible des registres YMM ne sont autres que les registres XMM. L'AVX complète le SSE et ses extensions, en rajoutant quelques instructions, et surtout en permettant de traiter des données de 256 bits.
Son principal atout face au SSE est que les instructions AVX permettent de préciser le registre de destination en plus des registres d'opérandes. Avec le SSE et le MMX, le résultat d'une instruction SIMD était écrit dans un des deux registres d'opérande manipulé par l'instruction. Il fallait sauvegarder son contenu si on en avait besoin plus tard, ce qui n'est plus nécessaire avec l'AVX.
==La performance des processeurs SIMD==
Il est intéressant de comparer la performance d'un processeur SIMD et celle d'un processeur normal, sans SIMD. Mais cet exercice est compliqué par le fait que les processeurs non-SIMD sont très nombreux : entre les CPU superscalaires, à émission dans l'ordre, exécution dans le désordre, ceux sans rien de tout cela, on a de quoi être perdu. Dans ce qui suit, nous allons comparer deux processeurs basiques sans pipeline : un avec SIMD, un autre sans.
Comparé à un processeur sans pipeline, on s'attend à ce que la performance soit augmentée d'un facteur N, avec N le nombre maximal d'entiers/flottants que l'on peut mettre dans un vecteur. Si une architecture SIMD fait N calculs en parallèles, alors les performances sont censées être multipliées par N. Cela laisse penser que plus les vecteurs sont longs, plus le gain en performance est important. Il s'agit là d'un résultat basique, mais la vraie vie est différente.
Un premier problème est que ce résultat ne tient que si la mémoire RAM et les caches suivent. En effet, faire N calculs en parallèle demande de lire/écrire N fois plus de données. Les données sont souvent stockées dans des registres vectoriels, ce qui fait que la pression sur le banc de registre est assez importante. Mais cela signifie aussi que les instructions d'accès mémoire doivent lire/écrire N fois plus de données. Il faut alors ajouter des ports sur le cache, élargir le bus mémoire, augmenter la taille des lignes de cache, etc. Le débit binaire des caches et de la mémoire RAM deviennent rapidement des points limitants, qui réduisent le gain en performance des instructions SIMD.
Et ne parlons pas de l'interaction avec la mémoire virtuelle : vu qu'on lit/écrit par paquets de données, cela signifie qu'on traverse une page mémoire plus vite, ce qui fait que les défauts de page sont lus fréquents. Un processeur SIMD a intérêt à être combiné à une RAM et des caches solides, très performants. C'est le cas sur les processeurs modernes, mais cela a pose des problèmes pour les processeurs vectoriels, et a mené à leur abandon progressif.
Mais passons outre ce problème et regardons la seconde raison qui font que ce résultat est naïf : la loi d'Amdhal ! Toutes les portions d'un programme ne sont pas accélérées par des instructions SIMD, il y a des portions dont les calculs ont des dépendances de données, d'autres qui ne sont pas parallélisables, etc. Une partie du programme est donc impossible à véctoriser (i.e optimiser pour le SIMD), une l'autre l'est. Pour simplifier les explications, on suppose qu'une instruction SIMD prend le même nombre de cycles que son équivalent non-SIMD. Par exemple, une addition SIMD prend le même temps qu'une addition normale. Dans ce cas, la portion non-vectorisable du code reste inchangée, alors que la portion vectorisable est divisée par N, par la largeur du vecteur. On retombe sur une formulation identique à la loi d'Amdhal sur le fond.
Une manière de quantifier le tout est d'utiliser la métrique de l'efficience SIMD. Elle est calculée en divisant deux grandeurs. La première est elle-même un rapport : c'est le gain obtenu en terme de nombre d'instructions exécutées. Prenons un programme qui exécute I instructions avant vectorisation, et qui en exécute I/X après. Le gain s'exprime comme suit :
: <math>G = \frac{I}{I/X} = X</math>
Maintenant, prenons ce gain est divisons-le par la largeur d'un vecteur. On obtient alors l'efficience SIMD :
: <math>\text{Efficience SIMD} = \frac{G}{N} = \frac{\frac{I}{I/X}}{N}</math>
Notons que le gain et la largeur SIMD ne sont égales que dans un cas bien précis : tout le code est vectorisable. Il s'agit donc d'une reformulation du gain de la loi d'Amdhal, mais dans laquelle le pourcentage de code série est caché.
Il est intéressant de regarder l'efficience SIMD quand on augmente la portion du code série, ainsi que la taille des vecteurs. Prenons un cas assez généreux, réaliste pour certaines applications très adaptées au SIMD : 1% du code est non-vectorisable, 99% profite du SIMD. L'efficience SIMD varie alors assez rapidement avec la taille des vecteurs. De 99% pour N=2, elle descend à 98% pour N=16, et tombe sous les 50% pou N=128. La conséquence est que les très grandes tailles de vecteurs ne sont pas vraiment utiles, le rendement est décroissant avec la taille des vecteurs.
==Les processeurs SIMD à registres généraux==
Le premier type de processeur SIMD que nous allons voir est celui des processeurs de type '''SWAR''' (''SIMD Within A Register''). Le terme SWAR est un terme polysémique dont le sens a beaucoup changé au fil du temps. Ici, nous allons l'utiliser dans la définition la plus stricte : celle où on effectue du SIMD dans les registres généraux du processeur, sans registres spécialisés. Il s'agit d'une forme de SIMD qui est aujourd'hui peu utilisée, mais qui a été la première forme de SIMD utilisée dans des processeurs grand public commerciaux.
L'idée est d'améliorer un petit peu un processeur normal, non-SIMD. Un processeur usuel contient des registres généraux de 32 à 64 bits, qui stockent chacun un opérande de même taille que le registre. D'anciens processeurs avaient des instructions pour effectuer des calculs simples, sur des opérandes plus courts. Par exemple, les processeurs x86 32 bits sont capables de faire des calculs sur 8, 16, ou 32 bits. Mais on ne pouvait placer qu'un seul opérande de 8, 16 ou 32 bits dans un registre général, ce qui est un léger gâchis. Le SWAR est une amélioration de cette technique qui vise à mieux utiliser les registres et l'ALU.
L'idée est de regrouper plusieurs opérandes de 8, 16, voire 32 bits, dans un seul registre général. De plus, on ajoute des instructions SIMD d'addition/soustraction/autres, qui lisent des opérandes 8/16/32 bits dans ces registres généraux. Par exemple, sur un processeur 32 bits, on peut ajouter une opération d'addition qui lit deux registres de 32 bits, pour récupérer quatre opérandes de 16 bits (deux par registre) et effectue deux additions 16 bits en même temps dans l'ALU. Et il y a la même chose pour d'autres opérations, comme la soustraction, la comparaison, etc.
Les instructions SIMD disponibles sur ces processeurs se limitent généralement à des additions, soustractions, comparaisons, mais guère plus. De plus, il s'agit d'instructions entières, il n'y a pas d'instructions SIMD flottantes. La raison à cela est très simple, mais nous l'expliquerons plus bas, dans la section sur l'implémentation. Disons simplement que de tells architectures visent une économie en circuit maximale. Elles implémentent les instructions SIMD en utilisant le moins de circuits possibles, ce qui fait qu'elles réutilisent les registres généraux et n'ont pas de registres SIMD séparés.
===Les extensions/jeux d'instructions de type SWAR===
Les premiers processeurs à intégrer du SWAR étaient les processeurs DEC Alpha, avec l'extension multimédia '''''Motion Video Extensions'''''. Les processeurs en question étaient les processeurs Alpha 21164PC (PCA56 and PCA57), Alpha 21264 (EV6) and Alpha 21364 (EV7). Les instructions SIMD disponibles étaient très simples et se résumaient à quelques comparaisons : trouver le maximum ou le minimum de deux opérandes de 8/16 bits, quelques instructions de permutation.
Les extensions '''''Multimedia Acceleration eXtensions''''' des processeurs Hewlett-Packard PA-RISC sont aussi de ce type, mais disposent de plus d'instructions SIMD. La première version, appelée MAX-1, était disponible sur les processeurs 32 bits de la marque, à partir du processeur PA-7100LC. Les instructions disponibles étaient des additions et soustractions d'opérandes 16 bit. Il y avait en tout trois instructions d'addition et trois pour la soustraction. En tout, il y avait :
* une instruction d'addition/soustraction non-signée utilisant l'arithmétique modulaire ;
* une instruction d'addition/soustraction signée en arithmétique modulaire ;
* une instruction d'addition/soustraction signée en arithmétique saturée.
Outre les additions/soustractions, il y avait aussi une instruction pour calculer la moyenne de deux opérandes 16 bits, ainsi qu'une addition fusionnée avec un décalage.
La seconde version, appelée MAX-2, ajouta des instructions d'additions fusionnées avec des décalages, mais aussi des instructions de permutation. De plus, cette version était disponible sur les processeurs 64 bits de la marque, ce qui fait que les registres étaient eux aussi de 64 bits. Ils pouvaient contenir deux fois plus d'opérandes 16 bits. Il n'y avait de gestion d'opérandes 32 bits pour les extensions SIMD.
===L'implémentation matérielle===
L'avantage de cette technique est la grande simplicité d'implémentation. On n'ajoute pas de registres SIMD séparés, ce qui a de nombreux avantages : économie de circuits car pas besoin d'un second banc de registre, pas besoin de sauvegarder des registres SIMD en plus lors d'un appel système/interruption, etc. L'implémentation a juste besoin de modifier le décodeur et l'unité de calcul. Le décodeur est modifié pour ajouter des instructions en plus, rien de spécifique au SWAR. Les modifications de l'unité de calcul sont spécifiques au SWAR et modifient la manière dont elle gère les retenues.
Une première solution est d'utiliser une ALU bit-slicée, ce qui est l'idéal pour les unités de calcul entières. Par exemple, pour une ALU 32 bits entière, on peut la découper en 4 unités de calcul 8 bits. Pour une opération SIMD avec 4 opérandes 8 bits, les quatre ALU fonctionnent en parallèle, il n'y a pas transmission des retenues. Pour les calculs SIMD avec des opérandes de 16 bits, on regroupe les ALU par paire et on propage les retenues à l'intérieur d'une paire, mais pas entre les paires. Enfin, pour un calcul non-SIMD, les opérandes de 32 bits, on propage les retenues normalement, d'une ALU 8 bits vers la suivante.
Une autre solution prend un additionneur 32/64 bits normal, mais mets à 0 les retenues. L'implémentation est très simple avec un additionneur à anticipation de retenues, où les retenues sont calculées en avance, avant de faire l'addition proprement dite, par un circuit d'anticipation de retenue. Il suffit alors d'ajouter un circuit de masquage en sortie du circuit d'anticipation de retenue, qui met à zéro les retenues adéquates. La gestion des débordements demande d'ajouter des circuits, ou du moins de modifier ceux déjà présents dans l'ALU. Typiquement, les circuits pour gérer l'arithmétique saturée sont un peu modifiés pour effectuer la mise à 1111...111 octet par octet et chaque octet est masqué si besoin.
[[File:ALU modifiée pour implémenter du SWAR.png|centre|vignette|upright=3|ALU modifiée pour implémenter du SWAR]]
Notons que la technique ne s'applique qu'aux additions, et aux opérations dérivées comme la soustraction et les comparaisons (ces dernières sont des soustractions déguisées). Mais les multiplications ou divisions ne peuvent pas s'implémenter simplement en modifiant des ALU existantes, du moins pas avec des modifications simples. Aussi, les processeurs qui utilisent cette technique se bornent aux additions et opérations dérivées, pas plus.
La gestion des opérations de permutation est quant à elle très simple : beaucoup de processeurs disposent déjà d'instructions de permutation d'octets, qui sont l'équivalent d'instructions SIMD de permutation pour les registres généraux. Nous en avions déjà parlé dans le chapitre sur le langage machine et l'assembleur, quand nous avions fait la liste des instructions les plus courantes. De telles instructions de permutation d'octet sont utiles pour gérer le boutisme ou effectuer quelques manipulations assez rares. Pas besoin de rajouter une ALU dédiée, celle-ci est déjà présente de base, du moins si les instructions de permutation d'octet sont déjà présentes.
==Les processeurs SIMD purs (''packed SIMD'')==
Maintenant que nous avons vu les instructions SIMD, passons maintenant aux processeurs eux-même. Tous les processeurs que nous allons voir dans ce qui suit supportent des instructions SIMD. Mais leur implémentation matérielle, leur micro-architecture, n'est pas la même. Ils ont aussi quelques différences en termes de jeu d'instruction, mais qui sont fortement liées à l'implémentation matérielle.
Nous allons ici voir les '''processeurs SIMD purs''', aussi dits de type ''Packed SIMD''. Ils implémentent des instructions SIMD sans rien de plus, juste le strict minimum : pas de prédication, pas de vecteurs de taille variable, presque pas d’instructions horizontales, architecture de type LOAD-STORE. De tels processeurs utilisent plusieurs ALU entières/flottantes qui travaillent en parallèle. De plus, ils disposent de registres SIMD séparés des registres généraux. Voyons ces points immédiatement.
* La première distinction est que les vecteurs sont stockés dans des registres séparés des registres généraux, appelés les '''registres SIMD''', ou ''registres vectoriels''. Ils sont beaucoup plus larges que les registres classiques et mémorisent 2, 4, 8 entiers/flottants.
* La seconde distinction est que les calculs SIMD sont effectués dans une unité SIMD séparée de l'ALU ou de la FPU. L'unité de calcul SIMD peut exécuter au minimum des instructions SIMD verticales, plus rarement des instructions SIMD horizontales. Pour ce faire, elle regroupe plusieurs additionneurs/multiplieurs, qui effectuent des calculs en parallèle.
===Les instructions SIMD verticales : plusieurs ALU travaillant en parallèle===
[[File:SIMD2.svg|vignette|Parallélisme de données au niveau de l'unité de calcul. Celle-ci contient plusieurs circuits indépendants qui appliquent la même opération sur des données différentes.]]
Une unité de calcul SIMD gère au minimum des instructions SIMD verticales. Et pour ce faire, elle contient plusieurs additionneurs/multiplieurs séparés. Par exemple, pour additionner deux vecteurs contenant chacun 16 entiers/flottants, il faut utilise 16 additionneurs entiers et 16 additionneurs flottants. Dans le cas général, une ALU SIMD est composée de plusieurs ALU entières et flottantes regroupées ensemble et avec quelques circuits pour gérer les débordements et d'autres situations. Notons que les ALU travaillent en parallèle, elles font des calculs indépendants.
Notons que les additionneurs dans chaque ALU doivent pouvoir être configurés de manière à gérer des tailles de données différentes. Par exemple, si on prend un vecteur simple, qui peut contenir soit 32 entiers de 16 bits, soit 16 entiers 32 bits, soit 8 entiers 64 bits, alors on doit utiliser 8 additionneurs, mais chacun d'entre eux doit pouvoir être reconfiguré de manière à ne pas propager les retenues au-delà des premiers 16 ou 32 bits.
Un défaut de cette organisation est que le cout en circuits est loin d'être négligeable. Il faut dupliquer des unités de calcul et les coller en rajoutant des circuits, cela utilise beaucoup de transistors. Le cout en circuit est d'autant plus grand que les vecteurs sont longs et le cout est approximativement proportionnel à la taille des vecteurs. Entre des vecteurs de 128 et 256 bits, l'unité de calcul utilisera globalement deux fois plus de circuits avec 256 bits qu'avec 128. Même chose pour les registres, mais c'est là un cout commun à toutes les architectures.
Retenez cependant : l'usage de plusieurs ALU travaillant en parallèle a plusieurs défauts. Premièrement, cela implique des vecteurs de taille fixe, du fait que le nombre d'ALU travaillant en parallèle est fixe. Deuxièmement, des difficultés d'implémentation concernant les instructions de réduction. Détaillons ce second point !
Une autre possibilité est d'utiliser moins d'unités de calcul qu'il n'y a d'éléments dans un vecteur. Par exemple, pour des vecteurs contenant 32 flottants, il se peut qu'il n'y ait que 16 ALU. Les opérations sur les vecteurs sont donc faites en deux fois : une première passe pour les 16 premiers éléments, une seconde passe pour les 16 restants. On économise ainsi pas mal de circuits, mais cela se fait au détriment de la performance globale. L'avantage est que l'ensemble des calculs se fait en une seule instruction machine. L'implémentation est généralement la suivante : le processeur décode une instruction SIMD en deux micro-instructions SIMD plus courtes. Par exemple, pour une instruction SIMD de 32 éléments, elle sera décodée en deux instructions SIMD de 16 éléments, chacune étant exécutée sur l'ALU.
Il est possible de réduire fortement l'impact en performance en doublant la fréquence de l'ALU. Par exemple, pour des vecteurs contenant 32 flottants, le processeur incorpore 16 ALU, mais celles-ci fonctionne à une fréquence double de celle du processeur. L'usage d'une ALU à double fréquence est une technique qui a été utilisée sur le Pentium 4 et quelques processeurs, pour des instructions non-SIMD. Mais pour les processeurs SIMD, elle s'applique à la perfection. L'implémentation est la même que précédemment, sauf que la fenêtre d'instruction et la logique d'émission fonctionnent à double fréquence. Pour limiter la casse, il est préférable d'utiliser une fenêtre d'instruction séparée pour les instructions SIMD, qui sera seule à fonctionner à double fréquence.
===Les instructions horizontales : une ALU simple séparée===
Les instructions horizontales posent des difficultés d’implémentation. Elles ne peuvent pas s'implémenter en utilisant plusieurs ALU travaillant en parallèle, contrairement aux instructions verticales, ce qui fait qu'elles utilisent généralement des unités de calcul spécialisées. Et c'est là que la différence entre instructions de manipulation de vecteurs et instructions de réduction vient encore une fois poser problème. Les instructions de manipulation de vecteur sont relativement simples à implémenter : elles ont juste besoin d'une ALU spécialisée, relativement simple, composée de beaucoup de multiplexeurs à configurer convenablement. Mais pour les instructions de réduction, c'est autre chose !
L'implémentation des instructions de réduction est possible mais a un cout en circuits assez prohibitif. Pour additionner N entiers, il faut utiliser un additionneur multi-opérande qui prend beaucoup de circuits et dont le temps de calcul est proche de celui d'une multiplication (très lent). Trouver le maximum et le minimum d'un nombre demandent de faire la même chose avec des comparateurs. Le tout a un cout en circuit non-négligeable, pour accélérer des opérations assez peu fréquentes. Elles sont surtout utilisées pour trouver la somme ou le maximum/minimum d'un tableau, opération séquentielle par nature, avec peu parallélisme de données, peu courante.
Une autre solution utilise une unité SIMD normale, mais intègre un système de contournement, de ''bypass'', qui relierait l'entrée d'une ALU à la sortie d'une autre. Mais le cout lié aux interconnexions est très important : on doit relier chaque ALU à toutes les autres dans le pire des cas, on peut optimiser le tout et réduire un peu la quantité d'interconnexions, mais le cout reste important. Au final, on gagne en circuits ce qu'on perd en interconnexions. Le choix entre les deux solutions est loin d'être facile et dépend du processeur, de la technologie utilisée, du budget en transistors disponibles, etc.
Les processeurs SIMD purs résolvent ce problème assez simplement : ils n'implémentent pas d'instructions de réduction. Par contre, ils implémentent systématiquement des instructions de manipulation de vecteur, comme des permutations ou autres. La raison est que l'on peut émuler les instructions de réduction en utilisant des instructions SIMD de manipulation de vecteur couplées à des additions/multiplications SIMD verticales. Il s'agit donc d'un compromis entre cout en circuits et performance finale. Niveau circuits, on a une unité SIMD avec plusieurs ALU de calcul en parallèle, une unité de manipulation de vecteur séparée assez simple et au cout en circuits raisonnable. Les performances pour les opérations de réduction sont acceptables, le cout en performance est relativement modéré.
===Le banc de registre vectoriel===
La présence de registres vectoriels séparés permet d'avoir des vecteurs assez longs. Pour ce faire, les registres vectoriels sont plus grands que les registres généraux. Par exemple, sur un processeur 32 bits, qui gère donc des entiers de 32 bits, les vecteurs peuvent faire 128 ou 256 bits. Un vecteur contient donc plusieurs entiers ou flottants de taille maximale. On n'est pas dans le cas précédent, où registres généraux et SIMD sont les mêmes, ils sont séparés et n'ont pas la même taille.
Le processeur utilise un banc de registre séparé pour les registres SIMD, appelé le '''banc de registre SIMD'''. Vu que les registres vectoriels sont assez longs, le banc de registre vectoriels a une grande taille, une grande capacité mémoire. Pour donner un exemple, les extensions SSE des processeurs x86 définissent 8 registres SIMD de 128 bits chacun. Ils ont été introduits à une époque où les processeurs avaient des registres généraux de 32 bits. Le banc de registres associé était donc environ 4 fois plus grand que celui pour les registres généraux. Je dis environ car le décodeur avait sensiblement la même taille, seul le plan mémoire était grossit, mais l'idée est là.
Une conséquence est que le banc de registres SIMD consomme beaucoup d'énergie et d'électricité. Il en est de même avec les ALU SIMD. Et diverses optimisations tentent de réduire ce cout en énergie. L'une d'entre ajoute une mémoire cache entre les ALU SIMD et les registres vectoriels ! L'idée est que si un registre vectoriel est relu plusieurs fois de suite, la première lecture lira le vecteur dans le banc de registres SIMD, mais les lectures suivantes liront le vecteur dans le cache. L'optimisation marche car accéder au banc de registre vectoriel est vraiment couteux, plus qu'accéder à un cache. Le cache en question est appelé un '''''register reuse caches'''''.
Les ''register reuse caches'' sont présents sur le processeur Monaka de Fujitsu, mais aussi et surtout dans les cartes graphiques modernes. Nous ferrons l'impasse sur les GPU modernes, car leur usage est quelque peu particulier. Il ne servent pas que à réduire la consommation d'énergie, mais aussi à réduire les conflits d'accès au banc de registre, qui est en réalité composé de plusieurs banques indépendantes. Leur usage sur le CPU Monaka est plus simple : ils ne servent vraiment qu'à réduire la consommation d'énergie, rien de plus.
: Pour ceux qui veulent en savoir plus pour leur utilisation sur les cartes graphiques, tout est détaillé dans mon wikilivre sur les cartes graphiques, via le lien suivant. Mais sachez cependant qu'il faut idéalement lire le chapitre entier, et peut-être même les chapitres précédents, pour comprendre cette section. Voici le lien : [https://fr.wikibooks.org/wiki/Les_cartes_graphiques/La_microarchitecture_des_processeurs_de_shaders#L'Operand_Collector_et_les_caches_de_register_reuse L'Operand_Collector_et_les_caches_de_register_reuse]
===L'implémentation des LOAD-STORE à des données consécutives===
Les architectures SIMD pures sont des architectures de type LOAD-STORE, ce qui veut dire que les instructions SIMD ne peuvent que lire ou écrire dans les registres vectoriels, pas en mémoire ou ailleurs. Les transferts entre registres SIMD et mémoire sont le fait d'instructions LOAD et STORE spécialisées, qui transfèrent des vecteurs entre RAM et registres vectoriels. Les autres architectures n'ont pas nécessairement ce genre de restrictions, mais laissons cela pour plus tard.
Implémenter les instructions LOAD/STORE pour des vecteurs dont les données sont consécutives en mémoire n'est pas très compliqué. Il suffit juste d'élargir le port de lecture/écriture du cache L1 de données, pour pouvoir lire/écrire un vecteur entier. Rien de bien compliqué, il suffit juste d'ajouter des interconnexions et d'ajouter des multiplexeurs. Du moins, c'est le cas tant que les vecteurs sont plus petits qu'une ligne de cache, ce qui est souvent le cas en pratique. Dans le cas très rare où les vecteurs sont plus longs qu'une ligne de cache, les LOAD/STORE doivent se faire en deux accès dans le cache, ce qui demande d'ajouter du matériel pour contrôler la situation.
Précisons cependant qu'il s'agit là d'un cas idéal, où les vecteurs sont correctement alignés en mémoire. En effet, il se peut qu'un vecteur soit à cheval sur deux lignes de cache, alors qu'il est plus petit qu'une ligne de cache. Il suffit pour cela qu'il soit placé à une adresse adéquate. Par exemple, prenons un vecteur de 16 octets et des lignes de cache de 32 octets. Si le vecteur démarre à l'adresse 24, alors il sera à cheval sur deux lignes de cache. Il faut donc intégrer des circuits pour gérer cette situation. Pour cela, il suffit d'ajouter un registre pour stocker la première de ligne lue, puis un circuit qui combine les deux lignes de cache pour donner le vecteur final.
===L'implémentation des LOAD-STORE en ''scatter-gather''===
L'implémentation des accès en ''scatter-gather'' est plus compliquée. Un accès en ''scatter-gather'' demande de faire des calculs d'adresse, suivis par un ensemble de lectures/écritures, suivis par un regroupement des données lues dans un vecteur. Le calcul d'adresse peut se faire en parallèle dans une unité de calcul SIMD, dans plusieurs unités de calcul d'adresse en parallèle. Par contre, les lectures/écritures ne le peuvent pas. Le cache n'a pas assez de ports de lecture/écriture pour lire/écrire N données. Il a quelques ports, ce qui lui permet de lire/écrire 3/4 données grand maximum, soit moins que ce qui est nécessaire pour faire un accès en ''scatter-gather'' en une fois. Les lectures/écritures sont donc effectuées en plusieurs fois. Pour une opération de ''Gather'', il faut aussi regrouper les données lues dans un vecteur.
Sur les caches des processeurs à haute performance, le calcul d'adresse est intégré dans le décodeur. Ce sont des caches adressés par somme, que nous avions abordé dans le chapitre sur les mémoires caches. Avec de telles caches, on ne peut pas utiliser une unité de calcul d'adresse SIMD, on ne peut calculer qu'autant d'adresse qu'il y a de ports sur le cache.
Les accès en ''scatter-gather'' regroupent plusieurs accès mémoire, qui peuvent être effectués dans le désordre. La seule exception est celle où un ''scatter'' effectue plusieurs écritures à la même adresse, où les deux écritures doivent se faire dans l'ordre allant du premier au dernier élément du vecteur d'adresse. Les processeurs SIMD profitent de cette absence d'ordre pour effectuer les accès dans un ordre le plus optimisé possible.
Par exemple, imaginons le cas où une instruction ''gather'' lise des éléments placés dans deux lignes de cache uniquement, mais dans le désordre en passant sans cesse d'une ligne de cache à l'autre. Il est alors possible de faire tous les accès dans la première ligne de cache en premier, avant de faire ceux allant dans l'autre. Une telle optimisation marche aussi bien pour les lectures que les écritures, pour les ''gather'' que pour les ''scatter''. Elle peut aussi être adaptée pour plus de deux lignes de cache. Elle porte le nom de '''''memory coalescing'''''.
Une autre optimisation possible est de détecter le cas où un accès en ''scatter-gather'' accède à des données consécutives. Il suffit pour cela que les indices/adresses du vecteur opérande soient consécutives, et cela arrive plus souvent qu'on ne le pense. Dans ce cas, l'accès est remplacé par une instruction LOAD/STORE SIMD normale, beaucoup plus simple et plus rapide. Les deux optimisations demandent que les adresses soient calculées avant de faire l'accès mémoire. Les adresses calculées sont alors comparées entre elles, par un réseau de comparateurs assez complexe.
Un point important de l'implémentation des instructions ''gather'' est qu'une donnée chargée doit être insérée au bon endroit dans le vecteur destination. Et pareil pour les ''scatter'' : il faut lire la bonne donnée au bon moment. Si on prend une ligne de cache complète, il faut lire plusieurs élèments en même temps et les envoyer au registre de destination au bon endroit. Il faut pour cela tout un réseau de multiplexeurs assez complexe pour faire ce travail. Il y a le même genre de réseau pour les instructions ''scatter'', mais qui va dans l'autre sens : du registre vers la ligne de cache.
==Les processeurs SIMD avec prédication==
Un obstacle très gênant à la vectorisation est la présence de branchements conditionnels dans les boucles à vectoriser. Si une boucle contient des branchements conditionnels, elle ne peut pas être vectorisée facilement : il est impossible de zapper certains éléments d'un vecteur suivant une condition. Il n'est pas possible d'effectuer une instruction SIMD seulement sur certains éléments d'un vecteur et d'ignorer les autres, en fonction du résultat d'un branchement conditionnel. Tout le vecteur y passe, ou le vecteur est épargné, mais la condition intermédiaire n'est pas possible avec du SIMD simple.
Pour résoudre ce problème, les processeurs SIMD incorporent diverses techniques pour implémenter ou éviter les branchements conditionnels le plus possible. La plus simple est l'incorporation de certaines instructions SIMD simples, comme la valeur absolue, le calcul du minimum/maximum, etc. Ces opérations sont généralement émulées en utilisant des branchements, avec quelques conditions simples. Incorporer ces instructions permet ainsi de faire disparaitre une partie des branchements du code. Elle ne paye pas de mine, mais elle a un résultat pas négligeable pour le rendu graphique, certaines applications de calcul scientifiques, et quelques autres. Son cout en transistors est très variable, il faut rajouter des circuits dans le séquenceur, l'unité de calcul SIMD est assez peu modifiée (il faut juste rajouter des multiplexeurs).
Le vrai problème est que cette solution laisse énormément de branchements dans le code. Et qu'il faut donc trouver une solution plus générale, capable de réduire drastiquement les branchements. Pour cela, on réutilise une technique vue dans les chapitre sur l'assembleur et le langage machine : la prédication.
===Les instructions à prédicats===
Pour optimiser le cas général, il est possible d'utiliser des instructions à prédicats adaptées pour fonctionner sur des vecteurs. L'idée est que quand une instruction effectue un calcul sur un ou deux vecteurs, certains éléments du vecteurs sont ignorés. Les éléments à ignorer sont choisis suivant le résultat d'une instruction de comparaison, qui effectue un test : les éléments pour lesquels ce test est respecté sont pris en compte, ceux qui ne passent pas le test sont ignorés.
Pour donner un exemple d'utilisation, imaginons que l'on ait un vecteur dans lequel on veut remplacer toutes les valeurs négatives par des 0. Dans ce cas, on utilise :
* une instruction de comparaison, qui compare chaque élément du vecteur avec 0 et génère plusieurs bits de résultat ;
* suivi d'une instruction à prédicat qui met à zéro les éléments pour lesquels les bits de résultat précédents sont à 1.
La prédication peut aussi être utilisée pour simuler des vecteurs de taille variable. Tous les vecteurs ont une taille fixe, mais on peut ne pas faire de calculs sur la fin d'un vecteur, ce qui fait que tout se passe comme si le vecteur était plus petit. Ce n'est pas sa seule utilisation, mais la prédication permet de simuler ce comportement. Néanmoins, cela n'en fait pas un processeur vectoriel, capable de traiter des vecteurs de taille variable : il n'y a pas de moyen de préciser explicitement la taille des vecteurs à traiter.
Tout cela demande plusieurs modifications du jeu d'instruction : ajouter des instructions de comparaison SIMD, ajouter de quoi faire la prédication.
===Le calcul des masques et le registre de masque===
La prédication demande que le résultat d'une comparaison soit stocké dans un registre à prédicat ou dans le registre d'état. Pour les processeurs SIMD, il y a cependant une grosse adaptation à faire concernant le fonctionnement des comparaisons et le stockage des résultats.
Premièrement, les instructions de comparaison SIMD comparent une paire de deux éléments à la même place dans deux vecteurs et fournissent un résultat d'un bit pour chaque paire. Le résultat est donc un ensemble de bits, qui sont regroupées dans un vecteur spécialisé.
Deuxièmement, reste à savoir que faire de ce vecteur. Pour cela, deux solutions sont possibles. Avec la première, le vecteur est stocké dans un registre vectoriel/SIMD comme les autres, il est traité comme n'importe quel autre vecteur. Avec la seconde solution, il reçoit un registre dédié, qui est un mix entre registre d'état et registre à prédicat, appelé un '''registre de masque''' (''Vector Mask Register''). Il stocke un bit pour chaque donnée présente dans le vecteur à traiter, qui indique s'il faut ignorer la donnée ou non. L'instruction SIMD suivante fait usage de ce masque pour savoir s'il faut faire l'opération pour chaque élément du vecteur.
[[File:Vector mask register.png|centre|vignette|upright=2|Vector mask register]]
Il peut y avoir un ou plusieurs registres de masque. S'il y en a plusieurs, ils sont généralement nommés, sur le modèle des registres à prédicats. L'application d'un masque demande de fournir le nom du registre de masque à utiliser, ils adressés explicitement dans les instructions. S'il n'y en a qu'un seul, il est possible de le pas le nommer et de faire en sorte qu'il soit adressé implicitement par les instructions qui en ont besoin. On parle alors de '''masquage implicite'''. Le masquage implicite est très utilisé sur les cartes graphiques, qui sont actuellement des architectures SIMD, comme nous le verrons plus bas.
Un gros problème du masquage implicite est qu'il introduit des dépendances implicites entre instructions, qui ne sont pas explicites quand on regarder uniquement les registres manipulés par une instruction, qui perturbent le renommage de registres. Rien d'insurmontable, mais cela peut poser des problèmes de performance et la résolution de ce problème a un cout en hardware. Mais ce n'est un problème que sur les architectures à exécution dans le désordre. Les architectures à émission dans l'ordre ne sont pas concernées, et c'est notamment le cas sur les GPU et les cartes graphiques modernes.
Diverses optimisations sont possible avec un registre de masque. La première est de ne pas exécuter d'instruction si tous les bits du masque sont à 0. Dans ce cas, l'instruction SIMD n'a pas de calculs à faire, vu que tous les résultats sont masqués. Il est alors possible de ne pas exécuter l'instruction SIMD et de passer directement à la suivante. L'implémentation matérielle est très simple : une porte NOR qui détermine si le registre de masque contient la valeur 0. La sortie de cette porte NOR est envoyée au séquenceur d'instruction. Le décodeur est alors conçu pour zapper l'instruction si le registre de masque contient un zéro.
===Les accès mémoire en ''scatter-gather'' avec prédication===
Un problème avec les accès mémoire que certains accès peuvent déclencher des défauts de page ou d'autres formes d'exceptions (erreurs de protection mémoire, autre). Si l'accès mémoire se fait sans prédication, ces exceptions sont gérées dans l'ordre des accès mémoire, en commençant par le début du vecteur, ce qui rend l'implémentation assez facile. Mais avec la prédiction, il se peut qu'un accès masqué et censé être ignoré déclenche une exception matérielle. Et le résultat dépend de l'implémentation.
Une première solution est d'effectuer l'accès mémoire, et de masquer ensuite les éléments à ignorer. Mais dans ce cas, les éléments masqués peuvent déclencher des exceptions, qui ne sont pas censées se produire. Une autre solution est de déterminer quelles sont les adresses qu'il faut lire ou écrire et ne pas faire les accès mémoire masqués. Une autre solution effectue tous les accès avant de savoir quels sont ceux à masquer, mais de ne pas déclencher d'exception avant qu'on sache quels sont les accès masqués. Une fois le masquage des accès effectués, le processeur exécute les exceptions adéquates. Il s'agit d'un comportement de masquage d'exception, très utilisé.
L'implémentation est assez simple pour les accès mémoire contiguës, mais plus compliqué pour les accès en ''stride'' ou en ''scatter-gather''. Pour les accès contiguës, les seules exceptions pouvant survenir sont celles ayant lieu quand on passe d'une page mémoire à la suivante (au sens pagination, mémoire virtuelle). Et le hardware pour détecter un débordement de page est assez simple. Mais pour les accès en ''stride'' ou en ''scatter-gather'' demandent qu'oin vérifie les exceptions pour chaque élément du vecteur.
===L'implémentation matérielle===
L'implémentation matérielle est assez proche des processeurs SIMD purs. On retrouve plusieurs unités de calcul travaillant en parallèle, avec quelques circuits ajoutés pour gérer la prédication. Le cout supplémentaire en circuits est acceptable, les gains en performance associés sont très intéressants. Les circuits en plus, pour gérer la prédication, sont similaires à ceux utilisés pour la prédication sur les architectures non-SIMD, mais sont dupliqués.
La seule innovation architecturale est l'implémentation du registre de masque. Tous les processeurs n'en utilisent pas, mais c'est la solution la plus performante. En effet, ce registre de masque est un peu l'équivalent du registre d'état pour les instructions SIMD, bien qu'il soit techniquement une concaténation de registres à prédicat non-nommés. Ils ont pour avantage de libérer des registres SIMD normaux tout en ayant un cout en matériel très limité. Un autre point est que pour gérer les masques, les instructions SIMD à prédicat doivent lire le masque. Sans registre de masque, en utilisant un registre SIMD normal, il faut rajouter un troisième port de lecture sur le banc de registre pour récupérer le masque, ce qui est couteux en matériel. Pas besoin avec un registre de masque, qui n'est connecté qu'à l'ALU, sur le même modèle que le registre d'état.
Plus haut, on a vu que l'implémentation de l'ALU SIMD peut se faire en utilisant des moins d'ALU que prévu. Par exemple, pour des vecteurs de 32 éléments, on peut utiliser 16 ALUs (allant à double fréquence ou non). Une instruction SIMD est alors décodée en plusieurs micro-instructions SIMD consécutives, chacune traitant une partie d'un vecteur. Par exemple, une instruction SIMD sur des vecteurs de 32 éléments est exécutée par deux micro-instructions travaillant sur des vecteurs de 16 éléments. L'avantage est que cela se marie bien avec l'abandon des opérations pour les masques dont tous les bits sont à 0. Par exemple, prenons une instruction travaillant sur 16 flottants, exécutée en deux fois sur 8 flottants. Si le masque dit que les 8 premières opérations ne sont pas à exécuter, alors l'ALU ne fera que le calcul des 8 derniers flottants. Pour cela, le décodeur doit vérifier que les 8 bits de poids faible ainsi que de poids fort du registre de masque ne soient pas individuellement à zéro. Cela se fait en dupliquant la porte NOR évoquer plus haut , l'une pour la partie basse du registre et la seconde pour la partie haute.
==La prédication pour les structures de contrôle imbriquées==
Au niveau du jeu d’instruction, les architectures SIMT implémentent de la prédication, sous une forme améliorée. Les processeurs SIMT actuels sont surtout utilisées sur les processeurs intégrés aux cartes graphiques. Et ces derniers gèrent très mal les branchements, et encore : beaucoup de cartes graphiques, même récentes, ne gèrent tout simplement pas les branchements. Elles doivent donc se débrouiller avec uniquement la prédication, là où les processeurs SIMD utilisent des branchements normaux en complément de la prédication. Insistons sur le fait que cet usage exclusif de la prédication n'est présent que sur une sous-partie des architectures SIMT, le seul exemple que l'auteur de ce wikilivre connait étant celui des cartes graphiques.
Les architectures SIMT sans branchements doivent donc trouver des solutions pour gérer les structures de contrôle imbriquées, à savoir une boucle placée à l'intérieur d'une autre boucle, un IF...ELSE dans un autre IF...ELSE, etc. Elles utilisent pour cela la prédication, combinée avec des mécanismes annexes. Le premier d'entre eux est l'usage de plusieurs registres de masques organisés d'une manière bien précise, l'autre est l'usage de compteurs d'activité. Voyons ces deux techniques.
===La pile de masques===
La '''pile de masques''' remplace le ou les registres de masque. Sans elle, le processeur SIMD incorpore un registre de masque qui est adressé implicitement ou explicitement. Éventuellement, le processeur peut contenir plusieurs registres de masque séparés adressables via un nom de registre. Avec elle, le processeur SIMD incorpore plusieurs registres de masque organisé en pile. Le registre de masque est donc remplacé par une mémoire LIFO, une pile, dans laquelle plusieurs masques sont empilés.
Le tout forme une pile, similaire à la pile d'appel, sauf qu'elle est utilisée pour empiler des masques. Un masque est calculé et empilé à chaque entrée dans une structure de contrôle, puis dépilé une fois la structure de contrôle exécutée. L'empilement et le dépilement des masques est effectué par des instructions PUSH et POP, présentes dans le jeu d'instruction du processeur SIMD.
Le calcul des masques doit répondre à plusieurs impératifs.
* Premièrement, chaque masque se calcule en faisant un ET entre le masque précédent et le masque calculé par l'instruction de test. Cela permet de ne pas réveiller d’élément au beau milieu d'une structure imbriquée. Si in IF désactive certains éléments du vecteur, une condition imbriquée dans ce IF ne doit pas réveiller cet élément. Le fait de faire un ET entre les masques garantit cela.
* Deuxièmement, les masques doivent être empilés et dépilés correctement. Au moment de rentrer dans une structure de contrôle, on effectue une instruction de test associée à la structure de contrôle, qui calcule un masque, et on empile le masque calculé. Au moment de sortir de la structure de contrôle, on dépile le masque en question.
L'implémentation demande d'utiliser une mémoire LIFO pour stocker la pile de masques, et quelques circuits annexes. Il faut notamment un circuit relié à l'ALU qui récupère les conditions, les résultats des comparaisons, et qui effectue le ET pour combiner les maques.
Pour donner un exemple, prenons le code suivant, qui est volontairement simpliste et ne sert qu'à des fins d'explication :
<syntaxhighlight lang="c">
if ( condition 1 )
{
if ( condition 2 )
{
...
}
else
{
...
}
Autres instructions
}
Instructions après le IF...
</syntaxhighlight>
Imaginons que l'on traite des vecteurs de 8 éléments.
Pour le vecteur considéré, la première condition (a > 0) n'est respectée que par les 4 premiers éléments. L'instruction de condition calcule alors le masque correspondant : 1111 0000. Le masque est alors calculé, puis empilé au somment de la pile.
La seconde instruction de test, qui teste la variable b, est maintenant valide pour les 4 bits du milieu du masque. Mais n'allez pas croire que le masque correspondant soit 0011 11100 : il faut tenir compte de la condition précédente, qui a éliminé les 4 derniers éléments. Pour cela, on fait un ET logique entre le masque précédent, et le masque calculé par la condition. Le masque au sommet de la pile est donc lu, combiné avec le masque calculé par l'instruction, ce qui donne le masque final. Le masque final est alors empilé au sommet de la pile.
On exécute alors l'instruction du IF, en tenant compte du masque qui est au sommet de la pile. Si le IF était plus compliqué, toutes les instructions suivantes tiendraient compte du masque. En fait, le masque est pris en compte tant qu'il n'est pas dépilé. Une fois que le IF est terminé, le masque est dépilé.
On passe alors au ELSE, et rebelotte. Le masque pour le ELSE est calculé en combinant le masque au sommet de la pile avec la condition du ELSE. Le masque au sommet de la pile est celui calculé à l'entrée du premier IF, pas le second qui a été dépilé. Les instructions du ELSE sont alors exécutées en tenant compte de ce masque. Une fois qu'elles sont toutes exécutées, le masque est dépilé.
Puis vient l'exécution des instructions après le ELSE. Elles utilisent le masque empilé au sommet de la pile, qui correspond à celui à l'entrée du IF.
Puis vient le moment d'exécuter les instructions après le IF : pas de masque, on exécute sur tout le vecteur.
===Les compteurs d'activité===
Une variante de la technique précédente remplace la pile de masques par des '''compteurs d'activité'''. La technique est similaire, si ce n'est qu'elle utilise moins de circuits. Avant , on avait une pile de masques de même taille, dont les bits sont à 0 ou 1 suivant que la condition est remplie. La pile de masque ressemble donc à ceci :
{|class="wikitable"
|-
! masque 1
| 1 || 1 || 1 || 1
|-
! masque 2
| 0 || 1 || 1 || 1
|-
! masque 3
| 0 || 1 || 1 || 1
|-
! masque 4
| 0 || 0 || 0 || 1
|-
! masque 1
| colspan="4" | vide
|}
Une manière équivalent de représenter cette pile de masque est de compter combien de bits sont à 0 dans chaque colonne. Attention : j'ai bien dit à 0 ! On obtient alors :
{|class="wikitable"
|-
! masque 1
| 3 || 1 || 1 || 0
|}
Et c'est le principe caché derrière la techniques des compteurs d'activité. Chaque élément dans un vecteur, chaque place, se voit attribuer un compteur. Un compteur non-nul indique qu'il ne faut pas prendre en compte l’élément. Ce n'est qu'une fois que le compteur est nul que l'on effectue des opérations sur l’élément associé du vecteur.
À chaque fois qu'on entre dans une structure de contrôle, on teste une condition sur chaque élément. Si la condition est respectée pour un élément, alors le compteur ne change pas. Mais si la condition n'est pas respectée, alors on incrémente le compteur associé. En sortant de la structure de contrôle, on décrémente le compteur associé. Notons que les compteurs qui n'ont pas été incrémenté en entrant dans la structure de contrôle ne sont pas décrémenté en sortant. En clair, là où on empilait/dépilait un masque, on se contente d'incrémenter/décrémenter un compteur.
Utiliser un compteur en lieu et place d'une colonne entière dans la pile de masque utilise moins de bits. Et c'est sans doute pour cette raison que certaines cartes graphiques, comme les cartes graphiques intégrées d'Intel depuis 2004, utilisent cette technique.
==Les processeurs vectoriels==
Les '''processeurs vectoriels''' sont les ancêtres des processeurs à instruction SIMD. Bien qu'ils soient arrivés en premier, ils incorporent diverses techniques que de simples instructions SIMD n'ont pas forcément. C'est paradoxal, mais c'est ainsi.
La première différence se manifeste au niveau du jeu d'instruction. Les processeurs vectoriels sont capables de traiter des vecteurs de taille variable, alors que les instructions SIMD usuelles ne gèrent que des vecteurs de taille fixe. Par taille variable, on veut dire que le processeur gère nativement des vecteurs d'une taille allant de 1 à la taille maximale d'un vecteur. La taille maximale d'un vecteur est celle permise par la taille des registres vectoriels, il s'agit de la taille d'un vecteur SIMD équivalent sur les autres processeurs SIMD.
La seconde différence est une différence en termes de micro-architecture. Un processeur SIMD actuel dispose d'une unité de calcul très élaborée, capable de faire plusieurs calculs en parallèle, au moins un pour chaque élément du vecteur. Par exemple, si un vecteur contient 16 entiers, l'ALU SIMD doit contenir au moins 16 additionneurs entiers. Mais sur un processeur vectoriel, ce n'est pas le cas : l'unité de calcul est en réalité une unité de calcul entière/flottante normale, mais qui a la particularité d'être pipelinée. Les calculs sont donc effectués en parallèle, mais d'une manière totalement différente.
La plupart de ces différences s'expliquent par le fait que les anciens processeurs vectoriels devaient faire avec des limitations en termes de circuits. Ils avaient peu de transistors à leur disposition, ce qui fait que leur unité de calcul devait être la plus simple possible. D'où l'utilisation d'une unité de calcul simple, mais utilisée de manière pipelinée. De plus, les processeurs vectoriels ne possèdent aucune mémoire cache pour les données et se contentent juste de caches d'instruction. De tels caches sont généralement peu utiles quand on manipule des tableaux, chose quasiment systématique quand on travaille avec du parallélisme de données.
===Une unité de calcul pipelinée===
La différence entre processeur vectoriel et SIMD tient dans la façon dont sont traités les vecteurs : les instructions SIMD traitent chaque élément en parallèle, alors que les processeurs vectoriels pipelinent ces calculs ! Par pipeliner, on veut dire que l’exécution de chaque instruction est découpée en plusieurs étapes indépendantes. Au lieu d'attendre la fin de l’exécution d'une opération avant de passer à la suivante, on peut commencer le traitement d'une nouvelle donnée sans avoir à attendre que l'ancienne soit terminée.
[[File:Pipeline.png|centre|vignette|upright=2|Pipeline vectoriel.]]
Pour donner un exemple, on peut donner l'exemple d'une multiplication flottante effectuée entre deux registres. Son exécution peut être décomposée en plusieurs étapes.
Par exemple, on peut avoir 3 étapes :
* une première étape E qui va additionner les exposants et gérer les diverses exceptions ;
* une étape M qui va multiplier les mantisses ;
* et enfin une étape A qui va arrondir le résultat.
L’exécution de notre opération flottante sur un vecteur donnerait donc quelque chose dans le genre, où chaque ligne correspond au traitement d'un nouvel élément dans un vecteur, dans un paquet SIMD.
[[File:Multiplication vectorielle - pipeline.png|centre|vignette|upright=2|Multiplication vectorielle - pipeline]]
: Certains processeurs vectoriels utilisent plusieurs ALU pipelinées pour accélérer les calculs. On peut les voir comme des intermédiaires entre processeur vectoriels et SIMD SWAR.
Avec une unité de calcul pipelinée découpée en N étages, on peut gérer N données simultanées : autant qu'il y a d'étapes différentes. Mais ce nombre maximal de données met un certain temps avant d'être atteint. L'unité de calcul met du temps avant d'arriver à son régime de croisière. Durant ce temps, elle n'a pas commencé à traiter suffisamment d’éléments pour que toutes les étapes soient occupées. Ce temps de démarrage est strictement égal du nombre d'étapes nécessaires pour effectuer une instruction. La même chose arrive vers la fin du vecteur, quand il ne reste plus suffisamment d’éléments à traiter pour remplir toutes les étapes.
[[File:Startup and dead time vector pipeline.png|centre|vignette|upright=2|Startup and dead time vector pipeline]]
Pour amortir ces temps de démarrage et de fin, certains processeurs démarrent une nouvelle instruction sans attendre la fin de la précédente : deux instructions peuvent se chevaucher pour remplir les vides. Par contre, il peut y avoir des problèmes lorsque deux instructions qui se suivent manipulent le même vecteur. Il faut que la première instruction ait fini de manipuler un élément avant que la suivante ne veuille commencer à le modifier. Pour cela, il faut avoir des vecteurs suffisamment qui contiennent plus d’éléments qu'il n'y a d'étapes pour effectuer notre instruction.
===La technique du ''chaining''===
La technique du pipeline peut encore être améliorée dans certains cas particuliers. L'idée est simplement d'ajouter la technique du contournement (''bypass'') à l'unité de calcul. Pour rappel, le contournement connecte la sortie de l'ALU à une de ses entrées, ce qui permet au résultat d'un calcul d'être réutilisable au cycle d’horloge suivant. L'usage du contournement sur les processeurs vectoriels porte le nom de '''''Vector Chaining'''''. Un processeur implémentant le ''chaining''/''bypass'' a toutes ses unités de calcul reliées entre elles : la sortie d'une unité est reliée aux entrées de toutes les autres.
Pour comprendre à quoi peut servir cette technique, on peut citer deux grands exemples principaux. Le premier avantage est que l'implémentation des instructions SIMD horizontales est beaucoup plus simple. C'est pour cela que les processeurs vectoriels intègrent souvent des instructions horizontales, et notamment des instructions arithmétiques horizontales. Le contraste avec les processeurs SIMD récents, qui utilisent plusieurs ALU travaillant en parallèle, est frappant. Ces derniers n’intègrent pas d'instructions horizontales arithmétiques, les seules opérations horizontales supportées sont généralement des permutations ou des instructions ''compress/expand'', guère plus.
Maintenant, introduisons une autre possibilité par un exemple. Dans cet exemple, on suppose que le processeur dispose d'une ALU pour l'addition et d'une autre pour la multiplication. Imaginons que l'on ait trois vecteurs nommés A, B et C. Pour chaque énième élément de ces paquets, je souhaite effectuer le calcul <math>A_n + B_n \times C_n</math>. En théorie, il faudrait faire d'abord la multiplication, stocker le résultat temporaire de la multiplication dans un registre vectoriel, puis faire l'addition. Mais en rusant un peu, on peut utiliser le pipeline plus efficacement. Une fois que le premier élément de la multiplication du premier vecteur est connu, pourquoi ne pas démarrer l'addition immédiatement après, et continuer la multiplication en parallèle ? Après tout, les deux calculs ont lieu dans des ALUs séparés. Et le contournement permet d'alimenter l'ALU d'addition avec la sortie du circuit multiplieur.
[[File:Vector chaining.png|centre|vignette|upright=2|Vector chaining]]
===La gestion des vecteurs de taille variable===
L'usage d'une unité de calcul pipelinée fait que la taille des vecteurs n'est pas forcément fixe. Autant les processeurs SIMD non-vectoriels disposent d'un nombre fixe d'unités de calcul, et peuvent donc gérer des vecteurs de taille fixe, autant ce n'est pas le cas des processeurs vectoriels. Une unité de calcul pipelinée à 16 étage peut utiliser les trois premiers pour traiter un vecteur de 3 élements, les 5 suivants pour un second vecteur de 5, et le reste pour un troisième vecteur. Reste que la gestion des vecteurs de taille variable doit être gérée au niveau du séquenceur, mais surtout : doit être permise au niveau du jeu d'instruction.
Pour cela, il faut ajouter au jeu d'instruction de quoi indiquer la taille du vecteur en cours de traitement. Et c'est le rôle d'un registre spécialisé, le '''Vector Length Register''', que de gérer les vecteurs de taille variable. Le ''Vector Length Register'' est un registre qui indique combien d’éléments on doit traiter dans un vecteur. On peut ainsi dire au processeur : je veux que tu ne traites que les 40 premiers éléments présents d'un paquet. Ils sont utilisés pour gérer des tableaux dont la taille n'est pas un multiple d'un vecteur. Quand on arrive à la fin d'un tableau, il suffit de configurer le ''Vector Length Register'' pour ne traiter que ce qu'il faut.
[[File:Vector length register.png|centre|vignette|upright=2|Vector length register.]]
Il facilite l'usage du '''déroulage de boucle''', une optimisation qui vise à réduire le nombre d'itérations d'une boucle en dupliquant son corps en plusieurs exemplaires. Le compilateur réplique le corps de la boucle (les instructions à répéter) en plusieurs exemplaires dans cette boucle, avant de corriger le nombre d'itérations de la boucle. Par exemple, prenons cette boucle, écrite dans le langage C :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; ++i)
{
a[i] = b[i] * 7 ;
}
</syntaxhighlight>
Celle-ci peut être déroulée comme suit :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
a[i] = b[i] * 7 ;
a[i+1] = b[i+1] * 7 ;
a[i+2] = b[i+2] * 7 ;
a[i+3] = b[i+3] * 7 ;
}
</syntaxhighlight>
Les instructions vectorielles permettent de traiter plusieurs éléments à la fois, ce qui fait que plusieurs tours de boucles peuvent être rassemblés en une seule instruction SIMD. Le déroulage de boucles permet d'exposer des situations où ce regroupement est possible. Dans notre exemple, si jamais notre processeur dispose d'une instruction de multiplication capable de traiter 4 éléments du tableau a ou b en une seule fois, la boucle déroulée peut être vectorisée assez simplement en utilisant une multiplication vectorielle (que nous noterons vec_mul).
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
vec_a[i] = vec_mul ( vec_b[i] , 7 ) ;
}
</syntaxhighlight>
Le déroulage de boucles n'est toutefois pas une optimisation valable pour toutes les boucles. Reprenons l'exemple de la boucle vue plus haut. Si jamais le tableau à manipuler a un nombre d’éléments qui n'est pas multiple de 4, la boucle ne pourra être vectorisée, vu que la multiplication vectorielle ne peut traiter que 4 éléments à la fois. Pour ce faire, les compilateurs utilisent généralement deux boucles : une qui traite les éléments du tableau avec des instructions SIMD, et une autre qui traite les éléments restants avec des instructions non vectorielles. Cette transformation s'appelle le '''strip-mining'''.
Par exemple, si je veux parcourir un tableau de taille fixe contenant 102 éléments, je devrais avoir une boucle comme celle-ci :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
a[i] = b[i] * 7 ;
a[i+1] = b[i+1] * 7 ;
a[i+2] = b[i+2] * 7 ;
a[i+3] = b[i+3] * 7 ;
}
for (i = 100; i < 102; ++i)
{
a[i] = b[i] * 7 ;
}
</syntaxhighlight>
Les processeurs vectoriels utilisent le ''Vector Length Register'' pour éviter d'utiliser le strip-mining. Avec ce registre, il est possible de demander aux instructions vectorielles de ne traiter que les n premiers éléments d'un vecteur : il suffit de placer la valeur n dans le ''Vector Length Register''. Évidemment, n doit être inférieur au nombre d’éléments maximal du vecteur. Avec ce registre, on n'a pas besoin d'une seconde boucle pour traiter les éléments restants, et une simple instruction vectorielle peut suffire.
L'avantage principal est que cela réduit la portion de code non-parallélisable, donc augmente l'efficience SIMD. Mais l'intérêt n'est pas qu'une question de code. Il faut aussi prendre en compte que cela permet d'utiliser l'ALU plus efficacement. Dès qu'un vecteur court est terminé, le processeur peut immédiatement démarrer le calcul d'un autre vecteur, le vecteur suivant, l'instruction suivante, sans laisser de cycles inutilisés. Avec un processeur SIMD non-vectoriel, on aurait du utiliser de la prédication, donc utiliser seulement une partie des ALU SIMD, ce qui aurait été un gâchis.
===Les accès mémoire===
Les accès mémoire des processeurs vectoriels sont sensiblement les mêmes que ceux des autres processeurs SIMD. Les instructions d'accès mémoire sont les mêmes, on retrouve les modes d'adressages précédents, dont les accès en ''scatter-gather'' et en ''stride''.
Sur certains processeurs vectoriels, les instructions vectorielles lisent et écrivent en mémoire RAM, sans passer par des registres : on parle de '''processeurs vectoriels mémoire-mémoire'''. Elles n'avaient pas d'instructions LOAD et STORE, les instructions arithmétiques géraient directement la lecture des opérandes en mémoire, et incrémentaient automatiquement les adresses à lire/écrire. Elles pouvaient gérer des vecteurs de taille arbitraire, la gestion d'un tableau se faisait parfois en une seule instruction ! Le problème est que l'absence de registres pour stocker les données lues réduisait grandement les performances.
[[File:Processeur vectoriel mémoire-mémoire.png|centre|vignette|upright=2|Processeur vectoriel mémoire-mémoire]]
Les processeurs vectoriels mémoire-mémoire étaient cependant minoritaires, la grosse majorité des processeurs vectoriels récents possèdent des registres vectoriels dédiés aux vecteurs. La plupart sont des architectures de type LOAD-STORE, mais pas toute. De fait, il n'y a pas de lien strict entre adressage des opérandes et processeurs vectoriel (ou SIMT). Seuls les processeurs SIMD de type SWAR ont une restriction là-dessus et sont systématiquement des architectures LOAD-STORE.
[[File:Processeur vectoriel à registres vectoriels.png|centre|vignette|upright=2|Processeur vectoriel à registres vectoriels.]]
Il faut noter que l'implémentation des accès mémoire est potentiellement différente de celle des autres processeurs SIMD. En principe, on peut utiliser une implémentation identique entre les deux. Mais le fait que les processeurs vectoriels sont pipelinés fait qu'il est préférable d'utiliser une implémentation différente, qui se base sur une RAM ou des caches pipelinés. Vu que l'ALU reçoit une/deux opérandes par cycle, l'idéal est que la mémoire ou le cache aillent au même rythme et soient donc pipelinés.Bien sur, il est possible d'utiliser une implémentation plus classique, avec des caches multiports, un chargement en plusieurs fois des vecteurs depuis le cache, des circuits pour réorganiser les accès mémoire, etc.
En théorie, les architectures vectorielles font peu usage de mémoires cache. Les transferts entre registres vectoriels et mémoire RAM sont directs, sans intermédiaire. La raison est que les applications qui tirent parti du SIMD ont une bonne localité spatiale, mais une mauvaise localité temporelle. Or, les caches de données profitent surtout de la localité temporelle pour donner de bonnes performances. De plus, rappelons que les processeurs vectoriels sont assez anciens et datent d'une époque où les transistors étaient précieux. Il valait mieux utiliser des transistors dans un gros cache d'instruction que pour un cache de donnée peu efficace.
==Les systèmes SIMD à plusieurs processeurs : le SIMT==
Enfin, terminons avec le dernier type de SIMD, qui date du tout début de l'informatique : celui où on combine plusieurs processeurs non-SIMD. L'idée est de synchroniser plusieurs processeurs de manière à ce qu'ils exécutent la même instruction en même temps, chacun sur des données différentes. On parle d''''exécution ''lockstep''''' des instructions. Toute la difficulté est de garantir la synchronisation des processeurs, garantir que tous les processeurs exécutent la même instruction. Ce qui pose problème quand des branchements sont impliqués, des processeurs pouvant prendre le branchement et pas les autres.
===Les ''array processors'' des temps anciens===
Les premières architectures matérielles conçues pour le parallélisme de données étaient de ce type. On peut par exemple citer l'exemple des Thinking machines CM-1 et CM-2, qui exécutaient tous la même instruction au même cycle d'horloge sur 64000 processeurs minimalistes. Un autre exemple est celui de l'ILLIAC IV. Historiquement, le terme utilisé pour désigner de telles architectures était '''array processors''', encore que ce terme fût réservé aux systèmes multiprocesseurs. Par la suite, le terme ''Single Instruction Multiple Threads'', ou SIMT, a été utilisé. Mais ce terme a ensuite été repris par le marketing de NVIDIA pour désigner une technique précise de SIMD avec prédication, utilisée sur ses cartes graphiques récentes. Le mauvais usage de la terminologie fait que le terme SIMT est devenu polysémique et quelque peu trompeur.
L'ILLIAC 4 était un ordinateur un peu particulier, presque unique en son genre. Son architecture était composé d'un processeur principal couplé à plusieurs processeurs secondaires. Il y avait en tout un processeur principal et 64 processeurs secondaires.
Le processeur principal chargeait les instructions depuis la mémoire, les décodaient, puis envoyait les instructions aux processeurs secondaires. Le processeur principal était le seul à avoir un ''program counter'', il était utilisé pour gérer les boucles, ainsi que pour configurer les instructions à prédication. Cependant, le processeur principal n'était pas un simple séquenceur : il pouvait exécuter des instructions, avait un accumulateur et des registres, etc. Il prenait en charge toute instruction non-SIMD, alors que les instructions SIMD étaient envoyées aux processeurs secondaires.
Les 64 processeurs secondaires avaient chacun : une unité de calcul, un ''local store'' de 2048 flottants de 64 bits, une unité mémoire. Ils n'ont pas de séquenceur ni de ''program counter'', ni de quoi charger une instruction. L'unité de calcul est appelée un ''processing element'' ou PE. Elle intègre un additionneur flottant, de quoi faire des décalages, et une unité de calcul logique. De plus, un PE intègre des registres accumulateurs et de quoi calculer des adresses : un registre d'indice, un registre d'adresse, un circuit de calcul d'adresse. L'unité mémoire connectait l'ALU entière PE et le ''local store'', et elle permettait aussi d'adresser des entrées-sorties. Pour gérer la prédication, les processeurs secondaires pouvaient être activés ou désactivés suivant le résultat des branchements/conditions.
Intuitivement, on peut faire le rapprochement avec un processeur SIMD. Le processeur principal regrouperait la partie non-SIMD d'un processeur SIMD, alors que les processeurs secondaires seraient l'unité de calcul SIMD. Cependant, il y a une différence très importante : il n'y a pas de banc de registre vectoriel. À la place, chaque processeur secondaire a son propre banc de registre, et ce sont des registres scalaires ! Une autre différence est que la mémoire RAM est découpée en plusieurs ''local store'' de 2048 adresses, chacun étant relié à une unité de calcul PE. N'oublions pas le système de calcul d'adresse et l'unité LOAD/STORE qui est fusionnée avec l'unité SIMD, chaque PE ayant ses circuits de calcul d'adresse, sa propre unité mémoire, etc.
===Les anciennes cartes graphiques hybrides SIMD-VLIW===
Une technique de SIMD multi-processeur a été utilisée autrefois sur certaines cartes graphiques AMD à architecture Terascale. La différence est que l'architecture en question était multicœur et non multi-processeurs. Elles contenaient plusieurs cœurs VLIW, qui fonctionnaient en ''lockstep''. Un groupe de 16 processeurs VLIWs exécutaient la même opération VLIW. Du moins, c'est ce que semblent dire les [https://www.techpowerup.com/gpu-specs/docs/amd-gcn1-architecture.pdf white papers de présentation de l'architecture GCN]. L'usage de cet hybride SIMD-VLIW était très adapté au traitement graphique.
Les cartes graphiques post-années 2000 sont capables d'exécuter des programmes appelés des '''''shaders''''', qui sont utilisés en rendu 3D, pour calculer certaines scènes 3D, et notamment pour calculer les ombres (d'où leur nom de shader, pour shade - ombre). Or, ces shaders sont justement exécutés par la carte graphique, sur les processeurs de shaders. Un processeur de ''shader'' applique un programme/''shader'' sur chaque ''pixel'' ou triangle d'une scène 3D (en fait des fragments et des vertices, mais faisons cette simplification). Chaque triangle ou pixel d'une scène 3D peut être traité indépendamment des autres, ce qui rend le traitement 3D fortement parallèle. Aussi, l'usage du SIMD est assez naturel : chaque processeur exécute un ''shader'' sur un pixel/triangle, utiliser une architecture SIMD parait naturel. Reste à justifier l'usage de plusieurs CPU VLIW.
La raison tient dans la manière dont est traité un pixel par un shader. Un pixel est codé en utilisant quatre informations. Premièrement, une couleur codée avec trois nombres flottants, qui représentent une couleur au format RGB avec un mélange de rouge, vert et bleu, chaque couleur rouge/bleu/vert étant codée avec un flottant de 32 bits. La quatrième information est un nombre qui code la transparence du pixel. Généralement, le shader traite différemment la transparence de la couleur RGB, dans le sens où les instructions utilisées ne sont pas les mêmes. Au lieu de traiter couleur RGB et transparence séparément, elles sont traitées en même temps en parallèle, ce qui demande de pouvoir émettre deux instructions : une pour le calcul de la transparence, une autre pour la couleur RGB. Fait amusant, l'instruction utilisée pour gérer la composante RGB est une instruction vectorielle qui travaille sur des vecteurs de 3 couleurs. Les architectures VLIW sont parfaites pour cela.
Les cartes graphiques de l'époque de DirectX 9 utilisaient cette méthode qui mélangeait SIMD et VLIW. Elles disposaient de plusieurs cœurs VLIW qui exécutaient le même shader en exécution ''lockstep''. Chaque cœur traitait au moins un pixel à la fois, ou un triangle à la fois. Cependant, nous devons préciser que les cœurs VLIW partagent la même unité de contrôle, ce sont en réalité des chemins de données plus qu'autre chose. L'architecture était aussi combinée avec du ''Fine Grained Multithreading'' afin de pouvoir gérer les accès mémoire, de telles architectures ne pouvant pas se permettre d'utiliser l'exécution dans le désordre. De telles architectures multicœurs à exécution ''lockstep'' permettent quelques optimisations, comme le fait de partager le cache d'instruction entre les cœurs.
==Résumé des différents types de processeurs SIMD==
Dans ce chapitre, nous avons appris qu'il existe plusieurs catégories de processeurs SIMD. Les différences entre ces catégories tiennent à la fois dans le jeu d'instruction, mais aussi dans la microarchitecture des processeurs en question.
Au niveau du jeu d'instruction, il y a trois paliers, qui sont résumés dans le tableau ci-dessous.
{|class="wikitable"
|-
!
! Support de la prédication
! Taille des vecteurs
! Instructions horizontales
! Architecture LOAD-STORE
! Pointeur de pile
|-
! Processeurs SIMD purs
| Non
| rowspan="3" | Fixe
| rowspan="3" | Limitées à des échanges de données à l'intérieur d'un vecteur, pas d'instructions de réduction
| Oui
| rowspan="2" | Unique
|-
! Processeurs SIMD avec prédication
| Oui, par définition
| rowspan="3" | Dépend du processeur
|-
! Processeurs SIMT
| rowspan="2" | Oui, sauf exceptions
| Un pointeur de pile possible par élément du vecteur
|-
! Processeurs vectoriels
| Variable
| Toutes supportées, y compris les instructions arithmétiques horizontales
| Unique
|}
Au niveau de la microarchitecture, il y a trois paliers, qui sont résumés dans le tableau ci-dessous.
{|class="wikitable"
|-
!
! Unité de calcul
! Banc de registre
! Adressage des opérandes
|-
! Processeurs SIMD
| rowspan="2" | Plusieurs ALU simples non-pipelinée, plusieurs additionneurs/multiplieurs/autres
| Banc de registres vectoriels
| Architecture LOAD-STORE
|-
! Processeurs SIMT
| Plusieurs bancs de registres scalaires (non-vectoriels, registres normaux)
| rowspan="2" | Dépend du processeur
|-
! Processeurs vectoriels
| ALU simple unique, pipelinée
| Banc de registres vectoriels
|}
Les processeurs SIMD purs ont des performances différentes des processeurs vectoriels, vu que les premiers font leurs calculs en parallèle, alors que les CPU vectoriels utilisent un pipeline. Mais dans les grandes lignes, les performances sont similaires. Les différences sont grandement atténuées par l'usage du ''vector chaining'', de la gestion des vecteurs de taille variables, et des autres optimisations spécifiques aux processeurs vectoriels. L'avantage est cependant du côté des processeurs SIMD pur.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Architectures multithreadées et Hyperthreading
| prevText=Architectures multithreadées et Hyperthreading
| next=La cohérence des caches
| nextText=La cohérence des caches
}}
{{autocat}}
</noinclude>
dnwgm5mb7fnkvoiq9cp6vop20goz6ky
772242
772241
2026-09-15T19:38:57Z
Mewtow
31375
/* L'implémentation matérielle */
772242
wikitext
text/x-wiki
Nous allons maintenant aborder le parallélisme de données, qui consiste à traiter des données différentes en parallèle. De nombreuses situations s'y prêtent relativement bien : traitement d'image, manipulation de sons, vidéo, rendu 3d, etc. Mais pour exploiter ce parallélisme, il a fallu concevoir des processeurs adaptés. Les architectures les plus simples exécutent une instruction sur plusieurs données en parallèle, à l'intérieur d'un processeur. Ces architectures exploitent le parallélisme de données au niveau de l'unité de calcul, celle-ci pouvant exécuter un même calcul sur des données différentes en parallèle.
Si on omet quelques exceptions, on peut classer ces architectures dans plusieurs catégories principales : les processeurs à instructions SIMD, les processeurs à instructions SIMD à prédicat, les processeurs SIMT, les processeurs vectoriels. Si les processeurs vectoriels sont assez rares de nos jours, tous les processeurs récents incorporent des instructions SIMD. Quant au SIMT, il est utilisé sur les cartes graphiques modernes.
==Les instructions SIMD : les points communs entre tous les processeurs SIMD==
Les processeurs modernes fournissent presque tous des '''instructions SIMD''', qui sont capables de traiter plusieurs éléments en parallèle. Elles travaillent sur des nombres entiers ou flottants regroupés dans ce qu'on appelle un ''vecteur'', qui sont eux-mêmes stockés dans des registres spécialisés. En général, tous les vecteurs ont une taille fixe, peu importe leur contenu. Cela implique que suivant la taille des données à manipuler, on pourra en placer plus ou moins dans un vecteur. Par exemple, un vecteur de 128 bits pourra contenir 4 entiers de 32 bits, 4 flottants 32 bits, ou 8 entiers de 16 bits.
[[File:Vector register.png|centre|vignette|upright=2|Contenu d'un vecteur en fonction du type de données utilisé.]]
Les vecteurs sont stockés dans des '''registres vectoriels''', aussi appelés '''registres SIMD'''. Un registre vectoriel peut contenir un vecteur complet, pas plus. En conséquence, ils ont une taille assez importante : ils font généralement 128,,256, voire 512 bits, comparé aux 32/64 bits des registres scalaires. Le résultat est que les processeurs SIMD modernes ont des registres SIMD séparés des registres entiers/flottants normaux. Un défaut de cette organisation est que les registres vectoriels sont des registres en plus, qui doivent être sauvegardés lors des commutations de contexte, lors des interruptions, lors des appels systèmes, etc.
{|
|+ Comparaison entre un processeur sans registres vectoriels, et avec registres vectoriels.
|[[File:Non-SIMD cpu diagram1.svg|vignette|upright=1.5|CPU Non-SIMD]]
|[[File:SIMD cpu diagram1.svg|vignette|upright=1.5|CPU SIMD]]
|}
Les instructions SIMD peuvent être rassemblées en deux grands groupes : les horizontales et les verticales.
Les '''instructions SIMD verticales''' travaillent en parallèle sur les éléments qui sont "à la même place" dans deux vecteurs. Elles peuvent additionner ou multiplier deux vecteurs, par exemple. Pour prendre l'exemple d'une instruction d'addition vectorielle, celle-ci va additionner ensemble les données qui sont à la même place dans deux vecteurs, et placer le résultat dans un autre vecteur, à la même place.
Les '''instructions SIMD horizontales''' partent d'un vecteur et ont pour résultat un simple nombre. Elles peuvent calculer la somme ou le produit des éléments d'un vecteur, renvoyer le nombre d’éléments nuls dans un vecteur, etc.
[[File:Instructions SIMD.png|centre|vignette|upright=2|Instructions SIMD]]
Les instructions SIMD sont difficilement utilisables dans des langages de haut niveau et c'est donc au compilateur de traduire un programme avec des instructions vectorielles. Les transformations qui permettent de traduire des morceaux de programmes en instructions vectorielles (déroulage de boucles, strip-mining) portent le nom de vectorisation.
===Les instructions SIMD arithmétiques verticales===
Les instructions SIMD sont essentiellement des instructions arithmétiques, comme des additions, des soustractions, des multiplications, éventuellement des opérations bit à bit, et quelques autres. Suivant la taille des données, et le type de celle-si, on devra effecteur des instructions différentes. Par exemple, on devra utiliser deux instructions d'addition différentes suivant qu'on manipule des flottants 64 bits ou des entiers 32 bits. De même, l'instruction pour additionner des vecteurs d'entiers de 16 bits sera différente de celle manipulant des vecteurs d'entiers de 32 bits.
L'addition et la multiplication peuvent générer des débordements d'entier. Pour les instructions non-SIMD, le débordement d'une addition est géré par un bit de retenue, stocké dans le registre d'état. Mais pour les instructions SIMD, ce n'est pas une solution très facile à implémenter. À la place, les additions et soustractions utilisent généralement l'arithmétique saturée, à savoir que lorsqu'une addition déborde, le résultat est la valeur maximale représentable dans un entier.
Pour la multiplication, les instructions non-SIMD génère un résultat qui est codé sur le double du nombre de bits. Une multiplication de deux nombres 64 bits donnera un résultat sur 128 bits, par exemple. Pour gérer cela, les multiplications non-SIMD stockent ce résultat dans deux registres, ou ne conservent que les 64 bits de poids faible. D'autres solutions sont possibles, mais ces deux là sont les plus utilisées. Pour les instructions SMID, une autre solution est préférée car plus simple pour de telles instructions : fournir deux instructions : une qui calcule les 64 bits de poids faible du résultat, une autre pour les 64 bits de poids fort.
Les processeurs SIMD étant utilisés pour du traitement d'image ou du rendu 2D/3D, ils supportent généralement des opérations mathématiques assez complexes sur des nombres flottants. Il n'est pas rare d'avoir des instructions SIMD pour le calcul de l'inverse d'un nombre, de sa racine carrée, l'inverse d'une racine carrée, des fonctions trigonométriques, etc. L'implémentation matérielle de telles instructions est généralement très complexe et gourmande en circuits, ce qui fait que les concepteurs de processeurs rusent. Sauf sur certains processeurs assez peu fréquents, les instructions mathématiques complexes ne calculent pas un résultat exact, mais une approximation du résultat. Utiliser un résultat approximatif ne pose pas de problème pour de telles applications, le rendu d'image ou 3D s'en accommodant parfaitement, contrairement au calcul scientifique.
===Les instructions SIMD de manipulation de données intra-vecteur===
Après avoir vu les instructions SIMD verticales, il est temps de voir les instructions SIMD horizontales. Pour rappel, celles-ci travaillent un vecteur unique, dont elles réarrangent ou modifient les éléments. Tout cela sera plus parlant une fois qu'on aura donné quelques exemples. Mais avant toute chose, nous allons séparer les instructions horizontales en deux sous-types, fondamentalement différents. Le premier sous-type change de place les données dans un vecteur. Le second type est celui des instructions horizontales arithmétiques/logiques habituelles, qu'on verra plus tard. La distinction entre les deux est très importante, comme on le verra plus tard.
[[File:SIMD instruction data movement - One operand.png|vignette|upright=1.5|Instructions SIMD de mouvement de données à une opérande.]]
Les instructions SIMD horizontales les plus communes bougent des données à l'intérieur des vecteurs, ce qui leur vaut le nom d''''instructions de manipulation de vecteur'''. Les plus simples sont celles qui ont une seule opérande, à savoir qui prennent un vecteur comme opérande et renvoient un vecteur résultat.
Les plus intuitives sont les instructions de '''permutation''', dont le nom est assez explicite. Elles changent de place des données dans un vecteur. Dans le cas le plus compliqué, elles prennent deux vecteur : le vecteur dans lequel faire la permutation, et un vecteur qui indique comment faire la permutation. Le vecteur précise, pour chaque élement du vecteur, où il doit aller après la permutation. L'instruction effectue la permutation des entiers/flottants/octets dans le vecteur.
Les instructions '''''compress''''' et '''''expand''''' sont elles aussi spécifiques aux vecteurs. L'instruction ''compress'' prend un vecteur en opérande, sélectionne certaines valeurs présentes dedans, et les stocke dans un vecteur de sortie. Elle regroupe les valeurs sélectionnées dans le début du vecteur, et laisse les cases inoccupées à 0. Par exemple, pour un vecteur de 16 entiers, elle permet de sélectionner 5 entiers dedans, et les place dans un vecteur résultat qui ne contient que ces 5 valeurs au début du vecteur, le reste est à 0. L'instruction ''expand'' fait l'inverse : elle prend un vecteur crée par l'instruction ''compress'' (ou du moin qui a le même format), prend toutes les valeurs non-nulles dedans, et les disperse dans un vecteur de sortie, en les mettant à la place désirée.
Les autres instructions SIMD horizontales prennent deux opérandes, voire aucune opérande vectorielle (elles prennent un nombre, pas un vecteur).
Les instructions '''''shuffle''''' prennent plusieurs vecteurs, sélectionnent les éléments adéquats dans chaque vecteur, et les regroupe dans un vecteur résultat. Par exemple, prenons 2 vecteurs de 16 entiers chacun. Une instruction ''shuffle'' peut prendre 8 entiers dans chaque vecteur et les regrouper dans un vecteur résultat unique de 16 entiers. Ou encore, elle peut prendre trois vecteurs de 16 flottants chacun, prendre 4 flottants dans le premier, 10 dans le second et 2 dans le troisième, et regrouper le tout dans un vecteur résultat de 16 flottants.
Il arrive que les deux cas précédents correspondent à des cas séparés, à deux instructions de type ''shuffle'', mais qui fonctionnent différemment. Le premier type prend les N premiers éléments du premier vecteur, puis prend les élements manquant à partir de la fin du vecteur. Le second type prend un élément sur deux dans chaque vecteur, mais avec un décalage d'un rang entre les deux vecteurs.
Il y a aussi les instructions dites de '''''broadcast''''', qui copient une valeur unique dans un vecteur entier. Elles sont surtout utilisées pour initialiser des tableaux avec une valeur unique, ou pour remplir un vecteur avec des données prédéterminées pour certains calculs impliquant des constantes.
[[File:SIMD instruction exemple.png|centre|vignette|upright=1.5|Instructions SIMD de mouvement de données qui ne sont pas à une opérande.]]
===Les instructions SIMD de réduction===
Il existe des instructions horizontales de type arithmétiques. La plus simple est celle qui additionne les différents entiers/flottants d'un vecteur. Elle est utilisée pour accélérer une opération précise : faire la somme d'un tableau d'entier/flottants. On peut aussi citer les opérations maximum et minimum, qui renvoient le plus grand/petit élément d'un vecteur. Un point important avec ces opérations est qu'elles prennent un vecteur, mais renvoie un résultat unique, un scalaire, un nombre entier/flottant seul. Elles sont parfois appelées des '''instructions de réduction'''.
Les instructions de réduction sont généralement la spécificité des processeurs vectoriels, les processeurs SIMD récents n'en ont pas. La raison est que leur implémentation matérielle est généralement assez compliquée. Contrairement aux instructions verticales, elles ont une forme de parallélisme de donnée très limitée. Elles ne travaillent pas exactement sur des données indépendantes, elles font des calculs dont le résultat est utilisé par d'autres, il y a des dépendances de données entre éléments du vecteur.
Cependant, il faut savoir que l'on peut émuler une instruction de réduction en utilisant des instructions verticales couplées à des instructions de manipulation de vecteur. Par exemples, prenons le cas d'une instruction de réduction qui additionne entre eux les éléments d'un vecteur. On peut l'émuler en utilisant une addition verticale entre deux vecteurs, et une instruction ''compress''. L'idée est la suivante : on coupe le vecteur initial en deux avec deux instructions ''compress'', ce qui donne deux sous-vecteurs. Puis, on additionne les deux vecteurs résultat entre eux. Puis on répète les deux étapes précédentes jusqu'à obtenir la somme finale.
Le fait que l'on puisse émuler les instructions de réduction est la raison principale qui explique que les processeurs SIMD récents n’intègrent pas d'instructions de réduction. Ils se débrouillent avec des instructions SIMD de manipulation de vecteur, et des instructions SIMD verticales. C'est un bon compromis entre cout en circuits et performance.
===Les accès mémoire===
La gestion des accès mémoire est assez hétéroclite, la façon de faire étant différente selon les architectures. Dans le cas le plus simple, les données d'un vecteur sont contigües en mémoire et les instructions ont juste à préciser l'adresse mémoire du début du vecteur, qui est généralement dans un registre d'adresse spécialisé, ou un registre non-SIMD. Avec des vecteurs de 8 octets, toute instruction d'accès mémoire de ce type va lire ou écrire des blocs de 8 octets. L'adresse de départ de ces blocs est soumise à des contraintes d'alignement sur les jeux d'instructions comme le SSE, le MMX, etc. La raison à cela est que gérer des accès non alignés en mémoire rend les circuits de lecture/écriture en mémoire plus complexes. En contrepartie, ces contraintes compliquent l'utilisation des instructions SIMD par le compilateur.
D'autres modes d'adressage des vecteurs permettent à une instruction de charger des données dispersées en mémoire pour les rassembler dans un vecteur. On peut notamment citer l'existence d'accès mémoires en stride et en scatter-gather.
L''''accès en stride''' regroupe des données séparées par un intervalle régulier d'adresses. Ce mode d'accès a besoin de l'adresse initiale, de celle du premier élément du vecteur, et de la distance entre deux données en mémoire. Il permet aux instructions de mieux gérer les tableaux de structures, ainsi que les tableaux multi-dimensionnels. Lorsqu'on utilise de tels tableaux, il arrive assez souvent que l'on n'accède qu'à des éléments tous séparés par une même distance. Par exemple, si on fait des calculs de géométrie dans l'espace, on peut très bien ne vouloir traiter que les coordonnées sur l'axe des x, sans accès sur l'axe des y ou des z. Les instructions d'accès mémoire en enjambées gèrent de tels cas efficacement.
Les processeurs SIMD incorporent aussi les accès en '''''scatter-gather'''''. De tels accès prennent en opérande un vecteur contenant des adresses mémoires, et lit/écrit chacune de ses adresses mémoire indépendamment. Les accès en ''scatter-Gather'' peuvent être vus comme une généralisation de l'adressage indirect à registre aux vecteurs, chaque élément du vecteur étant adressé via adressage indirect. Les accès en ''gather'' sont des lectures : elles prennent un vecteur d'adresse, lisent chaque adresse, et regroupent toutes les données lues dans un vecteur, dans un registre vectoriel. Les accès en ''scatter'' sont l'équivalent pour les écritures. Ils prennent un vecteur d'opérande pour les données à écrire, un vecteur pour les adresses.
[[File:Cuda4.png|centre|vignette|upright=2|Adressage en scatter-gather]]
Un autre version des accès en ''scatter-gather'' n'utilise pas des adresses mémoire, amis des indices. Le vecteur opérande ne contient pas des adresses, mais des indices qui sont combinés à une adresse de base pour calculer plusieurs adresses. Un tel mode d'adressage permet de faciliter l'implémentation de certaines structures de données, appelées des vecteurs de Liffe. Ils sont très utilisés pour gérer les matrices creuses, des matrices où une grande partie des éléments sont nuls et où, dans un souci d'optimisation, seuls les éléments non nuls de la matrice sont stockés en mémoire.
Lors d'une instruction de ''scatter'' ou de ''gather'', tous les accès mémoire n'ont pas lieu en même temps, certains accès mémoire seront terminés avant les autres. Les accès peuvent se faire dans le désordre et de nombreuses optimisations matérielle en profitent pour gagner en performance. Il existe cependant un cas où les accès mémoire doivent se faire dans un ordre bien précis, généralement du premier élément vers le dernier : lorsqu'une instruction ''scatter'' effectue plusieurs écritures à la même adresse. C'est parfaitement possible, et c'est le seul cas où il est intéressant de forcer un ordre pour les écritures.
En théorie, une instruction SIMD est un tout, c'est à dire qu'elle ne doit pas modifier les registres SIMD avant que tous les accès mémoire se soient terminés. Cependant, il est possible qu'une partie des accès mémoire déclenchent des défauts de page ou lèvent des exceptions matérielles, alors que les autres se sont terminés. En théorie, le processeur est censé se débarrasser du résultat des accès mémoire terminés. Mais ce serait un gachis de performance, ce qui fait que le processeur viole la règle voulant que les registres SIMD soient mis à jour en une seule fois à la fin de l'instruction de ''scatter-gather''. Dès qu'un accès mémoire se termine, il écrit son résultat dans le registre SIMD, à l'endroit adéquat.
Cependant, ce comportement pose un problème. Lorsqu'une exception survient, comme lors d'un défaut de page, le processeur exécute la routine d'interruption associée, puis redémarre l'instruction fautive, le second essai étant le bon. Ici, le processeur ne réexecute pas l'instruction à l'identique, mais seulement les accès non-terminés. Mais comment le processeur sait-il quelles accès mémoire redémarrer ? Il doit pour cela mémoriser quels sont les accès mémoire terminés. Il utilise pour cela un registre architectural appelé le '''masque de complétion'''. Le registre est forcément architectural car il doit être préservé lors d'un changement de contexte, l’exécution de l'exception matérielle forçant un changement de contexte.
===Exemple avec les processeurs x86===
[[File:PD-20060908-SSE3-01.svg|vignette|Chronologie des extensions x86 SIMD.]]
Après avoir vu la théorie sur les instructions SIMD, il est temps de voir un exemple concret : celui des instructions SIMD des processeurs x86, présents dans nos PC. Le jeu d'instruction des PC qui fonctionnent sous Windows est appelé le x86. C'est un jeu d'instructions particulièrement ancien, apparu en 1978. Depuis, des '''extensions x86''' ont ajouté des instructions au x86 de base. On peut citer par exemple les extensions MMX, SSE, SSE2, ''3dnow!'', etc.
Les premières instructions SIMD furent fournies par une extension x86 du nom de MMX, introduite par Intel en 1996 sur le processeur Pentium MMX. Le MMX a perduré durant quelques années avant d'être remplacé par les extensions SSE. La même année, AMD sorti d'expansion ''3DNow!'', qui ajoutait 21 instructions SIMD similaires à celles du MMX. Celui-ci fût suivi du ''3DNow!+'' quelques années plus tard. Le SSE fût ensuite décliné en plusieurs versions avant d'être "remplacé" par l'AVX. Une grande quantité de ces extensions x86 sont des ajouts d'instructions SIMD.
L’'''extension MMX''' ajoutait pas mal d'instructions SIMD assez basiques, essentiellement des instructions arithmétiques : addition, soustraction, opérations logiques, décalages, rotations, mise à zéro d'un registre, etc. La multiplication est aussi supportée, mais avec quelques petites subtilités, via l'instruction PMULLW. Les instructions MMX ne mettent pas le registre d'état à jour et ne préviennent pas en cas d'overflow ou d'underflow si ceux-ci arrivent (pour les instructions qui ne travaillent pas en arithmétique saturée).
Le MMX introduisait 8 registres vectoriels, du nom de MM0, MM1, MM2, MM3, MM4, MM5, MM6 et MM7. Ils ne pouvaient contenir que des nombres entiers et faisaient 64 bits. Ils avaient cependant un léger défaut, qui a nui à l'adoption du MMX. Pour rappel, avant le MMX, les flottants étaient gérés par l'extension x87, qui définit 8 registres flottants de 80 bits. Et chaque registre MMX correspondait aux 64 bits de poids faible d'un registre flottant x87 ! Le système d'''alias'' de registres typique des CPU x86 a encore frappé ! En conséquence, il était impossible d'utiliser en même temps l'unité de calcul flottante et l'unité MMX. Par contre, sauvegarder les registres lors d'un changement de contexte, d'une interruption, ou d'un appel de fonction était très simple : la sauvegarde des registres de la FPU x87 suffisait.
[[File:MMX-FPU-Register.JPG|centre|vignette|upright=2|Registres MMX et FPU x87.]]
[[File:XMM registers.svg|droite|vignette|XMM registers]]
Dans les années 1999, une nouvelle extension SIMD fit son apparition sur les processeurs Intel Pentium 3 : le '''Streaming SIMD Extensions''', abrévié SSE. Ce SSE fut ensuite complété, et différentes versions virent le jour : le SSE2, SSE3, SSE4, etc. Cette extension fit apparaitre 8 nouveaux registres, les registres XMM. Sur les processeurs 64 bits, ces registres sont doublés et on en trouve donc 16. En plus de ces registres, on trouve aussi un registre d'état qui permet de contrôler le comportement des instructions SSE : celui contient des bits qui permettront de dire au processeur que les instructions doivent arrondir leurs calculs d'une certaine façon, etc. Ce registre n'est autre que le registre MXCSR. Chose étrange, seuls les 16 premiers bits de ce registre ont une utilité : les concepteurs du SSE ont surement préférés laisser un peu de marge au cas où.
La première version du SSE contenait assez peu d'instructions : seulement 70. Le SSE première version ne fournissait que des instructions pouvant manipuler des paquets contenant 4 nombres flottants de 32 bits (simple précision). Je ne vais pas toutes les lister, mais je peux quand-même dire qu'on trouve des instructions arithmétiques de base, avec pas mal d'opérations en plus : permutations, opérations arithmétiques complexes, autres. Petit détail : la multiplication est gérée plus simplement et l'on a pas besoin de s’embêter à faire mumuse avec plusieurs instructions différentes pour faire une simple multiplication comme avec le MMX.
On peut quand même signaler une chose : des instructions permettant de contrôler le cache firent leur apparition. On retrouve ainsi des instructions qui permettent d'écrire ou de lire le contenu d'un registre XMM en mémoire sans le copier dans le cache. Ces instructions permettent ainsi de garder le cache propre en évitant de copier inutilement des données dedans. On peut citer par exemple, les instructions MOVNTQ et MOVNTPS du SSE premiére version. On trouve aussi des instructions permettant de charger le contenu d'une portion de mémoire dans le cache, ce qui permet de contrôler son contenu. De telles instructions de prefetch permettent ainsi de charger à l'avance une donnée dont on aura besoin, permettant de supprimer pas mal de cache miss. Le SSE fournissait notamment les instructions PREFETCH0, PREFETCH1, PREFETCH2 et PREFETCHNTA. Autant vous dire qu'utiliser ces instructions peut donner lieu à de sacrés gains si on s'y prend correctement ! Il faut tout de même noter que le SSE n'est pas seul "jeu d'instruction" incorporant des instructions de contrôle du cache : certains jeux d'instruction POWER PC (je pense à l'Altivec) ont aussi cette particularité.
Avec le '''SSE2''', de nouvelles instructions furent ajoutés, permettant d'utiliser des nombres de 64, 16 et 8 bits dans chaque vecteur. Le SSE2 incorporait ainsi pas moins de 144 instructions différentes. Ce qui commençait à faire beaucoup.
Puis, vient le '''SSE3''', avec ses 13 instructions supplémentaires. Pas grand-chose à signaler, si ce n'est que des instructions permettant d'additionner ou de soustraire tous les éléments d'un paquet SSE ensemble, des instructions pour les nombres complexes, et plus intéressant : les deux instructions MWAIT et MONITOR qui permettent de paralléliser plus facilement des programmes.
Le '''SSE4''' fut un peu plus complexe et fut décliné lui-même en 2 versions. Le SSE4.1 introduit ainsi des opérations de calcul de moyenne, de copie conditionnelle de registre (un registre est copié dans un autre si le résultat d'une opération de comparaison précédente est vrai), de calcul de produits scalaire, de calcul du minimum ou du maximum de deux entiers, des calculs d'arrondis, et quelques autres. Avec le SSE4.2, le vice à été poussé jusqu'à incorporer des instructions de traitement de chaines de caractères.
[[File:AVX registers.svg|vignette|Registres AVX.]]
Avec l''''AVX (Advanced Vector eXtensions)''', on retrouve 16 registres d'une taille de 256 bits, nommés de YMM0 à YMM15 et dédiés aux instructions AVX. Ils sont partagés avec les registres XMM : les 128 bits de poids faible des registres YMM ne sont autres que les registres XMM. L'AVX complète le SSE et ses extensions, en rajoutant quelques instructions, et surtout en permettant de traiter des données de 256 bits.
Son principal atout face au SSE est que les instructions AVX permettent de préciser le registre de destination en plus des registres d'opérandes. Avec le SSE et le MMX, le résultat d'une instruction SIMD était écrit dans un des deux registres d'opérande manipulé par l'instruction. Il fallait sauvegarder son contenu si on en avait besoin plus tard, ce qui n'est plus nécessaire avec l'AVX.
==La performance des processeurs SIMD==
Il est intéressant de comparer la performance d'un processeur SIMD et celle d'un processeur normal, sans SIMD. Mais cet exercice est compliqué par le fait que les processeurs non-SIMD sont très nombreux : entre les CPU superscalaires, à émission dans l'ordre, exécution dans le désordre, ceux sans rien de tout cela, on a de quoi être perdu. Dans ce qui suit, nous allons comparer deux processeurs basiques sans pipeline : un avec SIMD, un autre sans.
Comparé à un processeur sans pipeline, on s'attend à ce que la performance soit augmentée d'un facteur N, avec N le nombre maximal d'entiers/flottants que l'on peut mettre dans un vecteur. Si une architecture SIMD fait N calculs en parallèles, alors les performances sont censées être multipliées par N. Cela laisse penser que plus les vecteurs sont longs, plus le gain en performance est important. Il s'agit là d'un résultat basique, mais la vraie vie est différente.
Un premier problème est que ce résultat ne tient que si la mémoire RAM et les caches suivent. En effet, faire N calculs en parallèle demande de lire/écrire N fois plus de données. Les données sont souvent stockées dans des registres vectoriels, ce qui fait que la pression sur le banc de registre est assez importante. Mais cela signifie aussi que les instructions d'accès mémoire doivent lire/écrire N fois plus de données. Il faut alors ajouter des ports sur le cache, élargir le bus mémoire, augmenter la taille des lignes de cache, etc. Le débit binaire des caches et de la mémoire RAM deviennent rapidement des points limitants, qui réduisent le gain en performance des instructions SIMD.
Et ne parlons pas de l'interaction avec la mémoire virtuelle : vu qu'on lit/écrit par paquets de données, cela signifie qu'on traverse une page mémoire plus vite, ce qui fait que les défauts de page sont lus fréquents. Un processeur SIMD a intérêt à être combiné à une RAM et des caches solides, très performants. C'est le cas sur les processeurs modernes, mais cela a pose des problèmes pour les processeurs vectoriels, et a mené à leur abandon progressif.
Mais passons outre ce problème et regardons la seconde raison qui font que ce résultat est naïf : la loi d'Amdhal ! Toutes les portions d'un programme ne sont pas accélérées par des instructions SIMD, il y a des portions dont les calculs ont des dépendances de données, d'autres qui ne sont pas parallélisables, etc. Une partie du programme est donc impossible à véctoriser (i.e optimiser pour le SIMD), une l'autre l'est. Pour simplifier les explications, on suppose qu'une instruction SIMD prend le même nombre de cycles que son équivalent non-SIMD. Par exemple, une addition SIMD prend le même temps qu'une addition normale. Dans ce cas, la portion non-vectorisable du code reste inchangée, alors que la portion vectorisable est divisée par N, par la largeur du vecteur. On retombe sur une formulation identique à la loi d'Amdhal sur le fond.
Une manière de quantifier le tout est d'utiliser la métrique de l'efficience SIMD. Elle est calculée en divisant deux grandeurs. La première est elle-même un rapport : c'est le gain obtenu en terme de nombre d'instructions exécutées. Prenons un programme qui exécute I instructions avant vectorisation, et qui en exécute I/X après. Le gain s'exprime comme suit :
: <math>G = \frac{I}{I/X} = X</math>
Maintenant, prenons ce gain est divisons-le par la largeur d'un vecteur. On obtient alors l'efficience SIMD :
: <math>\text{Efficience SIMD} = \frac{G}{N} = \frac{\frac{I}{I/X}}{N}</math>
Notons que le gain et la largeur SIMD ne sont égales que dans un cas bien précis : tout le code est vectorisable. Il s'agit donc d'une reformulation du gain de la loi d'Amdhal, mais dans laquelle le pourcentage de code série est caché.
Il est intéressant de regarder l'efficience SIMD quand on augmente la portion du code série, ainsi que la taille des vecteurs. Prenons un cas assez généreux, réaliste pour certaines applications très adaptées au SIMD : 1% du code est non-vectorisable, 99% profite du SIMD. L'efficience SIMD varie alors assez rapidement avec la taille des vecteurs. De 99% pour N=2, elle descend à 98% pour N=16, et tombe sous les 50% pou N=128. La conséquence est que les très grandes tailles de vecteurs ne sont pas vraiment utiles, le rendement est décroissant avec la taille des vecteurs.
==Les processeurs SIMD à registres généraux==
Le premier type de processeur SIMD que nous allons voir est celui des processeurs de type '''SWAR''' (''SIMD Within A Register''). Le terme SWAR est un terme polysémique dont le sens a beaucoup changé au fil du temps. Ici, nous allons l'utiliser dans la définition la plus stricte : celle où on effectue du SIMD dans les registres généraux du processeur, sans registres spécialisés. Il s'agit d'une forme de SIMD qui est aujourd'hui peu utilisée, mais qui a été la première forme de SIMD utilisée dans des processeurs grand public commerciaux.
L'idée est d'améliorer un petit peu un processeur normal, non-SIMD. Un processeur usuel contient des registres généraux de 32 à 64 bits, qui stockent chacun un opérande de même taille que le registre. D'anciens processeurs avaient des instructions pour effectuer des calculs simples, sur des opérandes plus courts. Par exemple, les processeurs x86 32 bits sont capables de faire des calculs sur 8, 16, ou 32 bits. Mais on ne pouvait placer qu'un seul opérande de 8, 16 ou 32 bits dans un registre général, ce qui est un léger gâchis. Le SWAR est une amélioration de cette technique qui vise à mieux utiliser les registres et l'ALU.
L'idée est de regrouper plusieurs opérandes de 8, 16, voire 32 bits, dans un seul registre général. De plus, on ajoute des instructions SIMD d'addition/soustraction/autres, qui lisent des opérandes 8/16/32 bits dans ces registres généraux. Par exemple, sur un processeur 32 bits, on peut ajouter une opération d'addition qui lit deux registres de 32 bits, pour récupérer quatre opérandes de 16 bits (deux par registre) et effectue deux additions 16 bits en même temps dans l'ALU. Et il y a la même chose pour d'autres opérations, comme la soustraction, la comparaison, etc.
Les instructions SIMD disponibles sur ces processeurs se limitent généralement à des additions, soustractions, comparaisons, mais guère plus. De plus, il s'agit d'instructions entières, il n'y a pas d'instructions SIMD flottantes. La raison à cela est très simple, mais nous l'expliquerons plus bas, dans la section sur l'implémentation. Disons simplement que de tells architectures visent une économie en circuit maximale. Elles implémentent les instructions SIMD en utilisant le moins de circuits possibles, ce qui fait qu'elles réutilisent les registres généraux et n'ont pas de registres SIMD séparés.
===Les extensions/jeux d'instructions de type SWAR===
Les premiers processeurs à intégrer du SWAR étaient les processeurs DEC Alpha, avec l'extension multimédia '''''Motion Video Extensions'''''. Les processeurs en question étaient les processeurs Alpha 21164PC (PCA56 and PCA57), Alpha 21264 (EV6) and Alpha 21364 (EV7). Les instructions SIMD disponibles étaient très simples et se résumaient à quelques comparaisons : trouver le maximum ou le minimum de deux opérandes de 8/16 bits, quelques instructions de permutation.
Les extensions '''''Multimedia Acceleration eXtensions''''' des processeurs Hewlett-Packard PA-RISC sont aussi de ce type, mais disposent de plus d'instructions SIMD. La première version, appelée MAX-1, était disponible sur les processeurs 32 bits de la marque, à partir du processeur PA-7100LC. Les instructions disponibles étaient des additions et soustractions d'opérandes 16 bit. Il y avait en tout trois instructions d'addition et trois pour la soustraction. En tout, il y avait :
* une instruction d'addition/soustraction non-signée utilisant l'arithmétique modulaire ;
* une instruction d'addition/soustraction signée en arithmétique modulaire ;
* une instruction d'addition/soustraction signée en arithmétique saturée.
Outre les additions/soustractions, il y avait aussi une instruction pour calculer la moyenne de deux opérandes 16 bits, ainsi qu'une addition fusionnée avec un décalage.
La seconde version, appelée MAX-2, ajouta des instructions d'additions fusionnées avec des décalages, mais aussi des instructions de permutation. De plus, cette version était disponible sur les processeurs 64 bits de la marque, ce qui fait que les registres étaient eux aussi de 64 bits. Ils pouvaient contenir deux fois plus d'opérandes 16 bits. Il n'y avait de gestion d'opérandes 32 bits pour les extensions SIMD.
===L'implémentation matérielle===
L'avantage de cette technique est la grande simplicité d'implémentation. On n'ajoute pas de registres SIMD séparés, ce qui a de nombreux avantages : économie de circuits car pas besoin d'un second banc de registre, pas besoin de sauvegarder des registres SIMD en plus lors d'un appel système/interruption, etc. L'implémentation a juste besoin de modifier le décodeur et l'unité de calcul. Le décodeur est modifié pour ajouter des instructions en plus, rien de spécifique au SWAR. Les modifications de l'unité de calcul sont spécifiques au SWAR et modifient la manière dont elle gère les retenues.
Une première solution est d'utiliser une ALU bit-slicée, ce qui est l'idéal pour les unités de calcul entières. Par exemple, pour une ALU 32 bits entière, on peut la découper en 4 unités de calcul 8 bits. Pour une opération SIMD avec 4 opérandes 8 bits, les quatre ALU fonctionnent en parallèle, il n'y a pas transmission des retenues. Pour les calculs SIMD avec des opérandes de 16 bits, on regroupe les ALU par paire et on propage les retenues à l'intérieur d'une paire, mais pas entre les paires. Enfin, pour un calcul non-SIMD, les opérandes de 32 bits, on propage les retenues normalement, d'une ALU 8 bits vers la suivante.
Une autre solution prend un additionneur 32/64 bits normal, mais mets à 0 les retenues. L'implémentation est très simple avec un additionneur à anticipation de retenues, où les retenues sont calculées en avance, avant de faire l'addition proprement dite, par un circuit d'anticipation de retenue. Il suffit alors d'ajouter un circuit de masquage en sortie du circuit d'anticipation de retenue, qui met à zéro les retenues adéquates. La gestion des débordements demande d'ajouter des circuits, ou du moins de modifier ceux déjà présents dans l'ALU. Typiquement, les circuits pour gérer l'arithmétique saturée sont un peu modifiés pour effectuer la mise à 1111...111 octet par octet et chaque octet est masqué si besoin.
[[File:ALU modifiée pour implémenter du SWAR.png|centre|vignette|upright=3|ALU modifiée pour implémenter du SWAR]]
Notons que la technique ne s'applique qu'aux additions, et aux opérations dérivées comme la soustraction et les comparaisons (ces dernières sont des soustractions déguisées). Mais les multiplications ou divisions ne peuvent pas s'implémenter simplement en modifiant des ALU existantes, du moins pas avec des modifications simples. Aussi, les processeurs qui utilisent cette technique se bornent aux additions et opérations dérivées, pas plus.
La gestion des opérations de permutation est quant à elle très simple : beaucoup de processeurs disposent déjà d'instructions de permutation d'octets, qui sont l'équivalent d'instructions SIMD de permutation pour les registres généraux. Nous en avions déjà parlé dans le chapitre sur le langage machine et l'assembleur, quand nous avions fait la liste des instructions les plus courantes. De telles instructions de permutation d'octet sont utiles pour gérer le boutisme ou effectuer quelques manipulations assez rares. Pas besoin de rajouter une ALU dédiée, celle-ci est déjà présente de base, du moins si les instructions de permutation d'octet sont déjà présentes.
==Les processeurs SIMD purs (''packed SIMD'')==
Maintenant que nous avons vu les instructions SIMD, passons maintenant aux processeurs eux-même. Tous les processeurs que nous allons voir dans ce qui suit supportent des instructions SIMD. Mais leur implémentation matérielle, leur micro-architecture, n'est pas la même. Ils ont aussi quelques différences en termes de jeu d'instruction, mais qui sont fortement liées à l'implémentation matérielle.
Nous allons ici voir les '''processeurs SIMD purs''', aussi dits de type ''Packed SIMD''. Ils implémentent des instructions SIMD sans rien de plus, juste le strict minimum : pas de prédication, pas de vecteurs de taille variable, presque pas d’instructions horizontales, architecture de type LOAD-STORE. De tels processeurs utilisent plusieurs ALU entières/flottantes qui travaillent en parallèle. De plus, ils disposent de registres SIMD séparés des registres généraux. Voyons ces points immédiatement.
* La première distinction est que les vecteurs sont stockés dans des registres séparés des registres généraux, appelés les '''registres SIMD''', ou ''registres vectoriels''. Ils sont beaucoup plus larges que les registres classiques et mémorisent 2, 4, 8 entiers/flottants.
* La seconde distinction est que les calculs SIMD sont effectués dans une unité SIMD séparée de l'ALU ou de la FPU. L'unité de calcul SIMD peut exécuter au minimum des instructions SIMD verticales, plus rarement des instructions SIMD horizontales. Pour ce faire, elle regroupe plusieurs additionneurs/multiplieurs, qui effectuent des calculs en parallèle.
===Les instructions SIMD verticales : plusieurs ALU travaillant en parallèle===
[[File:SIMD2.svg|vignette|Parallélisme de données au niveau de l'unité de calcul. Celle-ci contient plusieurs circuits indépendants qui appliquent la même opération sur des données différentes.]]
Une unité de calcul SIMD gère au minimum des instructions SIMD verticales. Et pour ce faire, elle contient plusieurs additionneurs/multiplieurs séparés. Par exemple, pour additionner deux vecteurs contenant chacun 16 entiers/flottants, il faut utilise 16 additionneurs entiers et 16 additionneurs flottants. Dans le cas général, une ALU SIMD est composée de plusieurs ALU entières et flottantes regroupées ensemble et avec quelques circuits pour gérer les débordements et d'autres situations. Notons que les ALU travaillent en parallèle, elles font des calculs indépendants.
Notons que les additionneurs dans chaque ALU doivent pouvoir être configurés de manière à gérer des tailles de données différentes. Par exemple, si on prend un vecteur simple, qui peut contenir soit 32 entiers de 16 bits, soit 16 entiers 32 bits, soit 8 entiers 64 bits, alors on doit utiliser 8 additionneurs, mais chacun d'entre eux doit pouvoir être reconfiguré de manière à ne pas propager les retenues au-delà des premiers 16 ou 32 bits.
Un défaut de cette organisation est que le cout en circuits est loin d'être négligeable. Il faut dupliquer des unités de calcul et les coller en rajoutant des circuits, cela utilise beaucoup de transistors. Le cout en circuit est d'autant plus grand que les vecteurs sont longs et le cout est approximativement proportionnel à la taille des vecteurs. Entre des vecteurs de 128 et 256 bits, l'unité de calcul utilisera globalement deux fois plus de circuits avec 256 bits qu'avec 128. Même chose pour les registres, mais c'est là un cout commun à toutes les architectures.
Retenez cependant : l'usage de plusieurs ALU travaillant en parallèle a plusieurs défauts. Premièrement, cela implique des vecteurs de taille fixe, du fait que le nombre d'ALU travaillant en parallèle est fixe. Deuxièmement, des difficultés d'implémentation concernant les instructions de réduction. Détaillons ce second point !
Une autre possibilité est d'utiliser moins d'unités de calcul qu'il n'y a d'éléments dans un vecteur. Par exemple, pour des vecteurs contenant 32 flottants, il se peut qu'il n'y ait que 16 ALU. Les opérations sur les vecteurs sont donc faites en deux fois : une première passe pour les 16 premiers éléments, une seconde passe pour les 16 restants. On économise ainsi pas mal de circuits, mais cela se fait au détriment de la performance globale. L'avantage est que l'ensemble des calculs se fait en une seule instruction machine. L'implémentation est généralement la suivante : le processeur décode une instruction SIMD en deux micro-instructions SIMD plus courtes. Par exemple, pour une instruction SIMD de 32 éléments, elle sera décodée en deux instructions SIMD de 16 éléments, chacune étant exécutée sur l'ALU.
Il est possible de réduire fortement l'impact en performance en doublant la fréquence de l'ALU. Par exemple, pour des vecteurs contenant 32 flottants, le processeur incorpore 16 ALU, mais celles-ci fonctionne à une fréquence double de celle du processeur. L'usage d'une ALU à double fréquence est une technique qui a été utilisée sur le Pentium 4 et quelques processeurs, pour des instructions non-SIMD. Mais pour les processeurs SIMD, elle s'applique à la perfection. L'implémentation est la même que précédemment, sauf que la fenêtre d'instruction et la logique d'émission fonctionnent à double fréquence. Pour limiter la casse, il est préférable d'utiliser une fenêtre d'instruction séparée pour les instructions SIMD, qui sera seule à fonctionner à double fréquence.
===Les instructions horizontales : une ALU simple séparée===
Les instructions horizontales posent des difficultés d’implémentation. Elles ne peuvent pas s'implémenter en utilisant plusieurs ALU travaillant en parallèle, contrairement aux instructions verticales, ce qui fait qu'elles utilisent généralement des unités de calcul spécialisées. Et c'est là que la différence entre instructions de manipulation de vecteurs et instructions de réduction vient encore une fois poser problème. Les instructions de manipulation de vecteur sont relativement simples à implémenter : elles ont juste besoin d'une ALU spécialisée, relativement simple, composée de beaucoup de multiplexeurs à configurer convenablement. Mais pour les instructions de réduction, c'est autre chose !
L'implémentation des instructions de réduction est possible mais a un cout en circuits assez prohibitif. Pour additionner N entiers, il faut utiliser un additionneur multi-opérande qui prend beaucoup de circuits et dont le temps de calcul est proche de celui d'une multiplication (très lent). Trouver le maximum et le minimum d'un nombre demandent de faire la même chose avec des comparateurs. Le tout a un cout en circuit non-négligeable, pour accélérer des opérations assez peu fréquentes. Elles sont surtout utilisées pour trouver la somme ou le maximum/minimum d'un tableau, opération séquentielle par nature, avec peu parallélisme de données, peu courante.
Une autre solution utilise une unité SIMD normale, mais intègre un système de contournement, de ''bypass'', qui relierait l'entrée d'une ALU à la sortie d'une autre. Mais le cout lié aux interconnexions est très important : on doit relier chaque ALU à toutes les autres dans le pire des cas, on peut optimiser le tout et réduire un peu la quantité d'interconnexions, mais le cout reste important. Au final, on gagne en circuits ce qu'on perd en interconnexions. Le choix entre les deux solutions est loin d'être facile et dépend du processeur, de la technologie utilisée, du budget en transistors disponibles, etc.
Les processeurs SIMD purs résolvent ce problème assez simplement : ils n'implémentent pas d'instructions de réduction. Par contre, ils implémentent systématiquement des instructions de manipulation de vecteur, comme des permutations ou autres. La raison est que l'on peut émuler les instructions de réduction en utilisant des instructions SIMD de manipulation de vecteur couplées à des additions/multiplications SIMD verticales. Il s'agit donc d'un compromis entre cout en circuits et performance finale. Niveau circuits, on a une unité SIMD avec plusieurs ALU de calcul en parallèle, une unité de manipulation de vecteur séparée assez simple et au cout en circuits raisonnable. Les performances pour les opérations de réduction sont acceptables, le cout en performance est relativement modéré.
===Le banc de registre vectoriel===
La présence de registres vectoriels séparés permet d'avoir des vecteurs assez longs. Pour ce faire, les registres vectoriels sont plus grands que les registres généraux. Par exemple, sur un processeur 32 bits, qui gère donc des entiers de 32 bits, les vecteurs peuvent faire 128 ou 256 bits. Un vecteur contient donc plusieurs entiers ou flottants de taille maximale. On n'est pas dans le cas précédent, où registres généraux et SIMD sont les mêmes, ils sont séparés et n'ont pas la même taille.
Le processeur utilise un banc de registre séparé pour les registres SIMD, appelé le '''banc de registre SIMD'''. Vu que les registres vectoriels sont assez longs, le banc de registre vectoriels a une grande taille, une grande capacité mémoire. Pour donner un exemple, les extensions SSE des processeurs x86 définissent 8 registres SIMD de 128 bits chacun. Ils ont été introduits à une époque où les processeurs avaient des registres généraux de 32 bits. Le banc de registres associé était donc environ 4 fois plus grand que celui pour les registres généraux. Je dis environ car le décodeur avait sensiblement la même taille, seul le plan mémoire était grossit, mais l'idée est là.
Une conséquence est que le banc de registres SIMD consomme beaucoup d'énergie et d'électricité. Il en est de même avec les ALU SIMD. Et diverses optimisations tentent de réduire ce cout en énergie. L'une d'entre ajoute une mémoire cache entre les ALU SIMD et les registres vectoriels ! L'idée est que si un registre vectoriel est relu plusieurs fois de suite, la première lecture lira le vecteur dans le banc de registres SIMD, mais les lectures suivantes liront le vecteur dans le cache. L'optimisation marche car accéder au banc de registre vectoriel est vraiment couteux, plus qu'accéder à un cache. Le cache en question est appelé un '''''register reuse caches'''''.
Les ''register reuse caches'' sont présents sur le processeur Monaka de Fujitsu, mais aussi et surtout dans les cartes graphiques modernes. Nous ferrons l'impasse sur les GPU modernes, car leur usage est quelque peu particulier. Il ne servent pas que à réduire la consommation d'énergie, mais aussi à réduire les conflits d'accès au banc de registre, qui est en réalité composé de plusieurs banques indépendantes. Leur usage sur le CPU Monaka est plus simple : ils ne servent vraiment qu'à réduire la consommation d'énergie, rien de plus.
: Pour ceux qui veulent en savoir plus pour leur utilisation sur les cartes graphiques, tout est détaillé dans mon wikilivre sur les cartes graphiques, via le lien suivant. Mais sachez cependant qu'il faut idéalement lire le chapitre entier, et peut-être même les chapitres précédents, pour comprendre cette section. Voici le lien : [https://fr.wikibooks.org/wiki/Les_cartes_graphiques/La_microarchitecture_des_processeurs_de_shaders#L'Operand_Collector_et_les_caches_de_register_reuse L'Operand_Collector_et_les_caches_de_register_reuse]
===L'implémentation des LOAD-STORE à des données consécutives===
Les architectures SIMD pures sont des architectures de type LOAD-STORE, ce qui veut dire que les instructions SIMD ne peuvent que lire ou écrire dans les registres vectoriels, pas en mémoire ou ailleurs. Les transferts entre registres SIMD et mémoire sont le fait d'instructions LOAD et STORE spécialisées, qui transfèrent des vecteurs entre RAM et registres vectoriels. Les autres architectures n'ont pas nécessairement ce genre de restrictions, mais laissons cela pour plus tard.
Implémenter les instructions LOAD/STORE pour des vecteurs dont les données sont consécutives en mémoire n'est pas très compliqué. Il suffit juste d'élargir le port de lecture/écriture du cache L1 de données, pour pouvoir lire/écrire un vecteur entier. Rien de bien compliqué, il suffit juste d'ajouter des interconnexions et d'ajouter des multiplexeurs. Du moins, c'est le cas tant que les vecteurs sont plus petits qu'une ligne de cache, ce qui est souvent le cas en pratique. Dans le cas très rare où les vecteurs sont plus longs qu'une ligne de cache, les LOAD/STORE doivent se faire en deux accès dans le cache, ce qui demande d'ajouter du matériel pour contrôler la situation.
Précisons cependant qu'il s'agit là d'un cas idéal, où les vecteurs sont correctement alignés en mémoire. En effet, il se peut qu'un vecteur soit à cheval sur deux lignes de cache, alors qu'il est plus petit qu'une ligne de cache. Il suffit pour cela qu'il soit placé à une adresse adéquate. Par exemple, prenons un vecteur de 16 octets et des lignes de cache de 32 octets. Si le vecteur démarre à l'adresse 24, alors il sera à cheval sur deux lignes de cache. Il faut donc intégrer des circuits pour gérer cette situation. Pour cela, il suffit d'ajouter un registre pour stocker la première de ligne lue, puis un circuit qui combine les deux lignes de cache pour donner le vecteur final.
===L'implémentation des LOAD-STORE en ''scatter-gather''===
L'implémentation des accès en ''scatter-gather'' est plus compliquée. Un accès en ''scatter-gather'' demande de faire des calculs d'adresse, suivis par un ensemble de lectures/écritures, suivis par un regroupement des données lues dans un vecteur. Le calcul d'adresse peut se faire en parallèle dans une unité de calcul SIMD, dans plusieurs unités de calcul d'adresse en parallèle. Par contre, les lectures/écritures ne le peuvent pas. Le cache n'a pas assez de ports de lecture/écriture pour lire/écrire N données. Il a quelques ports, ce qui lui permet de lire/écrire 3/4 données grand maximum, soit moins que ce qui est nécessaire pour faire un accès en ''scatter-gather'' en une fois. Les lectures/écritures sont donc effectuées en plusieurs fois. Pour une opération de ''Gather'', il faut aussi regrouper les données lues dans un vecteur.
Sur les caches des processeurs à haute performance, le calcul d'adresse est intégré dans le décodeur. Ce sont des caches adressés par somme, que nous avions abordé dans le chapitre sur les mémoires caches. Avec de telles caches, on ne peut pas utiliser une unité de calcul d'adresse SIMD, on ne peut calculer qu'autant d'adresse qu'il y a de ports sur le cache.
Les accès en ''scatter-gather'' regroupent plusieurs accès mémoire, qui peuvent être effectués dans le désordre. La seule exception est celle où un ''scatter'' effectue plusieurs écritures à la même adresse, où les deux écritures doivent se faire dans l'ordre allant du premier au dernier élément du vecteur d'adresse. Les processeurs SIMD profitent de cette absence d'ordre pour effectuer les accès dans un ordre le plus optimisé possible.
Par exemple, imaginons le cas où une instruction ''gather'' lise des éléments placés dans deux lignes de cache uniquement, mais dans le désordre en passant sans cesse d'une ligne de cache à l'autre. Il est alors possible de faire tous les accès dans la première ligne de cache en premier, avant de faire ceux allant dans l'autre. Une telle optimisation marche aussi bien pour les lectures que les écritures, pour les ''gather'' que pour les ''scatter''. Elle peut aussi être adaptée pour plus de deux lignes de cache. Elle porte le nom de '''''memory coalescing'''''.
Une autre optimisation possible est de détecter le cas où un accès en ''scatter-gather'' accède à des données consécutives. Il suffit pour cela que les indices/adresses du vecteur opérande soient consécutives, et cela arrive plus souvent qu'on ne le pense. Dans ce cas, l'accès est remplacé par une instruction LOAD/STORE SIMD normale, beaucoup plus simple et plus rapide. Les deux optimisations demandent que les adresses soient calculées avant de faire l'accès mémoire. Les adresses calculées sont alors comparées entre elles, par un réseau de comparateurs assez complexe.
Un point important de l'implémentation des instructions ''gather'' est qu'une donnée chargée doit être insérée au bon endroit dans le vecteur destination. Et pareil pour les ''scatter'' : il faut lire la bonne donnée au bon moment. Si on prend une ligne de cache complète, il faut lire plusieurs élèments en même temps et les envoyer au registre de destination au bon endroit. Il faut pour cela tout un réseau de multiplexeurs assez complexe pour faire ce travail. Il y a le même genre de réseau pour les instructions ''scatter'', mais qui va dans l'autre sens : du registre vers la ligne de cache.
==Les processeurs SIMD avec prédication==
Un obstacle très gênant à la vectorisation est la présence de branchements conditionnels dans les boucles à vectoriser. Si une boucle contient des branchements conditionnels, elle ne peut pas être vectorisée facilement : il est impossible de zapper certains éléments d'un vecteur suivant une condition. Il n'est pas possible d'effectuer une instruction SIMD seulement sur certains éléments d'un vecteur et d'ignorer les autres, en fonction du résultat d'un branchement conditionnel. Tout le vecteur y passe, ou le vecteur est épargné, mais la condition intermédiaire n'est pas possible avec du SIMD simple.
Pour résoudre ce problème, les processeurs SIMD incorporent diverses techniques pour implémenter ou éviter les branchements conditionnels le plus possible. La plus simple est l'incorporation de certaines instructions SIMD simples, comme la valeur absolue, le calcul du minimum/maximum, etc. Ces opérations sont généralement émulées en utilisant des branchements, avec quelques conditions simples. Incorporer ces instructions permet ainsi de faire disparaitre une partie des branchements du code. Elle ne paye pas de mine, mais elle a un résultat pas négligeable pour le rendu graphique, certaines applications de calcul scientifiques, et quelques autres. Son cout en transistors est très variable, il faut rajouter des circuits dans le séquenceur, l'unité de calcul SIMD est assez peu modifiée (il faut juste rajouter des multiplexeurs).
Le vrai problème est que cette solution laisse énormément de branchements dans le code. Et qu'il faut donc trouver une solution plus générale, capable de réduire drastiquement les branchements. Pour cela, on réutilise une technique vue dans les chapitre sur l'assembleur et le langage machine : la prédication.
===Les instructions à prédicats===
Pour optimiser le cas général, il est possible d'utiliser des instructions à prédicats adaptées pour fonctionner sur des vecteurs. L'idée est que quand une instruction effectue un calcul sur un ou deux vecteurs, certains éléments du vecteurs sont ignorés. Les éléments à ignorer sont choisis suivant le résultat d'une instruction de comparaison, qui effectue un test : les éléments pour lesquels ce test est respecté sont pris en compte, ceux qui ne passent pas le test sont ignorés.
Pour donner un exemple d'utilisation, imaginons que l'on ait un vecteur dans lequel on veut remplacer toutes les valeurs négatives par des 0. Dans ce cas, on utilise :
* une instruction de comparaison, qui compare chaque élément du vecteur avec 0 et génère plusieurs bits de résultat ;
* suivi d'une instruction à prédicat qui met à zéro les éléments pour lesquels les bits de résultat précédents sont à 1.
La prédication peut aussi être utilisée pour simuler des vecteurs de taille variable. Tous les vecteurs ont une taille fixe, mais on peut ne pas faire de calculs sur la fin d'un vecteur, ce qui fait que tout se passe comme si le vecteur était plus petit. Ce n'est pas sa seule utilisation, mais la prédication permet de simuler ce comportement. Néanmoins, cela n'en fait pas un processeur vectoriel, capable de traiter des vecteurs de taille variable : il n'y a pas de moyen de préciser explicitement la taille des vecteurs à traiter.
Tout cela demande plusieurs modifications du jeu d'instruction : ajouter des instructions de comparaison SIMD, ajouter de quoi faire la prédication.
===Le calcul des masques et le registre de masque===
La prédication demande que le résultat d'une comparaison soit stocké dans un registre à prédicat ou dans le registre d'état. Pour les processeurs SIMD, il y a cependant une grosse adaptation à faire concernant le fonctionnement des comparaisons et le stockage des résultats.
Premièrement, les instructions de comparaison SIMD comparent une paire de deux éléments à la même place dans deux vecteurs et fournissent un résultat d'un bit pour chaque paire. Le résultat est donc un ensemble de bits, qui sont regroupées dans un vecteur spécialisé.
Deuxièmement, reste à savoir que faire de ce vecteur. Pour cela, deux solutions sont possibles. Avec la première, le vecteur est stocké dans un registre vectoriel/SIMD comme les autres, il est traité comme n'importe quel autre vecteur. Avec la seconde solution, il reçoit un registre dédié, qui est un mix entre registre d'état et registre à prédicat, appelé un '''registre de masque''' (''Vector Mask Register''). Il stocke un bit pour chaque donnée présente dans le vecteur à traiter, qui indique s'il faut ignorer la donnée ou non. L'instruction SIMD suivante fait usage de ce masque pour savoir s'il faut faire l'opération pour chaque élément du vecteur.
[[File:Vector mask register.png|centre|vignette|upright=2|Vector mask register]]
Il peut y avoir un ou plusieurs registres de masque. S'il y en a plusieurs, ils sont généralement nommés, sur le modèle des registres à prédicats. L'application d'un masque demande de fournir le nom du registre de masque à utiliser, ils adressés explicitement dans les instructions. S'il n'y en a qu'un seul, il est possible de le pas le nommer et de faire en sorte qu'il soit adressé implicitement par les instructions qui en ont besoin. On parle alors de '''masquage implicite'''. Le masquage implicite est très utilisé sur les cartes graphiques, qui sont actuellement des architectures SIMD, comme nous le verrons plus bas.
Un gros problème du masquage implicite est qu'il introduit des dépendances implicites entre instructions, qui ne sont pas explicites quand on regarder uniquement les registres manipulés par une instruction, qui perturbent le renommage de registres. Rien d'insurmontable, mais cela peut poser des problèmes de performance et la résolution de ce problème a un cout en hardware. Mais ce n'est un problème que sur les architectures à exécution dans le désordre. Les architectures à émission dans l'ordre ne sont pas concernées, et c'est notamment le cas sur les GPU et les cartes graphiques modernes.
Diverses optimisations sont possible avec un registre de masque. La première est de ne pas exécuter d'instruction si tous les bits du masque sont à 0. Dans ce cas, l'instruction SIMD n'a pas de calculs à faire, vu que tous les résultats sont masqués. Il est alors possible de ne pas exécuter l'instruction SIMD et de passer directement à la suivante. L'implémentation matérielle est très simple : une porte NOR qui détermine si le registre de masque contient la valeur 0. La sortie de cette porte NOR est envoyée au séquenceur d'instruction. Le décodeur est alors conçu pour zapper l'instruction si le registre de masque contient un zéro.
===Les accès mémoire en ''scatter-gather'' avec prédication===
Un problème avec les accès mémoire que certains accès peuvent déclencher des défauts de page ou d'autres formes d'exceptions (erreurs de protection mémoire, autre). Si l'accès mémoire se fait sans prédication, ces exceptions sont gérées dans l'ordre des accès mémoire, en commençant par le début du vecteur, ce qui rend l'implémentation assez facile. Mais avec la prédiction, il se peut qu'un accès masqué et censé être ignoré déclenche une exception matérielle. Et le résultat dépend de l'implémentation.
Une première solution est d'effectuer l'accès mémoire, et de masquer ensuite les éléments à ignorer. Mais dans ce cas, les éléments masqués peuvent déclencher des exceptions, qui ne sont pas censées se produire. Une autre solution est de déterminer quelles sont les adresses qu'il faut lire ou écrire et ne pas faire les accès mémoire masqués. Une autre solution effectue tous les accès avant de savoir quels sont ceux à masquer, mais de ne pas déclencher d'exception avant qu'on sache quels sont les accès masqués. Une fois le masquage des accès effectués, le processeur exécute les exceptions adéquates. Il s'agit d'un comportement de masquage d'exception, très utilisé.
L'implémentation est assez simple pour les accès mémoire contiguës, mais plus compliqué pour les accès en ''stride'' ou en ''scatter-gather''. Pour les accès contiguës, les seules exceptions pouvant survenir sont celles ayant lieu quand on passe d'une page mémoire à la suivante (au sens pagination, mémoire virtuelle). Et le hardware pour détecter un débordement de page est assez simple. Mais pour les accès en ''stride'' ou en ''scatter-gather'' demandent qu'oin vérifie les exceptions pour chaque élément du vecteur.
===L'implémentation matérielle===
L'implémentation matérielle est assez proche des processeurs SIMD purs. On retrouve plusieurs unités de calcul travaillant en parallèle, avec quelques circuits ajoutés pour gérer la prédication. Le cout supplémentaire en circuits est acceptable, les gains en performance associés sont très intéressants. Les circuits en plus, pour gérer la prédication, sont similaires à ceux utilisés pour la prédication sur les architectures non-SIMD, mais sont dupliqués.
La seule innovation architecturale est l'implémentation du registre de masque. Tous les processeurs n'en utilisent pas, mais c'est la solution la plus performante. En effet, ce registre de masque est un peu l'équivalent du registre d'état pour les instructions SIMD, bien qu'il soit techniquement une concaténation de registres à prédicat non-nommés. Ils ont pour avantage de libérer des registres SIMD normaux tout en ayant un cout en matériel très limité. Un autre point est que pour gérer les masques, les instructions SIMD à prédicat doivent lire le masque. Sans registre de masque, en utilisant un registre SIMD normal, il faut rajouter un troisième port de lecture sur le banc de registre pour récupérer le masque, ce qui est couteux en matériel. Pas besoin avec un registre de masque, qui n'est connecté qu'à l'ALU, sur le même modèle que le registre d'état.
Plus haut, on a vu que l'implémentation de l'ALU SIMD peut se faire en utilisant des moins d'ALU que prévu. Par exemple, pour des vecteurs de 32 éléments, on peut utiliser 16 ALUs (allant à double fréquence ou non). Une instruction SIMD est alors décodée en plusieurs micro-instructions SIMD consécutives, chacune traitant une partie d'un vecteur. Par exemple, une instruction SIMD sur des vecteurs de 32 éléments est exécutée par deux micro-instructions travaillant sur des vecteurs de 16 éléments.
L'avantage est que cela se marie bien avec l'abandon des opérations pour les masques dont tous les bits sont à 0. Par exemple, prenons une instruction travaillant sur 16 flottants, exécutée en deux fois sur 8 flottants. Si le masque dit que les 8 premières opérations ne sont pas à exécuter, alors l'ALU ne fera que le calcul des 8 derniers flottants. Pour cela, le décodeur doit vérifier que les 8 bits de poids faible ainsi que de poids fort du registre de masque ne soient pas individuellement à zéro. Cela se fait en dupliquant la porte NOR évoquer plus haut, l'une pour la partie basse du registre et la seconde pour la partie haute.
==La prédication pour les structures de contrôle imbriquées==
Au niveau du jeu d’instruction, les architectures SIMT implémentent de la prédication, sous une forme améliorée. Les processeurs SIMT actuels sont surtout utilisées sur les processeurs intégrés aux cartes graphiques. Et ces derniers gèrent très mal les branchements, et encore : beaucoup de cartes graphiques, même récentes, ne gèrent tout simplement pas les branchements. Elles doivent donc se débrouiller avec uniquement la prédication, là où les processeurs SIMD utilisent des branchements normaux en complément de la prédication. Insistons sur le fait que cet usage exclusif de la prédication n'est présent que sur une sous-partie des architectures SIMT, le seul exemple que l'auteur de ce wikilivre connait étant celui des cartes graphiques.
Les architectures SIMT sans branchements doivent donc trouver des solutions pour gérer les structures de contrôle imbriquées, à savoir une boucle placée à l'intérieur d'une autre boucle, un IF...ELSE dans un autre IF...ELSE, etc. Elles utilisent pour cela la prédication, combinée avec des mécanismes annexes. Le premier d'entre eux est l'usage de plusieurs registres de masques organisés d'une manière bien précise, l'autre est l'usage de compteurs d'activité. Voyons ces deux techniques.
===La pile de masques===
La '''pile de masques''' remplace le ou les registres de masque. Sans elle, le processeur SIMD incorpore un registre de masque qui est adressé implicitement ou explicitement. Éventuellement, le processeur peut contenir plusieurs registres de masque séparés adressables via un nom de registre. Avec elle, le processeur SIMD incorpore plusieurs registres de masque organisé en pile. Le registre de masque est donc remplacé par une mémoire LIFO, une pile, dans laquelle plusieurs masques sont empilés.
Le tout forme une pile, similaire à la pile d'appel, sauf qu'elle est utilisée pour empiler des masques. Un masque est calculé et empilé à chaque entrée dans une structure de contrôle, puis dépilé une fois la structure de contrôle exécutée. L'empilement et le dépilement des masques est effectué par des instructions PUSH et POP, présentes dans le jeu d'instruction du processeur SIMD.
Le calcul des masques doit répondre à plusieurs impératifs.
* Premièrement, chaque masque se calcule en faisant un ET entre le masque précédent et le masque calculé par l'instruction de test. Cela permet de ne pas réveiller d’élément au beau milieu d'une structure imbriquée. Si in IF désactive certains éléments du vecteur, une condition imbriquée dans ce IF ne doit pas réveiller cet élément. Le fait de faire un ET entre les masques garantit cela.
* Deuxièmement, les masques doivent être empilés et dépilés correctement. Au moment de rentrer dans une structure de contrôle, on effectue une instruction de test associée à la structure de contrôle, qui calcule un masque, et on empile le masque calculé. Au moment de sortir de la structure de contrôle, on dépile le masque en question.
L'implémentation demande d'utiliser une mémoire LIFO pour stocker la pile de masques, et quelques circuits annexes. Il faut notamment un circuit relié à l'ALU qui récupère les conditions, les résultats des comparaisons, et qui effectue le ET pour combiner les maques.
Pour donner un exemple, prenons le code suivant, qui est volontairement simpliste et ne sert qu'à des fins d'explication :
<syntaxhighlight lang="c">
if ( condition 1 )
{
if ( condition 2 )
{
...
}
else
{
...
}
Autres instructions
}
Instructions après le IF...
</syntaxhighlight>
Imaginons que l'on traite des vecteurs de 8 éléments.
Pour le vecteur considéré, la première condition (a > 0) n'est respectée que par les 4 premiers éléments. L'instruction de condition calcule alors le masque correspondant : 1111 0000. Le masque est alors calculé, puis empilé au somment de la pile.
La seconde instruction de test, qui teste la variable b, est maintenant valide pour les 4 bits du milieu du masque. Mais n'allez pas croire que le masque correspondant soit 0011 11100 : il faut tenir compte de la condition précédente, qui a éliminé les 4 derniers éléments. Pour cela, on fait un ET logique entre le masque précédent, et le masque calculé par la condition. Le masque au sommet de la pile est donc lu, combiné avec le masque calculé par l'instruction, ce qui donne le masque final. Le masque final est alors empilé au sommet de la pile.
On exécute alors l'instruction du IF, en tenant compte du masque qui est au sommet de la pile. Si le IF était plus compliqué, toutes les instructions suivantes tiendraient compte du masque. En fait, le masque est pris en compte tant qu'il n'est pas dépilé. Une fois que le IF est terminé, le masque est dépilé.
On passe alors au ELSE, et rebelotte. Le masque pour le ELSE est calculé en combinant le masque au sommet de la pile avec la condition du ELSE. Le masque au sommet de la pile est celui calculé à l'entrée du premier IF, pas le second qui a été dépilé. Les instructions du ELSE sont alors exécutées en tenant compte de ce masque. Une fois qu'elles sont toutes exécutées, le masque est dépilé.
Puis vient l'exécution des instructions après le ELSE. Elles utilisent le masque empilé au sommet de la pile, qui correspond à celui à l'entrée du IF.
Puis vient le moment d'exécuter les instructions après le IF : pas de masque, on exécute sur tout le vecteur.
===Les compteurs d'activité===
Une variante de la technique précédente remplace la pile de masques par des '''compteurs d'activité'''. La technique est similaire, si ce n'est qu'elle utilise moins de circuits. Avant , on avait une pile de masques de même taille, dont les bits sont à 0 ou 1 suivant que la condition est remplie. La pile de masque ressemble donc à ceci :
{|class="wikitable"
|-
! masque 1
| 1 || 1 || 1 || 1
|-
! masque 2
| 0 || 1 || 1 || 1
|-
! masque 3
| 0 || 1 || 1 || 1
|-
! masque 4
| 0 || 0 || 0 || 1
|-
! masque 1
| colspan="4" | vide
|}
Une manière équivalent de représenter cette pile de masque est de compter combien de bits sont à 0 dans chaque colonne. Attention : j'ai bien dit à 0 ! On obtient alors :
{|class="wikitable"
|-
! masque 1
| 3 || 1 || 1 || 0
|}
Et c'est le principe caché derrière la techniques des compteurs d'activité. Chaque élément dans un vecteur, chaque place, se voit attribuer un compteur. Un compteur non-nul indique qu'il ne faut pas prendre en compte l’élément. Ce n'est qu'une fois que le compteur est nul que l'on effectue des opérations sur l’élément associé du vecteur.
À chaque fois qu'on entre dans une structure de contrôle, on teste une condition sur chaque élément. Si la condition est respectée pour un élément, alors le compteur ne change pas. Mais si la condition n'est pas respectée, alors on incrémente le compteur associé. En sortant de la structure de contrôle, on décrémente le compteur associé. Notons que les compteurs qui n'ont pas été incrémenté en entrant dans la structure de contrôle ne sont pas décrémenté en sortant. En clair, là où on empilait/dépilait un masque, on se contente d'incrémenter/décrémenter un compteur.
Utiliser un compteur en lieu et place d'une colonne entière dans la pile de masque utilise moins de bits. Et c'est sans doute pour cette raison que certaines cartes graphiques, comme les cartes graphiques intégrées d'Intel depuis 2004, utilisent cette technique.
==Les processeurs vectoriels==
Les '''processeurs vectoriels''' sont les ancêtres des processeurs à instruction SIMD. Bien qu'ils soient arrivés en premier, ils incorporent diverses techniques que de simples instructions SIMD n'ont pas forcément. C'est paradoxal, mais c'est ainsi.
La première différence se manifeste au niveau du jeu d'instruction. Les processeurs vectoriels sont capables de traiter des vecteurs de taille variable, alors que les instructions SIMD usuelles ne gèrent que des vecteurs de taille fixe. Par taille variable, on veut dire que le processeur gère nativement des vecteurs d'une taille allant de 1 à la taille maximale d'un vecteur. La taille maximale d'un vecteur est celle permise par la taille des registres vectoriels, il s'agit de la taille d'un vecteur SIMD équivalent sur les autres processeurs SIMD.
La seconde différence est une différence en termes de micro-architecture. Un processeur SIMD actuel dispose d'une unité de calcul très élaborée, capable de faire plusieurs calculs en parallèle, au moins un pour chaque élément du vecteur. Par exemple, si un vecteur contient 16 entiers, l'ALU SIMD doit contenir au moins 16 additionneurs entiers. Mais sur un processeur vectoriel, ce n'est pas le cas : l'unité de calcul est en réalité une unité de calcul entière/flottante normale, mais qui a la particularité d'être pipelinée. Les calculs sont donc effectués en parallèle, mais d'une manière totalement différente.
La plupart de ces différences s'expliquent par le fait que les anciens processeurs vectoriels devaient faire avec des limitations en termes de circuits. Ils avaient peu de transistors à leur disposition, ce qui fait que leur unité de calcul devait être la plus simple possible. D'où l'utilisation d'une unité de calcul simple, mais utilisée de manière pipelinée. De plus, les processeurs vectoriels ne possèdent aucune mémoire cache pour les données et se contentent juste de caches d'instruction. De tels caches sont généralement peu utiles quand on manipule des tableaux, chose quasiment systématique quand on travaille avec du parallélisme de données.
===Une unité de calcul pipelinée===
La différence entre processeur vectoriel et SIMD tient dans la façon dont sont traités les vecteurs : les instructions SIMD traitent chaque élément en parallèle, alors que les processeurs vectoriels pipelinent ces calculs ! Par pipeliner, on veut dire que l’exécution de chaque instruction est découpée en plusieurs étapes indépendantes. Au lieu d'attendre la fin de l’exécution d'une opération avant de passer à la suivante, on peut commencer le traitement d'une nouvelle donnée sans avoir à attendre que l'ancienne soit terminée.
[[File:Pipeline.png|centre|vignette|upright=2|Pipeline vectoriel.]]
Pour donner un exemple, on peut donner l'exemple d'une multiplication flottante effectuée entre deux registres. Son exécution peut être décomposée en plusieurs étapes.
Par exemple, on peut avoir 3 étapes :
* une première étape E qui va additionner les exposants et gérer les diverses exceptions ;
* une étape M qui va multiplier les mantisses ;
* et enfin une étape A qui va arrondir le résultat.
L’exécution de notre opération flottante sur un vecteur donnerait donc quelque chose dans le genre, où chaque ligne correspond au traitement d'un nouvel élément dans un vecteur, dans un paquet SIMD.
[[File:Multiplication vectorielle - pipeline.png|centre|vignette|upright=2|Multiplication vectorielle - pipeline]]
: Certains processeurs vectoriels utilisent plusieurs ALU pipelinées pour accélérer les calculs. On peut les voir comme des intermédiaires entre processeur vectoriels et SIMD SWAR.
Avec une unité de calcul pipelinée découpée en N étages, on peut gérer N données simultanées : autant qu'il y a d'étapes différentes. Mais ce nombre maximal de données met un certain temps avant d'être atteint. L'unité de calcul met du temps avant d'arriver à son régime de croisière. Durant ce temps, elle n'a pas commencé à traiter suffisamment d’éléments pour que toutes les étapes soient occupées. Ce temps de démarrage est strictement égal du nombre d'étapes nécessaires pour effectuer une instruction. La même chose arrive vers la fin du vecteur, quand il ne reste plus suffisamment d’éléments à traiter pour remplir toutes les étapes.
[[File:Startup and dead time vector pipeline.png|centre|vignette|upright=2|Startup and dead time vector pipeline]]
Pour amortir ces temps de démarrage et de fin, certains processeurs démarrent une nouvelle instruction sans attendre la fin de la précédente : deux instructions peuvent se chevaucher pour remplir les vides. Par contre, il peut y avoir des problèmes lorsque deux instructions qui se suivent manipulent le même vecteur. Il faut que la première instruction ait fini de manipuler un élément avant que la suivante ne veuille commencer à le modifier. Pour cela, il faut avoir des vecteurs suffisamment qui contiennent plus d’éléments qu'il n'y a d'étapes pour effectuer notre instruction.
===La technique du ''chaining''===
La technique du pipeline peut encore être améliorée dans certains cas particuliers. L'idée est simplement d'ajouter la technique du contournement (''bypass'') à l'unité de calcul. Pour rappel, le contournement connecte la sortie de l'ALU à une de ses entrées, ce qui permet au résultat d'un calcul d'être réutilisable au cycle d’horloge suivant. L'usage du contournement sur les processeurs vectoriels porte le nom de '''''Vector Chaining'''''. Un processeur implémentant le ''chaining''/''bypass'' a toutes ses unités de calcul reliées entre elles : la sortie d'une unité est reliée aux entrées de toutes les autres.
Pour comprendre à quoi peut servir cette technique, on peut citer deux grands exemples principaux. Le premier avantage est que l'implémentation des instructions SIMD horizontales est beaucoup plus simple. C'est pour cela que les processeurs vectoriels intègrent souvent des instructions horizontales, et notamment des instructions arithmétiques horizontales. Le contraste avec les processeurs SIMD récents, qui utilisent plusieurs ALU travaillant en parallèle, est frappant. Ces derniers n’intègrent pas d'instructions horizontales arithmétiques, les seules opérations horizontales supportées sont généralement des permutations ou des instructions ''compress/expand'', guère plus.
Maintenant, introduisons une autre possibilité par un exemple. Dans cet exemple, on suppose que le processeur dispose d'une ALU pour l'addition et d'une autre pour la multiplication. Imaginons que l'on ait trois vecteurs nommés A, B et C. Pour chaque énième élément de ces paquets, je souhaite effectuer le calcul <math>A_n + B_n \times C_n</math>. En théorie, il faudrait faire d'abord la multiplication, stocker le résultat temporaire de la multiplication dans un registre vectoriel, puis faire l'addition. Mais en rusant un peu, on peut utiliser le pipeline plus efficacement. Une fois que le premier élément de la multiplication du premier vecteur est connu, pourquoi ne pas démarrer l'addition immédiatement après, et continuer la multiplication en parallèle ? Après tout, les deux calculs ont lieu dans des ALUs séparés. Et le contournement permet d'alimenter l'ALU d'addition avec la sortie du circuit multiplieur.
[[File:Vector chaining.png|centre|vignette|upright=2|Vector chaining]]
===La gestion des vecteurs de taille variable===
L'usage d'une unité de calcul pipelinée fait que la taille des vecteurs n'est pas forcément fixe. Autant les processeurs SIMD non-vectoriels disposent d'un nombre fixe d'unités de calcul, et peuvent donc gérer des vecteurs de taille fixe, autant ce n'est pas le cas des processeurs vectoriels. Une unité de calcul pipelinée à 16 étage peut utiliser les trois premiers pour traiter un vecteur de 3 élements, les 5 suivants pour un second vecteur de 5, et le reste pour un troisième vecteur. Reste que la gestion des vecteurs de taille variable doit être gérée au niveau du séquenceur, mais surtout : doit être permise au niveau du jeu d'instruction.
Pour cela, il faut ajouter au jeu d'instruction de quoi indiquer la taille du vecteur en cours de traitement. Et c'est le rôle d'un registre spécialisé, le '''Vector Length Register''', que de gérer les vecteurs de taille variable. Le ''Vector Length Register'' est un registre qui indique combien d’éléments on doit traiter dans un vecteur. On peut ainsi dire au processeur : je veux que tu ne traites que les 40 premiers éléments présents d'un paquet. Ils sont utilisés pour gérer des tableaux dont la taille n'est pas un multiple d'un vecteur. Quand on arrive à la fin d'un tableau, il suffit de configurer le ''Vector Length Register'' pour ne traiter que ce qu'il faut.
[[File:Vector length register.png|centre|vignette|upright=2|Vector length register.]]
Il facilite l'usage du '''déroulage de boucle''', une optimisation qui vise à réduire le nombre d'itérations d'une boucle en dupliquant son corps en plusieurs exemplaires. Le compilateur réplique le corps de la boucle (les instructions à répéter) en plusieurs exemplaires dans cette boucle, avant de corriger le nombre d'itérations de la boucle. Par exemple, prenons cette boucle, écrite dans le langage C :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; ++i)
{
a[i] = b[i] * 7 ;
}
</syntaxhighlight>
Celle-ci peut être déroulée comme suit :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
a[i] = b[i] * 7 ;
a[i+1] = b[i+1] * 7 ;
a[i+2] = b[i+2] * 7 ;
a[i+3] = b[i+3] * 7 ;
}
</syntaxhighlight>
Les instructions vectorielles permettent de traiter plusieurs éléments à la fois, ce qui fait que plusieurs tours de boucles peuvent être rassemblés en une seule instruction SIMD. Le déroulage de boucles permet d'exposer des situations où ce regroupement est possible. Dans notre exemple, si jamais notre processeur dispose d'une instruction de multiplication capable de traiter 4 éléments du tableau a ou b en une seule fois, la boucle déroulée peut être vectorisée assez simplement en utilisant une multiplication vectorielle (que nous noterons vec_mul).
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
vec_a[i] = vec_mul ( vec_b[i] , 7 ) ;
}
</syntaxhighlight>
Le déroulage de boucles n'est toutefois pas une optimisation valable pour toutes les boucles. Reprenons l'exemple de la boucle vue plus haut. Si jamais le tableau à manipuler a un nombre d’éléments qui n'est pas multiple de 4, la boucle ne pourra être vectorisée, vu que la multiplication vectorielle ne peut traiter que 4 éléments à la fois. Pour ce faire, les compilateurs utilisent généralement deux boucles : une qui traite les éléments du tableau avec des instructions SIMD, et une autre qui traite les éléments restants avec des instructions non vectorielles. Cette transformation s'appelle le '''strip-mining'''.
Par exemple, si je veux parcourir un tableau de taille fixe contenant 102 éléments, je devrais avoir une boucle comme celle-ci :
<syntaxhighlight lang="c">
int i;
for (i = 0; i < 100; i+=4)
{
a[i] = b[i] * 7 ;
a[i+1] = b[i+1] * 7 ;
a[i+2] = b[i+2] * 7 ;
a[i+3] = b[i+3] * 7 ;
}
for (i = 100; i < 102; ++i)
{
a[i] = b[i] * 7 ;
}
</syntaxhighlight>
Les processeurs vectoriels utilisent le ''Vector Length Register'' pour éviter d'utiliser le strip-mining. Avec ce registre, il est possible de demander aux instructions vectorielles de ne traiter que les n premiers éléments d'un vecteur : il suffit de placer la valeur n dans le ''Vector Length Register''. Évidemment, n doit être inférieur au nombre d’éléments maximal du vecteur. Avec ce registre, on n'a pas besoin d'une seconde boucle pour traiter les éléments restants, et une simple instruction vectorielle peut suffire.
L'avantage principal est que cela réduit la portion de code non-parallélisable, donc augmente l'efficience SIMD. Mais l'intérêt n'est pas qu'une question de code. Il faut aussi prendre en compte que cela permet d'utiliser l'ALU plus efficacement. Dès qu'un vecteur court est terminé, le processeur peut immédiatement démarrer le calcul d'un autre vecteur, le vecteur suivant, l'instruction suivante, sans laisser de cycles inutilisés. Avec un processeur SIMD non-vectoriel, on aurait du utiliser de la prédication, donc utiliser seulement une partie des ALU SIMD, ce qui aurait été un gâchis.
===Les accès mémoire===
Les accès mémoire des processeurs vectoriels sont sensiblement les mêmes que ceux des autres processeurs SIMD. Les instructions d'accès mémoire sont les mêmes, on retrouve les modes d'adressages précédents, dont les accès en ''scatter-gather'' et en ''stride''.
Sur certains processeurs vectoriels, les instructions vectorielles lisent et écrivent en mémoire RAM, sans passer par des registres : on parle de '''processeurs vectoriels mémoire-mémoire'''. Elles n'avaient pas d'instructions LOAD et STORE, les instructions arithmétiques géraient directement la lecture des opérandes en mémoire, et incrémentaient automatiquement les adresses à lire/écrire. Elles pouvaient gérer des vecteurs de taille arbitraire, la gestion d'un tableau se faisait parfois en une seule instruction ! Le problème est que l'absence de registres pour stocker les données lues réduisait grandement les performances.
[[File:Processeur vectoriel mémoire-mémoire.png|centre|vignette|upright=2|Processeur vectoriel mémoire-mémoire]]
Les processeurs vectoriels mémoire-mémoire étaient cependant minoritaires, la grosse majorité des processeurs vectoriels récents possèdent des registres vectoriels dédiés aux vecteurs. La plupart sont des architectures de type LOAD-STORE, mais pas toute. De fait, il n'y a pas de lien strict entre adressage des opérandes et processeurs vectoriel (ou SIMT). Seuls les processeurs SIMD de type SWAR ont une restriction là-dessus et sont systématiquement des architectures LOAD-STORE.
[[File:Processeur vectoriel à registres vectoriels.png|centre|vignette|upright=2|Processeur vectoriel à registres vectoriels.]]
Il faut noter que l'implémentation des accès mémoire est potentiellement différente de celle des autres processeurs SIMD. En principe, on peut utiliser une implémentation identique entre les deux. Mais le fait que les processeurs vectoriels sont pipelinés fait qu'il est préférable d'utiliser une implémentation différente, qui se base sur une RAM ou des caches pipelinés. Vu que l'ALU reçoit une/deux opérandes par cycle, l'idéal est que la mémoire ou le cache aillent au même rythme et soient donc pipelinés.Bien sur, il est possible d'utiliser une implémentation plus classique, avec des caches multiports, un chargement en plusieurs fois des vecteurs depuis le cache, des circuits pour réorganiser les accès mémoire, etc.
En théorie, les architectures vectorielles font peu usage de mémoires cache. Les transferts entre registres vectoriels et mémoire RAM sont directs, sans intermédiaire. La raison est que les applications qui tirent parti du SIMD ont une bonne localité spatiale, mais une mauvaise localité temporelle. Or, les caches de données profitent surtout de la localité temporelle pour donner de bonnes performances. De plus, rappelons que les processeurs vectoriels sont assez anciens et datent d'une époque où les transistors étaient précieux. Il valait mieux utiliser des transistors dans un gros cache d'instruction que pour un cache de donnée peu efficace.
==Les systèmes SIMD à plusieurs processeurs : le SIMT==
Enfin, terminons avec le dernier type de SIMD, qui date du tout début de l'informatique : celui où on combine plusieurs processeurs non-SIMD. L'idée est de synchroniser plusieurs processeurs de manière à ce qu'ils exécutent la même instruction en même temps, chacun sur des données différentes. On parle d''''exécution ''lockstep''''' des instructions. Toute la difficulté est de garantir la synchronisation des processeurs, garantir que tous les processeurs exécutent la même instruction. Ce qui pose problème quand des branchements sont impliqués, des processeurs pouvant prendre le branchement et pas les autres.
===Les ''array processors'' des temps anciens===
Les premières architectures matérielles conçues pour le parallélisme de données étaient de ce type. On peut par exemple citer l'exemple des Thinking machines CM-1 et CM-2, qui exécutaient tous la même instruction au même cycle d'horloge sur 64000 processeurs minimalistes. Un autre exemple est celui de l'ILLIAC IV. Historiquement, le terme utilisé pour désigner de telles architectures était '''array processors''', encore que ce terme fût réservé aux systèmes multiprocesseurs. Par la suite, le terme ''Single Instruction Multiple Threads'', ou SIMT, a été utilisé. Mais ce terme a ensuite été repris par le marketing de NVIDIA pour désigner une technique précise de SIMD avec prédication, utilisée sur ses cartes graphiques récentes. Le mauvais usage de la terminologie fait que le terme SIMT est devenu polysémique et quelque peu trompeur.
L'ILLIAC 4 était un ordinateur un peu particulier, presque unique en son genre. Son architecture était composé d'un processeur principal couplé à plusieurs processeurs secondaires. Il y avait en tout un processeur principal et 64 processeurs secondaires.
Le processeur principal chargeait les instructions depuis la mémoire, les décodaient, puis envoyait les instructions aux processeurs secondaires. Le processeur principal était le seul à avoir un ''program counter'', il était utilisé pour gérer les boucles, ainsi que pour configurer les instructions à prédication. Cependant, le processeur principal n'était pas un simple séquenceur : il pouvait exécuter des instructions, avait un accumulateur et des registres, etc. Il prenait en charge toute instruction non-SIMD, alors que les instructions SIMD étaient envoyées aux processeurs secondaires.
Les 64 processeurs secondaires avaient chacun : une unité de calcul, un ''local store'' de 2048 flottants de 64 bits, une unité mémoire. Ils n'ont pas de séquenceur ni de ''program counter'', ni de quoi charger une instruction. L'unité de calcul est appelée un ''processing element'' ou PE. Elle intègre un additionneur flottant, de quoi faire des décalages, et une unité de calcul logique. De plus, un PE intègre des registres accumulateurs et de quoi calculer des adresses : un registre d'indice, un registre d'adresse, un circuit de calcul d'adresse. L'unité mémoire connectait l'ALU entière PE et le ''local store'', et elle permettait aussi d'adresser des entrées-sorties. Pour gérer la prédication, les processeurs secondaires pouvaient être activés ou désactivés suivant le résultat des branchements/conditions.
Intuitivement, on peut faire le rapprochement avec un processeur SIMD. Le processeur principal regrouperait la partie non-SIMD d'un processeur SIMD, alors que les processeurs secondaires seraient l'unité de calcul SIMD. Cependant, il y a une différence très importante : il n'y a pas de banc de registre vectoriel. À la place, chaque processeur secondaire a son propre banc de registre, et ce sont des registres scalaires ! Une autre différence est que la mémoire RAM est découpée en plusieurs ''local store'' de 2048 adresses, chacun étant relié à une unité de calcul PE. N'oublions pas le système de calcul d'adresse et l'unité LOAD/STORE qui est fusionnée avec l'unité SIMD, chaque PE ayant ses circuits de calcul d'adresse, sa propre unité mémoire, etc.
===Les anciennes cartes graphiques hybrides SIMD-VLIW===
Une technique de SIMD multi-processeur a été utilisée autrefois sur certaines cartes graphiques AMD à architecture Terascale. La différence est que l'architecture en question était multicœur et non multi-processeurs. Elles contenaient plusieurs cœurs VLIW, qui fonctionnaient en ''lockstep''. Un groupe de 16 processeurs VLIWs exécutaient la même opération VLIW. Du moins, c'est ce que semblent dire les [https://www.techpowerup.com/gpu-specs/docs/amd-gcn1-architecture.pdf white papers de présentation de l'architecture GCN]. L'usage de cet hybride SIMD-VLIW était très adapté au traitement graphique.
Les cartes graphiques post-années 2000 sont capables d'exécuter des programmes appelés des '''''shaders''''', qui sont utilisés en rendu 3D, pour calculer certaines scènes 3D, et notamment pour calculer les ombres (d'où leur nom de shader, pour shade - ombre). Or, ces shaders sont justement exécutés par la carte graphique, sur les processeurs de shaders. Un processeur de ''shader'' applique un programme/''shader'' sur chaque ''pixel'' ou triangle d'une scène 3D (en fait des fragments et des vertices, mais faisons cette simplification). Chaque triangle ou pixel d'une scène 3D peut être traité indépendamment des autres, ce qui rend le traitement 3D fortement parallèle. Aussi, l'usage du SIMD est assez naturel : chaque processeur exécute un ''shader'' sur un pixel/triangle, utiliser une architecture SIMD parait naturel. Reste à justifier l'usage de plusieurs CPU VLIW.
La raison tient dans la manière dont est traité un pixel par un shader. Un pixel est codé en utilisant quatre informations. Premièrement, une couleur codée avec trois nombres flottants, qui représentent une couleur au format RGB avec un mélange de rouge, vert et bleu, chaque couleur rouge/bleu/vert étant codée avec un flottant de 32 bits. La quatrième information est un nombre qui code la transparence du pixel. Généralement, le shader traite différemment la transparence de la couleur RGB, dans le sens où les instructions utilisées ne sont pas les mêmes. Au lieu de traiter couleur RGB et transparence séparément, elles sont traitées en même temps en parallèle, ce qui demande de pouvoir émettre deux instructions : une pour le calcul de la transparence, une autre pour la couleur RGB. Fait amusant, l'instruction utilisée pour gérer la composante RGB est une instruction vectorielle qui travaille sur des vecteurs de 3 couleurs. Les architectures VLIW sont parfaites pour cela.
Les cartes graphiques de l'époque de DirectX 9 utilisaient cette méthode qui mélangeait SIMD et VLIW. Elles disposaient de plusieurs cœurs VLIW qui exécutaient le même shader en exécution ''lockstep''. Chaque cœur traitait au moins un pixel à la fois, ou un triangle à la fois. Cependant, nous devons préciser que les cœurs VLIW partagent la même unité de contrôle, ce sont en réalité des chemins de données plus qu'autre chose. L'architecture était aussi combinée avec du ''Fine Grained Multithreading'' afin de pouvoir gérer les accès mémoire, de telles architectures ne pouvant pas se permettre d'utiliser l'exécution dans le désordre. De telles architectures multicœurs à exécution ''lockstep'' permettent quelques optimisations, comme le fait de partager le cache d'instruction entre les cœurs.
==Résumé des différents types de processeurs SIMD==
Dans ce chapitre, nous avons appris qu'il existe plusieurs catégories de processeurs SIMD. Les différences entre ces catégories tiennent à la fois dans le jeu d'instruction, mais aussi dans la microarchitecture des processeurs en question.
Au niveau du jeu d'instruction, il y a trois paliers, qui sont résumés dans le tableau ci-dessous.
{|class="wikitable"
|-
!
! Support de la prédication
! Taille des vecteurs
! Instructions horizontales
! Architecture LOAD-STORE
! Pointeur de pile
|-
! Processeurs SIMD purs
| Non
| rowspan="3" | Fixe
| rowspan="3" | Limitées à des échanges de données à l'intérieur d'un vecteur, pas d'instructions de réduction
| Oui
| rowspan="2" | Unique
|-
! Processeurs SIMD avec prédication
| Oui, par définition
| rowspan="3" | Dépend du processeur
|-
! Processeurs SIMT
| rowspan="2" | Oui, sauf exceptions
| Un pointeur de pile possible par élément du vecteur
|-
! Processeurs vectoriels
| Variable
| Toutes supportées, y compris les instructions arithmétiques horizontales
| Unique
|}
Au niveau de la microarchitecture, il y a trois paliers, qui sont résumés dans le tableau ci-dessous.
{|class="wikitable"
|-
!
! Unité de calcul
! Banc de registre
! Adressage des opérandes
|-
! Processeurs SIMD
| rowspan="2" | Plusieurs ALU simples non-pipelinée, plusieurs additionneurs/multiplieurs/autres
| Banc de registres vectoriels
| Architecture LOAD-STORE
|-
! Processeurs SIMT
| Plusieurs bancs de registres scalaires (non-vectoriels, registres normaux)
| rowspan="2" | Dépend du processeur
|-
! Processeurs vectoriels
| ALU simple unique, pipelinée
| Banc de registres vectoriels
|}
Les processeurs SIMD purs ont des performances différentes des processeurs vectoriels, vu que les premiers font leurs calculs en parallèle, alors que les CPU vectoriels utilisent un pipeline. Mais dans les grandes lignes, les performances sont similaires. Les différences sont grandement atténuées par l'usage du ''vector chaining'', de la gestion des vecteurs de taille variables, et des autres optimisations spécifiques aux processeurs vectoriels. L'avantage est cependant du côté des processeurs SIMD pur.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Architectures multithreadées et Hyperthreading
| prevText=Architectures multithreadées et Hyperthreading
| next=La cohérence des caches
| nextText=La cohérence des caches
}}
{{autocat}}
</noinclude>
el1iizv8vjgx0kwj1zl7z92zuonzars
Mathc initiation/a563
0
81023
772238
771749
2026-09-15T14:10:32Z
Xhungab
23827
772238
wikitext
text/x-wiki
__NOTOC__
[[Catégorie:Mathc initiation (livre)]]
[[Mathc initiation/a512#* La transformée de Laplace : Multiplication par t^n| Sommaire]]
{{Partie{{{type|}}}|La transformée de Laplace : Division par t}}
Copier la bibliothèque dans votre répertoire de travail :
* [[Mathc_initiation/a561|x_afile.h ............. Déclaration des fichiers h]]
* [[Mathc initiation/Fichiers h : c30a2|x_def.h .............. Déclaration des utilitaires]]
* [[Mathc initiation/Fichiers h : z_rzz|x_dx.h ............... Intégrale simple]]
* [[Mathc initiation/a515|x_lt_dt.h ............ L'intégrale]]
* [[Mathc_initiation/a560|f*.h]]
.
* '''Comparons le résultat de l'intégrale et celui de la formule en f(s)''' :
** [[Mathc_initiation/a562|c00b.c]]
'''/+oo'''
Si L{F(t)} = f(s) alors '''L{F(t)/t} = | f(u) du''' Si lim F(t)/t t->0 existe.
'''/s'''
/+oo
F(t) f(s) L{F(t)/t} = | f(u) du
/s
sin(t) 1/(s^2+1) L{sin(t)/t} = Int 1/(u^2+1) du soit : 1/2 (π - 2 tan^(-1)(s))
sinh(t) 1/(s^2-1) L{sinh(t)/t} = Int 1/(u^2-1) du soit : 1/2 (ln(1-s)-ln(1+s))
lim t->0 sin(t)/t = 1
lim t->0 sinh(t)/t = 1
'''La transformée de Laplace, Division par t'''
Présentation du problème :
* Soit F(t) une fonction, et soit f(s) sa transformée de Laplace :
/+oo
|
L{F(t)} = | exp(-s t) F(t) dt = f(s)
|
/0
* La propriété de la Division par t de la transformée de Laplace nous permet d'écrire :
/+oo
L{F(t)/t} = | f(u) du Si lim F(t)/t t->0 existe.
/s
* Nous obtenons donc :
/+oo
| /+oo
| exp(-s t) [F(t)/t] dt = | f(u) du
| /s
/a
'''* Conclusion :'''
Si nous connaissons f(s), la transformée de Laplace d'une fonction F,
Si nous souhaitons connaitre la transformée de Laplace de la Division par t.
Il suffit d'utiliser :
/+oo
L{F(t)/t} = | f(u) du Si lim F(t)/t t->0 existe.
/s
Vérifions avec :
* [https://www.wolframalpha.com/ Mathematica]
* [https://www.wolframalpha.com/input?i=laplace+transform Laplace transform]
* [https://www.wolframalpha.com/input?i=limit+calculator Limit calculator]
integrate (1/(u^2+1)) du from u=.5 to infinity
Dans l'autre sens on a :[[Mathc initiation/a555|'''La transformée Inverse de Laplace de l'intégrale de f(s)''']]
{{AutoCat}}
f09cy7sqchqig6xf9br2qlz57d6xwi7
772239
772238
2026-09-15T14:11:22Z
Xhungab
23827
772239
wikitext
text/x-wiki
__NOTOC__
[[Catégorie:Mathc initiation (livre)]]
[[Mathc initiation/a512#* La transformée de Laplace : Multiplication par t^n| Sommaire]]
{{Partie{{{type|}}}|La transformée de Laplace : Division par t}}
Copier la bibliothèque dans votre répertoire de travail :
* [[Mathc_initiation/a561|x_afile.h ............. Déclaration des fichiers h]]
* [[Mathc initiation/Fichiers h : c30a2|x_def.h .............. Déclaration des utilitaires]]
* [[Mathc initiation/Fichiers h : z_rzz|x_dx.h ............... Intégrale simple]]
* [[Mathc initiation/a515|x_lt_dt.h ............ L'intégrale]]
* [[Mathc_initiation/a560|f*.h]]
.
* '''Comparons le résultat de l'intégrale et celui de la formule en f(s)''' :
** [[Mathc_initiation/a562|c00b.c]]
'''/+oo'''
Si L{F(t)} = f(s) alors '''L{F(t)/t} = | f(u) du''' Si lim F(t)/t t->0 existe.
'''/s'''
/+oo
F(t) f(s) L{F(t)/t} = | f(u) du
/s
sin(t) 1/(s^2+1) L{sin(t)/t} = Int 1/(u^2+1) du soit : 1/2 (π - 2 tan^(-1)(s))
sinh(t) 1/(s^2-1) L{sinh(t)/t} = Int 1/(u^2-1) du soit : 1/2 (ln(1-s)-ln(1+s))
lim t->0 sin(t)/t = 1
lim t->0 sinh(t)/t = 1
'''La transformée de Laplace, Division par t'''
Présentation du problème :
* Soit F(t) une fonction, et soit f(s) sa transformée de Laplace :
/+oo
|
L{F(t)} = | exp(-s t) F(t) dt = f(s)
|
/0
* La propriété de la Division par t de la transformée de Laplace nous permet d'écrire :
/+oo
L{F(t)/t} = | f(u) du Si lim F(t)/t t->0 existe.
/s
* Nous obtenons donc :
/+oo
| /+oo
| exp(-s t) [F(t)/t] dt = | f(u) du
| /s
/a
'''* Conclusion :'''
Si nous connaissons f(s), la transformée de Laplace d'une fonction F,
Si nous souhaitons connaitre la transformée de Laplace de la Division par t.
Il suffit d'utiliser :
/+oo
L{F(t)/t} = | f(u) du Si lim F(t)/t t->0 existe.
/s
Vérifions avec :
* [https://www.wolframalpha.com/ Mathematica]
* [https://www.wolframalpha.com/input?i=laplace+transform Laplace transform]
* [https://www.wolframalpha.com/input?i=limit+calculator Limit calculator]
Dans l'autre sens on a :[[Mathc initiation/a555|'''La transformée Inverse de Laplace de l'intégrale de f(s)''']]
{{AutoCat}}
2li8cus9dfbo3zl0erzl6fl8serp4wc
Dictionnaire de philosophie/A priori
0
82998
772244
772236
2026-09-16T00:50:37Z
PandaMystique
119061
772244
wikitext
text/x-wiki
{{DicoPhilo|A priori|lecture=oui}}
L'expression ''a priori'' (littéralement « à partir de ce qui précède » en latin) désigne, dans son sens épistémologique moderne, ce qui peut être connu ou justifié indépendamment de l'expérience. L'antériorité dont parle le mot n'est pas chronologique : elle ne signifie pas que la connaissance ''a priori'' précéderait dans le temps toute expérience, ni que l'expérience soit inutile pour apprendre les concepts ou acquérir la capacité de raisonner ; elle signifie que la justification de cette connaissance ne dépend pas de l'expérience. Apparue dans le vocabulaire logique du Moyen Âge, où elle qualifiait d'abord un ordre de démonstration, cette expression a reçu d'Emmanuel Kant, au XVIII{{e}} siècle, sa formulation moderne et systématique, qui oppose ce qui est connu indépendamment de l'expérience (l{{'}}''a priori'') à ce qui provient de l'expérience empirique (l{{'}}''a posteriori'').<ref>Kant, E., ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006, Introduction, B1-B6.</ref> Comprendre cette distinction permet de saisir comment s'articulent, dans notre connaissance du monde, les contributions respectives de notre esprit et de notre expérience sensible. Elle engage aussi une question plus large : y a-t-il des vérités que nous pouvons établir depuis notre fauteuil, sans ouvrir les yeux sur le monde, et, si oui, d'où leur vient cette autorité ?
== Une distinction que chacun pratique ==
Avant toute théorie, la distinction se laisse reconnaître dans des exemples. Pour savoir s'il fait beau, il faut ouvrir les yeux ou consulter quelqu'un qui l'a fait ; pour savoir que s'il fait beau, alors il fait beau, nul besoin de regarder par la fenêtre. Les deux propositions parlent du même temps qu'il fait, mais l'expérience n'y joue pas le même rôle. Timothy Williamson et Paul Boghossian, qui s'opposent sur presque tout le reste, s'accordent sur ce point de départ : de tels exemples sont « projectibles », c'est-à-dire que nous savons, à partir d'eux, classer de nouveaux cas avec un bon degré d'accord, sans nous être concertés.<ref>Williamson, T., « How Deep is the Distinction between A Priori and A Posteriori Knowledge? », in P. Boghossian et T. Williamson, ''Debating the A Priori'', Oxford UP, 2020, p. 117 ; Boghossian, P., « Do We Have Reason to Doubt the Importance of the Distinction between A Priori and A Posteriori Knowledge? », in ''Debating the A Priori'', 2020, p. 137-138.</ref> Que tous les carrés aient quatre côtés, que rien ne puisse être entièrement rouge et entièrement vert au même instant, que deux cercles de rayons différents se coupent en deux points au plus, voilà des connaissances que nous rangeons spontanément du côté de l{{'}}''a priori''. Que toutes les tables de bois soient carrées, ou que ce volume-ci soit rouge, il faudrait aller voir.
Un second exemple, proposé par Boghossian et Christopher Peacocke, précise ce que veut dire « indépendant de l'expérience ». Vous reconnaissez, dans un restaurant, un violoncelliste célèbre : votre souvenir d'une photographie, votre croyance que ce visage en est une version vieillie et votre perception actuelle concourent à produire votre croyance, et c'est bien votre expérience visuelle qui vous y autorise. Comparez maintenant avec quelqu'un qui apprend une vérité logique en lisant une démonstration : voir les lignes écrites cause sa croyance, mais ce qui l'y autorise est la démonstration elle-même, non le fait de l'avoir vue sur le papier. Il faut donc distinguer soigneusement la relation de causalité et la relation de justification, ou, pour reprendre leur mot, d{{'}}''entitlement''.<ref>Boghossian, P. et Peacocke, C., « Introduction », in P. Boghossian et C. Peacocke (éds.), ''New Essays on the A Priori'', Clarendon Press, 2000, p. 1-2.</ref> L'expérience peut être nécessaire pour accéder à une justification sans faire partie de cette justification. C'est cette idée, présente chez Leibniz déjà, que la tradition résume en disant que l'expérience joue un rôle habilitant (''enabling'') et non un rôle probant (''evidential'') dans la connaissance ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 2 ; Williamson, T., « How Deep is the Distinction... », 2020, p. 119 ; Mares, E., ''A Priori'', Routledge, 2014, p. 4-5.</ref>
== Origines historiques de la notion ==
=== Racines anciennes et médiévales ===
La distinction entre ce que l'on connaît par la seule pensée et ce que l'on connaît par l'observation trouve ses premières formulations dans l'Antiquité. Platon opposait la connaissance sensible, changeante et imparfaite, à la connaissance intelligible des Idées, éternelles et nécessaires.<ref>Platon, ''La République'', VI-VII (allégorie de la Ligne et de la Caverne), trad. G. Leroux, Garnier-Flammarion, 2004.</ref><ref>Platon, ''Ménon'', 80d-86c (le passage de la réminiscence géométrique), trad. M. Canto-Sperber, Garnier-Flammarion, 1993.</ref> Les vérités mathématiques, par exemple, semblaient ne pas dépendre de l'observation : que la somme des angles d'un triangle égale deux angles droits apparaît comme une vérité universelle et nécessaire, que l'on ne découvre pas par la mesure répétée de triangles concrets, mais que l'on saisit par l'intelligence. Pensons à l'esclave du ''Ménon'' : Socrate ne lui apprend rien, il l'interroge, et le jeune homme finit par voir que la diagonale d'un carré permet d'en construire un autre d'aire double. Nous aussi, lecteurs, nous voyons que la réponse est juste sans rien mesurer ; c'est ce que Platon met au compte de la réminiscence, et ce que nous appellerions aujourd'hui un raisonnement ''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 1-2 et p. 55 ; sur l'argument du ''Ménon'', p. 60-61.</ref>
Les termes mêmes d{{'}}''a priori'' et d{{'}}''a posteriori'' n'apparaissent toutefois qu'au Moyen Âge, et dans un sens différent. Ils traduisent une distinction d'Aristote entre ce qui est antérieur et plus connaissable par nature (la cause) et ce qui est antérieur et plus connaissable pour nous (l'effet, que nous percevons d'abord).<ref>[[Dictionnaire de philosophie/Aristote|Aristote]], ''Seconds Analytiques'', I, 2, 71b33-72a5, trad. P. Pellegrin, Garnier-Flammarion, 2005.</ref> Jean Grondin rappelle que tout dictionnaire fait venir ''a priori'' du grec ''proteron'', ce qui est antérieur ou premier : un comparatif, qui désigne un rapport d'antériorité à l'égard de ce qui est postérieur, ''hysteron''. Aristote passe en revue les sens de cette antériorité au chapitre 12 des ''Catégories'' et au livre Delta de la ''Métaphysique'', et la distinction la plus féconde est celle de l'antérieur selon la nature (les causes les plus universelles, les plus éloignées des sens) et de l'antérieur pour nous (les objets les plus proches des sens) ; en termes kantiens, note malicieusement Grondin, on parlerait presque d'un ''a priori'' objectif et d'un ''a priori'' subjectif. Deux traits de cette analyse marqueront toute l'histoire de la notion : la souveraineté de l'antérieur, qui ne se démontre pas en d'autres termes que les siens, et la dépendance du postérieur à son égard, la cause précédant irréversiblement ses effets.<ref>Grondin, J., ''Kant et le problème de la philosophie : l'a priori'', Vrin, 1989, p. 22-23 ; Aristote, ''Catégories'', 12, 14a35 sq. ; ''Métaphysique'', Δ, 11, 1018b30 sq.</ref> C'est au chapitre 13 des ''Seconds Analytiques'' que se trouve la distinction des démonstrations ''propter quid'' (par la cause) et ''quia'' (par le fait), d'où les termes médiévaux tireront leur sens.<ref>Aristote, ''Seconds Analytiques'', I, 13, 78a22 sq. ; Palkoska, J., ''The A Priori in the Thought of Descartes. Cognition, Method and Science'', Cambridge Scholars Publishing, 2017, p. 319-320.</ref>
Dans le vocabulaire logique de la scolastique, une démonstration ''a priori'' va de la cause à l'effet, du « premier » vers le « second » ; une démonstration ''a posteriori'' remonte de l'effet à la cause. Thomas d'Aquin, au moment de prouver l'existence de Dieu, rappelle cette distinction entre la démonstration ''propter quid'', qui procède par ce qui est antérieur en soi, et la démonstration ''quia'', qui procède par ce qui est antérieur pour nous.<ref>Thomas d'Aquin, ''Somme théologique'', Ia, q. 2, a. 2, resp., trad. A.-M. Roguet, Cerf, 1984.</ref> C'est au XIV{{e}} siècle que les mots eux-mêmes se fixent : Jan Palkoska situe la première occurrence documentée de « démonstration ''a priori'' » pour la preuve ''propter quid'' et de « démonstration ''a posteriori'' » pour la preuve ''quia'' dans la ''Somme de logique'' de Guillaume d'Ockham (vers 1323), et l'identification des deux couples se trouve scellée peu après chez Albert de Saxe (vers 1355) : la démonstration qui procède des causes aux effets s'appelle ''a priori'', celle qui remonte des effets aux causes ''a posteriori''.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 320-321 ; Guillaume d'Ockham, ''Summa logicae'', III-2, c. 17 ; Albert de Saxe, ''Quaestiones super libros Posteriorum'', I, q. 9.</ref> Palkoska met en garde contre une confusion tentante : les preuves ''a posteriori'' ne sont pas, pour ces auteurs, des preuves empiriques, ni les preuves ''a priori'' des preuves non empiriques ; il est facile de construire une démonstration qui remonte de l'effet à la cause sans rien devoir aux sens, et une démonstration qui descend de la cause à l'effet à partir de prémisses empiriques.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 322.</ref> Cette acception est donc très différente de celle que Kant leur donnera plus tard : chez les scolastiques, il ne s'agit pas encore d'un rapport à l'expérience sensible, mais d'un ordre entre causes et effets dans la démonstration.
Cette intelligence scolastique reste en vigueur jusqu'à Descartes, qui emploie les deux termes une quinzaine de fois, presque toujours pour qualifier une manière de démontrer.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 2.</ref> Dans le ''Traité de la lumière'', il promet à qui saura tirer les conséquences de ses règles de connaître les effets par leurs causes et d'avoir, « pour m'expliquer en les termes de l'École », des démonstrations ''a priori'' de tout ce que le nouveau monde peut produire ; dans les ''Méditations'', la preuve ''a posteriori'' de l'existence de Dieu se fait par les effets, tandis que la preuve dite ''a priori'', héritée d'Anselme, part du seul concept de Dieu. Grondin observe le glissement qui s'opère ici : la démonstration ''a priori'', la plus noble aux yeux de Descartes, devient une preuve purement conceptuelle, menée sans le concours de l'expérience, de sorte que l'expression finit par désigner non plus le cheminement d'une preuve, mais la source d'une connaissance.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 24 ; Descartes, R., ''Le Monde ou Traité de la lumière'', AT XI, 47 ; lettre à Mersenne, AT I, 490.</ref>
Palkoska montre que l'usage cartésien ne s'accorde pourtant ni avec le sens kantien ni tout à fait avec le sens scolastique : lorsque Descartes, dans les ''Secondes Réponses'', présente l'analyse comme la voie qui montre comment une chose a été découverte, il l'appelle ''a priori'', alors que la tradition aristotélicienne, qui fait aller l'analyse des effets aux causes, l'aurait dite ''a posteriori''.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 1-3 et p. 344-346 ; Descartes, R., ''Secondes Réponses'', AT VII, 155-156.</ref>
Ce que la scolastique reconnaissait par ailleurs, c'est qu'il existe des propositions évidentes dès que l'on en comprend les termes ; Leibniz dira qu'on trouve « cent endroits » où les scolastiques l'affirment.<ref>Casullo, A., ''A Priori Justification'', Oxford UP, 2003, p. 20 (citant Leibniz d'après Chisholm).</ref>
C'est au cours du XVII{{e}} et du XVIII{{e}} siècle que les termes glissent vers leur sens épistémologique moderne, celui d'une opposition entre connaissance indépendante de l'expérience et connaissance tirée de l'expérience : la distinction passe de la scolastique à Descartes, Leibniz et Berkeley, avant que Kant ne fixe pour de bon la terminologie.<ref>Warren, J., ''The A Priori Without Magic'', Cambridge UP, 2022, p. 8.</ref> Chez Leibniz, la démonstration ''a priori'' d'une proposition est celle qui peut s'effectuer indépendamment de l'expérience, ''independens ab experimento'', en montrant que le prédicat est contenu dans le sujet, de sorte que connaissance ''a priori'' et connaissance analytique deviennent chez lui des synonymes ; et les ''Nouveaux essais'', achevés vers 1704 mais publiés en 1765 seulement, paraissent juste avant que Kant n'engage sa réflexion critique, dont le débat avec l{{'}}''a priori'' sera toujours un débat avec Leibniz.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 24-25.</ref> Selon Tyler Burge, c'est à Leibniz que revient la première explication moderne de la notion : une vérité est ''a priori'' si elle peut être connue indépendamment de l'expérience, ce qui n'empêche pas que l'on dépende psychologiquement de l'expérience pour parvenir à la connaître.<ref>Burge, T., « Frege on Apriority », in ''New Essays on the A Priori'', 2000, p. 13.</ref> Burge observe aussi qu'à l'époque moderne, « expérience » en est venu à signifier expérience sensible, ce qui n'allait pas de soi chez Leibniz, pour qui une expérience intellectuelle restait concevable.<ref>Burge, T., « Frege on Apriority », 2000, p. 40-41.</ref> Palkoska souligne pour sa part combien reste peu étudiée la question de savoir pourquoi Kant a employé le couple ''a priori'' / ''a posteriori'' dans un sens qui s'écarte à ce point de celui, bien établi, de la longue tradition aristotélicienne qu'il connaissait.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 2.</ref>
=== Le débat entre rationalistes et empiristes ===
Au XVII{{e}} siècle, la philosophie de la connaissance se structure autour d'un débat entre rationalistes et empiristes. Pour les rationalistes, Descartes, Spinoza, Leibniz, la raison possède des idées innées ou des principes indépendants de l'expérience : l'idée d'infini, les principes logiques (principe de contradiction, principe de raison suffisante), les vérités mathématiques.<ref>[[Dictionnaire de philosophie/René Descartes|Descartes]], R., ''Méditations métaphysiques'', 1641, III (idée d'infini), éd. J.-M. Beyssade et M. Beyssade, Garnier-Flammarion, 2011.</ref><ref>Leibniz, G. W., ''Nouveaux essais sur l'entendement humain'', 1765, Préface et I, 1, éd. J. Brunschwig, Garnier-Flammarion, 1990.</ref> Ces vérités seraient universelles, nécessaires, et connaissables par la seule raison. Les trois grands rationalistes accordent tous une place privilégiée à une connaissance claire, distincte ou évidente par elle-même, que Mares rapproche des « idées claires et distinctes » de Descartes ; l{{'}}''Éthique'' de Spinoza s'ouvre sur des définitions et des axiomes tenus pour évidents, dont tout le reste se déduit.<ref>Mares, E., ''A Priori'', 2014, p. 34-37.</ref> Pour les empiristes, Locke, Berkeley, Hume, c'est d'abord l'origine de nos idées qui est en cause : aucune idée, aucun contenu substantiel ne précède l'expérience, et avant toute expérience notre esprit serait comme une « page blanche » (''tabula rasa''). Cette thèse sur l'origine des idées ne revient pas à dire que toute proposition doive être vérifiée par l'observation, et nous verrons dans un instant que les empiristes eux-mêmes réservent une place à des vérités que l'on établit sans elle.<ref>Locke, J., ''Essai sur l'entendement humain'', 1689, II, 1, § 2, trad. J.-M. Vienne, Vrin, 2001.</ref><ref>Hume, D., ''Enquête sur l'entendement humain'', 1748, IV, trad. A. Leroy, rév. M. Beyssade, Garnier-Flammarion, 2006.</ref> Contre les idées innées, Locke exige un « consentement universel » : les principes prétendument innés, comme « ce qui est, est », les enfants et les simples ne les ont pas, et personne ne les a avant d'y avoir pensé. Leibniz répond que l'expérience seule ne fournit pas de règles d'inférence fiables et que certaines idées, l'être, l'unité, la substance, la durée, ne peuvent venir des sens. Mais les deux ne parlent pas tout à fait de la même chose : Locke attaque des croyances innées, Leibniz défend des concepts innés.<ref>Mares, E., ''A Priori'', 2014, p. 56 ; Locke, J., ''Essai sur l'entendement humain'', I, 1-2.</ref>
Les empiristes ne nient pas qu'il existe des propositions dont la vérité peut être établie sans recourir à l'observation. Mais chaque auteur formule cette idée dans son propre vocabulaire. Locke distingue, au sein de notre connaissance, ce qui repose sur la perception de rapports entre idées (''agreement or disagreement of ideas'') et ce qui porte sur l'existence réelle des choses : les vérités mathématiques et morales relèvent du premier type et peuvent être connues avec certitude, sans dépendre de l'observation du monde extérieur.<ref>Locke, J., ''Essai sur l'entendement humain'', IV, 3, § 18-20 ; IV, 9, § 1.</ref> Hume, de son côté, oppose les « relations d'idées » (les propositions de la géométrie, de l'algèbre, de l'arithmétique, « découvertes par la seule opération de la pensée ») aux « choses de fait », fondées sur l'expérience.<ref>Hume, D., ''Enquête sur l'entendement humain'', IV, 1.</ref> Leibniz, quant à lui, rationaliste mais interlocuteur principal des empiristes, distingue « vérités de raison » (nécessaires, fondées sur le principe de contradiction) et « vérités de fait » (contingentes, fondées sur le principe de raison suffisante).<ref>Leibniz, G. W., ''Monadologie'', 1714, § 33.</ref> Notons que ni Leibniz ni Frege, qui le suit sur ce point, ne tiennent les vérités de raison pour moins « factuelles » que les vérités de fait : elles ne sont pas de purs mots, elles portent sur ce qui est nécessaire à la nature même des choses.<ref>Burge, T., « Frege on Apriority », 2000, p. 16.</ref>
Il serait toutefois anachronique de projeter sur ces auteurs la grille conceptuelle kantienne. Les distinctions entre ''a priori'' et ''a posteriori'', entre analytique et synthétique, entre nécessaire et contingent, que Kant présente comme orthogonales, ne se recoupent pas chez les classiques de la même façon qu'elles le feront plus tard. L'identification systématique de l{{'}}''a priori'' avec l'analytique et le nécessaire est surtout caractéristique de certaines formes d'empirisme logique au XX{{e}} siècle, notamment chez Alfred Ayer, qui soutient explicitement que les vérités ''a priori'' sont des tautologies sans contenu factuel.<ref>Ayer, A. J., ''Language, Truth and Logic'', Gollancz, 1936, chap. 4 ; Casullo, A., ''A Priori Justification'', 2003, p. 214.</ref> Les synthèses contemporaines insistent précisément sur la nécessité de séparer ces trois distinctions, qui ne coïncident ni chez les classiques ni, comme Kripke l'a montré, dans la philosophie actuelle.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 10.</ref> Grondin décrit ce moment comme une crise : de Parménide à Wolff, le domaine de l{{'}}''a priori'' fut celui des vérités immuables que peut atteindre la raison, organe divin en nous, et les controverses de la métaphysique d'école présupposaient sans discussion la possibilité d'une connaissance ''a priori'' ; c'est Hume qui, aux yeux de Kant, a mis en cause cette idée même, et Kant entreprend de généraliser le scepticisme humien, de le penser jusqu'au bout, pour voir si la métaphysique peut y résister. La thèse ainsi durcie, que l'on ne trouve nulle part chez Hume lui-même, tient en une phrase : il n'y a pas de connaissance ''a priori''.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 13 et p. 26-27.</ref>
== La systématisation kantienne : les jugements synthétiques ''a priori'' ==
C'est Emmanuel Kant (1724-1804) qui, dans la ''Critique de la raison pure'' (1781, seconde édition 1787), confère à la distinction ''a priori'' / ''a posteriori'' son statut philosophique central et sa portée moderne.<ref>Kant, E., ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006.</ref> Kant opère ce qu'il appelle une « révolution copernicienne » en philosophie : au lieu de penser que notre connaissance se règle sur les objets, il propose que les objets se règlent sur notre faculté de connaître. Cette thèse lui permet d'expliquer l'existence de connaissances ''a priori'' tout en évitant les impasses du rationalisme dogmatique (qui prétend connaître le réel par la seule raison) et du scepticisme empiriste (qui conteste la possibilité de toute connaissance nécessaire). Mikel Dufrenne y voit l'origine même de la révolution copernicienne : pour Kant, la connaissance pure ''a priori'' est d'abord un fait, un fait de la raison, et c'est ce fait qui appelle une critique chargée d'en établir les conditions de validité.<ref>Dufrenne, M., ''The Notion of the A Priori'', trad. E. S. Casey, Northwestern UP, 1966, rééd. 2009 (''La Notion d'a priori'', PUF, 1959), p. 3.</ref>
Albert Casullo a montré combien la discussion contemporaine reste tributaire des quelques pages de l'introduction de la ''Critique''. Kant y installe un cadre fait de trois distinctions : la distinction épistémique entre connaissance ''a priori'' et connaissance empirique, la distinction métaphysique entre propositions nécessaires et contingentes, la distinction sémantique entre propositions analytiques et synthétiques. Et il pose, dans ce cadre, quatre questions : qu'est-ce que la connaissance ''a priori'' ? existe-t-elle ? quel est son rapport à la nécessité ? quel est son rapport à l'analytique ?<ref>Casullo, A., ''A Priori Justification'', 2003, p. 4.</ref> Ce sont encore, pour l'essentiel, les questions que nous nous posons.
=== Critères de l{{'}}''a priori'' : nécessité et universalité ===
Kant commence par une concession à l'empirisme : toute notre connaissance commence avec l'expérience, mais il ne s'ensuit pas qu'elle en dérive tout entière.<ref>Kant, E., ''Critique de la raison pure'', B1.</ref> Robert Hanna lit dans ce double mouvement une intuition durable : un empirisme minimal (aucune connaissance n'exclut tout rapport aux faits empiriques) n'entraîne pas un empirisme maximal (toute connaissance serait déterminée par eux). Que « si Socrate est célibataire, alors Socrate n'est pas marié » ait dû s'apprendre par l'expérience ne le rend pas moins nécessaire et ''a priori''.<ref>Hanna, R., ''Cognition, Content, and the A Priori'', Oxford UP, 2015, p. 313-316.</ref>
Pour Kant, la caractérisation première de l{{'}}''a priori'' reste l'indépendance à l'égard de l'expérience ; la nécessité (ce qui ne peut pas être autrement) et l'universalité rigoureuse (ce qui vaut pour tous les cas sans exception possible) constituent les deux critères sûrs, les « marques » (''Kennzeichen''), auxquels on reconnaît une connaissance ''a priori'', et Kant ajoute qu'ils vont inséparablement ensemble, même s'il est parfois plus commode d'employer l'un que l'autre.<ref>Kant, E., ''Critique de la raison pure'', Introduction, B3-B4 ; Hanna, R., ''Cognition, Content, and the A Priori'', 2015, p. 314.</ref> Si l'on dit « tous les corps observés jusqu'à présent tombent », cette proposition est universelle empiriquement, mais non nécessaire : rien ne garantit qu'un corps ne pourrait pas ne pas tomber. En revanche, « tout changement doit avoir une cause » est, selon Kant, une proposition à la fois nécessaire et universelle : on ne peut concevoir un changement sans cause.
Casullo attire l'attention sur la fonction de ces critères dans l'argument de Kant. Parce que Kant ne précise pas en quel sens exactement une connaissance doit être indépendante de l'expérience, il ne peut pas prouver l'existence de connaissances ''a priori'' à partir de leur seule définition ; il lui faut un critère. La nécessité est ce critère : l'expérience nous apprend qu'une chose est ainsi, mais non qu'elle ne peut être autrement, de sorte que toute connaissance d'une proposition nécessaire est ''a priori''. La réciproque, selon laquelle tout ce qui est connu ''a priori'' serait nécessaire, n'apparaît que dans la préface de la première édition, dans un passage où Kant glisse sans transition de la certitude à la nécessité, deux concepts pourtant distincts.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 186-187 ; Kant, E., ''Critique de la raison pure'', B3 et Axv.</ref>
Une connaissance ''a posteriori'', au contraire, provient de l'expérience sensible, comme « cette rose est rouge » ou « l'eau bout à 100 °C sous pression normale ». Dans le cadre kantien, de telles connaissances portent sur ce que l'expérience nous apprend comme contingent (cela aurait pu être autrement) ; leur universalité éventuelle reste empirique, fondée sur l'accumulation d'observations, et ne possède pas la nécessité propre à l{{'}}''a priori''. Cette association entre ''a posteriori'' et contingence, comme celle entre ''a priori'' et nécessité, sera remise en cause au XX{{e}} siècle, notamment par Kripke, dont nous verrons plus loin qu'il admet des vérités nécessaires connues ''a posteriori''.
=== Distinction entre analytique et synthétique ===
Kant introduit une seconde distinction, qu'il conçoit comme orthogonale à la première : celle entre jugements analytiques et jugements synthétiques.<ref>Kant, E., ''Prolégomènes à toute métaphysique future'', 1783, § 2, trad. J. Gibelin, rév. J. Rivelaygue, Vrin, 1986.</ref> Un jugement analytique est celui dans lequel « le prédicat est contenu dans le concept du sujet » : par exemple, « tout corps est étendu », l'extension faisant partie de la définition même du corps. Ces jugements sont purement explicatifs : ils clarifient ce que nous pensions déjà confusément, mais n'étendent pas notre connaissance. Ils sont toujours ''a priori'', car on peut les établir par simple analyse conceptuelle, sans recourir à l'expérience.
Un jugement synthétique, à l'inverse, « ajoute au sujet un prédicat qui n'y était pas contenu » : par exemple, « tous les corps sont pesants ». Le concept de pesanteur n'est pas inclus dans celui de corps ; c'est une information qui accroît notre connaissance. Les jugements synthétiques sont le plus souvent ''a posteriori'', fondés sur l'expérience empirique.
Les commentateurs relèvent deux difficultés. D'abord, la définition de Kant ne vaut que pour les jugements de la forme « tout A est B », alors que tout jugement devrait être analytique ou synthétique. Ensuite, Kant donne en réalité deux versions de la distinction : l'une porte sur le contenu des concepts (le prédicat est-il contenu dans le sujet ?), l'autre sur ce que pense le sujet qui juge (a-t-il déjà pensé le prédicat en pensant le sujet ?). Ces deux versions ne coïncident pas nécessairement.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 211-212.</ref> Moltke Gram relevait déjà que Kant propose deux critères de l'analyticité qui ne se recouvrent pas : tantôt le principe de contradiction, qui permet de passer d'une proposition implicitement analytique à une proposition explicitement analytique en remplaçant des synonymes par des synonymes, tantôt la simple inspection d'un concept pour voir s'il en contient un autre comme partie ; et il notait un conflit entre la formulation explicite de la distinction et l'usage qu'en fait Kant, puisque, les concepts mathématiques étant définissables, on ne voit pas pourquoi les jugements mathématiques ne seraient pas analytiques au sens de cette formulation.<ref>Gram, M. S., ''Kant, Ontology and the A Priori'', Northwestern UP, 1968, p. 44-46.</ref> Tommaso Piazza résume les deux reproches classiques faits au critère de l'inclusion : il est trop étroit, car « tout est spatio-temporel ou n'est pas spatio-temporel » n'a pas la forme sujet-prédicat et ne peut donc être dit analytique ; il est trop large, car « toute fille de philosophe de profession est philosophe de profession » est fausse, donc non analytique, alors que le concept du prédicat est bien contenu dans celui du sujet.<ref>Piazza, T., ''A Priori Knowledge. Toward a Phenomenological Explanation'', Ontos Verlag, 2007, p. vi.</ref>
=== Les jugements synthétiques ''a priori'' ===
La thèse centrale de Kant est qu'il existe des jugements synthétiques ''a priori'' : des propositions qui étendent notre connaissance (synthétiques) tout en étant universelles, nécessaires et indépendantes de l'expérience (''a priori'').<ref>Kant, E., ''Critique de la raison pure'', B19.</ref> Cette catégorie, inattendue puisqu'elle combine deux traits ordinairement dissociés, constitue selon Kant la clé de la connaissance scientifique.
Les exemples premiers sont les jugements mathématiques. La proposition « 7 + 5 = 12 » n'est pas analytique, soutient Kant, car le concept de « 12 » n'est contenu ni dans « 7 » ni dans « 5 » ni dans celui de somme : pour parvenir à « 12 », il faut effectuer une synthèse mentale, une construction dans l'intuition. Pourtant, ce jugement est ''a priori'' : il est universel et nécessaire, valable indépendamment de toute observation empirique.<ref>Kant, E., ''Critique de la raison pure'', Introduction, B15-B16.</ref> De même, les principes premiers de la physique, comme « tout changement a une cause », sont synthétiques (ils étendent notre connaissance du monde) et ''a priori'' (ils sont nécessaires et universels).
Pourquoi Kant a-t-il besoin de cette distinction, alors que sa preuve de l'existence de connaissances ''a priori'' n'en dépend pas ? Casullo répond qu'elle sert à formuler la question directrice de la ''Critique'' : comment des jugements synthétiques ''a priori'' sont-ils possibles ? Kant tient en effet la connaissance analytique pour peu problématique (il suffit du principe de contradiction et de l'analyse du concept), tandis que la connaissance synthétique ''a priori'' requiert, selon lui, le secours de l'intuition. Il présuppose donc que les deux types de connaissance ont des sources différentes, et que la seconde est plus énigmatique que la première ; mais il ne défend jamais expressément ces deux présupposés.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 212-214.</ref>
== Formes ''a priori'' de la sensibilité et de l'entendement ==
Comment expliquer la possibilité de ces jugements synthétiques ''a priori'' ? Kant répond que notre esprit impose des structures ''a priori'' à l'expérience. Ces structures sont de deux types, correspondant à deux facultés de connaissance distinctes.
=== L'espace et le temps : formes ''a priori'' de la sensibilité ===
Dans l'Esthétique transcendantale (première partie de la ''Critique de la raison pure''), Kant soutient que l'espace et le temps ne sont pas des propriétés des choses en elles-mêmes, mais des formes ''a priori'' de notre sensibilité, c'est-à-dire des conditions sous lesquelles seulement quelque chose peut nous être donné comme objet.<ref>Kant, E., ''Critique de la raison pure'', A22/B37 sq.</ref> L'espace est la forme du « sens externe » : tout ce qui nous apparaît comme extérieur se présente nécessairement dans l'espace. Le temps est la forme du « sens interne » : toutes nos représentations, qu'elles soient externes ou internes, se succèdent dans le temps. Ces formes ne dérivent pas de l'expérience ; au contraire, elles sont les conditions de possibilité de toute expérience.
Kant distingue nettement les intuitions, qui sont singulières (cette chatte-ci, et non n'importe quelle chatte), des concepts, qui sont généraux. Mares compare nos intuitions de l'espace et du temps à des contenants mentaux dans lesquels nous rangerions nos expériences pour en composer une carte du monde, toujours partielle ; la métaphore est commode, mais il ne faut pas y voir des réceptacles psychologiques : l'espace et le temps sont pour Kant les formes pures de l'intuition sensible, les cadres formels sous lesquels seulement quelque chose peut nous être donné. Mais elles nous renseignent aussi sur les propriétés de l'espace entier : en construisant mentalement un triangle, nous établissons que ses angles valent deux droits, car l'intuition nous apprend que l'espace est uniforme, une portion valant ce que vaut toute autre.<ref>Mares, E., ''A Priori'', 2014, p. 108-109.</ref>
Kant insiste sur le fait que la sensibilité possède ses propres structures ''a priori'' qui organisent toute réception d'objets. L{{'}}''a priori'' n'est donc pas l'apanage de l'intellect : il concerne aussi notre capacité intuitive et sensible.
Cette thèse explique, pour Kant, la nature ''a priori'' de la géométrie : celle-ci étudie les propriétés nécessaires de l'espace en tant que forme de notre sensibilité. Les vérités géométriques sont donc synthétiques (elles étendent notre connaissance de l'espace) et ''a priori'' (elles découlent de la structure spatiale que notre esprit impose aux phénomènes). Kant n'a pas à prouver que notre intuition de l'espace ressemble à l'espace réel, puisque, pour lui, notre intuition de l'espace est l'espace.<ref>Mares, E., ''A Priori'', 2014, p. 109.</ref>
=== Les catégories : formes ''a priori'' de l'entendement ===
Dans l'Analytique transcendantale, Kant identifie les catégories ou concepts purs de l'entendement : substance, causalité, unité, pluralité, nécessité, possibilité, etc.<ref>Kant, E., ''Critique de la raison pure'', A80/B106.</ref> Ces catégories sont ''a priori'' : elles ne dérivent pas de l'expérience, mais structurent toute expérience possible. Par exemple, l'expérience d'une succession objective, c'est-à-dire d'un changement déterminé dans l'objet et non du simple défilé de nos appréhensions, suppose selon Kant la représentation d'une règle de [[Dictionnaire de philosophie/Causalité|causalité]] : c'est notre entendement qui impose ''a priori'' la catégorie de cause et effet, sans laquelle rien ne distinguerait la succession de nos représentations, qui change dès que nous tournons la tête, d'un événement dans le monde.<ref>Kant, E., ''Critique de la raison pure'', A189-211/B232-256 (seconde analogie de l'expérience) ; Mares, E., ''A Priori'', 2014, p. 111.</ref>
La forme même de l'argument mérite attention. Kant part d'une proposition qu'il ne discute pas, à savoir que nous avons une expérience d'objets dans l'espace et le temps, et il montre que cette expérience présuppose certaines croyances : c'est ce qu'on appelle un argument transcendantal. Le flux de nos sensations, pris tel quel, est chaotique ; notre champ visuel change dès que nous tournons la tête. Nous n'en faisons un monde d'objets qu'en rapportant ces changements à des lois, la marche du soleil, la réflexion de la lumière sur les surfaces. La croyance que les événements se suivent selon des lois n'est pas tirée de l'expérience ; c'est notre capacité à faire une expérience qui en dépend.<ref>Mares, E., ''A Priori'', 2014, p. 110-112.</ref> On a objecté que Kant, s'il avait rêvé, aurait dû savoir qu'une expérience sans règles est possible ; la réponse kantienne est que le rêve ne fournit pas d'expérience au sens qui l'intéresse, celui d'une expérience capable de fonder des jugements.<ref>Mares, E., ''A Priori'', 2014, p. 115.</ref>
Les catégories permettent de transformer les données sensibles en objets de connaissance. Sans elles, l'expérience serait un chaos d'impressions désordonnées. Kant formule ce point dans une phrase célèbre : « Des pensées sans contenu sont vides, des intuitions sans concepts sont aveugles. »<ref>Kant, E., ''Critique de la raison pure'', A51/B75.</ref> Les deux ensembles de structures ''a priori'', formes de la sensibilité (espace et temps) et catégories de l'entendement, sont nécessaires l'un et l'autre pour que la connaissance soit possible.
Il faut ajouter que les croyances ''a priori'' de Kant ne sont pas toutes ''a priori'' au même sens. Nos croyances mathématiques sont justifiées indépendamment de l'expérience, par le seul recours aux intuitions de l'espace et du temps. Mais la croyance que les événements obéissent à des lois n'est ni justifiée ni en attente de justification : elle est ce avec quoi nous construisons le monde perçu. Ce qu'un argument transcendantal établit, c'est que nous avons cette croyance, non qu'elle est vraie. Elle n'en fournit pas moins un fondement ''a priori'' à d'autres croyances, à commencer par celle qu'une science de la nature est possible.<ref>Mares, E., ''A Priori'', 2014, p. 114.</ref>
=== Idéalisme transcendantal et limites de l{{'}}''a priori'' ===
Cette doctrine a un corollaire important : nous ne connaissons que les phénomènes (les objets tels qu'ils nous apparaissent, structurés par nos formes ''a priori''), jamais les choses en soi (les objets tels qu'ils sont indépendamment de notre faculté de connaître).<ref>Kant, E., ''Critique de la raison pure'', Bxxvi.</ref> L{{'}}''a priori'' gagne en universalité et en nécessité ce qu'il perd en portée métaphysique : nous ne pouvons connaître ''a priori'' que ce que notre esprit a lui-même mis dans les choses, non ce que les choses sont en elles-mêmes.
Cette limitation a des conséquences importantes pour la métaphysique traditionnelle. Les catégories, bien qu{{'}}''a priori'', ne s'appliquent légitimement qu'aux objets d'expérience possible. Toute tentative de les appliquer au-delà constitue un usage illégitime de la raison, dont la Dialectique transcendantale expose les trois formes : les paralogismes, lorsque la raison prétend connaître l'âme comme une substance simple et immortelle ; les antinomies, lorsqu'elle prétend déterminer le monde comme une totalité et se trouve prise dans des contradictions insolubles, par exemple au sujet de la liberté ; l'idéal de la raison pure, lorsqu'elle prétend démontrer l'existence de Dieu.<ref>Kant, E., ''Critique de la raison pure'', A341-405/B399-432 (paralogismes) ; A405-567/B432-595 (antinomies) ; A567-642/B595-670 (idéal de la raison pure).</ref>
Adrian Moore a redonné à cette doctrine la forme d'une énigme. Trois propositions paraissent vraies et pourtant incompatibles : il existe une connaissance de fauteuil, c'est-à-dire une connaissance que l'expérience ne garantit pas ; une partie de cette connaissance porte sur ce qui est au-delà du sujet ; et elle ne fait appel à aucune rencontre particulière avec quoi que ce soit au-delà du sujet. Certains empiristes nient la première, d'autres la deuxième (toute connaissance de fauteuil porterait sur notre langage ou nos concepts), certains platoniciens la troisième (nous serions en contact avec des universaux). Kant les accepte toutes trois : ce que nous connaissons depuis le fauteuil, c'est la forme de ce qui est au-delà du sujet, et cette forme dépend du sujet.<ref>Moore, A. W., ''The Human A Priori. Essays on How We Make Sense in Philosophy, Ethics, and Mathematics'', Oxford UP, 2023, p. 23-25.</ref> Moore tient l'argument qui va de l'existence d'une connaissance synthétique de fauteuil à l'idéalisme transcendantal pour valide, mais seulement si cette connaissance est connaissance du nécessaire ; et comme l'idéalisme transcendantal lui paraît incohérent, puisqu'il doit reconnaître, en se plaçant hors du point de vue du sujet, la contingence de la forme que le sujet impose, alors que Kant interdit un tel regard sur les choses en soi, il conclut qu'il n'existe pas de connaissance synthétique de fauteuil du nécessaire, ce qui laisse ouverte la question d'une connaissance de fauteuil du contingent.<ref>Moore, A. W., ''The Human A Priori'', 2023, p. 23 et p. 40.</ref> Robert Greenberg défend la position inverse : Strawson a raison de juger l'idéalisme inutile pour rendre compte de la connaissance empirique, mais la connaissance ''a priori'' en est distincte, et une interprétation fidèle de Kant doit montrer comment sa possibilité exige l'idéalisme transcendantal.<ref>Greenberg, R., ''Kant's Theory of A Priori Knowledge'', Pennsylvania State UP, 2001, p. 44.</ref>
Dufrenne a insisté sur un trait du dispositif kantien qui commande toute la suite : chez Kant, l{{'}}''a priori'' est forme, jamais matière. Le donné est ce que la sensibilité reçoit et que la raison ne peut justifier ; l{{'}}''a priori'' relève de l'activité constituante de l'esprit et ne se présente jamais comme quelque chose de constitué. En substituant à la question « qu'est-ce qui est donné ? » la question « qu'est-ce qui peut être donné ? », Kant reprend à Hume la réponse selon laquelle seul un contenu sensible peut l'être. Antériorité, ici, ne veut pas dire précédence dans le temps, mais indépendance logique : ce qui est antérieur à l'expérience ne peut être compromis par elle. Et pourtant, observe Dufrenne, l{{'}}''a priori'' vise l'expérience qu'il fonde ; il « a autant besoin de l'expérience que l'expérience de l{{'}}''a priori'' ». La formule annonce tout son programme : un empirisme du transcendantal, où l{{'}}''a priori'' se donne aussi dans l'expérience.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 4-9.</ref> Nous verrons ce que la phénoménologie tire de cette remarque.
== L{{'}}''a priori'' après Kant : critiques, reprises, transformations ==
La théorie kantienne a suscité d'intenses débats qui se poursuivent jusqu'à nos jours.
=== L'empirisme inductiviste de Mill ===
La première grande contestation vient de John Stuart Mill (1806-1873), pour qui toute justification est une forme d'induction, y compris en logique et en mathématiques. Nous n'avons jamais perçu de contradiction vraie ; c'est pourquoi nous croyons qu'il n'y en a pas, et non parce que la chose serait impossible. Que nous ne puissions concevoir une contradiction vraie ne prouve pas, selon Mill, qu'elle soit impossible. Même le syllogisme se réduit chez lui à un raisonnement par ressemblance : le duc de Wellington est mortel parce qu'il ressemble, par son humanité, à d'autres individus qui se sont révélés mortels. Sa méthode est, pour reprendre l'expression d'Edwin Mares, « inductive de bout en bout », ce qui signifie que la conclusion d'un raisonnement n'est jamais qu'à peu près assurée par ses prémisses. La difficulté classique de cette position est que nos méthodes inductives paraissent elles-mêmes contenir de la logique déductive : pour tester une hypothèse, il faut d'abord en tirer les conséquences.<ref>Mares, E., ''A Priori'', 2014, p. 84-87 ; Mill, J. S., ''Système de logique déductive et inductive'', 1843, II, 3, § 7 et II, 7, § 5, trad. L. Peisse, Mardaga, 1988.</ref> Frege renversera la thèse de Mill : la justification inductive est pour lui une espèce de la preuve déductive, où des énoncés singuliers se combinent à un principe général d'induction.<ref>Burge, T., « Frege on Apriority », 2000, p. 16.</ref>
=== Frege : l{{'}}''a priori'' comme ordre de justification ===
Gottlob Frege (1848-1925) donne à la notion une tournure qui pèsera sur tout le XX{{e}} siècle. Dans ''Les Fondements de l'arithmétique'' (1884), il précise que les distinctions entre ''a priori'' et ''a posteriori'', analytique et synthétique, ne concernent pas le contenu du jugement mais sa justification ; c'est pourquoi une erreur ''a priori'' serait, dit-il, aussi impossible qu'un concept bleu. Une vérité est analytique si sa preuve ne s'appuie que sur des lois logiques générales et des définitions ; elle est ''a priori'' si sa preuve peut se dériver de lois générales qui « n'ont besoin ni ne sont susceptibles de preuve » ; elle est ''a posteriori'' si cette preuve ne peut se passer de faits, c'est-à-dire de vérités singulières portant sur des objets déterminés.<ref>Burge, T., « Frege on Apriority », 2000, p. 12-14 ; Frege, G., ''Les Fondements de l'arithmétique'', 1884, § 3, trad. C. Imbert, Seuil, 1969.</ref> Frege accorde à Kant que la géométrie est synthétique ''a priori'', mais soutient contre lui que l'arithmétique est analytique. Burge fait observer que, sous couvert de clarifier Kant, Frege est en réalité plus proche de Leibniz : il tient l{{'}}''a priori'' pour un ordre canonique de justification entre vérités, indépendant des esprits individuels, et la formule des vérités premières qui n'ont besoin ni ne sont susceptibles de preuve se lit mot pour mot chez Leibniz.<ref>Burge, T., « Frege on Apriority », 2000, p. 15-17.</ref> Comme Leibniz encore, Frege insiste sur la compatibilité de l{{'}}''a priori'' avec toutes sortes de dépendances à l'égard de l'expérience : avoir besoin de voir des symboles pour apprendre un théorème ne rend pas ce théorème empirique, et appeler « empirique » une proposition parce qu'il a fallu des observations pour en prendre conscience, c'est, dit Frege, faire de la psychologie.<ref>Burge, T., « Frege on Apriority », 2000, p. 17 ; Frege, G., ''Les Fondements de l'arithmétique'', § 8.</ref>
=== La critique empiriste : positivisme logique et Quine ===
Le positivisme logique du Cercle de Vienne (années 1920-1930) cherche à réduire l{{'}}''a priori'' au domaine analytique, en rejetant les jugements synthétiques ''a priori'' kantiens.<ref>Carnap, R., ''Der logische Aufbau der Welt'', 1928 ; Schlick, M., « Is There a Factual A Priori? », in H. Feigl et W. Sellars (éds.), ''Readings in Philosophical Analysis'', Appleton-Century-Crofts, 1949.</ref> Pour des philosophes comme Carnap, les vérités dites ''a priori'', en logique et en mathématiques, sont des vérités purement linguistiques, résultant de conventions concernant le cadre linguistique adopté. Jared Warren rappelle que cette théorie fondée sur la signification a une longue préhistoire, depuis les relations d'idées de Hume jusqu'à Carnap, Gentzen et Wittgenstein dans les années 1930, mais que les positivistes en ont expédié les détails épistémologiques, parce qu'ils identifiaient purement et simplement l'analytique, le nécessaire et l{{'}}''a priori''.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 28-29.</ref>
Au milieu du XX{{e}} siècle, le philosophe américain [[Dictionnaire de philosophie/Willard Van Orman Quine|Willard Van Orman Quine]] (1908-2000) attaque frontalement la distinction entre analytique et synthétique. Dans son article « Deux dogmes de l'empirisme » (1951), Quine soutient que la frontière entre propositions analytiques et propositions synthétiques, loin d'être nette, est indéfendable : aucune définition satisfaisante de l'analyticité ne résiste à l'examen.<ref>Quine, W. V. O., « Two Dogmas of Empiricism », ''The Philosophical Review'', vol. 60, n° 1, 1951, p. 20-43 ; repris dans ''From a Logical Point of View'', Harvard UP, 1953, chap. 2.</ref> Quine propose à la place une conception holiste de la connaissance : nos croyances forment une « toile » solidaire où chaque élément, y compris les vérités logiques et mathématiques, peut en principe être révisé face à l'expérience. Au centre de la toile se trouvent les croyances aux conséquences les plus étendues, que nous abandonnons en dernier ; à la périphérie, nos croyances perceptives. Deux maximes règlent la révision : conserver de préférence les croyances les plus enracinées, et maintenir la cohérence de l'ensemble.<ref>Mares, E., ''A Priori'', 2014, p. 90-91.</ref> Il n'y aurait donc pas de vérités entièrement à l'abri de toute révision empirique.
La critique de Quine ne vise pas d'abord le concept d{{'}}''a priori'' au sens épistémologique (le mode de justification indépendant de l'expérience), mais elle sape la distinction analytique/synthétique qui, depuis Kant, servait de cadre pour penser l{{'}}''a priori''. Boghossian et Peacocke reconstruisent ainsi l'argument : à moins de postuler des facultés occultes, la connaissance ''a priori'' ne s'explique que si la compréhension d'une phrase suffit à en connaître la vérité ; cela suppose des phrases vraies en vertu de leur seule signification ; or il n'y en a pas ; donc l{{'}}''a priori'' est inexplicable. Ils distinguent en outre trois familles d'objections sceptiques : celles qui identifient l{{'}}''a priori'' à une propriété qu'aucune proposition ne possède, comme l'indéfaisabilité ; celles qui nient qu'on puisse expliquer une connaissance indépendante de l'expérience ; celles qui tirent argument de l'histoire des sciences. Quine a usé des trois. Contre la troisième, ils font valoir un fait que toute théorie doit intégrer : lorsqu'une expérience contredit une prédiction, le physicien n'est jamais autorisé à réviser l'arithmétique pour expliquer l'écart. Comme ils l'écrivent, « aucun accélérateur de particules, si puissant soit-il, ne peut réfuter » que 7 + 5 = 12 ; toute théorie de l{{'}}''a priori'', même sceptique, doit expliquer ce fait ou l'expliquer comme une illusion.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 6-8.</ref>
Casullo va plus loin encore dans le désenchevêtrement. La littérature sur le synthétique ''a priori'' repose selon lui sur deux présupposés : que cette connaissance pose des problèmes explicatifs plus graves que la connaissance analytique ''a priori'', et que l'incohérence de la distinction analytique/synthétique jetterait le doute sur la distinction ''a priori''/''a posteriori''. Il tient les deux pour faux : la seconde distinction se comprend sans la première, et la question de savoir s'il existe des connaissances ''a priori'' peut être posée sans trancher le sort du synthétique ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 210.</ref> Le débat ouvert par Quine s'est poursuivi avec la réponse de Grice et Strawson, qui défendent la distinction en montrant qu'elle repose sur une pratique linguistique stable et partagée.<ref>Grice, H. P. et Strawson, P. F., « In Defense of a Dogma », ''Philosophical Review'', vol. 65, n° 2, 1956, p. 141-158.</ref>
=== L{{'}}''a priori'' matériel : la phénoménologie ===
À l'opposé de la tradition empiriste, la phénoménologie, initiée par Edmund Husserl (1859-1938), défend l'existence d'un ''a priori'' matériel.<ref>Husserl, E., ''Recherches logiques'', 1900-1901, III (théorie des touts et des parties), trad. H. Élie, A. L. Kelkel et R. Schérer, PUF, 1961-1963.</ref> Pour Husserl, il existe des structures essentielles non formelles, accessibles par l'intuition eidétique (c'est-à-dire par la saisie directe des essences) : par exemple, les lois d'essence qui régissent les rapports entre couleur et étendue (toute couleur suppose une surface colorée), ou, dans la tradition phénoménologique qui prolonge Husserl, notamment chez Adolf Reinach, entre promesse et obligation.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 181, qui renvoie à Zełaniec, W., « Fathers, Kings, and Promises. Husserl and Reinach on the A Priori », ''Husserl Studies'', vol. 9, 1992, p. 147-177.</ref> Ces vérités ne se réduisent ni à des conventions linguistiques ni à des tautologies formelles ; elles portent sur le contenu même des phénomènes. Dans les ''Idées directrices'', Husserl distingue les essences formelles, qui relèvent d'une ontologie formelle vide (l'objet en général), des essences matérielles, qui définissent des régions : chaque son a une essence, et au sommet se trouve l'essence du son en général ; l'essence du triangle relève du genre suprême « forme spatiale », celle du rouge du genre « qualité sensible ». Les vérités eidétiques régionales sont synthétiques, puisqu'elles ne s'obtiennent pas par analyse de formes vides, et ''a priori'', puisqu'elles sont données dans l'intuition d'essence.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 74-75 ; Husserl, E., ''Idées directrices pour une phénoménologie'', 1913, § 2, 10, 13 et 16, trad. P. Ricœur, Gallimard, 1950.</ref>
Tommaso Piazza a récemment tenté de faire de cette position une explication de la connaissance ''a priori'' capable de rivaliser avec les théories fondées sur la signification. Dans les disciplines formelles, l'intuition phénoménologique est la conscience directe de la vérité nécessaire de règles et de principes ; dans les disciplines matérielles, elle s'obtient par la variation eidétique : on part d'une maison perçue ou imaginée, on lui retire par l'imagination ses fenêtres, son toit, sa couleur, et l'on constate que la chose reste une chose matérielle, tandis qu'on ne parvient pas à imaginer une chose matérielle sans étendue ; ce qui se conserve à travers les variations, l'invariant, est l'essence.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 164 et p. 183.</ref> Piazza reprend à Robert Tragesser une thèse de symétrie entre perception et intuition rationnelle : dans les deux cas, la justification a la même structure, une saisie d'abord provisoire qui se confirme ou se défait au fil d'une inspection continue (l'homme aperçu se révèle un mannequin de cire, la suite de signes prise pour une preuve se révèle un sophisme), et dans les deux cas nous trouvons nos pensées contraintes par l'objet ; l'empiriste qui accorde à la perception le pouvoir de justifier ne peut donc, sans arbitraire, le refuser à l'intuition.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 145-148.</ref>
Deux objections pèsent sur la variation eidétique. La première rappelle les cygnes noirs de Levinas : ce que la variation livre paraît inductif, et rien n'autorise à passer des propriétés communes aux exemples imaginés aux propriétés qu'ils doivent avoir. La seconde répond que la variation présuppose la capacité de décider quel candidat appartient à l'espèce, capacité qui n'est autre que la maîtrise du concept, ce qui lève la première objection mais semble réduire les vérités eidétiques à des vérités sur nos concepts. Piazza accepte cette conséquence sans en tirer la conclusion conventionnaliste : nos concepts n'ont pas d'objectivité absolue, mais une objectivité relative suffit pour que les vérités conceptuelles disent quelque chose du réel, comme le soutient aussi BonJour lorsqu'il ramène la propriété représentée par le concept de rouge à un trait du monde et non à une entité mentale.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 165-166 et p. 177-179.</ref>
Max Scheler (1874-1928) refuse tout formalisme et prolonge cette idée en éthique. Pour lui, la nécessité et l'universalité kantiennes ne sont que des signes extérieurs et équivoques de l{{'}}''a priori'' ; le vrai critère est la manière dont il est saisi, dans une expérience pure et immédiate, alors que l{{'}}''a posteriori'' est l'objet d'une expérience médiate. Les propositions, écrit-il, sont vraies ''a priori'' parce que les faits qui les remplissent sont eux-mêmes donnés ''a priori''. Les valeurs morales (le noble, le sacré, l'utile, l'agréable) possèdent selon lui un ordre hiérarchique qui n'est ni conventionnel ni empirique, mais donné dans une intuition émotionnelle ''a priori'', et cet ordre demeure indépendant du monde des biens dans lesquels les valeurs apparaissent.<ref>Scheler, M., ''Le formalisme en éthique et l'éthique matériale des valeurs'', 1913-1916, trad. M. de Gandillac, Gallimard, 1955, Ire partie ; Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 72-73 et p. 87.</ref> Cette conception élargit beaucoup le champ de l{{'}}''a priori'' en y incluant des domaines que Kant avait exclus : l'esthétique, l'éthique matérielle, la sphère affective. Elle soulève aussi une question que Dufrenne formule sans détour : si tout ce qui a une essence est ''a priori'', où s'arrêter ? Faut-il admettre une essence ''a priori'' du chien ou de la cigarette, à la manière dont Parménide interrogeait Socrate sur les cheveux, la boue et la crasse ?<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 76 ; Platon, ''Parménide'', 130c.</ref>
Mikel Dufrenne (1910-1995), dans ''La Notion d'a priori'' (1959), reprend ce dossier pour en tirer une thèse propre. L{{'}}''a priori'' matériel désigne chez lui une structure de l'objet ou un trait du monde qui peut apparaître dans une expérience particulière, et que le sujet reconnaît aussitôt parce qu'il en a déjà un savoir virtuel.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 72.</ref> L{{'}}''a priori'' a ainsi deux faces : objectif, il est dans le monde, comme sens perçu dans les choses ; subjectif, il est dans l'homme, non comme une forme vide de l'entendement, mais comme un savoir virtuel porté par un sujet incarné, pris dans un corps et dans une société. La somme des ''a priori'' subjectifs avec lesquels une personne aborde l'expérience constitue ce que Dufrenne appelle son ''a priori'' existentiel.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 42 et p. 48 ; Casey, E. S., « Translator's Introduction », in Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. xxi.</ref> Entre ces deux faces règne une affinité, un accord de l'homme et du monde, que Dufrenne refuse d'expliquer par un naturalisme (qui perdrait le sujet) ou par un idéalisme (qui perdrait le réel), et qu'il renvoie à un ''a priori'' de l{{'}}''a priori'', la Nature d'où surgissent ensemble l'homme et le monde. Dans sa préface, Paul Ricœur se demande si la dualité de l{{'}}''a priori'' n'est pas telle que seul un sentiment, celui qu'exprime la poésie, en atteste l'unité.<ref>Ricœur, P., « Preface », in Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. xv-xvii ; Casey, E. S., « Translator's Introduction », p. xxi.</ref> Cet ''a priori'' perd son caractère strictement formel et universel, puisque l'expérience elle-même peut l'acquérir et que des mutations de l{{'}}''a priori'' existentiel d'une personne restent possibles, Dufrenne préférant les attribuer à la liberté qu'à des causes empiriques ; il conserve néanmoins sa fonction de condition, puisque la reconnaissance de l{{'}}''a priori'' objectif dépend toujours de la présence de l{{'}}''a priori'' subjectif dans le sujet.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 48-49.</ref> Dufrenne poursuivra cette enquête dans ''L'inventaire des a priori'' (1981).<ref>Dufrenne, M., ''L'inventaire des a priori. Recherche de l'originaire'', Christian Bourgois, 1981.</ref>
=== Nécessité, ''a priori'' et modalité : Kripke ===
Le philosophe américain [[Dictionnaire de philosophie/Saul Kripke|Saul Kripke]] (1940-2022), dans ''La logique des noms propres'' (1980), a montré que les notions de nécessité, d{{'}}''a priori'' et d'analyticité, souvent confondues, doivent être soigneusement distinguées.<ref>Kripke, S., ''Naming and Necessity'', Harvard UP, 1980 ; trad. fr. P. Jacob et F. Recanati, ''La logique des noms propres'', Minuit, 1982.</ref> La nécessité est une propriété métaphysique : elle concerne ce qui ne peut pas être autrement, dans tous les mondes possibles. L{{'}}''a priori'' est une propriété épistémologique : il concerne le mode par lequel on connaît ou justifie une proposition (indépendamment de l'expérience). L'analyticité est une propriété sémantique : elle concerne les propositions vraies en vertu de la signification de leurs termes. Or ces trois propriétés ne coïncident pas nécessairement. Casullo résume les trois thèses de Kripke : les concepts de vérité ''a priori'' et de vérité nécessaire sont différents ; qu'ils coïncident en extension est une thèse substantielle qui demande un argument ; et de fait ils ne coïncident pas.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 187-188.</ref>
Kripke donne deux types de contre-exemples frappants. Premièrement, certaines vérités sont ''a priori'' sans être nécessaires. La proposition « le mètre étalon de Paris mesure un mètre » est connaissable ''a priori'' (par stipulation : c'est cet objet qui fixe la définition du mètre), mais contingente (ce morceau de métal aurait pu avoir une longueur légèrement différente dans d'autres circonstances). Mares en propose une variante parlante : décidons d'appeler « Tui » la première personne qui naîtra en 2020. Nous savons ''a priori'' que, s'il existe une unique première personne née en 2020, Tui naîtra en 2020 ; mais rien n'est moins nécessaire que la naissance de cette personne cette année-là. La description sert à fixer la référence du nom ; elle n'entre pas dans les faits qui concernent la personne.<ref>Mares, E., ''A Priori'', 2014, p. 22-23.</ref> David Kaplan a généralisé le procédé : les propositions de la forme « si p, alors actuellement p » sont connaissables ''a priori'', bien que certaines d'entre elles soient contingentes, à savoir celles dont l'antécédent, faux dans le monde actuel, aurait pu être vrai.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 3.</ref> Tamara Horowitz a contesté que la stipulation confère un tel privilège. Un colonel qui déclare un bar interdit à ses hommes ne sait pas pour autant, indépendamment de l'expérience ni incorrigiblement, que le bar est interdit : il doit savoir que le règlement l'autorise à le déclarer, ce qui demande quelque observation, et que la déclaration a bien été faite dans les formes ; le fiancé qui dit « oui » se rend marié, mais il doit observer que la cérémonie s'est déroulée comme le prescrivent les règles pour savoir qu'il l'est. Celui qui stipule n'est donc pas mieux placé, épistémologiquement, que celui qui subit la stipulation, et la doctrine conventionnaliste des empiristes, selon laquelle définir un mot procure une connaissance ''a priori'' et incorrigible à bon marché, ressurgit selon elle, sous une autre forme, chez Kripke et Donnellan.<ref>Horowitz, T., « Stipulation and Epistemological Privilege », in T. Horowitz, ''The Epistemology of A Priori Knowledge'', éd. J. L. Camp, Oxford UP, 2006, p. 138-141.</ref>
Deuxièmement, certaines vérités nécessaires ne sont connaissables qu{{'}}''a posteriori''. L'identité « l'étoile du soir est l'étoile du matin » (toutes deux étant Vénus) est nécessaire, puisque dans tout monde possible où ces objets existent, ils sont identiques, mais elle a été découverte par l'observation astronomique, non par la réflexion pure. De même, ce pupitre-ci n'est pas fait de glace : on ne le sait qu'en le regardant et en le touchant ; mais s'il n'est pas de glace, il ne pouvait pas l'être, car un pupitre de glace serait un autre objet. On connaît ''a priori'' le conditionnel « s'il n'est pas de glace, il est nécessairement non de glace », on apprend ''a posteriori'' son antécédent, et la conclusion hérite du caractère empirique de la prémisse.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 188-189 ; Kripke, S., « Identity and Necessity », in M. K. Munitz (éd.), ''Identity and Individuation'', New York UP, 1971.</ref>
Ces résultats ont durablement transformé le débat sur l{{'}}''a priori'' en montrant qu'il est impossible de traiter comme équivalentes les questions « cette proposition est-elle nécessaire ? », « est-elle connaissable ''a priori'' ? » et « est-elle analytique ? ». La philosophie contemporaine doit travailler avec ces trois distinctions séparées.
Deux précisions évitent toutefois de leur faire dire plus qu'elles ne disent. D'abord, savoir qu'une proposition est vraie et savoir qu'elle est nécessaire sont deux choses : le mathématicien connaît par sa preuve la vérité d'un théorème sans savoir, par cette preuve, qu'il est nécessaire, et le philosophe peut savoir que la conjecture de Goldbach est une proposition nécessaire (vraie ou fausse) sans savoir si elle est vraie. Les exemples de Kripke établissent donc que la valeur de vérité de certaines propositions nécessaires se connaît ''a posteriori'', non que leur statut modal se connaisse ainsi ; ce statut, Kripke lui-même le tient pour connu par analyse philosophique ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 189-190.</ref> Ensuite, l'argument qui conclut que « l'eau est H<sub>2</sub>O » est nécessaire repose sur deux prémisses, que « eau » et « H<sub>2</sub>O » sont des termes d'espèces naturelles et que les identités entre tels termes sont nécessaires, dont Mares fait observer qu'elles ne se connaissent, si elles se connaissent, qu{{'}}''a priori''. La nécessité ne s'apprend donc pas de l'expérience seule ; elle s'apprend d'un mélange d'expérience et de raisonnement ''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 20-22.</ref>
Williamson tire une autre leçon des résultats de Kripke : une même vérité peut être connue ''a priori'' par l'un et ''a posteriori'' par l'autre. Marie, forte en calcul, sait ''a priori'' que 289 + 365 = 654 et en déduit que 289 + 365 = 654 ou qu'il y a des funiculaires en Suisse ; Jean, fort en géographie, sait ''a posteriori'' qu'il y a des funiculaires en Suisse et en déduit la même disjonction. La disjonction est nécessaire, puisque son premier membre l'est ; Jean connaît donc une vérité nécessaire ''a posteriori'', et la tradition qui réservait l{{'}}''a priori'' aux nécessités et l{{'}}''a posteriori'' aux contingences se trompait.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 118-119.</ref>
=== Le néo-kantisme et la relativisation de l{{'}}''a priori'' ===
Les néo-kantiens du XIX{{e}} siècle et du début du XX{{e}} siècle, Hermann Cohen, Paul Natorp, Ernst Cassirer, ont cherché à adapter la théorie kantienne aux transformations scientifiques : les géométries non euclidiennes, la théorie de la relativité, la mécanique quantique semblaient contredire l'idée d'un ''a priori'' fixe et définitif.<ref>Cassirer, E., ''Substance et fonction'', 1910, trad. P. Caussat, Minuit, 1977 ; Cassirer, E., ''La théorie de la relativité d'Einstein'', 1921, trad. J. Seidengart, Cerf, 2000.</ref> Kant tenait en effet les axiomes d'Euclide pour vrais de l'espace physique et connus ''a priori'' ; la physique moderne décrit l'espace en termes non euclidiens. La leçon, note Mares, n'est pas seulement que Kant s'est trompé sur la géométrie de l'espace, mais que les savants doivent rester libres de choisir le cadre mathématique de leurs théories, ce que le nativisme kantien leur interdisait.<ref>Mares, E., ''A Priori'', 2014, p. 118-119.</ref> Pour Cassirer, les formes ''a priori'' ne sont plus des structures immuables de l'esprit, mais des « fonctions symboliques » qui évoluent avec le développement scientifique, tout en conservant un rôle constitutif : chaque théorie scientifique présuppose un cadre de principes ''a priori'' qui rendent possible l'interprétation de l'expérience, mais ce cadre peut lui-même changer lors des grandes transformations théoriques.
La formulation la plus nette de cette relativisation revient à Hans Reichenbach, dans un livre de 1920 sur la théorie de la relativité. Le concept kantien d{{'}}''a priori'' a, dit-il, deux sens : nécessairement vrai, ou vrai pour tous les temps ; et constitutif du concept d'objet. Le second est le plus important. L'objet de la connaissance n'est pas donné dans la perception, qui n'en fournit que le matériau ; il est construit par des principes de coordination qui rattachent les concepts mathématiques au réel et que Reichenbach nomme principes constitutifs de l'expérience : l'espace, le temps, la métrique euclidienne, le principe de probabilité ou celui de « génidentité », qui dit comment relier des concepts physiques pour définir une même chose demeurant identique dans le temps.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1920, trad. angl. M. Reichenbach, University of California Press, 1965, p. 48-49 et p. 53.</ref>
Kant supposait tacitement que les deux sens vont ensemble, c'est-à-dire que n'importe quel système cohérent de principes de coordination parvient à coordonner les équations au réel de manière unique ; Reichenbach appelle cette hypothèse celle de l'arbitraire de la coordination. Or la théorie de la relativité, restreinte puis générale, a montré qu'un système de principes tenus pour ''a priori'' (temps absolu, géométrie euclidienne) est incompatible avec l'interprétation inductive normale des données ; il faut choisir entre l'un et l'autre.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1965, p. 60-62.</ref> Le concept d{{'}}''a priori'' en sort changé : le premier sens, celui d'une vérité éternelle indépendante de l'expérience, ne peut être maintenu ; le second demeure, car aucun jugement physique ne dépasse la perception immédiate sans supposer une description de l'objet dans une variété d'espace-temps, mais la forme de ces principes n'est pas fixée d'avance. À l'analyse kantienne de la raison, Reichenbach substitue une méthode d'analyse logique des théories scientifiques effectives, et il crédite la relativité d'avoir retiré aux mathématiques la question de la vérité de la géométrie pour la confier à la physique.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1965, p. 74-77.</ref>
Michael Friedman, dans la lignée de Reichenbach et de Cassirer, a développé l'idée d'un ''a priori'' « relativisé » ou « constitutif ». Un principe est ''a priori'' relativement à une théorie s'il ne peut lui-même être confirmé ni réfuté empiriquement, mais qu'il rend possible le test empirique du reste de la théorie. Comment tester la loi de la gravitation universelle de Newton ? Il faut pouvoir mesurer une force ; c'est la seconde loi du mouvement (la force est le produit de la masse par l'accélération) qui le permet, en donnant au mot « force » un sens empirique. Mais cette seconde loi, elle, n'est pas testable : elle a le statut d'une stipulation. Elle est ''a priori'' relativement à la théorie de la gravitation. La constance de la vitesse de la lumière joue un rôle analogue dans la relativité. Sans ces principes, les autres lois ne seraient que des équations sans contenu empirique.<ref>Friedman, M., ''Dynamics of Reason'', CSLI Publications, 2001, chap. 2-3 ; Mares, E., ''A Priori'', 2014, p. 119-120 ; Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 8.</ref> Les principes ''a priori'' d'une théorie physique ne sont donc pas révisables de la même manière que les hypothèses empiriques ordinaires, mais ils ne sont pas non plus définitivement à l'abri de toute révision.
C'est ici que Friedman se sépare de Quine. Pour Quine, nos croyances forment une seule grande théorie que l'expérience confirme ou réfute en bloc ; pour Friedman, les savants distinguent ce qui se teste et ce qui rend le test possible. L'éclipse de 1919 ne réfute la gravitation newtonienne que si l'on admet que la lumière se propage en ligne droite ; on aurait pu conserver l'ancien cadre, mais au prix de l'élégance et de la simplicité. Le changement de cadre se décide donc sur des vertus théoriques, non sur la seule expérience.<ref>Mares, E., ''A Priori'', 2014, p. 120-121.</ref> Cette position tente de conserver l'intuition kantienne d'un rôle constitutif de l{{'}}''a priori'' tout en acceptant la leçon des changements scientifiques. Elle a un prix, que Mares souligne : si la constance de la vitesse de la lumière est stipulée, il ne peut y avoir de fait antérieur à son sujet, et le kantien, comme Kant, penche vers une forme d'antiréalisme.<ref>Mares, E., ''A Priori'', 2014, p. 122.</ref> Hilary Putnam avait proposé une idée voisine sous le nom de contextualisme : une croyance peut être ''a priori'' dans un contexte historique, où rien ne peut la réfuter empiriquement, et réfutable dans un autre.<ref>Mares, E., ''A Priori'', 2014, p. 27-28 (sur Putnam, H., « Philosophy of Physics », 1979).</ref>
== L{{'}}''a priori'' dans la philosophie contemporaine ==
La notion d{{'}}''a priori'' demeure au cœur de plusieurs débats importants. Les sections qui suivent distinguent les principales lignes de discussion, en commençant par les questions épistémologiques les plus élémentaires, souvent absentes des présentations introductives.
=== La justification ''a priori'' : nature, sources et faillibilité ===
L'un des débats les plus vifs de l'épistémologie contemporaine porte sur la nature même de la justification ''a priori''. Dire qu'une croyance est justifiée ''a priori'', c'est dire que sa justification ne repose pas sur l'expérience, qu'il s'agisse de la perception sensible, de l'observation empirique, de l'introspection ou de toute autre forme d'évidence tirée du contact avec le monde. La plupart des épistémologues préfèrent aujourd'hui analyser la connaissance ''a priori'' à partir de la justification ''a priori'' plutôt que l'inverse : c'est la justification, et non la connaissance, qui distingue l{{'}}''a priori'' de l{{'}}''a posteriori'', et l'on évite ainsi d'exclure d'avance qu'une croyance fausse puisse être justifiée ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 10 ; Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 139.</ref> Mais sur quoi repose alors cette justification ?
Une première difficulté tient au mot « expérience ». En un sens large, toute conscience de quelque chose est une expérience, y compris le fait de suivre une preuve ou d'apercevoir intellectuellement qu'une proposition est vraie ; en ce sens, aucune justification n'est indépendante de l'expérience. En un sens étroit, l'expérience se réduit aux cinq sens ; mais alors l'introspection et la mémoire, que l'on range d'ordinaire du côté de l{{'}}''a posteriori'', échappent à la définition.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 29-30.</ref> Boghossian et Peacocke distinguent trois lectures : la plus stricte (l'expérience perceptive du monde hors du corps), une lecture intermédiaire (toute expérience perceptive, y compris celle des états du corps) et la plus générale (tout état conscient). Selon la lecture choisie, « j'ai mal » sera ou non connu ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 2-3.</ref>
Casullo a passé en revue les tentatives de caractériser l'expérience au sens pertinent par sa phénoménologie, par le contenu contingent des croyances qu'elle justifie, par ses objets concrets ou par la relation causale entre le sujet et l'objet, et conclut qu'aucune ne tient. Il propose de traiter « expérience » comme un terme d'espèce naturelle, à la manière d'« eau » : nous en repérons les paradigmes, les processus liés aux cinq sens, par des traits de surface, mais c'est leur nature sous-jacente, à découvrir par les sciences cognitives, qui en fixe l'extension. Nous serions, à l'égard de l'expérience, dans la situation des locuteurs du XVI{{e}} siècle à l'égard de l'eau : capables d'en reconnaître des exemples, ignorants de ce qui les unit.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 149-160.</ref> Warren préfère parler d'un concept théorique : nous partons d'une notion de l'expérience tirée de l'intérieur, comme ce qui, dans le cours de nos états sensoriels, est clair, détaillé, vif et involontaire, puis nous la révisons en postulant un monde extérieur qui l'explique.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 11-14.</ref>
Une seconde difficulté tient au mot « indépendant ». Casullo réduit les analyses en présence à deux. Selon la première, une croyance est justifiée ''a priori'' si et seulement si elle est justifiée par une source non expérientielle ; selon la seconde, il faut en outre que cette justification ne puisse être défaite par l'expérience. La première est la plus économe ; elle traite l{{'}}''a priori'' comme l{{'}}''a posteriori'', sans lui imposer d'exigence particulière. Comme l'écrit Casullo, « le concept de justification a priori est minimal » ; c'est le concept d'une justification non expérientielle, et rien de plus.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 3 et p. 31-32.</ref> La question de l'existence de connaissances ''a priori'' devient alors celle-ci : y a-t-il des sources non expérientielles de croyances justifiées ?
Horowitz avait proposé, dans une autre direction, de traiter l{{'}}''a priori'' comme une catégorie de vérités plutôt que de connaissances, à la suite de Frege et des empiristes, et de l'expliquer par la relation « avoir assez d'expérience pour savoir » : quelqu'un a assez d'expérience pour savoir une proposition si son expérience lui suffit pour en découvrir la vérité par la seule réflexion ultérieure. Elle rejetait ce qu'elle nommait l'apriorisme classique, la doctrine selon laquelle certaines propositions expriment des faits sans lesquels nul ne pourrait avoir les concepts qu'elles contiennent, et sont connaissables indépendamment de l'expérience pour cette seule raison ; cette doctrine, commune à Locke, à Kant et aux empiristes du XX{{e}} siècle, lui paraissait incompatible avec un réalisme conséquent, pour lequel toutes nos croyances pourraient être fausses. À ses yeux, ce qui distingue les mathématiques et en fait le stéréotype de l{{'}}''a priori'', c'est que les erreurs y sont faciles à déceler et ne se produisent pas de manière systématique dans toute la communauté : là où je me trompe, vous ne vous tromperez pas, alors que la nature peut tromper tous les observateurs à la fois.<ref>Horowitz, T., « A Priori Truth », in ''The Epistemology of A Priori Knowledge'', 2006, p. 123-124, p. 128 et p. 136-137.</ref>
Warren propose un critère commode, qu'il appelle le test de l'imagination. Vous avez suivi la preuve d'Euclide de l'infinité des nombres premiers ; cette expérience a causé votre croyance. Mais si vous aviez imaginé la preuve, en parfait détail, chaque étape intacte, votre justification aurait été exactement la même : une preuve dans la tête vaut une preuve sur le papier. Une chaise brune imaginée, en revanche, ne justifie en rien la croyance qu'il y a une chaise brune devant vous. Lorsque le remplacement d'une expérience par un acte d'imagination qualitativement identique laisse la justification intacte, l'expérience n'a joué qu'un rôle habilitant ; sinon, elle a joué un rôle épistémique. La justification ''a priori'' est celle que l'on pourrait obtenir, en principe, dans une chambre de privation sensorielle.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 14-17.</ref>
Le rationalisme modéré, défendu notamment par Laurence BonJour, soutient que la justification ''a priori'' repose sur l'« intuition rationnelle » ou l'« évidence intellectuelle » : lorsque nous saisissons que la proposition « rien ne peut être entièrement rouge et entièrement vert au même moment » est vraie, nous nous appuyons sur une sorte de « voir » intellectuel, analogue (mais non identique) à la perception sensible.<ref>BonJour, L., ''In Defense of Pure Reason. A Rationalist Account of A Priori Justification'', Cambridge UP, 1998, chap. 4 ; Casullo, A., ''A Priori Justification'', 2003, p. 30 et p. 155.</ref> George Bealer parle d'« intuitions » au sens technique, des états mentaux où une proposition nous apparaît vraie sans que cette apparence repose sur l'inférence, la mémoire ou la perception, et soutient que ces intuitions constituent une source irréductible de justification ''a priori''.<ref>Bealer, G., « The Incoherence of Empiricism », ''Proceedings of the Aristotelian Society'', suppl. vol. 66, 1992, p. 99-138.</ref>
Une question centrale est celle de la faillibilité : la justification ''a priori'' peut-elle être erronée ? Le rationalisme infaillibiliste traditionnel répondait non : ce qui est connu ''a priori'' est connu avec certitude. Descartes tient que la méthode, correctement appliquée, garantit des croyances vraies, et Philip Kitcher, en plein XX{{e}} siècle, exige encore qu'une personne autorisée à ignorer l'information empirique dispose d'une méthode qui garantisse la vérité.<ref>Mares, E., ''A Priori'', 2014, p. 24 ; Kitcher, P., ''The Nature of Mathematical Knowledge'', Oxford UP, 1983, p. 30.</ref> Mais la plupart des épistémologues contemporains adoptent un rationalisme faillibiliste : une croyance peut être justifiée ''a priori'' tout en étant révisable, voire fausse.<ref>Casullo, A., ''A Priori Justification'', 2003, chap. 2-3.</ref>
Casullo distingue ici deux sens de l'infaillibilité que l'on confond souvent : l'infaillibilité cartésienne, qui lie la justification à la vérité (il est impossible que la croyance soit justifiée par cette source et fausse), et l'infaillibilité peircienne, qui lie la justification à l'indéfaisabilité (aucune donnée ne peut la défaire). Ni l'une n'entraîne l'autre. Un mathématicien compétent qui a suivi une preuve valide voit sa justification défaite par la pseudo-preuve, tout aussi convaincante, que lui présente un collègue ; un étudiant voit la sienne défaite par le professeur qui, à tort, lui signale une erreur.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 57-58.</ref> L'histoire des mathématiques offre des exemples instructifs : des propositions longtemps tenues pour évidentes ''a priori'', comme l'axiome des parallèles d'Euclide ou le principe selon lequel le tout est plus grand que sa partie, se sont révélées contestables ou fausses.<ref>Casullo, A., ''Essays on A Priori Knowledge and Justification'', Oxford UP, 2012, p. 24.</ref> Alvin Plantinga cite le cas des fonctions : on a longtemps cru évident qu'une fonction définie sur tous les réels devait être continue sur quelque intervalle, jusqu'à la découverte, au XIX{{e}} siècle, de fonctions partout définies et nulle part continues. Exiger de la justification ''a priori'' qu'elle apporte la certitude reviendrait, note Mares, à reconnaître que nous n'en avons presque jamais, et à la marginaliser.<ref>Mares, E., ''A Priori'', 2014, p. 25-26.</ref> Boghossian et Peacocke vont dans le même sens : de même qu'une croyance empirique justifiée peut se révéler fausse, une croyance ''a priori'' justifiée peut être réfutée sur des bases ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 4.</ref>
Se pose alors le problème de la défaisabilité (''defeasibility'') : la justification ''a priori'' peut-elle être défaite par des considérations empiriques ? Si un mathématicien croit ''a priori'' avoir trouvé une démonstration correcte, mais qu'un ordinateur vérifie les calculs et signale une erreur, la justification ''a priori'' initiale est-elle annulée par cette donnée empirique ? Kitcher tirait de tels cas un argument contre l{{'}}''a priori'' : si une foule de mathématiciens rejette ma croyance, ce désaccord, qui est un fait empirique, doit rationnellement me faire douter ; aucune croyance n'est donc immune à la réfutation empirique. Hartry Field répond en distinguant l'évidence directe contre une proposition et l'évidence indirecte, qui porte sur ce que les gens en pensent ; c'est la première seule qu'exclut l'immunité empirique.<ref>Mares, E., ''A Priori'', 2014, p. 9-10 ; Warren, J., ''The A Priori Without Magic'', 2022, p. 18.</ref> Casullo distingue plusieurs manières dont l'expérience peut interagir avec la justification ''a priori'' : l'expérience ne fonde pas cette justification, mais elle peut la confirmer, la renforcer ou l'affaiblir.<ref>Casullo, A., ''A Priori Justification'', 2003, chap. 3-4.</ref> Boghossian et Peacocke ajoutent qu'il n'y a rien de contraire à la raison dans l'idée d'une justification ''a priori'' que l'expérience peut défaire : l'induction énumérative en est un exemple modeste, et le fait de prendre nos perceptions, nos souvenirs et les dires d'autrui au sérieux, sans preuve, en est un autre, car une telle autorisation ne saurait venir de l'expérience elle-même.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 4-5.</ref> Cette discussion prolonge et nuance la critique quinienne en montrant que même les défenseurs de l{{'}}''a priori'' peuvent reconnaître des formes d'interaction avec l'expérience, sans pour autant dissoudre la notion.
Field, pour sa part, retourne la difficulté : plutôt que de chercher une définition de la justification ''a priori'', il fait de l'immunité à la réfutation empirique le trait définitoire d'une croyance ''a priori'', et soutient que nous sommes par défaut autorisés à croire ce qui ne peut être réfuté empiriquement. Mares nomme cela la conception de l'immunité, par opposition à la conception justificationnelle, et fait observer que les combiner, comme l'a souvent fait la tradition, rend la connaissance ''a priori'' presque impossible à obtenir.<ref>Mares, E., ''A Priori'', 2014, p. 8 et p. 11.</ref>
=== Expliquer l{{'}}''a priori'' : intuitions rationnelles ou signification ? ===
Reste la question la plus difficile : d'où vient le pouvoir de la pensée pure ? Peacocke la formule comme une question de « comment » : en quoi le fait de comprendre une proposition, ou de posséder un concept, confère-t-il à certaines manières d'en venir à l'accepter la capacité de produire une connaissance, alors même qu'elles ne s'appuient sur aucune expérience ? Que celui qui possède le concept de conjonction doive accepter d'inférer « p » de « p et q », sans justification empirique, paraît intuitif ; mais dire pourquoi est une autre affaire, et une théorie sobre de l'intuition rationnelle, qui n'y voit que la capacité de comprendre et de penser, doit d'autant plus expliquer d'où vient ce pouvoir.<ref>Peacocke, C., « Explaining the A Priori: The Programme of Moderate Rationalism », in ''New Essays on the A Priori'', 2000, p. 255-257.</ref> Casullo et Joshua Thurow posent la question en des termes proches : entre ceux qui font appel à l'intuition rationnelle et ceux qui font appel à la possession des concepts, c'est la source de la connaissance ''a priori'' qui est en jeu.<ref>Thurow, J. C. et Casullo, A., « Introduction », in A. Casullo et J. C. Thurow (éds.), ''The A Priori in Philosophy'', Oxford UP, 2013, p. 1-2 et p. 4-5.</ref>
Warren décrit le paysage avec une franchise utile. Le rationalisme extrême postulait une faculté de raison pure, sorte de sens intellectuel donnant accès à des faits indépendants de l'esprit ; les sciences cognitives n'en trouvent aucune trace, et l'hypothèse, pour survivre, doit se vider de tout contenu. Le rationalisme modeste abandonne la faculté mais conserve des états quasi perceptifs, les intuitions intellectuelles, qui ne sont ni des croyances ni des inclinations à croire, mais quelque chose qui y donne lieu ; il admet que ces intuitions sont faillibles et accessibles à l'introspection. Warren avoue n'en trouver aucune en lui, et relève que Williamson dit de même ; il propose d'expliquer le sentiment de compréhension, ce « voir » soudain la solution d'une énigme, par l'apparition d'inclinations à accepter une proposition et à la relier à ce que nous savons, sans rien de plus.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 23-27.</ref>
Son propre candidat est une théorie fondée sur la signification : les significations de certains mots sont constituées par les règles d'inférence que nous suivons. Quiconque ne passerait jamais de « x est célibataire » à « x n'est pas marié » ne voudrait pas dire ce que nous voulons dire par « célibataire » ; quiconque n'appliquerait jamais le ''modus ponens'' n'aurait pas notre concept de conditionnel. D'où le principe qu'il nomme lien entre signification et autorisation : nous sommes automatiquement autorisés à user, en tout contexte, des règles qui déterminent les significations de notre langue, car choisir ses règles, c'est choisir sa langue, et ce choix est pratique, non épistémique. Tout ce que l'on peut prouver à partir de ces règles est connaissable ''a priori'', et de manière robuste, puisqu'abandonner la règle, c'est abandonner le concept, non conserver la même croyance sans justification.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 29-32.</ref> Cette approche, qui prolonge les travaux de Boghossian sur la logique, revendique d'expliquer l{{'}}''a priori'' « sans magie », c'est-à-dire sans facultés ni états dont la relation aux faits resterait mystérieuse.
Boghossian avait préparé ce terrain en distinguant deux notions d'analyticité. La notion métaphysique, celle des positivistes, veut qu'une phrase doive sa vérité à sa seule signification et non aux faits ; Quine a eu raison de la juger douteuse, car il est difficile de comprendre comment le fait de vouloir dire quelque chose rendrait ce quelque chose vrai. La notion épistémologique dit seulement que la compréhension d'une phrase suffit à justifier qu'on la tienne pour vraie. Or la théorie analytique de l{{'}}''a priori'' n'a besoin que de la seconde ; elle peut se passer de tout conventionnalisme, et une critique quinienne qui voudrait l'atteindre devrait, selon Boghossian, s'engager jusqu'à l'indétermination de la signification, thèse que la plupart des philosophes rejettent.<ref>Boghossian, P., « Analyticity Reconsidered », ''Noûs'', vol. 30, n° 3, 1996, p. 360-391 ; repris in ''Debating the A Priori'', 2020, p. 2-6.</ref> Ce travail montre que la question du rapport entre analyticité et ''a priori'' reste ouverte et féconde.
Piazza rappelle ce que l'empirisme contemporain avait gagné avec l'analyticité : une réponse unifiée aux deux questions de savoir ce que sont les énoncés connus ''a priori'' et comment ils le sont. Les énoncés analytiques sont vrais, donc connaissables, mais sans contenu cognitif, puisque leur vérité tient tout entière aux significations, et c'est pourquoi les comprendre suffit à les connaître ; la solution évitait l'inconvénient de celle de Mill, qui faisait des mathématiques et de la logique des vérités seulement contingentes.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. v-vi.</ref>
Robert Hanna défend, à l'inverse, un néo-rationalisme d'inspiration kantienne. Il prend acte de ce que l'empirisme sceptique à l'égard des intuitions est sans doute faux, mais que les attaques contre le rationalisme n'ont reçu de réponse ni sur le problème de la justification (comment les intuitions rationnelles justifient-elles suffisamment une croyance ?) ni sur celui de l'explication (comment de telles intuitions sont-elles possibles ?). Sa définition de l'apriorité est ample : est ''a priori'' ce dont le contenu, la vérité ou la justification sont sous-déterminés par l'ensemble des faits empiriques, de sorte qu'aucun changement dans ces faits n'en commande le changement.<ref>Hanna, R., ''Cognition, Content, and the A Priori'', 2015, p. 313 et p. 315.</ref>
Les intuitions philosophiques elles-mêmes sont devenues un terrain d'affrontement. Les philosophes en appellent aux intuitions comme à une évidence, et tiennent cette évidence pour ''a priori''. La philosophie expérimentale a soumis les [[Dictionnaire de philosophie/Expérience de pensée|expériences de pensée]] classiques à des enquêtes et rapporte que les intuitions des non-philosophes varient selon la culture d'origine, le statut social ou l'ordre de présentation des cas, autant de facteurs sans rapport avec la vérité des propositions en jeu. Faut-il en conclure que les intuitions ne sont pas des preuves, ou qu'elles ne sont pas ''a priori'' ? Alvin Goldman distingue la question de premier ordre (les intuitions sont-elles des preuves ?) et la question de second ordre (avons-nous des preuves qu'elles le sont ?), et admet qu'une vérification empirique soit requise au second niveau sans que le premier en devienne empirique. Jonathan Ichikawa soutient qu'une confirmation expérimentale de nos intuitions jouerait un rôle habilitant : elle lèverait un doute qui défaisait notre justification, sans devenir elle-même cette justification. Jonathan Weinberg accepte un ''a priori'' qui n'est pas pur de tout élément empirique, pourvu qu'il continue de livrer des conclusions modales fortes.<ref>Thurow, J. C. et Casullo, A., « Introduction », 2013, p. 2-4 ; Goldman, A. I., « Philosophical Naturalism and Intuitional Methodology », in ''The A Priori in Philosophy'', 2013, p. 11-44 ; Ichikawa, J. J., « Experimental Philosophy and Apriority », in ''The A Priori in Philosophy'', 2013, p. 45-66.</ref>
=== La distinction est-elle essentielle ? Williamson et Boghossian ===
[[Dictionnaire de philosophie/Timothy Williamson|Timothy Williamson]] a proposé une critique d'un autre genre. Il ne nie pas que la distinction existe : introduite par le bas, par des exemples, elle fait l'objet d'un accord robuste. Il conteste qu'elle découpe la connaissance à ses articulations. Introduite par le haut, par une définition (indépendance ou dépendance à l'égard de l'expérience), elle court le risque, si Quine a raison, de ne rien mettre d'un côté ; introduite par le bas, elle court celui de suivre des ressemblances superficielles, comme une classification des plantes par la couleur.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 117-118.</ref> Son argument central repose sur deux vérités : « toutes les choses cramoisies sont rouges » et « tous les volumes récents du ''Who's Who'' sont rouges ». La première est le cas clair d'une connaissance ''a priori'', la seconde d'une connaissance ''a posteriori''. Or considérons Norman, qui a appris « cramoisi » et « rouge » séparément, par ostension, et n'a jamais réfléchi à leur rapport. Interrogé, il imagine un échantillon cramoisi et juge, dans l'imagination, qu'il est rouge, en transposant hors ligne une compétence acquise en ligne dans la perception. Interrogé sur le ''Who's Who'', il imagine un volume récent et juge, de la même manière, qu'il est rouge. Les processus cognitifs sont presque identiques ; dans les deux cas, l'expérience passée a fait plus qu'habiliter (elle a calibré une compétence) et moins que prouver. Si Norbert, moins exercé, échoue à savoir que le cramoisi est rouge, c'est faute de pratique, non faute de concept. La différence saillante entre les deux vérités est modale, l'une étant nécessaire et l'autre contingente ; mais Kripke nous a appris à ne pas lire l'épistémologie d'une vérité sur son statut métaphysique, et connaître une vérité nécessaire n'est pas connaître qu'elle est nécessaire. Conclusion de Williamson : la distinction « ne découpe pas aux articulations épistémologiques » ; on peut garder les mots, mais sans en attendre beaucoup de travail théorique. Plutôt que de raccommoder une distinction fatiguée, l'épistémologie gagnerait à décrire finement l'usage hors ligne, dans l'imagination, de compétences formées dans la perception.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 120-125 et p. 134.</ref>
Boghossian a répondu point par point. Il salue une forme neuve de scepticisme, qui accorde tout aux exemples et ne conteste que leur importance, mais il conteste la description des cas. Pour que Norman puisse conclure de l'unique instance imaginée à la couleur de tous les volumes, il lui faut déjà savoir que ces volumes ont une couleur dominante et que l'instance imaginée en est représentative ; sans quoi, imaginer une coccinelle rouge n'apprend rien sur la couleur des coccinelles, et se figurer un taxi londonien ne dit pas de quelle couleur sombre étaient les taxis dont on ne se souvient plus. Norman ne peut donc savoir que les volumes sont rouges qu'en rappelant une image générique stockée par la mémoire, ce qui est un usage substantiel de l'expérience. Dans le cas du cramoisi, les croyances d'arrière-plan requises (qu'il existe un déterminable rouge auquel toutes les nuances de cramoisi appartiennent) sont, elles, justifiées ''a priori''. Redécrits de façon à produire une connaissance, les deux cas diffèrent donc nettement, et l'argument de Williamson, selon Boghossian, tire sa force d'une conception fiabiliste de la justification, pour laquelle l'expérience peut en effet jouer un rôle intermédiaire en affinant la fiabilité de nos capacités.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 138 et p. 150-154.</ref> Boghossian propose enfin de caractériser l'expérience par une liste : une justification est indépendante de l'expérience si elle ne dépend épistémiquement ni de l'expérience sensible, ni de l'introspection, ni d'usages substantiels de la mémoire, tandis que l'intuition, certains usages de l'imagination et la réflexion peuvent jouer un rôle épistémique sans que la justification cesse d'être ''a priori''.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 153.</ref> Le débat, poursuivi sur plusieurs échanges, illustre bien la vitalité de la question : Williamson suggère de s'intéresser à la fiabilité et à la robustesse des méthodes cognitives employées, quelle que soit leur classification, quand Boghossian tient que nul ne nous a encore donné de bonne raison de refuser à la distinction la centralité qu'elle paraît mériter.<ref>Williamson, T., ''The Philosophy of Philosophy'', Blackwell, 2007, chap. 5 ; Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 154.</ref>
=== ''A priori'', analyticité et modalité : le paysage après Kripke ===
Les résultats de Kripke ont ouvert un espace de recherche très actif sur les rapports entre ''a priori'', analyticité et nécessité. [[Dictionnaire de philosophie/David Chalmers|David Chalmers]] et Frank Jackson ont développé le « bidimensionnalisme sémantique », qui tente de restaurer un lien systématique entre ''a priori'' et nécessité en distinguant deux dimensions de signification (le contenu « primaire » et le contenu « secondaire » d'un énoncé).<ref>Chalmers, D., « Does Conceivability Entail Possibility? », in T. Gendler et J. Hawthorne (éds.), ''Conceivability and Possibility'', Oxford UP, 2002, p. 145-200 ; Jackson, F., ''From Metaphysics to Ethics'', Oxford UP, 1998.</ref> Le bidimensionnalisme ne supprime pas les nécessités ''a posteriori'' de Kripke ; il cherche à en expliquer la structure. À chaque énoncé sont associées deux intensions : l'intension primaire, qui dit comment sa valeur de vérité varie selon le scénario que l'on considère comme actuel, et l'intension secondaire, qui dit comment elle varie dans les mondes contrefactuels une fois le monde actuel fixé. Dans le cas de « l'eau est H<sub>2</sub>O », l'intension primaire n'est pas nécessaire : si l'on considère comme actuel un scénario de Terre jumelle où le liquide aqueux est XYZ, l'énoncé y est faux. L'intension secondaire est en revanche nécessaire : une fois la référence de « eau » fixée à H<sub>2</sub>O dans le monde actuel, le terme désigne H<sub>2</sub>O dans tous les mondes contrefactuels. Le lien systématique recherché est alors le suivant : dans la version épistémique du bidimensionnalisme défendue par Chalmers, l'apriorité est liée à la nécessité de l'intension primaire, c'est-à-dire au fait qu'une proposition est vraie quel que soit le scénario considéré comme actuel ; c'est la thèse d'une théorie particulière, non une définition incontestée. L'idée a une origine technique précise : dans une sémantique à deux dimensions, on considère une famille de modèles où des mondes différents sont tour à tour désignés comme actuels, et l'on repère les propositions vraies dans le monde actuel quel que soit celui qu'on désigne ainsi. Les instances de « si p, alors actuellement p » ont cette propriété, qui semble suffire à l'apriorité et qui, Boghossian et Peacocke le soulignent, ne restreint en rien l'éventail des possibilités.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 5-6.</ref> Le bidimensionnalisme est discuté et contesté, mais il témoigne de la vitalité du débat.
=== L{{'}}''a priori'', les sciences cognitives et la question de l'innéité ===
La question de l{{'}}''a priori'' réapparaît dans les sciences cognitives sous la forme du débat sur l'innéisme : existe-t-il des structures cognitives innées, indépendantes de l'expérience individuelle ? Le linguiste Noam Chomsky défend l'existence d'une « grammaire universelle » innée qui structure l'acquisition du langage.<ref>Chomsky, N., ''Règles et représentations'', 1980, trad. A. Kihm, Flammarion, 1985 ; Mares, E., ''A Priori'', 2014, p. 55 et p. 57.</ref> Certains psychologues du développement, comme Elizabeth Spelke, ont identifié des « systèmes de connaissance de base » (''core knowledge'') chez le nourrisson, une appréhension intuitive des nombres, des objets physiques, de la géométrie, qui semblent précéder toute instruction.<ref>Spelke, E. S. et Kinzler, K. D., « Core Knowledge », ''Developmental Science'', vol. 10, n° 1, 2007, p. 89-96.</ref>
Cependant, il est important de ne pas confondre innéité et ''a priori''. L{{'}}''a priori'' est d'abord une notion épistémologique : il concerne le mode de justification d'une proposition ou d'une croyance, le fait qu'elle puisse être justifiée indépendamment de l'expérience (au sens large : perception, observation, évidence empirique sous toutes ses formes). L'innéité, en revanche, est une notion portant sur la genèse ou l'origine d'une structure cognitive : elle dit que cette structure n'a pas été acquise par apprentissage individuel, mais est présente dès la naissance (ou dès un stade très précoce du développement). Une structure cognitive peut être innée sans que les croyances qu'elle produit soient justifiées ''a priori'' ; inversement, une justification ''a priori'' peut en principe ne reposer sur aucune structure innée identifiable. Mares le montre en comparant la croyance innée et la croyance analytique : la première est indépendante de l'expérience parce qu'elle n'est pas apprise, la seconde parce que saisir le sens de la phrase suffit à voir qu'elle est vraie, alors même que ce sens s'apprend. Ce sont deux raisons très différentes de parler d{{'}}''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 5 et p. 57.</ref> Il rappelle aussi que le nativisme est affaire de degré : Hume lui-même admet une tendance innée à associer les idées, et une croyance innée peut être défaite, comme celle de la physique naïve selon laquelle les objets ordinaires sont pleins, sans vide intérieur.<ref>Mares, E., ''A Priori'', 2014, p. 54-55 et p. 59.</ref> Warren accorde qu'il existe une apriorité « par défaut », tirée de l'innéité, puisque sans mécanismes innés la formation des croyances ne pourrait commencer, mais il souligne que ce n'est pas l'apriorité intéressante, celle d'une justification robuste.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 22-23.</ref> Paul Horwich a néanmoins exploré l'hypothèse que l'apriorité puisse s'expliquer par l'innéité et l'indispensabilité psychologique de certains principes.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 7.</ref>
L'épistémologie évolutionniste, issue notamment des travaux du biologiste Konrad Lorenz (1903-1989), illustre cette distinction de manière éclairante.<ref>Lorenz, K., « Kants Lehre vom Apriorischen im Lichte gegenwärtiger Biologie », ''Blätter für deutsche Philosophie'', vol. 15, 1941, p. 94-125.</ref> Lorenz propose de comprendre les structures kantiennes de perception et de cognition, notre appréhension de l'espace, du temps, de la causalité, comme des adaptations évolutives : elles seraient ''a priori'' pour l'individu (présentes avant toute expérience personnelle), mais ''a posteriori'' pour l'espèce (résultant d'une longue sélection naturelle). Cette perspective est suggestive, mais elle transpose la question de l{{'}}''a priori'' du plan épistémologique (comment une croyance est-elle justifiée ?) au plan génétique (comment une structure cognitive est-elle acquise ?). Or ce sont deux questions distinctes. Le fait qu'une capacité cognitive ait une origine évolutive ne dit rien, en tant que tel, sur le statut justificatif des croyances qu'elle produit : une capacité innée peut engendrer des croyances fausses, et une croyance justifiée ''a priori'' peut n'avoir aucun fondement biologique identifiable. Pour qu'un argument évolutionniste établisse la fiabilité d'une croyance innée, il faudrait montrer non seulement que cette croyance aide à survivre, mais que sa vérité importe à la survie, et qu'un mécanisme explique sa transmission ; or des auteurs comme Mackie, Ruse ou Joyce tirent de l'évolution l'argument inverse, selon lequel nos croyances morales ont pu être utiles sans être vraies, et Gould et Lewontin ont mis en garde contre les explications adaptatives non testées, ces histoires comme ça, à la manière de Kipling.<ref>Mares, E., ''A Priori'', 2014, p. 57-59.</ref>
=== Philosophie morale et politique ===
L{{'}}''a priori'' joue également un rôle en éthique. Kant lui-même fonde sa philosophie morale sur un principe ''a priori'' : l'impératif catégorique, qui prescrit d'agir uniquement selon une maxime que l'on pourrait vouloir ériger en loi universelle.<ref>Kant, E., ''Fondation de la métaphysique des mœurs'', 1785, trad. A. Renaut, Garnier-Flammarion, 1994, Deuxième section.</ref> Ce principe ne dérive pas de l'expérience, mais de la raison pratique pure. Mares fait valoir que les normes, morales ou épistémiques, sont l'un des deux grands motifs de croire à l{{'}}''a priori'', avec la nécessité : l'expérience nous dit ce qui est le cas, non ce qui devrait l'être. Nous désirons peut-être tous être heureux, comme le dit Mill ; mais devrions-nous le désirer ? Aucune enquête ne semble pouvoir en décider, et ceux qui refusent l{{'}}''a priori'' doivent, en règle générale, réduire les normes à des faits sur des institutions sociales.<ref>Mares, E., ''A Priori'', 2014, p. 2-4.</ref>
Parmi les contemporains, Christine Korsgaard défend encore une conception kantienne de la moralité fondée sur des principes ''a priori'' de la raison pratique.<ref>Korsgaard, C., ''Creating the Kingdom of Ends'', Cambridge UP, 1996, chap. 1-3.</ref>
Michael Smith a montré comment l{{'}}''a priori'' commande le débat sur le réalisme moral. L'argument de la question ouverte de G. E. Moore suppose que, si la justesse d'un acte et la maximisation de l'utilité étaient une seule et même propriété, les deux expressions devraient être équivalentes ''a priori'' ; or on peut toujours, sans contradiction, demander si un acte qui maximise l'utilité est juste. Les réalistes naturalistes ont répondu avec les armes de Kripke : « eau » et « H<sub>2</sub>O » ne sont pas équivalents ''a priori'', et pourtant l'eau est H<sub>2</sub>O. Smith objecte que cette réplique échoue, car la découverte ''a posteriori'' que le rouge est telle propriété de réflectance s'appuie elle-même sur une vérité ''a priori'' qui fixe la référence de « rouge » (la propriété, quelle qu'elle soit, qui fait paraître rouges les objets dans des conditions normales) ; de même, identifier la justesse à une propriété naturelle suppose une vérité ''a priori'' sur ce que « juste » veut dire. Le réaliste naturaliste doit donc affronter l'argument de front, en montrant qu'une analyse, même peu évidente et ouverte à la discussion, capture bien l'ensemble des contraintes qui gouvernent l'usage du mot.<ref>Smith, M., ''Ethics and the A Priori. Selected Essays on Moral Psychology and Meta-Ethics'', Cambridge UP, 2004, p. 192 et p. 196-200.</ref> Son dialogue entre Cog et Noncog, deux philosophes qui déjeunent ensemble, met en scène la même question : le non-cognitiviste tient qu'on n'a jamais réussi à fournir d'équivalent naturaliste aux jugements de valeur, le cognitiviste qu'il n'est pas nécessaire que cet équivalent soit évident pour être ''a priori''.<ref>Smith, M., ''Ethics and the A Priori'', 2004, p. 13 et p. 359-361.</ref>
Adrian Moore attire enfin l'attention sur ce qu'il appelle le modèle de base : un sujet qui possède le concept d'épouse déduit ''a priori'' qu'il y a au moins autant de femmes que d'épouses, et l'apriorité de cette déduction n'est en rien compromise par le réseau de structures sociales contingentes qui conditionne la possession du concept. L{{'}}''a priori'' peut donc s'enraciner dans le particulier, voire dans les particularités d'une espèce ; c'est ce que Moore nomme un ''a priori'' humain, anthropocentrique sans cesser d'être ''a priori''.<ref>Moore, A. W., ''The Human A Priori'', 2023, p. 1-3.</ref> La tradition phénoménologique, dans la lignée de Scheler, explore de son côté un ''a priori'' matériel des valeurs : l'existence de hiérarchies axiologiques (le noble supérieur à l'agréable, le sacré supérieur à l'utile) qui, sans être dérivées de l'expérience empirique, structurent notre vie morale et affective. Boghossian range de son côté certains jugements moraux parmi les cas clairs de l{{'}}''a priori'' : qu'il soit mal, dans le scénario du tramway, de pousser un homme du haut d'un pont pour en sauver cinq est une chose que nous jugeons sans enquête ; que toutes les sociétés le jugent ainsi, nous ne le saurions qu'en enquêtant.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 138.</ref>
== Conclusion ==
La distinction entre ''a priori'' et ''a posteriori'', loin d'être une simple classification scolaire, engage toute une conception de la connaissance humaine et de ses limites. Elle pose la question suivante : qu'est-ce que notre esprit apporte à la connaissance du réel, et qu'est-ce qu'il reçoit de l'expérience ?
Si la réponse kantienne, avec ses formes ''a priori'' de la sensibilité et ses catégories de l'entendement, n'est plus acceptée telle quelle, elle a durablement marqué la philosophie en montrant que la connaissance n'est jamais une simple réception passive de données, mais implique toujours une activité structurante du sujet connaissant. Les débats contemporains sur la nature de la justification ''a priori'', sa faillibilité, les rapports entre ''a priori'', analyticité et nécessité, le rôle de l'intuition rationnelle, le statut des principes scientifiques ou les structures cognitives innées s'inscrivent tous, d'une manière ou d'une autre, dans l'héritage de cette distinction. Ses adversaires ne l'attaquent d'ailleurs pas de la même manière : Williamson reconnaît la solidité des exemples avant d'en contester la portée, tandis que Quine, plus intransigeant, vise à travers l'analyticité l'existence même d'une connaissance ''a priori''. Casullo distingue dans l'argument de Quine deux volets, l'un dirigé contre les concepts sémantiques de synonymie et de définition, l'autre contre le réductionnisme et aboutissant à la révisabilité de tout énoncé ; c'est le second qui, si l'on exige de la justification ''a priori'' qu'elle soit indéfaisable, atteint l'existence même de la connaissance ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 231-234.</ref> La distinction résiste à ces attaques, mais elle en sort transformée. Grondin en fait l'aveu à sa manière, en écrivant que « nous avons perdu le sens de l{{'}}''a priori'' » : nous concédons un statut ''a priori'' à quelques principes logiques, peut-être aux mathématiques, mais l'œil de l'âme dont parlait Platon nous fait défaut, et nous sommes en cela plus kantiens que Kant, qui refusait déjà l'intuition intellectuelle. La question posée par la première ''Critique'', celle de la crédibilité de l{{'}}''a priori'', reste ainsi la nôtre.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 12-13 et p. 15.</ref>
Comprendre la notion d{{'}}''a priori'', c'est saisir l'un des fils conducteurs de l'histoire de la philosophie : la tentative de délimiter ce qui, dans notre connaissance du monde, relève de la constitution propre de notre esprit et ce qui provient de l'expérience sensible, autrement dit, de comprendre comment nous connaissons et quelles sont les conditions de possibilité de notre savoir.
== Notes et références ==
{{references|colonnes=2}}
== Bibliographie ==
=== Sources primaires classiques ===
* Aristote, ''Seconds Analytiques'', trad. P. Pellegrin, Garnier-Flammarion, 2005.
* Platon, ''La République'', trad. G. Leroux, Garnier-Flammarion, 2004.
* Platon, ''Ménon'', trad. M. Canto-Sperber, Garnier-Flammarion, 1993.
* Thomas d'Aquin, ''Somme théologique'', trad. A.-M. Roguet, Cerf, 1984 (4 vol.).
* Guillaume d'Ockham, ''Summa logicae'', éd. Ph. Boehner, G. Gál et S. Brown, St. Bonaventure, 1974.
* Descartes, René, ''Méditations métaphysiques'', 1641, éd. J.-M. Beyssade et M. Beyssade, Garnier-Flammarion, 2011.
* Leibniz, Gottfried W., ''Nouveaux essais sur l'entendement humain'', 1765, éd. J. Brunschwig, Garnier-Flammarion, 1990.
* Leibniz, Gottfried W., ''Monadologie'', 1714, éd. É. Boutroux, Delagrave, 1991.
* Locke, John, ''Essai sur l'entendement humain'', 1689, trad. J.-M. Vienne, Vrin, 2001-2006 (2 vol.).
* Hume, David, ''Traité de la nature humaine'', 1739, trad. Ph. Baranger et Ph. Saltel, Garnier-Flammarion, 1993-1999 (3 vol.).
* Hume, David, ''Enquête sur l'entendement humain'', 1748, trad. A. Leroy, rév. M. Beyssade, Garnier-Flammarion, 2006.
* Kant, Emmanuel, ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006 ; trad. A. Tremesaygues et B. Pacaud, PUF, coll. « Quadrige », 2012.
* Kant, Emmanuel, ''Prolégomènes à toute métaphysique future'', 1783, trad. J. Gibelin, rév. J. Rivelaygue, Vrin, 1986.
* Kant, Emmanuel, ''Fondation de la métaphysique des mœurs'', 1785, trad. A. Renaut, Garnier-Flammarion, 1994.
* Mill, John Stuart, ''Système de logique déductive et inductive'', 1843, trad. L. Peisse, Mardaga, 1988.
* Frege, Gottlob, ''Les Fondements de l'arithmétique'', 1884, trad. C. Imbert, Seuil, 1969.
=== Développements post-kantiens et XX{{e}} siècle ===
* Ayer, Alfred J., ''Language, Truth and Logic'', Gollancz, 1936 ; rééd. Penguin, 2001.
* Husserl, Edmund, ''Recherches logiques'', 1900-1901, trad. H. Élie, A. L. Kelkel et R. Schérer, PUF, 1961-1963 (3 vol.).
* Husserl, Edmund, ''Idées directrices pour une phénoménologie'', 1913, trad. P. Ricœur, Gallimard, 1950.
* Scheler, Max, ''Le formalisme en éthique et l'éthique matériale des valeurs'', 1913-1916, trad. M. de Gandillac, Gallimard, 1955.
* Carnap, Rudolf, ''Der logische Aufbau der Welt'', 1928 ; trad. angl. ''The Logical Structure of the World'', Open Court, 2003.
* Cassirer, Ernst, ''Substance et fonction'', 1910, trad. P. Caussat, Minuit, 1977.
* Cassirer, Ernst, ''La théorie de la relativité d'Einstein'', 1921, trad. J. Seidengart, Cerf, 2000.
* Reichenbach, Hans, ''The Theory of Relativity and A Priori Knowledge'', 1920, trad. angl. M. Reichenbach, University of California Press, 1965.
* Quine, Willard Van Orman, « Two Dogmas of Empiricism », ''The Philosophical Review'', vol. 60, n° 1, 1951, p. 20-43 ; repris dans ''From a Logical Point of View'', Harvard UP, 1953.
* Quine, Willard Van Orman, ''Word and Object'', MIT Press, 1960.
* Grice, Herbert P. et Strawson, Peter F., « In Defense of a Dogma », ''Philosophical Review'', vol. 65, n° 2, 1956, p. 141-158.
* Dufrenne, Mikel, ''La Notion d'a priori'', PUF, 1959 ; trad. angl. E. S. Casey, ''The Notion of the A Priori'', préf. P. Ricœur, Northwestern UP, 1966, rééd. 2009.
* Dufrenne, Mikel, ''L'inventaire des a priori. Recherche de l'originaire'', Christian Bourgois, 1981.
* Kripke, Saul, « Identity and Necessity », in M. K. Munitz (éd.), ''Identity and Individuation'', New York UP, 1971, p. 135-164.
* Kripke, Saul, ''Naming and Necessity'', Harvard UP, 1980 ; trad. fr. P. Jacob et F. Recanati, ''La logique des noms propres'', Minuit, 1982.
=== Épistémologie contemporaine de l{{'}}''a priori'' ===
* Bealer, George, « The Incoherence of Empiricism », ''Proceedings of the Aristotelian Society'', suppl. vol. 66, 1992, p. 99-138.
* Boghossian, Paul, « Analyticity Reconsidered », ''Noûs'', vol. 30, n° 3, 1996, p. 360-391.
* Boghossian, Paul et Peacocke, Christopher (éds.), ''New Essays on the A Priori'', Clarendon Press, 2000.
* Boghossian, Paul et Williamson, Timothy, ''Debating the A Priori'', Oxford UP, 2020.
* BonJour, Laurence, ''In Defense of Pure Reason. A Rationalist Account of A Priori Justification'', Cambridge UP, 1998.
* Casullo, Albert (éd.), ''A Priori Knowledge'', Ashgate, 1999 (anthologie de textes classiques et contemporains).
* Casullo, Albert, ''A Priori Justification'', Oxford UP, 2003.
* Casullo, Albert, ''Essays on A Priori Knowledge and Justification'', Oxford UP, 2012.
* Casullo, Albert et Thurow, Joshua C. (éds.), ''The A Priori in Philosophy'', Oxford UP, 2013.
* Chalmers, David, « Does Conceivability Entail Possibility? », in T. Gendler et J. Hawthorne (éds.), ''Conceivability and Possibility'', Oxford UP, 2002, p. 145-200.
* Field, Hartry, « Recent Debates about the A Priori », in T. Gendler et J. Hawthorne (éds.), ''Oxford Studies in Epistemology'', vol. 1, Oxford UP, 2005, p. 69-88.
* Hanna, Robert, ''Cognition, Content, and the A Priori. A Study in the Philosophy of Mind and Knowledge'', Oxford UP, 2015.
* Horowitz, Tamara, ''The Epistemology of A Priori Knowledge'', éd. J. L. Camp, Oxford UP, 2006.
* Kitcher, Philip, ''The Nature of Mathematical Knowledge'', Oxford UP, 1983.
* Mares, Edwin, ''A Priori'', Routledge, coll. « Central Problems of Philosophy », 2014.
* Moore, A. W., ''The Human A Priori. Essays on How We Make Sense in Philosophy, Ethics, and Mathematics'', Oxford UP, 2023.
* Piazza, Tommaso, ''A Priori Knowledge. Toward a Phenomenological Explanation'', Ontos Verlag, 2007.
* Warren, Jared, ''The A Priori Without Magic'', Cambridge UP, coll. « Elements in Epistemology », 2022.
* Williamson, Timothy, ''The Philosophy of Philosophy'', Blackwell, 2007.
=== Études sur Descartes, Kant et l'histoire de la notion ===
* Benoist, Jocelyn, ''L'a priori conceptuel. Bolzano, Husserl, Schlick'', Vrin, 1999.
* Friedman, Michael, ''Kant and the Exact Sciences'', Harvard UP, 1992.
* Friedman, Michael, ''Dynamics of Reason'', CSLI Publications, 2001.
* Gram, Moltke S., ''Kant, Ontology and the A Priori'', Northwestern UP, 1968.
* Greenberg, Robert, ''Kant's Theory of A Priori Knowledge'', Pennsylvania State UP, 2001.
* Grondin, Jean, ''Kant et le problème de la philosophie : l'a priori'', Vrin, 1989.
* Gueroult, Martial, ''La Critique de la raison pure de Kant'', Collège de France, 2022.
* Guillermit, Louis, ''Leçons sur la Critique de la raison pure de Kant'', Vrin, 2008.
* Guyer, Paul, ''Kant'', Routledge, 2006.
* Palkoska, Jan, ''The A Priori in the Thought of Descartes. Cognition, Method and Science'', Cambridge Scholars Publishing, 2017.
* Pascal, Georges, ''Pour connaître la pensée de Kant'', Bordas, 1996.
* Vuillemin, Jules, ''L'Héritage kantien et la révolution copernicienne'', PUF, 1954.
* Vuillemin, Jules, ''Physique et métaphysique kantiennes'', PUF, 1955.
=== Philosophie morale, sciences cognitives, perspectives complémentaires ===
* Chomsky, Noam, ''Règles et représentations'', 1980, trad. A. Kihm, Flammarion, 1985.
* Korsgaard, Christine, ''Creating the Kingdom of Ends'', Cambridge UP, 1996.
* Smith, Michael, ''Ethics and the A Priori. Selected Essays on Moral Psychology and Meta-Ethics'', Cambridge UP, 2004.
* Lorenz, Konrad, « Kants Lehre vom Apriorischen im Lichte gegenwärtiger Biologie », ''Blätter für deutsche Philosophie'', vol. 15, 1941, p. 94-125.
* Spelke, Elizabeth S. et Kinzler, Katherine D., « Core Knowledge », ''Developmental Science'', vol. 10, n° 1, 2007, p. 89-96.
* Jackson, Frank, ''From Metaphysics to Ethics'', Oxford UP, 1998.
{{IndexPhilo}}
{{DEFAULTSORT:A priori}}
{{AutoCat}}
7ne9d1u2ybqjoqlcypplq5bumonmme3
772245
772244
2026-09-16T03:12:52Z
PandaMystique
119061
772245
wikitext
text/x-wiki
{{DicoPhilo|A priori|lecture=oui}}
L'expression ''a priori'' (littéralement « à partir de ce qui précède » en latin) désigne, dans son sens épistémologique moderne, ce qui peut être connu ou justifié indépendamment de l'expérience. L'antériorité dont parle le mot n'est pas chronologique : elle ne signifie pas que la connaissance ''a priori'' précéderait dans le temps toute expérience, ni que l'expérience soit inutile pour apprendre les concepts ou acquérir la capacité de raisonner ; elle signifie que la justification de cette connaissance ne dépend pas de l'expérience. Apparue dans le vocabulaire logique du Moyen Âge, où elle qualifiait d'abord un ordre de [[Dictionnaire de philosophie/Démonstration|démonstration]], cette expression a reçu d'Emmanuel Kant, au XVIII{{e}} siècle, sa formulation moderne et systématique, qui oppose ce qui est connu indépendamment de l'expérience (l{{'}}''a priori'') à ce qui provient de l'expérience empirique (l{{'}}''a posteriori'').<ref>Kant, E., ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006, Introduction, B1-B6.</ref> Comprendre cette distinction permet de saisir comment s'articulent, dans notre [[Dictionnaire de philosophie/Connaissance|connaissance]] du monde, les contributions respectives de notre esprit et de notre expérience sensible. Elle engage aussi une question plus large : y a-t-il des [[Dictionnaire de philosophie/Vérité|vérités]] que nous pouvons établir depuis notre fauteuil, sans ouvrir les yeux sur le monde, et, si oui, d'où leur vient cette autorité ?
== Une distinction que chacun pratique ==
Avant toute théorie, la distinction se laisse reconnaître dans des exemples. Pour savoir s'il fait beau, il faut ouvrir les yeux ou consulter quelqu'un qui l'a fait ; pour savoir que s'il fait beau, alors il fait beau, nul besoin de regarder par la fenêtre. Les deux propositions parlent du même temps qu'il fait, mais l'expérience n'y joue pas le même rôle. Timothy Williamson et Paul Boghossian, qui s'opposent sur presque tout le reste, s'accordent sur ce point de départ : de tels exemples sont « projectibles », c'est-à-dire que nous savons, à partir d'eux, classer de nouveaux cas avec un bon degré d'accord, sans nous être concertés.<ref>Williamson, T., « How Deep is the Distinction between A Priori and A Posteriori Knowledge? », in P. Boghossian et T. Williamson, ''Debating the A Priori'', Oxford UP, 2020, p. 117 ; Boghossian, P., « Do We Have Reason to Doubt the Importance of the Distinction between A Priori and A Posteriori Knowledge? », in ''Debating the A Priori'', 2020, p. 137-138.</ref> Que tous les carrés aient quatre côtés, que rien ne puisse être entièrement rouge et entièrement vert au même instant, que deux cercles de rayons différents se coupent en deux points au plus, voilà des connaissances que nous rangeons spontanément du côté de l{{'}}''a priori''. Que toutes les tables de bois soient carrées, ou que ce volume-ci soit rouge, il faudrait aller voir.
Un second exemple, proposé par Boghossian et Christopher Peacocke, précise ce que veut dire « indépendant de l'expérience ». Vous reconnaissez, dans un restaurant, un violoncelliste célèbre : votre souvenir d'une photographie, votre [[Dictionnaire de philosophie/Croyance|croyance]] que ce visage en est une version vieillie et votre perception actuelle concourent à produire votre croyance, et c'est bien votre expérience visuelle qui vous y autorise. Comparez maintenant avec quelqu'un qui apprend une vérité logique en lisant une démonstration : voir les lignes écrites cause sa croyance, mais ce qui l'y autorise est la démonstration elle-même, non le fait de l'avoir vue sur le papier. Il faut donc distinguer soigneusement la relation de causalité et la relation de justification, ou, pour reprendre leur mot, d{{'}}''entitlement''.<ref>Boghossian, P. et Peacocke, C., « Introduction », in P. Boghossian et C. Peacocke (éds.), ''New Essays on the A Priori'', Clarendon Press, 2000, p. 1-2.</ref> L'expérience peut être nécessaire pour accéder à une justification sans faire partie de cette justification. C'est cette idée, présente chez Leibniz déjà, que la tradition résume en disant que l'expérience joue un rôle habilitant (''enabling'') et non un rôle probant (''evidential'') dans la connaissance ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 2 ; Williamson, T., « How Deep is the Distinction... », 2020, p. 119 ; Mares, E., ''A Priori'', Routledge, 2014, p. 4-5.</ref>
== Origines historiques de la notion ==
=== Racines anciennes et médiévales ===
La distinction entre ce que l'on connaît par la seule pensée et ce que l'on connaît par l'observation trouve ses premières formulations dans l'Antiquité. Platon opposait la connaissance sensible, changeante et imparfaite, à la connaissance intelligible des Idées, éternelles et nécessaires.<ref>Platon, ''La République'', VI-VII (allégorie de la Ligne et de la Caverne), trad. G. Leroux, Garnier-Flammarion, 2004.</ref><ref>Platon, ''Ménon'', 80d-86c (le passage de la réminiscence géométrique), trad. M. Canto-Sperber, Garnier-Flammarion, 1993.</ref> Les vérités mathématiques, par exemple, semblaient ne pas dépendre de l'observation : que la somme des angles d'un triangle égale deux angles droits apparaît comme une vérité universelle et nécessaire, que l'on ne découvre pas par la mesure répétée de triangles concrets, mais que l'on saisit par l'intelligence. Pensons à l'esclave du ''Ménon'' : Socrate ne lui apprend rien, il l'interroge, et le jeune homme finit par voir que la diagonale d'un carré permet d'en construire un autre d'aire double. Nous aussi, lecteurs, nous voyons que la réponse est juste sans rien mesurer ; c'est ce que Platon met au compte de la réminiscence, et ce que nous appellerions aujourd'hui un raisonnement ''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 1-2 et p. 55 ; sur l'argument du ''Ménon'', p. 60-61.</ref>
Les termes mêmes d{{'}}''a priori'' et d{{'}}''a posteriori'' n'apparaissent toutefois qu'au Moyen Âge, et dans un sens différent. Ils traduisent une distinction d'Aristote entre ce qui est antérieur et plus connaissable par nature (la cause) et ce qui est antérieur et plus connaissable pour nous (l'effet, que nous percevons d'abord).<ref>[[Dictionnaire de philosophie/Aristote|Aristote]], ''Seconds Analytiques'', I, 2, 71b33-72a5, trad. P. Pellegrin, Garnier-Flammarion, 2005.</ref> Jean Grondin rappelle que tout dictionnaire fait venir ''a priori'' du grec ''proteron'', ce qui est antérieur ou premier : un comparatif, qui désigne un rapport d'antériorité à l'égard de ce qui est postérieur, ''hysteron''. Aristote passe en revue les sens de cette antériorité au chapitre 12 des ''Catégories'' et au livre Delta de la ''Métaphysique'', et la distinction la plus féconde est celle de l'antérieur selon la nature (les causes les plus universelles, les plus éloignées des sens) et de l'antérieur pour nous (les objets les plus proches des sens) ; en termes kantiens, note malicieusement Grondin, on parlerait presque d'un ''a priori'' objectif et d'un ''a priori'' subjectif. Deux traits de cette analyse marqueront toute l'histoire de la notion : la souveraineté de l'antérieur, qui ne se démontre pas en d'autres termes que les siens, et la dépendance du postérieur à son égard, la cause précédant irréversiblement ses effets.<ref>Grondin, J., ''Kant et le problème de la philosophie : l'a priori'', Vrin, 1989, p. 22-23 ; Aristote, ''Catégories'', 12, 14a35 sq. ; ''Métaphysique'', Δ, 11, 1018b30 sq.</ref> C'est au chapitre 13 des ''Seconds Analytiques'' que se trouve la distinction des démonstrations ''propter quid'' (par la cause) et ''quia'' (par le fait), d'où les termes médiévaux tireront leur sens.<ref>Aristote, ''Seconds Analytiques'', I, 13, 78a22 sq. ; Palkoska, J., ''The A Priori in the Thought of Descartes. Cognition, Method and Science'', Cambridge Scholars Publishing, 2017, p. 319-320.</ref>
Dans le vocabulaire de la [[Dictionnaire de philosophie/Logique|logique]] scolastique, une démonstration ''a priori'' va de la cause à l'effet, du « premier » vers le « second » ; une démonstration ''a posteriori'' remonte de l'effet à la cause. Thomas d'Aquin, au moment de prouver l'[[Dictionnaire de philosophie/Existence|existence]] de Dieu, rappelle cette distinction entre la démonstration ''propter quid'', qui procède par ce qui est antérieur en soi, et la démonstration ''quia'', qui procède par ce qui est antérieur pour nous.<ref>Thomas d'Aquin, ''Somme théologique'', Ia, q. 2, a. 2, resp., trad. A.-M. Roguet, Cerf, 1984.</ref> C'est au XIV{{e}} siècle que les mots eux-mêmes se fixent : Jan Palkoska situe la première occurrence documentée de « démonstration ''a priori'' » pour la preuve ''propter quid'' et de « démonstration ''a posteriori'' » pour la preuve ''quia'' dans la ''Somme de logique'' de Guillaume d'Ockham (vers 1323), et l'identification des deux couples se trouve scellée peu après chez Albert de Saxe (vers 1355) : la démonstration qui procède des causes aux effets s'appelle ''a priori'', celle qui remonte des effets aux causes ''a posteriori''.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 320-321 ; Guillaume d'Ockham, ''Summa logicae'', III-2, c. 17 ; Albert de Saxe, ''Quaestiones super libros Posteriorum'', I, q. 9.</ref> Palkoska met en garde contre une confusion tentante : les preuves ''a posteriori'' ne sont pas, pour ces auteurs, des preuves empiriques, ni les preuves ''a priori'' des preuves non empiriques ; il est facile de construire une démonstration qui remonte de l'effet à la cause sans rien devoir aux sens, et une démonstration qui descend de la cause à l'effet à partir de prémisses empiriques.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 322.</ref> Cette acception est donc très différente de celle que Kant leur donnera plus tard : chez les scolastiques, il ne s'agit pas encore d'un rapport à l'expérience sensible, mais d'un ordre entre causes et effets dans la démonstration.
Cette intelligence scolastique reste en vigueur jusqu'à Descartes, qui emploie les deux termes une quinzaine de fois, presque toujours pour qualifier une manière de démontrer.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 2.</ref> Dans le ''Traité de la lumière'', il promet à qui saura tirer les conséquences de ses règles de connaître les effets par leurs causes et d'avoir, « pour m'expliquer en les termes de l'École », des démonstrations ''a priori'' de tout ce que le nouveau monde peut produire ; dans les ''Méditations'', la preuve ''a posteriori'' de l'existence de Dieu se fait par les effets, tandis que la preuve dite ''a priori'', héritée d'Anselme, part du seul concept de Dieu. Grondin observe le glissement qui s'opère ici : la démonstration ''a priori'', la plus noble aux yeux de Descartes, devient une preuve purement conceptuelle, menée sans le concours de l'expérience, de sorte que l'expression finit par désigner non plus le cheminement d'une preuve, mais la source d'une connaissance.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 24 ; Descartes, R., ''Le Monde ou Traité de la lumière'', AT XI, 47 ; lettre à Mersenne, AT I, 490.</ref>
Palkoska montre que l'usage cartésien ne s'accorde pourtant ni avec le sens kantien ni tout à fait avec le sens scolastique : lorsque Descartes, dans les ''Secondes Réponses'', présente l'analyse comme la voie qui montre comment une chose a été découverte, il l'appelle ''a priori'', alors que la tradition aristotélicienne, qui fait aller l'analyse des effets aux causes, l'aurait dite ''a posteriori''.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 1-3 et p. 344-346 ; Descartes, R., ''Secondes Réponses'', AT VII, 155-156.</ref>
Ce que la scolastique reconnaissait par ailleurs, c'est qu'il existe des propositions évidentes dès que l'on en comprend les termes ; Leibniz dira qu'on trouve « cent endroits » où les scolastiques l'affirment.<ref>Casullo, A., ''A Priori Justification'', Oxford UP, 2003, p. 20 (citant Leibniz d'après Chisholm).</ref>
C'est au cours du XVII{{e}} et du XVIII{{e}} siècle que les termes glissent vers leur sens épistémologique moderne, celui d'une opposition entre connaissance indépendante de l'expérience et connaissance tirée de l'expérience : la distinction passe de la scolastique à Descartes, Leibniz et Berkeley, avant que Kant ne fixe pour de bon la terminologie.<ref>Warren, J., ''The A Priori Without Magic'', Cambridge UP, 2022, p. 8.</ref> Chez Leibniz, la démonstration ''a priori'' d'une proposition est celle qui peut s'effectuer indépendamment de l'expérience, ''independens ab experimento'', en montrant que le prédicat est contenu dans le sujet, de sorte que connaissance ''a priori'' et connaissance analytique deviennent chez lui des synonymes ; et les ''Nouveaux essais'', achevés vers 1704 mais publiés en 1765 seulement, paraissent juste avant que Kant n'engage sa réflexion critique, dont le débat avec l{{'}}''a priori'' sera toujours un débat avec Leibniz.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 24-25.</ref> Selon Tyler Burge, c'est à Leibniz que revient la première explication moderne de la notion : une vérité est ''a priori'' si elle peut être connue indépendamment de l'expérience, ce qui n'empêche pas que l'on dépende psychologiquement de l'expérience pour parvenir à la connaître.<ref>Burge, T., « Frege on Apriority », in ''New Essays on the A Priori'', 2000, p. 13.</ref> Burge observe aussi qu'à l'époque moderne, « expérience » en est venu à signifier expérience sensible, ce qui n'allait pas de soi chez Leibniz, pour qui une expérience intellectuelle restait concevable.<ref>Burge, T., « Frege on Apriority », 2000, p. 40-41.</ref> Palkoska souligne pour sa part combien reste peu étudiée la question de savoir pourquoi Kant a employé le couple ''a priori'' / ''a posteriori'' dans un sens qui s'écarte à ce point de celui, bien établi, de la longue tradition aristotélicienne qu'il connaissait.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 2.</ref>
=== Le débat entre rationalistes et empiristes ===
Au XVII{{e}} siècle, la philosophie de la connaissance se structure autour d'un débat entre rationalistes et empiristes. Pour les rationalistes, Descartes, Spinoza, Leibniz, la raison possède des idées innées ou des principes indépendants de l'expérience : l'idée d'infini, les principes logiques (principe de contradiction, principe de raison suffisante), les vérités mathématiques.<ref>[[Dictionnaire de philosophie/René Descartes|Descartes]], R., ''Méditations métaphysiques'', 1641, III (idée d'infini), éd. J.-M. Beyssade et M. Beyssade, Garnier-Flammarion, 2011.</ref><ref>Leibniz, G. W., ''Nouveaux essais sur l'entendement humain'', 1765, Préface et I, 1, éd. J. Brunschwig, Garnier-Flammarion, 1990.</ref> Ces vérités seraient universelles, nécessaires, et connaissables par la seule raison. Les trois grands rationalistes accordent tous une place privilégiée à une connaissance claire, distincte ou évidente par elle-même, que Mares rapproche des « idées claires et distinctes » de Descartes ; l{{'}}''Éthique'' de Spinoza s'ouvre sur des [[Dictionnaire de philosophie/Définition|définitions]] et des [[Dictionnaire de philosophie/Axiome|axiomes]] tenus pour évidents, dont tout le reste se déduit.<ref>Mares, E., ''A Priori'', 2014, p. 34-37.</ref> Pour les tenants de l{{'}}[[Dictionnaire de philosophie/Empirisme|empirisme]], Locke, Berkeley, Hume, c'est d'abord l'origine de nos idées qui est en cause : aucune idée, aucun contenu substantiel ne précède l'expérience, et avant toute expérience notre esprit serait comme une « page blanche » (''tabula rasa''). Cette thèse sur l'origine des idées ne revient pas à dire que toute proposition doive être vérifiée par l'observation, et nous verrons dans un instant que les empiristes eux-mêmes réservent une place à des vérités que l'on établit sans elle.<ref>Locke, J., ''Essai sur l'entendement humain'', 1689, II, 1, § 2, trad. J.-M. Vienne, Vrin, 2001.</ref><ref>Hume, D., ''Enquête sur l'entendement humain'', 1748, IV, trad. A. Leroy, rév. M. Beyssade, Garnier-Flammarion, 2006.</ref> Contre les idées innées, Locke exige un « consentement universel » : les principes prétendument innés, comme « ce qui est, est », les enfants et les simples ne les ont pas, et personne ne les a avant d'y avoir pensé. Leibniz répond que l'expérience seule ne fournit pas de règles d'inférence fiables et que certaines idées, l'être, l'unité, la substance, la durée, ne peuvent venir des sens. Mais les deux ne parlent pas tout à fait de la même chose : Locke attaque des croyances innées, Leibniz défend des concepts innés.<ref>Mares, E., ''A Priori'', 2014, p. 56 ; Locke, J., ''Essai sur l'entendement humain'', I, 1-2.</ref>
Les empiristes ne nient pas qu'il existe des propositions dont la vérité peut être établie sans recourir à l'observation. Mais chaque auteur formule cette idée dans son propre vocabulaire. Locke distingue, au sein de notre connaissance, ce qui repose sur la perception de rapports entre idées (''agreement or disagreement of ideas'') et ce qui porte sur l'existence réelle des choses : les vérités mathématiques et [[Dictionnaire de philosophie/Morale|morales]] relèvent du premier type et peuvent être connues avec [[Dictionnaire de philosophie/Certitude|certitude]], sans dépendre de l'observation du monde extérieur.<ref>Locke, J., ''Essai sur l'entendement humain'', IV, 3, § 18-20 ; IV, 9, § 1.</ref> Hume, de son côté, oppose les « relations d'idées » (les propositions de la géométrie, de l'algèbre, de l'arithmétique, « découvertes par la seule opération de la pensée ») aux « choses de fait », fondées sur l'expérience.<ref>Hume, D., ''Enquête sur l'entendement humain'', IV, 1.</ref> Leibniz, quant à lui, rationaliste mais interlocuteur principal des empiristes, distingue « vérités de raison » (nécessaires, fondées sur le principe de contradiction) et « vérités de fait » (contingentes, fondées sur le principe de raison suffisante).<ref>Leibniz, G. W., ''Monadologie'', 1714, § 33.</ref> Notons que ni Leibniz ni Frege, qui le suit sur ce point, ne tiennent les vérités de raison pour moins « factuelles » que les vérités de fait : elles ne sont pas de purs mots, elles portent sur ce qui est nécessaire à la nature même des choses.<ref>Burge, T., « Frege on Apriority », 2000, p. 16.</ref>
Il serait toutefois anachronique de projeter sur ces auteurs la grille conceptuelle kantienne. Les distinctions entre ''a priori'' et ''a posteriori'', entre analytique et synthétique, entre nécessaire et contingent, que Kant présente comme orthogonales, ne se recoupent pas chez les classiques de la même façon qu'elles le feront plus tard. L'identification systématique de l{{'}}''a priori'' avec l'analytique et le nécessaire est surtout caractéristique de certaines formes d'empirisme logique au XX{{e}} siècle, notamment chez Alfred Ayer, qui soutient explicitement que les vérités ''a priori'' sont des tautologies sans contenu factuel.<ref>Ayer, A. J., ''Language, Truth and Logic'', Gollancz, 1936, chap. 4 ; Casullo, A., ''A Priori Justification'', 2003, p. 214.</ref> Les synthèses contemporaines insistent précisément sur la nécessité de séparer ces trois distinctions, qui ne coïncident ni chez les classiques ni, comme Kripke l'a montré, dans la philosophie actuelle.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 10.</ref> Grondin décrit ce moment comme une crise : de Parménide à Wolff, le domaine de l{{'}}''a priori'' fut celui des vérités immuables que peut atteindre la raison, organe divin en nous, et les controverses de la métaphysique d'école présupposaient sans discussion la possibilité d'une connaissance ''a priori'' ; c'est Hume qui, aux yeux de Kant, a mis en cause cette idée même, et Kant entreprend de généraliser le scepticisme humien, de le penser jusqu'au bout, pour voir si la métaphysique peut y résister. La thèse ainsi durcie, que l'on ne trouve nulle part chez Hume lui-même, tient en une phrase : il n'y a pas de connaissance ''a priori''.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 13 et p. 26-27.</ref>
== La systématisation kantienne : les jugements synthétiques ''a priori'' ==
C'est Emmanuel Kant (1724-1804) qui, dans la ''Critique de la raison pure'' (1781, seconde édition 1787), confère à la distinction ''a priori'' / ''a posteriori'' son statut philosophique central et sa portée moderne.<ref>Kant, E., ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006.</ref> Kant opère ce qu'il appelle une « révolution copernicienne » en philosophie : au lieu de penser que notre connaissance se règle sur les objets, il propose que les objets se règlent sur notre faculté de connaître. Cette thèse lui permet d'expliquer l'existence de connaissances ''a priori'' tout en évitant les impasses du rationalisme dogmatique (qui prétend connaître le réel par la seule raison) et du [[Dictionnaire de philosophie/Scepticisme|scepticisme]] empiriste (qui conteste la possibilité de toute connaissance nécessaire). Mikel Dufrenne y voit l'origine même de la révolution copernicienne : pour Kant, la connaissance pure ''a priori'' est d'abord un fait, un fait de la raison, et c'est ce fait qui appelle une critique chargée d'en établir les conditions de validité.<ref>Dufrenne, M., ''The Notion of the A Priori'', trad. E. S. Casey, Northwestern UP, 1966, rééd. 2009 (''La Notion d'a priori'', PUF, 1959), p. 3.</ref>
Albert Casullo a montré combien la discussion contemporaine reste tributaire des quelques pages de l'introduction de la ''Critique''. Kant y installe un cadre fait de trois distinctions : la distinction épistémique entre connaissance ''a priori'' et connaissance empirique, la distinction métaphysique entre propositions nécessaires et contingentes, la distinction sémantique entre propositions analytiques et synthétiques. Et il pose, dans ce cadre, quatre questions : qu'est-ce que la connaissance ''a priori'' ? existe-t-elle ? quel est son rapport à la nécessité ? quel est son rapport à l'analytique ?<ref>Casullo, A., ''A Priori Justification'', 2003, p. 4.</ref> Ce sont encore, pour l'essentiel, les questions que nous nous posons.
=== Critères de l{{'}}''a priori'' : nécessité et universalité ===
Kant commence par une concession à l'empirisme : toute notre connaissance commence avec l'expérience, mais il ne s'ensuit pas qu'elle en dérive tout entière.<ref>Kant, E., ''Critique de la raison pure'', B1.</ref> Robert Hanna lit dans ce double mouvement une intuition durable : un empirisme minimal (aucune connaissance n'exclut tout rapport aux faits empiriques) n'entraîne pas un empirisme maximal (toute connaissance serait déterminée par eux). Que « si Socrate est célibataire, alors Socrate n'est pas marié » ait dû s'apprendre par l'expérience ne le rend pas moins nécessaire et ''a priori''.<ref>Hanna, R., ''Cognition, Content, and the A Priori'', Oxford UP, 2015, p. 313-316.</ref>
Pour Kant, la caractérisation première de l{{'}}''a priori'' reste l'indépendance à l'égard de l'expérience ; la nécessité (ce qui ne peut pas être autrement) et l'universalité rigoureuse (ce qui vaut pour tous les cas sans exception possible) constituent les deux critères sûrs, les « marques » (''Kennzeichen''), auxquels on reconnaît une connaissance ''a priori'', et Kant ajoute qu'ils vont inséparablement ensemble, même s'il est parfois plus commode d'employer l'un que l'autre.<ref>Kant, E., ''Critique de la raison pure'', Introduction, B3-B4 ; Hanna, R., ''Cognition, Content, and the A Priori'', 2015, p. 314.</ref> Si l'on dit « tous les corps observés jusqu'à présent tombent », cette proposition est universelle empiriquement, mais non nécessaire : rien ne garantit qu'un corps ne pourrait pas ne pas tomber. En revanche, « tout changement doit avoir une cause » est, selon Kant, une proposition à la fois nécessaire et universelle : on ne peut concevoir un changement sans cause.
Casullo attire l'attention sur la fonction de ces critères dans l'argument de Kant. Parce que Kant ne précise pas en quel sens exactement une connaissance doit être indépendante de l'expérience, il ne peut pas prouver l'existence de connaissances ''a priori'' à partir de leur seule définition ; il lui faut un critère. La nécessité est ce critère : l'expérience nous apprend qu'une chose est ainsi, mais non qu'elle ne peut être autrement, de sorte que toute connaissance d'une proposition nécessaire est ''a priori''. La réciproque, selon laquelle tout ce qui est connu ''a priori'' serait nécessaire, n'apparaît que dans la préface de la première édition, dans un passage où Kant glisse sans transition de la certitude à la nécessité, deux concepts pourtant distincts.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 186-187 ; Kant, E., ''Critique de la raison pure'', B3 et Axv.</ref>
Une connaissance ''a posteriori'', au contraire, provient de l'expérience sensible, comme « cette rose est rouge » ou « l'eau bout à 100 °C sous pression normale ». Dans le cadre kantien, de telles connaissances portent sur ce que l'expérience nous apprend comme contingent (cela aurait pu être autrement) ; leur universalité éventuelle reste empirique, fondée sur l'accumulation d'observations, et ne possède pas la nécessité propre à l{{'}}''a priori''. Cette association entre ''a posteriori'' et contingence, comme celle entre ''a priori'' et nécessité, sera remise en cause au XX{{e}} siècle, notamment par Kripke, dont nous verrons plus loin qu'il admet des vérités nécessaires connues ''a posteriori''.
=== Distinction entre analytique et synthétique ===
Kant introduit une seconde distinction, qu'il conçoit comme orthogonale à la première : celle entre jugements analytiques et jugements synthétiques.<ref>Kant, E., ''Prolégomènes à toute métaphysique future'', 1783, § 2, trad. J. Gibelin, rév. J. Rivelaygue, Vrin, 1986.</ref> Un jugement analytique est celui dans lequel « le prédicat est contenu dans le concept du sujet » : par exemple, « tout corps est étendu », l'extension faisant partie de la définition même du corps. Ces jugements sont purement explicatifs : ils clarifient ce que nous pensions déjà confusément, mais n'étendent pas notre connaissance. Ils sont toujours ''a priori'', car on peut les établir par simple analyse conceptuelle, sans recourir à l'expérience.
Un jugement synthétique, à l'inverse, « ajoute au sujet un prédicat qui n'y était pas contenu » : par exemple, « tous les corps sont pesants ». Le concept de pesanteur n'est pas inclus dans celui de corps ; c'est une information qui accroît notre connaissance. Les jugements synthétiques sont le plus souvent ''a posteriori'', fondés sur l'expérience empirique.
Les commentateurs relèvent deux difficultés. D'abord, la définition de Kant ne vaut que pour les jugements de la forme « tout A est B », alors que tout jugement devrait être analytique ou synthétique. Ensuite, Kant donne en réalité deux versions de la distinction : l'une porte sur le contenu des concepts (le prédicat est-il contenu dans le sujet ?), l'autre sur ce que pense le sujet qui juge (a-t-il déjà pensé le prédicat en pensant le sujet ?). Ces deux versions ne coïncident pas nécessairement.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 211-212.</ref> Moltke Gram relevait déjà que Kant propose deux critères de l'analyticité qui ne se recouvrent pas : tantôt le principe de contradiction, qui permet de passer d'une proposition implicitement analytique à une proposition explicitement analytique en remplaçant des synonymes par des synonymes, tantôt la simple inspection d'un concept pour voir s'il en contient un autre comme partie ; et il notait un conflit entre la formulation explicite de la distinction et l'usage qu'en fait Kant, puisque, les concepts mathématiques étant définissables, on ne voit pas pourquoi les jugements mathématiques ne seraient pas analytiques au sens de cette formulation.<ref>Gram, M. S., ''Kant, Ontology and the A Priori'', Northwestern UP, 1968, p. 44-46.</ref> Tommaso Piazza résume les deux reproches classiques faits au critère de l'inclusion : il est trop étroit, car « tout est spatio-temporel ou n'est pas spatio-temporel » n'a pas la forme sujet-prédicat et ne peut donc être dit analytique ; il est trop large, car « toute fille de philosophe de profession est philosophe de profession » est fausse, donc non analytique, alors que le concept du prédicat est bien contenu dans celui du sujet.<ref>Piazza, T., ''A Priori Knowledge. Toward a Phenomenological Explanation'', Ontos Verlag, 2007, p. vi.</ref>
=== Les jugements synthétiques ''a priori'' ===
La thèse centrale de Kant est qu'il existe des jugements synthétiques ''a priori'' : des propositions qui étendent notre connaissance (synthétiques) tout en étant universelles, nécessaires et indépendantes de l'expérience (''a priori'').<ref>Kant, E., ''Critique de la raison pure'', B19.</ref> Cette catégorie, inattendue puisqu'elle combine deux traits ordinairement dissociés, constitue selon Kant la clé de la connaissance scientifique.
Les exemples premiers sont les jugements mathématiques. La proposition « 7 + 5 = 12 » n'est pas analytique, soutient Kant, car le concept de « 12 » n'est contenu ni dans « 7 » ni dans « 5 » ni dans celui de somme : pour parvenir à « 12 », il faut effectuer une synthèse mentale, une construction dans l'intuition. Pourtant, ce jugement est ''a priori'' : il est universel et nécessaire, valable indépendamment de toute observation empirique.<ref>Kant, E., ''Critique de la raison pure'', Introduction, B15-B16.</ref> De même, les principes premiers de la physique, comme « tout changement a une cause », sont synthétiques (ils étendent notre connaissance du monde) et ''a priori'' (ils sont nécessaires et universels).
Pourquoi Kant a-t-il besoin de cette distinction, alors que sa preuve de l'existence de connaissances ''a priori'' n'en dépend pas ? Casullo répond qu'elle sert à formuler la question directrice de la ''Critique'' : comment des jugements synthétiques ''a priori'' sont-ils possibles ? Kant tient en effet la connaissance analytique pour peu problématique (il suffit du principe de contradiction et de l'analyse du concept), tandis que la connaissance synthétique ''a priori'' requiert, selon lui, le secours de l'intuition. Il présuppose donc que les deux types de connaissance ont des sources différentes, et que la seconde est plus énigmatique que la première ; mais il ne défend jamais expressément ces deux présupposés.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 212-214.</ref>
== Formes ''a priori'' de la sensibilité et de l'entendement ==
Comment expliquer la possibilité de ces jugements synthétiques ''a priori'' ? Kant répond que notre esprit impose des structures ''a priori'' à l'expérience. Ces structures sont de deux types, correspondant à deux facultés de connaissance distinctes.
=== L'espace et le temps : formes ''a priori'' de la sensibilité ===
Dans l'Esthétique transcendantale (première partie de la ''Critique de la raison pure''), Kant soutient que l'espace et le temps ne sont pas des propriétés des choses en elles-mêmes, mais des formes ''a priori'' de notre sensibilité, c'est-à-dire des conditions sous lesquelles seulement quelque chose peut nous être donné comme objet.<ref>Kant, E., ''Critique de la raison pure'', A22/B37 sq.</ref> L'espace est la forme du « sens externe » : tout ce qui nous apparaît comme extérieur se présente nécessairement dans l'espace. Le temps est la forme du « sens interne » : toutes nos représentations, qu'elles soient externes ou internes, se succèdent dans le temps. Ces formes ne dérivent pas de l'expérience ; au contraire, elles sont les conditions de possibilité de toute expérience.
Kant distingue nettement les intuitions, qui sont singulières (cette chatte-ci, et non n'importe quelle chatte), des concepts, qui sont généraux. Mares compare nos intuitions de l'espace et du temps à des contenants mentaux dans lesquels nous rangerions nos expériences pour en composer une carte du monde, toujours partielle ; la métaphore est commode, mais il ne faut pas y voir des réceptacles psychologiques : l'espace et le temps sont pour Kant les formes pures de l'intuition sensible, les cadres formels sous lesquels seulement quelque chose peut nous être donné. Mais elles nous renseignent aussi sur les propriétés de l'espace entier : en construisant mentalement un triangle, nous établissons que ses angles valent deux droits, car l'intuition nous apprend que l'espace est uniforme, une portion valant ce que vaut toute autre.<ref>Mares, E., ''A Priori'', 2014, p. 108-109.</ref>
Kant insiste sur le fait que la sensibilité possède ses propres structures ''a priori'' qui organisent toute réception d'objets. L{{'}}''a priori'' n'est donc pas l'apanage de l'intellect : il concerne aussi notre capacité intuitive et sensible.
Cette thèse explique, pour Kant, la nature ''a priori'' de la géométrie : celle-ci étudie les propriétés nécessaires de l'espace en tant que forme de notre sensibilité. Les vérités géométriques sont donc synthétiques (elles étendent notre connaissance de l'espace) et ''a priori'' (elles découlent de la structure spatiale que notre esprit impose aux phénomènes). Kant n'a pas à prouver que notre intuition de l'espace ressemble à l'espace réel, puisque, pour lui, notre intuition de l'espace est l'espace.<ref>Mares, E., ''A Priori'', 2014, p. 109.</ref>
=== Les catégories : formes ''a priori'' de l'entendement ===
Dans l'Analytique transcendantale, Kant identifie les catégories ou [[Dictionnaire de philosophie/Concept|concepts]] purs de l'entendement : substance, causalité, unité, pluralité, nécessité, possibilité, etc.<ref>Kant, E., ''Critique de la raison pure'', A80/B106.</ref> Ces catégories sont ''a priori'' : elles ne dérivent pas de l'expérience, mais structurent toute expérience possible. Par exemple, l'expérience d'une succession objective, c'est-à-dire d'un changement déterminé dans l'objet et non du simple défilé de nos appréhensions, suppose selon Kant la représentation d'une règle de [[Dictionnaire de philosophie/Causalité|causalité]] : c'est notre entendement qui impose ''a priori'' la catégorie de cause et effet, sans laquelle rien ne distinguerait la succession de nos représentations, qui change dès que nous tournons la tête, d'un événement dans le monde.<ref>Kant, E., ''Critique de la raison pure'', A189-211/B232-256 (seconde analogie de l'expérience) ; Mares, E., ''A Priori'', 2014, p. 111.</ref>
La forme même de l'argument mérite attention. Kant part d'une proposition qu'il ne discute pas, à savoir que nous avons une expérience d'objets dans l'espace et le temps, et il montre que cette expérience présuppose certaines croyances : c'est ce qu'on appelle un argument transcendantal. Le flux de nos sensations, pris tel quel, est chaotique ; notre champ visuel change dès que nous tournons la tête. Nous n'en faisons un monde d'objets qu'en rapportant ces changements à des lois, la marche du soleil, la réflexion de la lumière sur les surfaces. La croyance que les événements se suivent selon des lois n'est pas tirée de l'expérience ; c'est notre capacité à faire une expérience qui en dépend.<ref>Mares, E., ''A Priori'', 2014, p. 110-112.</ref> On a objecté que Kant, s'il avait rêvé, aurait dû savoir qu'une expérience sans règles est possible ; la réponse kantienne est que le rêve ne fournit pas d'expérience au sens qui l'intéresse, celui d'une expérience capable de fonder des jugements.<ref>Mares, E., ''A Priori'', 2014, p. 115.</ref>
Les catégories permettent de transformer les données sensibles en objets de connaissance. Sans elles, l'expérience serait un chaos d'impressions désordonnées. Kant formule ce point dans une phrase célèbre : « Des pensées sans contenu sont vides, des intuitions sans concepts sont aveugles. »<ref>Kant, E., ''Critique de la raison pure'', A51/B75.</ref> Les deux ensembles de structures ''a priori'', formes de la sensibilité (espace et temps) et catégories de l'entendement, sont nécessaires l'un et l'autre pour que la connaissance soit possible.
Il faut ajouter que les croyances ''a priori'' de Kant ne sont pas toutes ''a priori'' au même sens. Nos croyances mathématiques sont justifiées indépendamment de l'expérience, par le seul recours aux intuitions de l'espace et du temps. Mais la croyance que les événements obéissent à des lois n'est ni justifiée ni en attente de justification : elle est ce avec quoi nous construisons le monde perçu. Ce qu'un argument transcendantal établit, c'est que nous avons cette croyance, non qu'elle est vraie. Elle n'en fournit pas moins un fondement ''a priori'' à d'autres croyances, à commencer par celle qu'une science de la nature est possible.<ref>Mares, E., ''A Priori'', 2014, p. 114.</ref>
=== Idéalisme transcendantal et limites de l{{'}}''a priori'' ===
Cette doctrine a un corollaire important : nous ne connaissons que les phénomènes (les objets tels qu'ils nous apparaissent, structurés par nos formes ''a priori''), jamais les choses en soi (les objets tels qu'ils sont indépendamment de notre faculté de connaître).<ref>Kant, E., ''Critique de la raison pure'', Bxxvi.</ref> L{{'}}''a priori'' gagne en universalité et en nécessité ce qu'il perd en portée métaphysique : nous ne pouvons connaître ''a priori'' que ce que notre esprit a lui-même mis dans les choses, non ce que les choses sont en elles-mêmes.
Cette limitation a des conséquences importantes pour la [[Dictionnaire de philosophie/Métaphysique|métaphysique]] traditionnelle. Les catégories, bien qu{{'}}''a priori'', ne s'appliquent légitimement qu'aux objets d'expérience possible. Toute tentative de les appliquer au-delà constitue un usage illégitime de la raison, dont la Dialectique transcendantale expose les trois formes : les paralogismes, lorsque la raison prétend connaître l'âme comme une substance simple et immortelle ; les [[Dictionnaire de philosophie/Antinomie|antinomies]], lorsqu'elle prétend déterminer le monde comme une totalité et se trouve prise dans des contradictions insolubles, par exemple au sujet de la liberté ; l'idéal de la raison pure, lorsqu'elle prétend démontrer l'existence de Dieu.<ref>Kant, E., ''Critique de la raison pure'', A341-405/B399-432 (paralogismes) ; A405-567/B432-595 (antinomies) ; A567-642/B595-670 (idéal de la raison pure).</ref>
Adrian Moore a redonné à cette doctrine la forme d'une énigme. Trois propositions paraissent vraies et pourtant incompatibles : il existe une connaissance de fauteuil, c'est-à-dire une connaissance que l'expérience ne garantit pas ; une partie de cette connaissance porte sur ce qui est au-delà du sujet ; et elle ne fait appel à aucune rencontre particulière avec quoi que ce soit au-delà du sujet. Certains empiristes nient la première, d'autres la deuxième (toute connaissance de fauteuil porterait sur notre langage ou nos concepts), certains platoniciens la troisième (nous serions en contact avec des universaux). Kant les accepte toutes trois : ce que nous connaissons depuis le fauteuil, c'est la forme de ce qui est au-delà du sujet, et cette forme dépend du sujet.<ref>Moore, A. W., ''The Human A Priori. Essays on How We Make Sense in Philosophy, Ethics, and Mathematics'', Oxford UP, 2023, p. 23-25.</ref> Moore tient l'argument qui va de l'existence d'une connaissance synthétique de fauteuil à l'idéalisme transcendantal pour valide, mais seulement si cette connaissance est connaissance du nécessaire ; et comme l'idéalisme transcendantal lui paraît incohérent, puisqu'il doit reconnaître, en se plaçant hors du point de vue du sujet, la contingence de la forme que le sujet impose, alors que Kant interdit un tel regard sur les choses en soi, il conclut qu'il n'existe pas de connaissance synthétique de fauteuil du nécessaire, ce qui laisse ouverte la question d'une connaissance de fauteuil du contingent.<ref>Moore, A. W., ''The Human A Priori'', 2023, p. 23 et p. 40.</ref> Robert Greenberg défend la position inverse : Strawson a raison de juger l'idéalisme inutile pour rendre compte de la connaissance empirique, mais la connaissance ''a priori'' en est distincte, et une interprétation fidèle de Kant doit montrer comment sa possibilité exige l'idéalisme transcendantal.<ref>Greenberg, R., ''Kant's Theory of A Priori Knowledge'', Pennsylvania State UP, 2001, p. 44.</ref>
Dufrenne a insisté sur un trait du dispositif kantien qui commande toute la suite : chez Kant, l{{'}}''a priori'' est forme, jamais matière. Le donné est ce que la sensibilité reçoit et que la raison ne peut justifier ; l{{'}}''a priori'' relève de l'activité constituante de l'esprit et ne se présente jamais comme quelque chose de constitué. En substituant à la question « qu'est-ce qui est donné ? » la question « qu'est-ce qui peut être donné ? », Kant reprend à Hume la réponse selon laquelle seul un contenu sensible peut l'être. Antériorité, ici, ne veut pas dire précédence dans le temps, mais indépendance logique : ce qui est antérieur à l'expérience ne peut être compromis par elle. Et pourtant, observe Dufrenne, l{{'}}''a priori'' vise l'expérience qu'il fonde ; il « a autant besoin de l'expérience que l'expérience de l{{'}}''a priori'' ». La formule annonce tout son programme : un empirisme du transcendantal, où l{{'}}''a priori'' se donne aussi dans l'expérience.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 4-9.</ref> Nous verrons ce que la phénoménologie tire de cette remarque.
== L{{'}}''a priori'' après Kant : critiques, reprises, transformations ==
La théorie kantienne a suscité d'intenses débats qui se poursuivent jusqu'à nos jours.
=== L'empirisme inductiviste de Mill ===
La première grande contestation vient de John Stuart Mill (1806-1873), pour qui toute justification est une forme d'induction, y compris en logique et en mathématiques. Nous n'avons jamais perçu de contradiction vraie ; c'est pourquoi nous croyons qu'il n'y en a pas, et non parce que la chose serait impossible. Que nous ne puissions concevoir une contradiction vraie ne prouve pas, selon Mill, qu'elle soit impossible. Même le syllogisme se réduit chez lui à un raisonnement par ressemblance : le duc de Wellington est mortel parce qu'il ressemble, par son humanité, à d'autres [[Dictionnaire de philosophie/Individu|individus]] qui se sont révélés mortels. Sa méthode est, pour reprendre l'expression d'Edwin Mares, « inductive de bout en bout », ce qui signifie que la conclusion d'un raisonnement n'est jamais qu'à peu près assurée par ses prémisses. La difficulté classique de cette position est que nos méthodes inductives paraissent elles-mêmes contenir de la logique déductive : pour tester une hypothèse, il faut d'abord en tirer les conséquences.<ref>Mares, E., ''A Priori'', 2014, p. 84-87 ; Mill, J. S., ''Système de logique déductive et inductive'', 1843, II, 3, § 7 et II, 7, § 5, trad. L. Peisse, Mardaga, 1988.</ref> Frege renversera la thèse de Mill : la justification inductive est pour lui une espèce de la preuve déductive, où des énoncés singuliers se combinent à un principe général d'induction.<ref>Burge, T., « Frege on Apriority », 2000, p. 16.</ref>
=== Frege : l{{'}}''a priori'' comme ordre de justification ===
Gottlob Frege (1848-1925) donne à la notion une tournure qui pèsera sur tout le XX{{e}} siècle. Dans ''Les Fondements de l'arithmétique'' (1884), il précise que les distinctions entre ''a priori'' et ''a posteriori'', analytique et synthétique, ne concernent pas le contenu du jugement mais sa justification ; c'est pourquoi une [[Dictionnaire de philosophie/Erreur|erreur]] ''a priori'' serait, dit-il, aussi impossible qu'un concept bleu. Une vérité est analytique si sa preuve ne s'appuie que sur des lois logiques générales et des définitions ; elle est ''a priori'' si sa preuve peut se dériver de lois générales qui « n'ont besoin ni ne sont susceptibles de preuve » ; elle est ''a posteriori'' si cette preuve ne peut se passer de faits, c'est-à-dire de vérités singulières portant sur des objets déterminés.<ref>Burge, T., « Frege on Apriority », 2000, p. 12-14 ; Frege, G., ''Les Fondements de l'arithmétique'', 1884, § 3, trad. C. Imbert, Seuil, 1969.</ref> Frege accorde à Kant que la géométrie est synthétique ''a priori'', mais soutient contre lui que l'arithmétique est analytique. Burge fait observer que, sous couvert de clarifier Kant, Frege est en réalité plus proche de Leibniz : il tient l{{'}}''a priori'' pour un ordre canonique de justification entre vérités, indépendant des esprits individuels, et la formule des vérités premières qui n'ont besoin ni ne sont susceptibles de preuve se lit mot pour mot chez Leibniz.<ref>Burge, T., « Frege on Apriority », 2000, p. 15-17.</ref> Comme Leibniz encore, Frege insiste sur la compatibilité de l{{'}}''a priori'' avec toutes sortes de dépendances à l'égard de l'expérience : avoir besoin de voir des symboles pour apprendre un théorème ne rend pas ce théorème empirique, et appeler « empirique » une proposition parce qu'il a fallu des observations pour en prendre conscience, c'est, dit Frege, faire de la psychologie.<ref>Burge, T., « Frege on Apriority », 2000, p. 17 ; Frege, G., ''Les Fondements de l'arithmétique'', § 8.</ref>
=== La critique empiriste : positivisme logique et Quine ===
Le positivisme logique du Cercle de Vienne (années 1920-1930) cherche à réduire l{{'}}''a priori'' au domaine analytique, en rejetant les jugements synthétiques ''a priori'' kantiens.<ref>Carnap, R., ''Der logische Aufbau der Welt'', 1928 ; [[Dictionnaire de philosophie/Moritz Schlick|Schlick]], M., « Is There a Factual A Priori? », in H. Feigl et W. Sellars (éds.), ''Readings in Philosophical Analysis'', Appleton-Century-Crofts, 1949.</ref> Pour des philosophes comme Carnap, les vérités dites ''a priori'', en logique et en mathématiques, sont des vérités purement linguistiques, résultant de [[Dictionnaire de philosophie/Convention|conventions]] concernant le cadre linguistique adopté. Jared Warren rappelle que cette théorie fondée sur la signification a une longue préhistoire, depuis les relations d'idées de Hume jusqu'à Carnap, Gentzen et Wittgenstein dans les années 1930, mais que les positivistes en ont expédié les détails épistémologiques, parce qu'ils identifiaient purement et simplement l'analytique, le nécessaire et l{{'}}''a priori''.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 28-29.</ref>
Au milieu du XX{{e}} siècle, le philosophe américain [[Dictionnaire de philosophie/Willard Van Orman Quine|Willard Van Orman Quine]] (1908-2000) attaque frontalement la distinction entre analytique et synthétique. Dans son article « Deux dogmes de l'empirisme » (1951), Quine soutient que la frontière entre propositions analytiques et propositions synthétiques, loin d'être nette, est indéfendable : aucune définition satisfaisante de l'analyticité ne résiste à l'examen.<ref>Quine, W. V. O., « Two Dogmas of Empiricism », ''The Philosophical Review'', vol. 60, n° 1, 1951, p. 20-43 ; repris dans ''From a Logical Point of View'', Harvard UP, 1953, chap. 2.</ref> Quine propose à la place une conception holiste de la connaissance : nos croyances forment une « toile » solidaire où chaque élément, y compris les vérités logiques et mathématiques, peut en principe être révisé face à l'expérience. Au centre de la toile se trouvent les croyances aux conséquences les plus étendues, que nous abandonnons en dernier ; à la périphérie, nos croyances perceptives. Deux maximes règlent la révision : conserver de préférence les croyances les plus enracinées, et maintenir la cohérence de l'ensemble.<ref>Mares, E., ''A Priori'', 2014, p. 90-91.</ref> Il n'y aurait donc pas de vérités entièrement à l'abri de toute révision empirique.
La critique de Quine ne vise pas d'abord le concept d{{'}}''a priori'' au sens épistémologique (le mode de justification indépendant de l'expérience), mais elle sape la distinction analytique/synthétique qui, depuis Kant, servait de cadre pour penser l{{'}}''a priori''. Boghossian et Peacocke reconstruisent ainsi l'argument : à moins de postuler des facultés occultes, la connaissance ''a priori'' ne s'explique que si la compréhension d'une phrase suffit à en connaître la vérité ; cela suppose des phrases vraies en vertu de leur seule signification ; or il n'y en a pas ; donc l{{'}}''a priori'' est inexplicable. Ils distinguent en outre trois familles d'objections sceptiques : celles qui identifient l{{'}}''a priori'' à une propriété qu'aucune proposition ne possède, comme l'indéfaisabilité ; celles qui nient qu'on puisse expliquer une connaissance indépendante de l'expérience ; celles qui tirent argument de l'histoire des sciences. Quine a usé des trois. Contre la troisième, ils font valoir un fait que toute théorie doit intégrer : lorsqu'une expérience contredit une prédiction, le physicien n'est jamais autorisé à réviser l'arithmétique pour expliquer l'écart. Comme ils l'écrivent, « aucun accélérateur de particules, si puissant soit-il, ne peut réfuter » que 7 + 5 = 12 ; toute théorie de l{{'}}''a priori'', même sceptique, doit expliquer ce fait ou l'expliquer comme une illusion.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 6-8.</ref>
Casullo va plus loin encore dans le désenchevêtrement. La littérature sur le synthétique ''a priori'' repose selon lui sur deux présupposés : que cette connaissance pose des problèmes explicatifs plus graves que la connaissance analytique ''a priori'', et que l'incohérence de la distinction analytique/synthétique jetterait le doute sur la distinction ''a priori''/''a posteriori''. Il tient les deux pour faux : la seconde distinction se comprend sans la première, et la question de savoir s'il existe des connaissances ''a priori'' peut être posée sans trancher le sort du synthétique ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 210.</ref> Le débat ouvert par Quine s'est poursuivi avec la réponse de Grice et Strawson, qui défendent la distinction en montrant qu'elle repose sur une pratique linguistique stable et partagée.<ref>Grice, H. P. et Strawson, P. F., « In Defense of a Dogma », ''Philosophical Review'', vol. 65, n° 2, 1956, p. 141-158.</ref>
=== L{{'}}''a priori'' matériel : la phénoménologie ===
À l'opposé de la tradition empiriste, la phénoménologie, initiée par Edmund Husserl (1859-1938), défend l'existence d'un ''a priori'' matériel.<ref>Husserl, E., ''Recherches logiques'', 1900-1901, III (théorie des touts et des parties), trad. H. Élie, A. L. Kelkel et R. Schérer, PUF, 1961-1963.</ref> Pour Husserl, il existe des structures essentielles non formelles, accessibles par l'intuition eidétique (c'est-à-dire par la saisie directe des essences) : par exemple, les lois d'essence qui régissent les rapports entre couleur et étendue (toute couleur suppose une surface colorée), ou, dans la tradition phénoménologique qui prolonge Husserl, notamment chez Adolf Reinach, entre promesse et obligation.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 181, qui renvoie à Zełaniec, W., « Fathers, Kings, and Promises. Husserl and Reinach on the A Priori », ''Husserl Studies'', vol. 9, 1992, p. 147-177.</ref> Ces vérités ne se réduisent ni à des conventions linguistiques ni à des tautologies formelles ; elles portent sur le contenu même des phénomènes. Dans les ''Idées directrices'', Husserl distingue les essences formelles, qui relèvent d'une ontologie formelle vide (l'objet en général), des essences matérielles, qui définissent des régions : chaque son a une essence, et au sommet se trouve l'essence du son en général ; l'essence du triangle relève du genre suprême « forme spatiale », celle du rouge du genre « qualité sensible ». Les vérités eidétiques régionales sont synthétiques, puisqu'elles ne s'obtiennent pas par analyse de formes vides, et ''a priori'', puisqu'elles sont données dans l'intuition d'essence.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 74-75 ; Husserl, E., ''Idées directrices pour une phénoménologie'', 1913, § 2, 10, 13 et 16, trad. P. Ricœur, Gallimard, 1950.</ref>
Tommaso Piazza a récemment tenté de faire de cette position une explication de la connaissance ''a priori'' capable de rivaliser avec les théories fondées sur la signification. Dans les disciplines formelles, l'intuition phénoménologique est la conscience directe de la vérité nécessaire de règles et de principes ; dans les disciplines matérielles, elle s'obtient par la variation eidétique : on part d'une maison perçue ou imaginée, on lui retire par l'imagination ses fenêtres, son toit, sa couleur, et l'on constate que la chose reste une chose matérielle, tandis qu'on ne parvient pas à imaginer une chose matérielle sans étendue ; ce qui se conserve à travers les variations, l'invariant, est l'essence.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 164 et p. 183.</ref> Piazza reprend à Robert Tragesser une thèse de symétrie entre perception et intuition rationnelle : dans les deux cas, la justification a la même structure, une saisie d'abord provisoire qui se confirme ou se défait au fil d'une inspection continue (l'homme aperçu se révèle un mannequin de cire, la suite de signes prise pour une preuve se révèle un sophisme), et dans les deux cas nous trouvons nos pensées contraintes par l'objet ; l'empiriste qui accorde à la perception le pouvoir de justifier ne peut donc, sans arbitraire, le refuser à l'intuition.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 145-148.</ref>
Deux objections pèsent sur la variation eidétique. La première rappelle les cygnes noirs de Levinas : ce que la variation livre paraît inductif, et rien n'autorise à passer des propriétés communes aux exemples imaginés aux propriétés qu'ils doivent avoir. La seconde répond que la variation présuppose la capacité de décider quel candidat appartient à l'espèce, capacité qui n'est autre que la maîtrise du concept, ce qui lève la première objection mais semble réduire les vérités eidétiques à des vérités sur nos concepts. Piazza accepte cette conséquence sans en tirer la conclusion conventionnaliste : nos concepts n'ont pas d'objectivité absolue, mais une objectivité relative suffit pour que les vérités conceptuelles disent quelque chose du réel, comme le soutient aussi BonJour lorsqu'il ramène la propriété représentée par le concept de rouge à un trait du monde et non à une entité mentale.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 165-166 et p. 177-179.</ref>
Max Scheler (1874-1928) refuse tout formalisme et prolonge cette idée en éthique. Pour lui, la nécessité et l'universalité kantiennes ne sont que des signes extérieurs et équivoques de l{{'}}''a priori'' ; le vrai critère est la manière dont il est saisi, dans une expérience pure et immédiate, alors que l{{'}}''a posteriori'' est l'objet d'une expérience médiate. Les propositions, écrit-il, sont vraies ''a priori'' parce que les faits qui les remplissent sont eux-mêmes donnés ''a priori''. Les valeurs morales (le noble, le sacré, l'utile, l'agréable) possèdent selon lui un ordre hiérarchique qui n'est ni conventionnel ni empirique, mais donné dans une intuition émotionnelle ''a priori'', et cet ordre demeure indépendant du monde des biens dans lesquels les valeurs apparaissent.<ref>Scheler, M., ''Le formalisme en éthique et l'éthique matériale des valeurs'', 1913-1916, trad. M. de Gandillac, Gallimard, 1955, Ire partie ; Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 72-73 et p. 87.</ref> Cette conception élargit beaucoup le champ de l{{'}}''a priori'' en y incluant des domaines que Kant avait exclus : l'esthétique, l'éthique matérielle, la sphère affective. Elle soulève aussi une question que Dufrenne formule sans détour : si tout ce qui a une essence est ''a priori'', où s'arrêter ? Faut-il admettre une essence ''a priori'' du chien ou de la cigarette, à la manière dont Parménide interrogeait Socrate sur les cheveux, la boue et la crasse ?<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 76 ; Platon, ''Parménide'', 130c.</ref>
Mikel Dufrenne (1910-1995), dans ''La Notion d'a priori'' (1959), reprend ce dossier pour en tirer une thèse propre. L{{'}}''a priori'' matériel désigne chez lui une structure de l'objet ou un trait du monde qui peut apparaître dans une expérience particulière, et que le sujet reconnaît aussitôt parce qu'il en a déjà un savoir virtuel.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 72.</ref> L{{'}}''a priori'' a ainsi deux faces : objectif, il est dans le monde, comme sens perçu dans les choses ; subjectif, il est dans l'homme, non comme une forme vide de l'entendement, mais comme un savoir virtuel porté par un sujet incarné, pris dans un corps et dans une société. La somme des ''a priori'' subjectifs avec lesquels une personne aborde l'expérience constitue ce que Dufrenne appelle son ''a priori'' existentiel.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 42 et p. 48 ; Casey, E. S., « Translator's Introduction », in Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. xxi.</ref> Entre ces deux faces règne une affinité, un accord de l'homme et du monde, que Dufrenne refuse d'expliquer par un naturalisme (qui perdrait le sujet) ou par un idéalisme (qui perdrait le réel), et qu'il renvoie à un ''a priori'' de l{{'}}''a priori'', la Nature d'où surgissent ensemble l'homme et le monde. Dans sa préface, Paul Ricœur se demande si la dualité de l{{'}}''a priori'' n'est pas telle que seul un sentiment, celui qu'exprime la poésie, en atteste l'unité.<ref>Ricœur, P., « Preface », in Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. xv-xvii ; Casey, E. S., « Translator's Introduction », p. xxi.</ref> Cet ''a priori'' perd son caractère strictement formel et universel, puisque l'expérience elle-même peut l'acquérir et que des mutations de l{{'}}''a priori'' existentiel d'une personne restent possibles, Dufrenne préférant les attribuer à la liberté qu'à des causes empiriques ; il conserve néanmoins sa fonction de condition, puisque la reconnaissance de l{{'}}''a priori'' objectif dépend toujours de la présence de l{{'}}''a priori'' subjectif dans le sujet.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 48-49.</ref> Dufrenne poursuivra cette enquête dans ''L'inventaire des a priori'' (1981).<ref>Dufrenne, M., ''L'inventaire des a priori. Recherche de l'originaire'', Christian Bourgois, 1981.</ref>
=== Nécessité, ''a priori'' et modalité : Kripke ===
Le philosophe américain [[Dictionnaire de philosophie/Saul Kripke|Saul Kripke]] (1940-2022), dans ''La logique des noms propres'' (1980), a montré que les notions de nécessité, d{{'}}''a priori'' et d'analyticité, souvent confondues, doivent être soigneusement distinguées.<ref>Kripke, S., ''Naming and Necessity'', Harvard UP, 1980 ; trad. fr. P. Jacob et F. Recanati, ''La logique des noms propres'', Minuit, 1982.</ref> La nécessité est une propriété métaphysique : elle concerne ce qui ne peut pas être autrement, dans tous les mondes possibles. L{{'}}''a priori'' est une propriété épistémologique : il concerne le mode par lequel on connaît ou justifie une proposition (indépendamment de l'expérience). L'analyticité est une propriété sémantique : elle concerne les propositions vraies en vertu de la signification de leurs termes. Or ces trois propriétés ne coïncident pas nécessairement. Casullo résume les trois thèses de Kripke : les concepts de vérité ''a priori'' et de vérité nécessaire sont différents ; qu'ils coïncident en extension est une thèse substantielle qui demande un argument ; et de fait ils ne coïncident pas.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 187-188.</ref>
Kripke donne deux types de contre-exemples frappants. Premièrement, certaines vérités sont ''a priori'' sans être nécessaires. La proposition « le mètre étalon de Paris mesure un mètre » est connaissable ''a priori'' (par stipulation : c'est cet objet qui fixe la définition du mètre), mais [[Dictionnaire de philosophie/Contingence|contingente]] (ce morceau de métal aurait pu avoir une longueur légèrement différente dans d'autres circonstances). Mares en propose une variante parlante : décidons d'appeler « Tui » la première personne qui naîtra en 2020. Nous savons ''a priori'' que, s'il existe une unique première personne née en 2020, Tui naîtra en 2020 ; mais rien n'est moins nécessaire que la naissance de cette personne cette année-là. La description sert à fixer la référence du nom ; elle n'entre pas dans les faits qui concernent la personne.<ref>Mares, E., ''A Priori'', 2014, p. 22-23.</ref> David Kaplan a généralisé le procédé : les propositions de la forme « si p, alors actuellement p » sont connaissables ''a priori'', bien que certaines d'entre elles soient contingentes, à savoir celles dont l'antécédent, faux dans le monde actuel, aurait pu être vrai.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 3.</ref> Tamara Horowitz a contesté que la stipulation confère un tel privilège. Un colonel qui déclare un bar interdit à ses hommes ne sait pas pour autant, indépendamment de l'expérience ni incorrigiblement, que le bar est interdit : il doit savoir que le règlement l'autorise à le déclarer, ce qui demande quelque observation, et que la déclaration a bien été faite dans les formes ; le fiancé qui dit « oui » se rend marié, mais il doit observer que la cérémonie s'est déroulée comme le prescrivent les règles pour savoir qu'il l'est. Celui qui stipule n'est donc pas mieux placé, épistémologiquement, que celui qui subit la stipulation, et la doctrine conventionnaliste des empiristes, selon laquelle définir un mot procure une connaissance ''a priori'' et incorrigible à bon marché, ressurgit selon elle, sous une autre forme, chez Kripke et Donnellan.<ref>Horowitz, T., « Stipulation and Epistemological Privilege », in T. Horowitz, ''The Epistemology of A Priori Knowledge'', éd. J. L. Camp, Oxford UP, 2006, p. 138-141.</ref>
Deuxièmement, certaines vérités nécessaires ne sont connaissables qu{{'}}''a posteriori''. L'identité « l'étoile du soir est l'étoile du matin » (toutes deux étant Vénus) est nécessaire, puisque dans tout monde possible où ces objets existent, ils sont identiques, mais elle a été découverte par l'observation astronomique, non par la réflexion pure. De même, ce pupitre-ci n'est pas fait de glace : on ne le sait qu'en le regardant et en le touchant ; mais s'il n'est pas de glace, il ne pouvait pas l'être, car un pupitre de glace serait un autre objet. On connaît ''a priori'' le conditionnel « s'il n'est pas de glace, il est nécessairement non de glace », on apprend ''a posteriori'' son antécédent, et la conclusion hérite du caractère empirique de la prémisse.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 188-189 ; Kripke, S., « Identity and Necessity », in M. K. Munitz (éd.), ''Identity and Individuation'', New York UP, 1971.</ref>
Ces résultats ont durablement transformé le débat sur l{{'}}''a priori'' en montrant qu'il est impossible de traiter comme équivalentes les questions « cette proposition est-elle nécessaire ? », « est-elle connaissable ''a priori'' ? » et « est-elle analytique ? ». La philosophie contemporaine doit travailler avec ces trois distinctions séparées.
Deux précisions évitent toutefois de leur faire dire plus qu'elles ne disent. D'abord, savoir qu'une proposition est vraie et savoir qu'elle est nécessaire sont deux choses : le mathématicien connaît par sa preuve la vérité d'un théorème sans savoir, par cette preuve, qu'il est nécessaire, et le philosophe peut savoir que la conjecture de Goldbach est une proposition nécessaire (vraie ou fausse) sans savoir si elle est vraie. Les exemples de Kripke établissent donc que la valeur de vérité de certaines propositions nécessaires se connaît ''a posteriori'', non que leur statut modal se connaisse ainsi ; ce statut, Kripke lui-même le tient pour connu par analyse philosophique ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 189-190.</ref> Ensuite, l'argument qui conclut que « l'eau est H<sub>2</sub>O » est nécessaire repose sur deux prémisses, que « eau » et « H<sub>2</sub>O » sont des termes d'espèces naturelles et que les identités entre tels termes sont nécessaires, dont Mares fait observer qu'elles ne se connaissent, si elles se connaissent, qu{{'}}''a priori''. La nécessité ne s'apprend donc pas de l'expérience seule ; elle s'apprend d'un mélange d'expérience et de raisonnement ''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 20-22.</ref>
Williamson tire une autre leçon des résultats de Kripke : une même vérité peut être connue ''a priori'' par l'un et ''a posteriori'' par l'autre. Marie, forte en calcul, sait ''a priori'' que 289 + 365 = 654 et en déduit que 289 + 365 = 654 ou qu'il y a des funiculaires en Suisse ; Jean, fort en géographie, sait ''a posteriori'' qu'il y a des funiculaires en Suisse et en déduit la même disjonction. La disjonction est nécessaire, puisque son premier membre l'est ; Jean connaît donc une vérité nécessaire ''a posteriori'', et la tradition qui réservait l{{'}}''a priori'' aux nécessités et l{{'}}''a posteriori'' aux contingences se trompait.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 118-119.</ref>
=== Le néo-kantisme et la relativisation de l{{'}}''a priori'' ===
Les néo-kantiens du XIX{{e}} siècle et du début du XX{{e}} siècle, Hermann Cohen, Paul Natorp, Ernst Cassirer, ont cherché à adapter la théorie kantienne aux transformations scientifiques : les géométries non euclidiennes, la théorie de la relativité, la mécanique quantique semblaient contredire l'idée d'un ''a priori'' fixe et définitif.<ref>Cassirer, E., ''Substance et fonction'', 1910, trad. P. Caussat, Minuit, 1977 ; Cassirer, E., ''La théorie de la relativité d'Einstein'', 1921, trad. J. Seidengart, Cerf, 2000.</ref> Kant tenait en effet les axiomes d'Euclide pour vrais de l'espace physique et connus ''a priori'' ; la physique moderne décrit l'espace en termes non euclidiens. La leçon, note Mares, n'est pas seulement que Kant s'est trompé sur la géométrie de l'espace, mais que les savants doivent rester libres de choisir le cadre mathématique de leurs théories, ce que le nativisme kantien leur interdisait.<ref>Mares, E., ''A Priori'', 2014, p. 118-119.</ref> Pour Cassirer, les formes ''a priori'' ne sont plus des structures immuables de l'esprit, mais des « fonctions symboliques » qui évoluent avec le développement scientifique, tout en conservant un rôle constitutif : chaque théorie scientifique présuppose un cadre de principes ''a priori'' qui rendent possible l'interprétation de l'expérience, mais ce cadre peut lui-même changer lors des grandes transformations théoriques.
La formulation la plus nette de cette relativisation revient à Hans Reichenbach, dans un livre de 1920 sur la théorie de la relativité. Le concept kantien d{{'}}''a priori'' a, dit-il, deux sens : nécessairement vrai, ou vrai pour tous les temps ; et constitutif du concept d'objet. Le second est le plus important. L'objet de la connaissance n'est pas donné dans la perception, qui n'en fournit que le matériau ; il est construit par des principes de coordination qui rattachent les concepts mathématiques au réel et que Reichenbach nomme principes constitutifs de l'expérience : l'espace, le temps, la métrique euclidienne, le principe de probabilité ou celui de « génidentité », qui dit comment relier des concepts physiques pour définir une même chose demeurant identique dans le temps.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1920, trad. angl. M. Reichenbach, University of California Press, 1965, p. 48-49 et p. 53.</ref>
Kant supposait tacitement que les deux sens vont ensemble, c'est-à-dire que n'importe quel système cohérent de principes de coordination parvient à coordonner les équations au réel de manière unique ; Reichenbach appelle cette hypothèse celle de l'arbitraire de la coordination. Or la théorie de la relativité, restreinte puis générale, a montré qu'un système de principes tenus pour ''a priori'' (temps absolu, géométrie euclidienne) est incompatible avec l'interprétation inductive normale des données ; il faut choisir entre l'un et l'autre.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1965, p. 60-62.</ref> Le concept d{{'}}''a priori'' en sort changé : le premier sens, celui d'une vérité éternelle indépendante de l'expérience, ne peut être maintenu ; le second demeure, car aucun jugement physique ne dépasse la perception immédiate sans supposer une description de l'objet dans une variété d'espace-temps, mais la forme de ces principes n'est pas fixée d'avance. À l'analyse kantienne de la raison, Reichenbach substitue une méthode d'analyse logique des théories scientifiques effectives, et il crédite la relativité d'avoir retiré aux mathématiques la question de la vérité de la géométrie pour la confier à la physique.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1965, p. 74-77.</ref>
Michael Friedman, dans la lignée de Reichenbach et de Cassirer, a développé l'idée d'un ''a priori'' « relativisé » ou « constitutif ». Un principe est ''a priori'' relativement à une théorie s'il ne peut lui-même être confirmé ni réfuté empiriquement, mais qu'il rend possible le test empirique du reste de la théorie. Comment tester la loi de la gravitation universelle de Newton ? Il faut pouvoir mesurer une force ; c'est la seconde loi du mouvement (la force est le produit de la masse par l'accélération) qui le permet, en donnant au mot « force » un sens empirique. Mais cette seconde loi, elle, n'est pas testable : elle a le statut d'une stipulation. Elle est ''a priori'' relativement à la théorie de la gravitation. La constance de la vitesse de la lumière joue un rôle analogue dans la relativité. Sans ces principes, les autres lois ne seraient que des équations sans contenu empirique.<ref>Friedman, M., ''Dynamics of Reason'', CSLI Publications, 2001, chap. 2-3 ; Mares, E., ''A Priori'', 2014, p. 119-120 ; Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 8.</ref> Les principes ''a priori'' d'une théorie physique ne sont donc pas révisables de la même manière que les hypothèses empiriques ordinaires, mais ils ne sont pas non plus définitivement à l'abri de toute révision.
C'est ici que Friedman se sépare de Quine. Pour Quine, nos croyances forment une seule grande théorie que l'expérience confirme ou réfute en bloc ; pour Friedman, les savants distinguent ce qui se teste et ce qui rend le test possible. L'éclipse de 1919 ne réfute la gravitation newtonienne que si l'on admet que la lumière se propage en ligne droite ; on aurait pu conserver l'ancien cadre, mais au prix de l'élégance et de la simplicité. Le changement de cadre se décide donc sur des vertus théoriques, non sur la seule expérience.<ref>Mares, E., ''A Priori'', 2014, p. 120-121.</ref> Cette position tente de conserver l'intuition kantienne d'un rôle constitutif de l{{'}}''a priori'' tout en acceptant la leçon des changements scientifiques. Elle a un prix, que Mares souligne : si la constance de la vitesse de la lumière est stipulée, il ne peut y avoir de fait antérieur à son sujet, et le kantien, comme Kant, penche vers une forme d'antiréalisme.<ref>Mares, E., ''A Priori'', 2014, p. 122.</ref> Hilary Putnam avait proposé une idée voisine sous le nom de contextualisme : une croyance peut être ''a priori'' dans un contexte historique, où rien ne peut la réfuter empiriquement, et réfutable dans un autre.<ref>Mares, E., ''A Priori'', 2014, p. 27-28 (sur Putnam, H., « Philosophy of Physics », 1979).</ref>
== L{{'}}''a priori'' dans la philosophie contemporaine ==
La notion d{{'}}''a priori'' demeure au cœur de plusieurs débats importants. Les sections qui suivent distinguent les principales lignes de discussion, en commençant par les questions épistémologiques les plus élémentaires, souvent absentes des présentations introductives.
=== La justification ''a priori'' : nature, sources et faillibilité ===
L'un des débats les plus vifs de l{{'}}[[Dictionnaire de philosophie/Épistémologie|épistémologie]] contemporaine porte sur la nature même de la justification ''a priori''. Dire qu'une croyance est justifiée ''a priori'', c'est dire que sa justification ne repose pas sur l'expérience, qu'il s'agisse de la perception sensible, de l'observation empirique, de l'introspection ou de toute autre forme d'évidence tirée du contact avec le monde. La plupart des épistémologues préfèrent aujourd'hui analyser la connaissance ''a priori'' à partir de la justification ''a priori'' plutôt que l'inverse : c'est la justification, et non la connaissance, qui distingue l{{'}}''a priori'' de l{{'}}''a posteriori'', et l'on évite ainsi d'exclure d'avance qu'une croyance fausse puisse être justifiée ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 10 ; Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 139.</ref> Mais sur quoi repose alors cette justification ?
Une première difficulté tient au mot « expérience ». En un sens large, toute conscience de quelque chose est une expérience, y compris le fait de suivre une preuve ou d'apercevoir intellectuellement qu'une proposition est vraie ; en ce sens, aucune justification n'est indépendante de l'expérience. En un sens étroit, l'expérience se réduit aux cinq sens ; mais alors l'introspection et la mémoire, que l'on range d'ordinaire du côté de l{{'}}''a posteriori'', échappent à la définition.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 29-30.</ref> Boghossian et Peacocke distinguent trois lectures : la plus stricte (l'expérience perceptive du monde hors du corps), une lecture intermédiaire (toute expérience perceptive, y compris celle des états du corps) et la plus générale (tout état conscient). Selon la lecture choisie, « j'ai mal » sera ou non connu ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 2-3.</ref>
Casullo a passé en revue les tentatives de caractériser l'expérience au sens pertinent par sa phénoménologie, par le contenu contingent des croyances qu'elle justifie, par ses objets concrets ou par la relation causale entre le sujet et l'objet, et conclut qu'aucune ne tient. Il propose de traiter « expérience » comme un terme d'espèce naturelle, à la manière d'« eau » : nous en repérons les paradigmes, les processus liés aux cinq sens, par des traits de surface, mais c'est leur nature sous-jacente, à découvrir par les sciences cognitives, qui en fixe l'extension. Nous serions, à l'égard de l'expérience, dans la situation des locuteurs du XVI{{e}} siècle à l'égard de l'eau : capables d'en reconnaître des exemples, ignorants de ce qui les unit.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 149-160.</ref> Warren préfère parler d'un concept théorique : nous partons d'une notion de l'expérience tirée de l'intérieur, comme ce qui, dans le cours de nos états sensoriels, est clair, détaillé, vif et involontaire, puis nous la révisons en postulant un monde extérieur qui l'explique.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 11-14.</ref>
Une seconde difficulté tient au mot « indépendant ». Casullo réduit les analyses en présence à deux. Selon la première, une croyance est justifiée ''a priori'' si et seulement si elle est justifiée par une source non expérientielle ; selon la seconde, il faut en outre que cette justification ne puisse être défaite par l'expérience. La première est la plus économe ; elle traite l{{'}}''a priori'' comme l{{'}}''a posteriori'', sans lui imposer d'exigence particulière. Comme l'écrit Casullo, « le concept de justification a priori est minimal » ; c'est le concept d'une justification non expérientielle, et rien de plus.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 3 et p. 31-32.</ref> La question de l'existence de connaissances ''a priori'' devient alors celle-ci : y a-t-il des sources non expérientielles de croyances justifiées ?
Horowitz avait proposé, dans une autre direction, de traiter l{{'}}''a priori'' comme une catégorie de vérités plutôt que de connaissances, à la suite de Frege et des empiristes, et de l'expliquer par la relation « avoir assez d'expérience pour savoir » : quelqu'un a assez d'expérience pour savoir une proposition si son expérience lui suffit pour en découvrir la vérité par la seule réflexion ultérieure. Elle rejetait ce qu'elle nommait l'apriorisme classique, la doctrine selon laquelle certaines propositions expriment des faits sans lesquels nul ne pourrait avoir les concepts qu'elles contiennent, et sont connaissables indépendamment de l'expérience pour cette seule raison ; cette doctrine, commune à Locke, à Kant et aux empiristes du XX{{e}} siècle, lui paraissait incompatible avec un réalisme conséquent, pour lequel toutes nos croyances pourraient être fausses. À ses yeux, ce qui distingue les mathématiques et en fait le stéréotype de l{{'}}''a priori'', c'est que les erreurs y sont faciles à déceler et ne se produisent pas de manière systématique dans toute la communauté : là où je me trompe, vous ne vous tromperez pas, alors que la nature peut tromper tous les observateurs à la fois.<ref>Horowitz, T., « A Priori Truth », in ''The Epistemology of A Priori Knowledge'', 2006, p. 123-124, p. 128 et p. 136-137.</ref>
Warren propose un critère commode, qu'il appelle le test de l{{'}}[[Dictionnaire de philosophie/Imagination|imagination]]. Vous avez suivi la preuve d'Euclide de l'infinité des nombres premiers ; cette expérience a causé votre croyance. Mais si vous aviez imaginé la preuve, en parfait détail, chaque étape intacte, votre justification aurait été exactement la même : une preuve dans la tête vaut une preuve sur le papier. Une chaise brune imaginée, en revanche, ne justifie en rien la croyance qu'il y a une chaise brune devant vous. Lorsque le remplacement d'une expérience par un acte d'imagination qualitativement identique laisse la justification intacte, l'expérience n'a joué qu'un rôle habilitant ; sinon, elle a joué un rôle épistémique. La justification ''a priori'' est celle que l'on pourrait obtenir, en principe, dans une chambre de privation sensorielle.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 14-17.</ref>
Le rationalisme modéré, défendu notamment par Laurence BonJour, soutient que la justification ''a priori'' repose sur l'« intuition rationnelle » ou l'« évidence intellectuelle » : lorsque nous saisissons que la proposition « rien ne peut être entièrement rouge et entièrement vert au même moment » est vraie, nous nous appuyons sur une sorte de « voir » intellectuel, analogue (mais non identique) à la perception sensible.<ref>BonJour, L., ''In Defense of Pure Reason. A Rationalist Account of A Priori Justification'', Cambridge UP, 1998, chap. 4 ; Casullo, A., ''A Priori Justification'', 2003, p. 30 et p. 155.</ref> George Bealer parle d'« intuitions » au sens technique, des états mentaux où une proposition nous apparaît vraie sans que cette apparence repose sur l'inférence, la mémoire ou la perception, et soutient que ces intuitions constituent une source irréductible de justification ''a priori''.<ref>Bealer, G., « The Incoherence of Empiricism », ''Proceedings of the Aristotelian Society'', suppl. vol. 66, 1992, p. 99-138.</ref>
Une question centrale est celle de la faillibilité : la justification ''a priori'' peut-elle être erronée ? Le rationalisme infaillibiliste traditionnel répondait non : ce qui est connu ''a priori'' est connu avec certitude. Descartes tient que la méthode, correctement appliquée, garantit des croyances vraies, et Philip Kitcher, en plein XX{{e}} siècle, exige encore qu'une personne autorisée à ignorer l'information empirique dispose d'une méthode qui garantisse la vérité.<ref>Mares, E., ''A Priori'', 2014, p. 24 ; Kitcher, P., ''The Nature of Mathematical Knowledge'', Oxford UP, 1983, p. 30.</ref> Mais la plupart des épistémologues contemporains adoptent un rationalisme faillibiliste : une croyance peut être justifiée ''a priori'' tout en étant révisable, voire fausse.<ref>Casullo, A., ''A Priori Justification'', 2003, chap. 2-3.</ref>
Casullo distingue ici deux sens de l'infaillibilité que l'on confond souvent : l'infaillibilité cartésienne, qui lie la justification à la vérité (il est impossible que la croyance soit justifiée par cette source et fausse), et l'infaillibilité peircienne, qui lie la justification à l'indéfaisabilité (aucune donnée ne peut la défaire). Ni l'une n'entraîne l'autre. Un mathématicien compétent qui a suivi une preuve valide voit sa justification défaite par la pseudo-preuve, tout aussi convaincante, que lui présente un collègue ; un étudiant voit la sienne défaite par le professeur qui, à tort, lui signale une erreur.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 57-58.</ref> L'histoire des mathématiques offre des exemples instructifs : des propositions longtemps tenues pour évidentes ''a priori'', comme l'axiome des parallèles d'Euclide ou le principe selon lequel le tout est plus grand que sa partie, se sont révélées contestables ou fausses.<ref>Casullo, A., ''Essays on A Priori Knowledge and Justification'', Oxford UP, 2012, p. 24.</ref> Alvin Plantinga cite le cas des fonctions : on a longtemps cru évident qu'une fonction définie sur tous les réels devait être continue sur quelque intervalle, jusqu'à la découverte, au XIX{{e}} siècle, de fonctions partout définies et nulle part continues. Exiger de la justification ''a priori'' qu'elle apporte la certitude reviendrait, note Mares, à reconnaître que nous n'en avons presque jamais, et à la marginaliser.<ref>Mares, E., ''A Priori'', 2014, p. 25-26.</ref> Boghossian et Peacocke vont dans le même sens : de même qu'une croyance empirique justifiée peut se révéler fausse, une croyance ''a priori'' justifiée peut être réfutée sur des bases ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 4.</ref>
Se pose alors le problème de la défaisabilité (''defeasibility'') : la justification ''a priori'' peut-elle être défaite par des considérations empiriques ? Si un mathématicien croit ''a priori'' avoir trouvé une démonstration correcte, mais qu'un ordinateur vérifie les calculs et signale une erreur, la justification ''a priori'' initiale est-elle annulée par cette donnée empirique ? Kitcher tirait de tels cas un argument contre l{{'}}''a priori'' : si une foule de mathématiciens rejette ma croyance, ce désaccord, qui est un fait empirique, doit rationnellement me faire douter ; aucune croyance n'est donc immune à la réfutation empirique. Hartry Field répond en distinguant l'évidence directe contre une proposition et l'évidence indirecte, qui porte sur ce que les gens en pensent ; c'est la première seule qu'exclut l'immunité empirique.<ref>Mares, E., ''A Priori'', 2014, p. 9-10 ; Warren, J., ''The A Priori Without Magic'', 2022, p. 18.</ref> Casullo distingue plusieurs manières dont l'expérience peut interagir avec la justification ''a priori'' : l'expérience ne fonde pas cette justification, mais elle peut la confirmer, la renforcer ou l'affaiblir.<ref>Casullo, A., ''A Priori Justification'', 2003, chap. 3-4.</ref> Boghossian et Peacocke ajoutent qu'il n'y a rien de contraire à la raison dans l'idée d'une justification ''a priori'' que l'expérience peut défaire : l'induction énumérative en est un exemple modeste, et le fait de prendre nos perceptions, nos souvenirs et les dires d'autrui au sérieux, sans preuve, en est un autre, car une telle autorisation ne saurait venir de l'expérience elle-même.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 4-5.</ref> Cette discussion prolonge et nuance la critique quinienne en montrant que même les défenseurs de l{{'}}''a priori'' peuvent reconnaître des formes d'interaction avec l'expérience, sans pour autant dissoudre la notion.
Field, pour sa part, retourne la difficulté : plutôt que de chercher une définition de la justification ''a priori'', il fait de l'immunité à la réfutation empirique le trait définitoire d'une croyance ''a priori'', et soutient que nous sommes par défaut autorisés à croire ce qui ne peut être réfuté empiriquement. Mares nomme cela la conception de l'immunité, par opposition à la conception justificationnelle, et fait observer que les combiner, comme l'a souvent fait la tradition, rend la connaissance ''a priori'' presque impossible à obtenir.<ref>Mares, E., ''A Priori'', 2014, p. 8 et p. 11.</ref>
=== Expliquer l{{'}}''a priori'' : intuitions rationnelles ou signification ? ===
Reste la question la plus difficile : d'où vient le pouvoir de la pensée pure ? Peacocke la formule comme une question de « comment » : en quoi le fait de comprendre une proposition, ou de posséder un concept, confère-t-il à certaines manières d'en venir à l'accepter la capacité de produire une connaissance, alors même qu'elles ne s'appuient sur aucune expérience ? Que celui qui possède le concept de conjonction doive accepter d'inférer « p » de « p et q », sans justification empirique, paraît intuitif ; mais dire pourquoi est une autre affaire, et une théorie sobre de l'intuition rationnelle, qui n'y voit que la capacité de comprendre et de penser, doit d'autant plus expliquer d'où vient ce pouvoir.<ref>Peacocke, C., « Explaining the A Priori: The Programme of Moderate Rationalism », in ''New Essays on the A Priori'', 2000, p. 255-257.</ref> Casullo et Joshua Thurow posent la question en des termes proches : entre ceux qui font appel à l'intuition rationnelle et ceux qui font appel à la possession des concepts, c'est la source de la connaissance ''a priori'' qui est en jeu.<ref>Thurow, J. C. et Casullo, A., « Introduction », in A. Casullo et J. C. Thurow (éds.), ''The A Priori in Philosophy'', Oxford UP, 2013, p. 1-2 et p. 4-5.</ref>
Warren décrit le paysage avec une franchise utile. Le rationalisme extrême postulait une faculté de raison pure, sorte de sens intellectuel donnant accès à des faits indépendants de l'esprit ; les sciences cognitives n'en trouvent aucune trace, et l'hypothèse, pour survivre, doit se vider de tout contenu. Le rationalisme modeste abandonne la faculté mais conserve des états quasi perceptifs, les intuitions intellectuelles, qui ne sont ni des croyances ni des inclinations à croire, mais quelque chose qui y donne lieu ; il admet que ces intuitions sont faillibles et accessibles à l'introspection. Warren avoue n'en trouver aucune en lui, et relève que Williamson dit de même ; il propose d'expliquer le sentiment de compréhension, ce « voir » soudain la solution d'une énigme, par l'apparition d'inclinations à accepter une proposition et à la relier à ce que nous savons, sans rien de plus.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 23-27.</ref>
Son propre candidat est une théorie fondée sur la signification : les significations de certains mots sont constituées par les règles d'inférence que nous suivons. Quiconque ne passerait jamais de « x est célibataire » à « x n'est pas marié » ne voudrait pas dire ce que nous voulons dire par « célibataire » ; quiconque n'appliquerait jamais le ''modus ponens'' n'aurait pas notre concept de conditionnel. D'où le principe qu'il nomme lien entre signification et autorisation : nous sommes automatiquement autorisés à user, en tout contexte, des règles qui déterminent les significations de notre langue, car choisir ses règles, c'est choisir sa langue, et ce choix est pratique, non épistémique. Tout ce que l'on peut prouver à partir de ces règles est connaissable ''a priori'', et de manière robuste, puisqu'abandonner la règle, c'est abandonner le concept, non conserver la même croyance sans justification.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 29-32.</ref> Cette approche, qui prolonge les travaux de Boghossian sur la logique, revendique d'expliquer l{{'}}''a priori'' « sans magie », c'est-à-dire sans facultés ni états dont la relation aux faits resterait mystérieuse.
Boghossian avait préparé ce terrain en distinguant deux notions d'analyticité. La notion métaphysique, celle des positivistes, veut qu'une phrase doive sa vérité à sa seule signification et non aux faits ; Quine a eu raison de la juger douteuse, car il est difficile de comprendre comment le fait de vouloir dire quelque chose rendrait ce quelque chose vrai. La notion épistémologique dit seulement que la compréhension d'une phrase suffit à justifier qu'on la tienne pour vraie. Or la théorie analytique de l{{'}}''a priori'' n'a besoin que de la seconde ; elle peut se passer de tout conventionnalisme, et une critique quinienne qui voudrait l'atteindre devrait, selon Boghossian, s'engager jusqu'à l'indétermination de la signification, thèse que la plupart des philosophes rejettent.<ref>Boghossian, P., « Analyticity Reconsidered », ''Noûs'', vol. 30, n° 3, 1996, p. 360-391 ; repris in ''Debating the A Priori'', 2020, p. 2-6.</ref> Ce travail montre que la question du rapport entre analyticité et ''a priori'' reste ouverte et féconde.
Piazza rappelle ce que l'empirisme contemporain avait gagné avec l'analyticité : une réponse unifiée aux deux questions de savoir ce que sont les énoncés connus ''a priori'' et comment ils le sont. Les énoncés analytiques sont vrais, donc connaissables, mais sans contenu cognitif, puisque leur vérité tient tout entière aux significations, et c'est pourquoi les comprendre suffit à les connaître ; la solution évitait l'inconvénient de celle de Mill, qui faisait des mathématiques et de la logique des vérités seulement contingentes.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. v-vi.</ref>
Robert Hanna défend, à l'inverse, un néo-rationalisme d'inspiration kantienne. Il prend acte de ce que l'empirisme sceptique à l'égard des intuitions est sans doute faux, mais que les attaques contre le rationalisme n'ont reçu de réponse ni sur le problème de la justification (comment les intuitions rationnelles justifient-elles suffisamment une croyance ?) ni sur celui de l'explication (comment de telles intuitions sont-elles possibles ?). Sa définition de l'apriorité est ample : est ''a priori'' ce dont le contenu, la vérité ou la justification sont sous-déterminés par l'ensemble des faits empiriques, de sorte qu'aucun changement dans ces faits n'en commande le changement.<ref>Hanna, R., ''Cognition, Content, and the A Priori'', 2015, p. 313 et p. 315.</ref>
Les intuitions philosophiques elles-mêmes sont devenues un terrain d'affrontement. Les philosophes en appellent aux intuitions comme à une évidence, et tiennent cette évidence pour ''a priori''. La philosophie expérimentale a soumis les [[Dictionnaire de philosophie/Expérience de pensée|expériences de pensée]] classiques à des enquêtes et rapporte que les intuitions des non-philosophes varient selon la culture d'origine, le statut social ou l'ordre de présentation des cas, autant de facteurs sans rapport avec la vérité des propositions en jeu. Faut-il en conclure que les intuitions ne sont pas des preuves, ou qu'elles ne sont pas ''a priori'' ? Alvin Goldman distingue la question de premier ordre (les intuitions sont-elles des preuves ?) et la question de second ordre (avons-nous des preuves qu'elles le sont ?), et admet qu'une vérification empirique soit requise au second niveau sans que le premier en devienne empirique. Jonathan Ichikawa soutient qu'une confirmation expérimentale de nos intuitions jouerait un rôle habilitant : elle lèverait un doute qui défaisait notre justification, sans devenir elle-même cette justification. Jonathan Weinberg accepte un ''a priori'' qui n'est pas pur de tout élément empirique, pourvu qu'il continue de livrer des conclusions modales fortes.<ref>Thurow, J. C. et Casullo, A., « Introduction », 2013, p. 2-4 ; Goldman, A. I., « Philosophical Naturalism and Intuitional Methodology », in ''The A Priori in Philosophy'', 2013, p. 11-44 ; Ichikawa, J. J., « Experimental Philosophy and Apriority », in ''The A Priori in Philosophy'', 2013, p. 45-66.</ref>
=== La distinction est-elle essentielle ? Williamson et Boghossian ===
[[Dictionnaire de philosophie/Timothy Williamson|Timothy Williamson]] a proposé une critique d'un autre genre. Il ne nie pas que la distinction existe : introduite par le bas, par des exemples, elle fait l'objet d'un accord robuste. Il conteste qu'elle découpe la connaissance à ses articulations. Introduite par le haut, par une définition (indépendance ou dépendance à l'égard de l'expérience), elle court le risque, si Quine a raison, de ne rien mettre d'un côté ; introduite par le bas, elle court celui de suivre des ressemblances superficielles, comme une classification des plantes par la couleur.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 117-118.</ref> Son argument central repose sur deux vérités : « toutes les choses cramoisies sont rouges » et « tous les volumes récents du ''Who's Who'' sont rouges ». La première est le cas clair d'une connaissance ''a priori'', la seconde d'une connaissance ''a posteriori''. Or considérons Norman, qui a appris « cramoisi » et « rouge » séparément, par ostension, et n'a jamais réfléchi à leur rapport. Interrogé, il imagine un échantillon cramoisi et juge, dans l'imagination, qu'il est rouge, en transposant hors ligne une compétence acquise en ligne dans la perception. Interrogé sur le ''Who's Who'', il imagine un volume récent et juge, de la même manière, qu'il est rouge. Les processus cognitifs sont presque identiques ; dans les deux cas, l'expérience passée a fait plus qu'habiliter (elle a calibré une compétence) et moins que prouver. Si Norbert, moins exercé, échoue à savoir que le cramoisi est rouge, c'est faute de pratique, non faute de concept. La différence saillante entre les deux vérités est modale, l'une étant nécessaire et l'autre contingente ; mais Kripke nous a appris à ne pas lire l'épistémologie d'une vérité sur son statut métaphysique, et connaître une vérité nécessaire n'est pas connaître qu'elle est nécessaire. Conclusion de Williamson : la distinction « ne découpe pas aux articulations épistémologiques » ; on peut garder les mots, mais sans en attendre beaucoup de travail théorique. Plutôt que de raccommoder une distinction fatiguée, l'épistémologie gagnerait à décrire finement l'usage hors ligne, dans l'imagination, de compétences formées dans la perception.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 120-125 et p. 134.</ref>
Boghossian a répondu point par point. Il salue une forme neuve de scepticisme, qui accorde tout aux exemples et ne conteste que leur importance, mais il conteste la description des cas. Pour que Norman puisse conclure de l'unique instance imaginée à la couleur de tous les volumes, il lui faut déjà savoir que ces volumes ont une couleur dominante et que l'instance imaginée en est représentative ; sans quoi, imaginer une coccinelle rouge n'apprend rien sur la couleur des coccinelles, et se figurer un taxi londonien ne dit pas de quelle couleur sombre étaient les taxis dont on ne se souvient plus. Norman ne peut donc savoir que les volumes sont rouges qu'en rappelant une image générique stockée par la mémoire, ce qui est un usage substantiel de l'expérience. Dans le cas du cramoisi, les croyances d'arrière-plan requises (qu'il existe un déterminable rouge auquel toutes les nuances de cramoisi appartiennent) sont, elles, justifiées ''a priori''. Redécrits de façon à produire une connaissance, les deux cas diffèrent donc nettement, et l'argument de Williamson, selon Boghossian, tire sa force d'une conception fiabiliste de la justification, pour laquelle l'expérience peut en effet jouer un rôle intermédiaire en affinant la fiabilité de nos capacités.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 138 et p. 150-154.</ref> Boghossian propose enfin de caractériser l'expérience par une liste : une justification est indépendante de l'expérience si elle ne dépend épistémiquement ni de l'expérience sensible, ni de l'introspection, ni d'usages substantiels de la mémoire, tandis que l'intuition, certains usages de l'imagination et la réflexion peuvent jouer un rôle épistémique sans que la justification cesse d'être ''a priori''.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 153.</ref> Le débat, poursuivi sur plusieurs échanges, illustre bien la vitalité de la question : Williamson suggère de s'intéresser à la fiabilité et à la robustesse des méthodes cognitives employées, quelle que soit leur classification, quand Boghossian tient que nul ne nous a encore donné de bonne raison de refuser à la distinction la centralité qu'elle paraît mériter.<ref>Williamson, T., ''The Philosophy of Philosophy'', Blackwell, 2007, chap. 5 ; Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 154.</ref>
=== ''A priori'', analyticité et modalité : le paysage après Kripke ===
Les résultats de Kripke ont ouvert un espace de recherche très actif sur les rapports entre ''a priori'', analyticité et nécessité. [[Dictionnaire de philosophie/David Chalmers|David Chalmers]] et Frank Jackson ont développé le « bidimensionnalisme sémantique », qui tente de restaurer un lien systématique entre ''a priori'' et nécessité en distinguant deux dimensions de signification (le contenu « primaire » et le contenu « secondaire » d'un énoncé).<ref>Chalmers, D., « Does Conceivability Entail Possibility? », in T. Gendler et J. Hawthorne (éds.), ''Conceivability and Possibility'', Oxford UP, 2002, p. 145-200 ; Jackson, F., ''From Metaphysics to Ethics'', Oxford UP, 1998.</ref> Le bidimensionnalisme ne supprime pas les nécessités ''a posteriori'' de Kripke ; il cherche à en expliquer la structure. À chaque énoncé sont associées deux intensions : l'intension primaire, qui dit comment sa valeur de vérité varie selon le scénario que l'on considère comme actuel, et l'intension secondaire, qui dit comment elle varie dans les mondes contrefactuels une fois le monde actuel fixé. Dans le cas de « l'eau est H<sub>2</sub>O », l'intension primaire n'est pas nécessaire : si l'on considère comme actuel un scénario de Terre jumelle où le liquide aqueux est XYZ, l'énoncé y est faux. L'intension secondaire est en revanche nécessaire : une fois la référence de « eau » fixée à H<sub>2</sub>O dans le monde actuel, le terme désigne H<sub>2</sub>O dans tous les mondes contrefactuels. Le lien systématique recherché est alors le suivant : dans la version épistémique du bidimensionnalisme défendue par Chalmers, l'apriorité est liée à la nécessité de l'intension primaire, c'est-à-dire au fait qu'une proposition est vraie quel que soit le scénario considéré comme actuel ; c'est la thèse d'une théorie particulière, non une définition incontestée. L'idée a une origine technique précise : dans une sémantique à deux dimensions, on considère une famille de modèles où des mondes différents sont tour à tour désignés comme actuels, et l'on repère les propositions vraies dans le monde actuel quel que soit celui qu'on désigne ainsi. Les instances de « si p, alors actuellement p » ont cette propriété, qui semble suffire à l'apriorité et qui, Boghossian et Peacocke le soulignent, ne restreint en rien l'éventail des possibilités.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 5-6.</ref> Le bidimensionnalisme est discuté et contesté, mais il témoigne de la vitalité du débat.
=== L{{'}}''a priori'', les sciences cognitives et la question de l'innéité ===
La question de l{{'}}''a priori'' réapparaît dans les sciences cognitives sous la forme du débat sur l'innéisme : existe-t-il des structures cognitives innées, indépendantes de l'expérience individuelle ? Le linguiste Noam Chomsky défend l'existence d'une « grammaire universelle » innée qui structure l'acquisition du langage.<ref>Chomsky, N., ''Règles et représentations'', 1980, trad. A. Kihm, Flammarion, 1985 ; Mares, E., ''A Priori'', 2014, p. 55 et p. 57.</ref> Certains psychologues du développement, comme Elizabeth Spelke, ont identifié des « systèmes de connaissance de base » (''core knowledge'') chez le nourrisson, une appréhension intuitive des nombres, des objets physiques, de la géométrie, qui semblent précéder toute instruction.<ref>Spelke, E. S. et Kinzler, K. D., « Core Knowledge », ''Developmental Science'', vol. 10, n° 1, 2007, p. 89-96.</ref>
Cependant, il est important de ne pas confondre innéité et ''a priori''. L{{'}}''a priori'' est d'abord une notion épistémologique : il concerne le mode de justification d'une proposition ou d'une croyance, le fait qu'elle puisse être justifiée indépendamment de l'expérience (au sens large : perception, observation, évidence empirique sous toutes ses formes). L'innéité, en revanche, est une notion portant sur la genèse ou l'origine d'une structure cognitive : elle dit que cette structure n'a pas été acquise par apprentissage individuel, mais est présente dès la naissance (ou dès un stade très précoce du développement). Une structure cognitive peut être innée sans que les croyances qu'elle produit soient justifiées ''a priori'' ; inversement, une justification ''a priori'' peut en principe ne reposer sur aucune structure innée identifiable. Mares le montre en comparant la croyance innée et la croyance analytique : la première est indépendante de l'expérience parce qu'elle n'est pas apprise, la seconde parce que saisir le sens de la phrase suffit à voir qu'elle est vraie, alors même que ce sens s'apprend. Ce sont deux raisons très différentes de parler d{{'}}''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 5 et p. 57.</ref> Il rappelle aussi que le nativisme est affaire de degré : Hume lui-même admet une tendance innée à associer les idées, et une croyance innée peut être défaite, comme celle de la physique naïve selon laquelle les objets ordinaires sont pleins, sans vide intérieur.<ref>Mares, E., ''A Priori'', 2014, p. 54-55 et p. 59.</ref> Warren accorde qu'il existe une apriorité « par défaut », tirée de l'innéité, puisque sans mécanismes innés la formation des croyances ne pourrait commencer, mais il souligne que ce n'est pas l'apriorité intéressante, celle d'une justification robuste.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 22-23.</ref> Paul Horwich a néanmoins exploré l'hypothèse que l'apriorité puisse s'expliquer par l'innéité et l'indispensabilité psychologique de certains principes.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 7.</ref>
L'épistémologie évolutionniste, issue notamment des travaux du biologiste Konrad Lorenz (1903-1989), illustre cette distinction de manière éclairante.<ref>Lorenz, K., « Kants Lehre vom Apriorischen im Lichte gegenwärtiger Biologie », ''Blätter für deutsche Philosophie'', vol. 15, 1941, p. 94-125.</ref> Lorenz propose de comprendre les structures kantiennes de perception et de cognition, notre appréhension de l'espace, du temps, de la causalité, comme des adaptations évolutives : elles seraient ''a priori'' pour l'individu (présentes avant toute expérience personnelle), mais ''a posteriori'' pour l'espèce (résultant d'une longue sélection naturelle). Cette perspective est suggestive, mais elle transpose la question de l{{'}}''a priori'' du plan épistémologique (comment une croyance est-elle justifiée ?) au plan génétique (comment une structure cognitive est-elle acquise ?). Or ce sont deux questions distinctes. Le fait qu'une capacité cognitive ait une origine évolutive ne dit rien, en tant que tel, sur le statut justificatif des croyances qu'elle produit : une capacité innée peut engendrer des croyances fausses, et une croyance justifiée ''a priori'' peut n'avoir aucun fondement biologique identifiable. Pour qu'un argument évolutionniste établisse la fiabilité d'une croyance innée, il faudrait montrer non seulement que cette croyance aide à survivre, mais que sa vérité importe à la survie, et qu'un mécanisme explique sa transmission ; or des auteurs comme Mackie, Ruse ou Joyce tirent de l'évolution l'argument inverse, selon lequel nos croyances morales ont pu être utiles sans être vraies, et Gould et Lewontin ont mis en garde contre les explications adaptatives non testées, ces histoires comme ça, à la manière de Kipling.<ref>Mares, E., ''A Priori'', 2014, p. 57-59.</ref>
=== Philosophie morale et politique ===
L{{'}}''a priori'' joue également un rôle en éthique. Kant lui-même fonde sa philosophie morale sur un principe ''a priori'' : l'impératif catégorique, qui prescrit d'agir uniquement selon une maxime que l'on pourrait vouloir ériger en loi universelle.<ref>Kant, E., ''Fondation de la métaphysique des mœurs'', 1785, trad. A. Renaut, Garnier-Flammarion, 1994, Deuxième section.</ref> Ce principe ne dérive pas de l'expérience, mais de la raison pratique pure. Mares fait valoir que les normes, morales ou épistémiques, sont l'un des deux grands motifs de croire à l{{'}}''a priori'', avec la nécessité : l'expérience nous dit ce qui est le cas, non ce qui devrait l'être. Nous désirons peut-être tous être heureux, comme le dit Mill ; mais devrions-nous le désirer ? Aucune enquête ne semble pouvoir en décider, et ceux qui refusent l{{'}}''a priori'' doivent, en règle générale, réduire les normes à des faits sur des institutions sociales.<ref>Mares, E., ''A Priori'', 2014, p. 2-4.</ref>
Parmi les contemporains, Christine Korsgaard défend encore une conception kantienne de la moralité fondée sur des principes ''a priori'' de la raison pratique.<ref>Korsgaard, C., ''Creating the Kingdom of Ends'', Cambridge UP, 1996, chap. 1-3.</ref>
Michael Smith a montré comment l{{'}}''a priori'' commande le débat sur le réalisme moral. L'argument de la question ouverte de G. E. Moore suppose que, si la justesse d'un acte et la maximisation de l'utilité étaient une seule et même propriété, les deux expressions devraient être équivalentes ''a priori'' ; or on peut toujours, sans contradiction, demander si un acte qui maximise l'utilité est juste. Les réalistes naturalistes ont répondu avec les armes de Kripke : « eau » et « H<sub>2</sub>O » ne sont pas équivalents ''a priori'', et pourtant l'eau est H<sub>2</sub>O. Smith objecte que cette réplique échoue, car la découverte ''a posteriori'' que le rouge est telle propriété de réflectance s'appuie elle-même sur une vérité ''a priori'' qui fixe la référence de « rouge » (la propriété, quelle qu'elle soit, qui fait paraître rouges les objets dans des conditions normales) ; de même, identifier la justesse à une propriété naturelle suppose une vérité ''a priori'' sur ce que « juste » veut dire. Le réaliste naturaliste doit donc affronter l'argument de front, en montrant qu'une analyse, même peu évidente et ouverte à la discussion, capture bien l'ensemble des contraintes qui gouvernent l'usage du mot.<ref>Smith, M., ''Ethics and the A Priori. Selected Essays on Moral Psychology and Meta-Ethics'', Cambridge UP, 2004, p. 192 et p. 196-200.</ref> Son dialogue entre Cog et Noncog, deux philosophes qui déjeunent ensemble, met en scène la même question : le non-cognitiviste tient qu'on n'a jamais réussi à fournir d'équivalent naturaliste aux jugements de valeur, le cognitiviste qu'il n'est pas nécessaire que cet équivalent soit évident pour être ''a priori''.<ref>Smith, M., ''Ethics and the A Priori'', 2004, p. 13 et p. 359-361.</ref>
Adrian Moore attire enfin l'attention sur ce qu'il appelle le modèle de base : un sujet qui possède le concept d'épouse déduit ''a priori'' qu'il y a au moins autant de femmes que d'épouses, et l'apriorité de cette [[Dictionnaire de philosophie/Déduction|déduction]] n'est en rien compromise par le réseau de structures sociales contingentes qui conditionne la possession du concept. L{{'}}''a priori'' peut donc s'enraciner dans le particulier, voire dans les particularités d'une espèce ; c'est ce que Moore nomme un ''a priori'' humain, anthropocentrique sans cesser d'être ''a priori''.<ref>Moore, A. W., ''The Human A Priori'', 2023, p. 1-3.</ref> La tradition phénoménologique, dans la lignée de Scheler, explore de son côté un ''a priori'' matériel des valeurs : l'existence de hiérarchies axiologiques (le noble supérieur à l'agréable, le sacré supérieur à l'utile) qui, sans être dérivées de l'expérience empirique, structurent notre vie morale et affective. Boghossian range de son côté certains jugements moraux parmi les cas clairs de l{{'}}''a priori'' : qu'il soit mal, dans le scénario du tramway, de pousser un homme du haut d'un pont pour en sauver cinq est une chose que nous jugeons sans enquête ; que toutes les sociétés le jugent ainsi, nous ne le saurions qu'en enquêtant.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 138.</ref>
== Conclusion ==
La distinction entre ''a priori'' et ''a posteriori'', loin d'être une simple classification scolaire, engage toute une conception de la connaissance humaine et de ses limites. Elle pose la question suivante : qu'est-ce que notre esprit apporte à la connaissance du réel, et qu'est-ce qu'il reçoit de l'expérience ?
Si la réponse kantienne, avec ses formes ''a priori'' de la sensibilité et ses catégories de l'entendement, n'est plus acceptée telle quelle, elle a durablement marqué la philosophie en montrant que la connaissance n'est jamais une simple réception passive de données, mais implique toujours une activité structurante du [[Dictionnaire de philosophie/Sujet|sujet]] connaissant. Les débats contemporains sur la nature de la justification ''a priori'', sa faillibilité, les rapports entre ''a priori'', analyticité et nécessité, le rôle de l'intuition rationnelle, le statut des principes scientifiques ou les structures cognitives innées s'inscrivent tous, d'une manière ou d'une autre, dans l'héritage de cette distinction. Ses adversaires ne l'attaquent d'ailleurs pas de la même manière : Williamson reconnaît la solidité des exemples avant d'en contester la portée, tandis que Quine, plus intransigeant, vise à travers l'analyticité l'existence même d'une connaissance ''a priori''. Casullo distingue dans l'argument de Quine deux volets, l'un dirigé contre les concepts sémantiques de synonymie et de définition, l'autre contre le réductionnisme et aboutissant à la révisabilité de tout énoncé ; c'est le second qui, si l'on exige de la justification ''a priori'' qu'elle soit indéfaisable, atteint l'existence même de la connaissance ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 231-234.</ref> La distinction résiste à ces attaques, mais elle en sort transformée. Grondin en fait l'aveu à sa manière, en écrivant que « nous avons perdu le sens de l{{'}}''a priori'' » : nous concédons un statut ''a priori'' à quelques principes logiques, peut-être aux mathématiques, mais l'œil de l'âme dont parlait Platon nous fait défaut, et nous sommes en cela plus kantiens que Kant, qui refusait déjà l'intuition intellectuelle. La question posée par la première ''Critique'', celle de la crédibilité de l{{'}}''a priori'', reste ainsi la nôtre.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 12-13 et p. 15.</ref>
Comprendre la notion d{{'}}''a priori'', c'est saisir l'un des fils conducteurs de l'histoire de la philosophie : la tentative de délimiter ce qui, dans notre connaissance du monde, relève de la constitution propre de notre esprit et ce qui provient de l'expérience sensible, autrement dit, de comprendre comment nous connaissons et quelles sont les conditions de possibilité de notre savoir.
== Notes et références ==
{{references|colonnes=2}}
== Bibliographie ==
=== Sources primaires classiques ===
* Aristote, ''Seconds Analytiques'', trad. P. Pellegrin, Garnier-Flammarion, 2005.
* Platon, ''La République'', trad. G. Leroux, Garnier-Flammarion, 2004.
* Platon, ''Ménon'', trad. M. Canto-Sperber, Garnier-Flammarion, 1993.
* Thomas d'Aquin, ''Somme théologique'', trad. A.-M. Roguet, Cerf, 1984 (4 vol.).
* Guillaume d'Ockham, ''Summa logicae'', éd. Ph. Boehner, G. Gál et S. Brown, St. Bonaventure, 1974.
* Descartes, René, ''Méditations métaphysiques'', 1641, éd. J.-M. Beyssade et M. Beyssade, Garnier-Flammarion, 2011.
* Leibniz, Gottfried W., ''Nouveaux essais sur l'entendement humain'', 1765, éd. J. Brunschwig, Garnier-Flammarion, 1990.
* Leibniz, Gottfried W., ''Monadologie'', 1714, éd. É. Boutroux, Delagrave, 1991.
* Locke, John, ''Essai sur l'entendement humain'', 1689, trad. J.-M. Vienne, Vrin, 2001-2006 (2 vol.).
* Hume, David, ''Traité de la nature humaine'', 1739, trad. Ph. Baranger et Ph. Saltel, Garnier-Flammarion, 1993-1999 (3 vol.).
* Hume, David, ''Enquête sur l'entendement humain'', 1748, trad. A. Leroy, rév. M. Beyssade, Garnier-Flammarion, 2006.
* Kant, Emmanuel, ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006 ; trad. A. Tremesaygues et B. Pacaud, PUF, coll. « Quadrige », 2012.
* Kant, Emmanuel, ''Prolégomènes à toute métaphysique future'', 1783, trad. J. Gibelin, rév. J. Rivelaygue, Vrin, 1986.
* Kant, Emmanuel, ''Fondation de la métaphysique des mœurs'', 1785, trad. A. Renaut, Garnier-Flammarion, 1994.
* Mill, John Stuart, ''Système de logique déductive et inductive'', 1843, trad. L. Peisse, Mardaga, 1988.
* Frege, Gottlob, ''Les Fondements de l'arithmétique'', 1884, trad. C. Imbert, Seuil, 1969.
=== Développements post-kantiens et XX{{e}} siècle ===
* Ayer, Alfred J., ''Language, Truth and Logic'', Gollancz, 1936 ; rééd. Penguin, 2001.
* Husserl, Edmund, ''Recherches logiques'', 1900-1901, trad. H. Élie, A. L. Kelkel et R. Schérer, PUF, 1961-1963 (3 vol.).
* Husserl, Edmund, ''Idées directrices pour une phénoménologie'', 1913, trad. P. Ricœur, Gallimard, 1950.
* Scheler, Max, ''Le formalisme en éthique et l'éthique matériale des valeurs'', 1913-1916, trad. M. de Gandillac, Gallimard, 1955.
* Carnap, Rudolf, ''Der logische Aufbau der Welt'', 1928 ; trad. angl. ''The Logical Structure of the World'', Open Court, 2003.
* Cassirer, Ernst, ''Substance et fonction'', 1910, trad. P. Caussat, Minuit, 1977.
* Cassirer, Ernst, ''La théorie de la relativité d'Einstein'', 1921, trad. J. Seidengart, Cerf, 2000.
* Reichenbach, Hans, ''The Theory of Relativity and A Priori Knowledge'', 1920, trad. angl. M. Reichenbach, University of California Press, 1965.
* Quine, Willard Van Orman, « Two Dogmas of Empiricism », ''The Philosophical Review'', vol. 60, n° 1, 1951, p. 20-43 ; repris dans ''From a Logical Point of View'', Harvard UP, 1953.
* Quine, Willard Van Orman, ''Word and Object'', MIT Press, 1960.
* Grice, Herbert P. et Strawson, Peter F., « In Defense of a Dogma », ''Philosophical Review'', vol. 65, n° 2, 1956, p. 141-158.
* Dufrenne, Mikel, ''La Notion d'a priori'', PUF, 1959 ; trad. angl. E. S. Casey, ''The Notion of the A Priori'', préf. P. Ricœur, Northwestern UP, 1966, rééd. 2009.
* Dufrenne, Mikel, ''L'inventaire des a priori. Recherche de l'originaire'', Christian Bourgois, 1981.
* Kripke, Saul, « Identity and Necessity », in M. K. Munitz (éd.), ''Identity and Individuation'', New York UP, 1971, p. 135-164.
* Kripke, Saul, ''Naming and Necessity'', Harvard UP, 1980 ; trad. fr. P. Jacob et F. Recanati, ''La logique des noms propres'', Minuit, 1982.
=== Épistémologie contemporaine de l{{'}}''a priori'' ===
* Bealer, George, « The Incoherence of Empiricism », ''Proceedings of the Aristotelian Society'', suppl. vol. 66, 1992, p. 99-138.
* Boghossian, Paul, « Analyticity Reconsidered », ''Noûs'', vol. 30, n° 3, 1996, p. 360-391.
* Boghossian, Paul et Peacocke, Christopher (éds.), ''New Essays on the A Priori'', Clarendon Press, 2000.
* Boghossian, Paul et Williamson, Timothy, ''Debating the A Priori'', Oxford UP, 2020.
* BonJour, Laurence, ''In Defense of Pure Reason. A Rationalist Account of A Priori Justification'', Cambridge UP, 1998.
* Casullo, Albert (éd.), ''A Priori Knowledge'', Ashgate, 1999 (anthologie de textes classiques et contemporains).
* Casullo, Albert, ''A Priori Justification'', Oxford UP, 2003.
* Casullo, Albert, ''Essays on A Priori Knowledge and Justification'', Oxford UP, 2012.
* Casullo, Albert et Thurow, Joshua C. (éds.), ''The A Priori in Philosophy'', Oxford UP, 2013.
* Chalmers, David, « Does Conceivability Entail Possibility? », in T. Gendler et J. Hawthorne (éds.), ''Conceivability and Possibility'', Oxford UP, 2002, p. 145-200.
* Field, Hartry, « Recent Debates about the A Priori », in T. Gendler et J. Hawthorne (éds.), ''Oxford Studies in Epistemology'', vol. 1, Oxford UP, 2005, p. 69-88.
* Hanna, Robert, ''Cognition, Content, and the A Priori. A Study in the Philosophy of Mind and Knowledge'', Oxford UP, 2015.
* Horowitz, Tamara, ''The Epistemology of A Priori Knowledge'', éd. J. L. Camp, Oxford UP, 2006.
* Kitcher, Philip, ''The Nature of Mathematical Knowledge'', Oxford UP, 1983.
* Mares, Edwin, ''A Priori'', Routledge, coll. « Central Problems of Philosophy », 2014.
* Moore, A. W., ''The Human A Priori. Essays on How We Make Sense in Philosophy, Ethics, and Mathematics'', Oxford UP, 2023.
* Piazza, Tommaso, ''A Priori Knowledge. Toward a Phenomenological Explanation'', Ontos Verlag, 2007.
* Warren, Jared, ''The A Priori Without Magic'', Cambridge UP, coll. « Elements in Epistemology », 2022.
* Williamson, Timothy, ''The Philosophy of Philosophy'', Blackwell, 2007.
=== Études sur Descartes, Kant et l'histoire de la notion ===
* Benoist, Jocelyn, ''L'a priori conceptuel. Bolzano, Husserl, Schlick'', Vrin, 1999.
* Friedman, Michael, ''Kant and the Exact Sciences'', Harvard UP, 1992.
* Friedman, Michael, ''Dynamics of Reason'', CSLI Publications, 2001.
* Gram, Moltke S., ''Kant, Ontology and the A Priori'', Northwestern UP, 1968.
* Greenberg, Robert, ''Kant's Theory of A Priori Knowledge'', Pennsylvania State UP, 2001.
* Grondin, Jean, ''Kant et le problème de la philosophie : l'a priori'', Vrin, 1989.
* Gueroult, Martial, ''La Critique de la raison pure de Kant'', Collège de France, 2022.
* Guillermit, Louis, ''Leçons sur la Critique de la raison pure de Kant'', Vrin, 2008.
* Guyer, Paul, ''Kant'', Routledge, 2006.
* Palkoska, Jan, ''The A Priori in the Thought of Descartes. Cognition, Method and Science'', Cambridge Scholars Publishing, 2017.
* Pascal, Georges, ''Pour connaître la pensée de Kant'', Bordas, 1996.
* Vuillemin, Jules, ''L'Héritage kantien et la révolution copernicienne'', PUF, 1954.
* Vuillemin, Jules, ''Physique et métaphysique kantiennes'', PUF, 1955.
=== Philosophie morale, sciences cognitives, perspectives complémentaires ===
* Chomsky, Noam, ''Règles et représentations'', 1980, trad. A. Kihm, Flammarion, 1985.
* Korsgaard, Christine, ''Creating the Kingdom of Ends'', Cambridge UP, 1996.
* Smith, Michael, ''Ethics and the A Priori. Selected Essays on Moral Psychology and Meta-Ethics'', Cambridge UP, 2004.
* Lorenz, Konrad, « Kants Lehre vom Apriorischen im Lichte gegenwärtiger Biologie », ''Blätter für deutsche Philosophie'', vol. 15, 1941, p. 94-125.
* Spelke, Elizabeth S. et Kinzler, Katherine D., « Core Knowledge », ''Developmental Science'', vol. 10, n° 1, 2007, p. 89-96.
* Jackson, Frank, ''From Metaphysics to Ethics'', Oxford UP, 1998.
{{IndexPhilo}}
{{DEFAULTSORT:A priori}}
{{AutoCat}}
rszwx2exohyshm0ciem7vzbpvbc7exn
772246
772245
2026-09-16T03:19:26Z
PandaMystique
119061
772246
wikitext
text/x-wiki
{{DicoPhilo|A priori|lecture=oui}}
L'expression ''a priori'' (littéralement « à partir de ce qui précède » en latin) désigne, dans son sens épistémologique moderne, ce qui peut être connu ou justifié indépendamment de l'expérience. L'antériorité dont parle le mot n'est pas chronologique : elle ne signifie pas que la connaissance ''a priori'' précéderait dans le temps toute expérience, ni que l'expérience soit inutile pour apprendre les concepts ou acquérir la capacité de raisonner ; elle signifie que la justification de cette connaissance ne dépend pas de l'expérience. Apparue dans le vocabulaire logique du Moyen Âge, où elle qualifiait d'abord un ordre de [[Dictionnaire de philosophie/Démonstration|démonstration]], cette expression a reçu d'Emmanuel Kant, au XVIII{{e}} siècle, sa formulation moderne et systématique, qui oppose ce qui est connu indépendamment de l'expérience (l{{'}}''a priori'') à ce qui provient de l'expérience empirique (l{{'}}''a posteriori'').<ref>Kant, E., ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006, Introduction, B1-B6.</ref> Comprendre cette distinction permet de saisir comment s'articulent, dans notre [[Dictionnaire de philosophie/Connaissance|connaissance]] du monde, les contributions respectives de notre esprit et de notre expérience sensible. Elle engage aussi une question plus large : y a-t-il des [[Dictionnaire de philosophie/Vérité|vérités]] que nous pouvons établir depuis notre fauteuil, sans ouvrir les yeux sur le monde, et, si oui, d'où leur vient cette autorité ?
== Une distinction que chacun pratique ==
Avant toute théorie, la distinction se laisse reconnaître dans des exemples. Pour savoir s'il fait beau, il faut ouvrir les yeux ou consulter quelqu'un qui l'a fait ; pour savoir que s'il fait beau, alors il fait beau, nul besoin de regarder par la fenêtre. Les deux propositions parlent du même temps qu'il fait, mais l'expérience n'y joue pas le même rôle. Timothy Williamson et Paul Boghossian, qui s'opposent sur presque tout le reste, s'accordent sur ce point de départ : de tels exemples sont « projectibles », c'est-à-dire que nous savons, à partir d'eux, classer de nouveaux cas avec un bon degré d'accord, sans nous être concertés.<ref>Williamson, T., « How Deep is the Distinction between A Priori and A Posteriori Knowledge? », in P. Boghossian et T. Williamson, ''Debating the A Priori'', Oxford UP, 2020, p. 117 ; Boghossian, P., « Do We Have Reason to Doubt the Importance of the Distinction between A Priori and A Posteriori Knowledge? », in ''Debating the A Priori'', 2020, p. 137-138.</ref> Que tous les carrés aient quatre côtés, que rien ne puisse être entièrement rouge et entièrement vert au même instant, que deux cercles de rayons différents se coupent en deux points au plus, voilà des connaissances que nous rangeons spontanément du côté de l{{'}}''a priori''. Que toutes les tables de bois soient carrées, ou que ce volume-ci soit rouge, il faudrait aller voir.
Un second exemple, proposé par Boghossian et Christopher Peacocke, précise ce que veut dire « indépendant de l'expérience ». Vous reconnaissez, dans un restaurant, un violoncelliste célèbre : votre souvenir d'une photographie, votre [[Dictionnaire de philosophie/Croyance|croyance]] que ce visage en est une version vieillie et votre perception actuelle concourent à produire votre croyance, et c'est bien votre expérience visuelle qui vous y autorise. Comparez maintenant avec quelqu'un qui apprend une vérité logique en lisant une démonstration : voir les lignes écrites cause sa croyance, mais ce qui l'y autorise est la démonstration elle-même, non le fait de l'avoir vue sur le papier. Il faut donc distinguer soigneusement la relation de causalité et la relation de justification, ou, pour reprendre leur mot, d{{'}}''entitlement''.<ref>Boghossian, P. et Peacocke, C., « Introduction », in P. Boghossian et C. Peacocke (éds.), ''New Essays on the A Priori'', Clarendon Press, 2000, p. 1-2.</ref> L'expérience peut être nécessaire pour accéder à une justification sans faire partie de cette justification. C'est cette idée, présente chez Leibniz déjà, que la tradition résume en disant que l'expérience joue un rôle habilitant (''enabling'') et non un rôle probant (''evidential'') dans la connaissance ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 2 ; Williamson, T., « How Deep is the Distinction... », 2020, p. 119 ; Mares, E., ''A Priori'', Routledge, 2014, p. 4-5.</ref>
== Origines historiques de la notion ==
=== Racines anciennes et médiévales ===
La distinction entre ce que l'on connaît par la seule pensée et ce que l'on connaît par l'observation trouve ses premières formulations dans l'Antiquité. Platon opposait la connaissance sensible, changeante et imparfaite, à la connaissance intelligible des Idées, éternelles et nécessaires.<ref>Platon, ''La République'', VI-VII (allégorie de la Ligne et de la Caverne), trad. G. Leroux, Garnier-Flammarion, 2004.</ref><ref>Platon, ''Ménon'', 80d-86c (le passage de la réminiscence géométrique), trad. M. Canto-Sperber, Garnier-Flammarion, 1993.</ref> Les vérités mathématiques, par exemple, semblaient ne pas dépendre de l'observation : que la somme des angles d'un triangle égale deux angles droits apparaît comme une vérité universelle et nécessaire, que l'on ne découvre pas par la mesure répétée de triangles concrets, mais que l'on saisit par l'intelligence. Pensons à l'esclave du ''Ménon'' : Socrate ne lui apprend rien, il l'interroge, et le jeune homme finit par voir que la diagonale d'un carré permet d'en construire un autre d'aire double. Nous aussi, lecteurs, nous voyons que la réponse est juste sans rien mesurer ; c'est ce que Platon met au compte de la réminiscence, et ce que nous appellerions aujourd'hui un raisonnement ''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 1-2 et p. 55 ; sur l'argument du ''Ménon'', p. 60-61.</ref>
Les termes mêmes d{{'}}''a priori'' et d{{'}}''a posteriori'' n'apparaissent toutefois qu'au Moyen Âge, et dans un sens différent. Ils traduisent une distinction d'Aristote entre ce qui est antérieur et plus connaissable par nature (la cause) et ce qui est antérieur et plus connaissable pour nous (l'effet, que nous percevons d'abord).<ref>[[Dictionnaire de philosophie/Aristote|Aristote]], ''Seconds Analytiques'', I, 2, 71b33-72a5, trad. P. Pellegrin, Garnier-Flammarion, 2005.</ref> Jean Grondin rappelle que tout dictionnaire fait venir ''a priori'' du grec ''proteron'', ce qui est antérieur ou premier : un comparatif, qui désigne un rapport d'antériorité à l'égard de ce qui est postérieur, ''hysteron''. Aristote passe en revue les sens de cette antériorité au chapitre 12 des ''Catégories'' et au livre Delta de la ''Métaphysique'', et la distinction la plus féconde est celle de l'antérieur selon la nature (les causes les plus universelles, les plus éloignées des sens) et de l'antérieur pour nous (les objets les plus proches des sens) ; en termes kantiens, note malicieusement Grondin, on parlerait presque d'un ''a priori'' objectif et d'un ''a priori'' subjectif. Deux traits de cette analyse marqueront toute l'histoire de la notion : la souveraineté de l'antérieur, qui ne se démontre pas en d'autres termes que les siens, et la dépendance du postérieur à son égard, la cause précédant irréversiblement ses effets.<ref>Grondin, J., ''Kant et le problème de la philosophie : l'a priori'', Vrin, 1989, p. 22-23 ; Aristote, ''Catégories'', 12, 14a35 sq. (trad. J. Barthélemy-Saint-Hilaire : ''[[s:Logique d’Aristote/Catégories|texte sur Wikisource]]'') ; ''Métaphysique'', Δ, 11, 1018b30 sq. (trad. J. Barthélemy-Saint-Hilaire : ''[[s:La Métaphysique d’Aristote|texte sur Wikisource]]'')</ref> C'est au chapitre 13 des ''Seconds Analytiques'' que se trouve la distinction des démonstrations ''propter quid'' (par la cause) et ''quia'' (par le fait), d'où les termes médiévaux tireront leur sens.<ref>Aristote, ''Seconds Analytiques'', I, 13, 78a22 sq. ; Palkoska, J., ''The A Priori in the Thought of Descartes. Cognition, Method and Science'', Cambridge Scholars Publishing, 2017, p. 319-320.</ref>
Dans le vocabulaire de la [[Dictionnaire de philosophie/Logique|logique]] scolastique, une démonstration ''a priori'' va de la cause à l'effet, du « premier » vers le « second » ; une démonstration ''a posteriori'' remonte de l'effet à la cause. Thomas d'Aquin, au moment de prouver l'[[Dictionnaire de philosophie/Existence|existence]] de Dieu, rappelle cette distinction entre la démonstration ''propter quid'', qui procède par ce qui est antérieur en soi, et la démonstration ''quia'', qui procède par ce qui est antérieur pour nous.<ref>Thomas d'Aquin, ''Somme théologique'', Ia, q. 2, a. 2, resp., trad. A.-M. Roguet, Cerf, 1984.</ref> C'est au XIV{{e}} siècle que les mots eux-mêmes se fixent : Jan Palkoska situe la première occurrence documentée de « démonstration ''a priori'' » pour la preuve ''propter quid'' et de « démonstration ''a posteriori'' » pour la preuve ''quia'' dans la ''Somme de logique'' de Guillaume d'Ockham (vers 1323), et l'identification des deux couples se trouve scellée peu après chez Albert de Saxe (vers 1355) : la démonstration qui procède des causes aux effets s'appelle ''a priori'', celle qui remonte des effets aux causes ''a posteriori''.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 320-321 ; Guillaume d'Ockham, ''Summa logicae'', III-2, c. 17 ; Albert de Saxe, ''Quaestiones super libros Posteriorum'', I, q. 9.</ref> Palkoska met en garde contre une confusion tentante : les preuves ''a posteriori'' ne sont pas, pour ces auteurs, des preuves empiriques, ni les preuves ''a priori'' des preuves non empiriques ; il est facile de construire une démonstration qui remonte de l'effet à la cause sans rien devoir aux sens, et une démonstration qui descend de la cause à l'effet à partir de prémisses empiriques.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 322.</ref> Cette acception est donc très différente de celle que Kant leur donnera plus tard : chez les scolastiques, il ne s'agit pas encore d'un rapport à l'expérience sensible, mais d'un ordre entre causes et effets dans la démonstration.
Cette intelligence scolastique reste en vigueur jusqu'à Descartes, qui emploie les deux termes une quinzaine de fois, presque toujours pour qualifier une manière de démontrer.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 2.</ref> Dans le ''Traité de la lumière'', il promet à qui saura tirer les conséquences de ses règles de connaître les effets par leurs causes et d'avoir, « pour m'expliquer en les termes de l'École », des démonstrations ''a priori'' de tout ce que le nouveau monde peut produire ; dans les ''Méditations'', la preuve ''a posteriori'' de l'existence de Dieu se fait par les effets, tandis que la preuve dite ''a priori'', héritée d'Anselme, part du seul concept de Dieu. Grondin observe le glissement qui s'opère ici : la démonstration ''a priori'', la plus noble aux yeux de Descartes, devient une preuve purement conceptuelle, menée sans le concours de l'expérience, de sorte que l'expression finit par désigner non plus le cheminement d'une preuve, mais la source d'une connaissance.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 24 ; Descartes, R., ''Le Monde ou Traité de la lumière'', AT XI, 47 (''[[s:Le Monde (Descartes)|texte sur Wikisource]]'') ; lettre à Mersenne, AT I, 490.</ref>
Palkoska montre que l'usage cartésien ne s'accorde pourtant ni avec le sens kantien ni tout à fait avec le sens scolastique : lorsque Descartes, dans les ''Secondes Réponses'', présente l'analyse comme la voie qui montre comment une chose a été découverte, il l'appelle ''a priori'', alors que la tradition aristotélicienne, qui fait aller l'analyse des effets aux causes, l'aurait dite ''a posteriori''.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 1-3 et p. 344-346 ; Descartes, R., ''Secondes Réponses'', AT VII, 155-156 (trad. duc de Luynes : ''[[s:Méditations Métaphysiques/Réponses de l’auteur aux secondes objections|texte sur Wikisource]]'').</ref>
Ce que la scolastique reconnaissait par ailleurs, c'est qu'il existe des propositions évidentes dès que l'on en comprend les termes ; Leibniz dira qu'on trouve « cent endroits » où les scolastiques l'affirment.<ref>Casullo, A., ''A Priori Justification'', Oxford UP, 2003, p. 20 (citant Leibniz d'après Chisholm).</ref>
C'est au cours du XVII{{e}} et du XVIII{{e}} siècle que les termes glissent vers leur sens épistémologique moderne, celui d'une opposition entre connaissance indépendante de l'expérience et connaissance tirée de l'expérience : la distinction passe de la scolastique à Descartes, Leibniz et Berkeley, avant que Kant ne fixe pour de bon la terminologie.<ref>Warren, J., ''The A Priori Without Magic'', Cambridge UP, 2022, p. 8.</ref> Chez Leibniz, la démonstration ''a priori'' d'une proposition est celle qui peut s'effectuer indépendamment de l'expérience, ''independens ab experimento'', en montrant que le prédicat est contenu dans le sujet, de sorte que connaissance ''a priori'' et connaissance analytique deviennent chez lui des synonymes ; et les ''Nouveaux essais'', achevés vers 1704 mais publiés en 1765 seulement, paraissent juste avant que Kant n'engage sa réflexion critique, dont le débat avec l{{'}}''a priori'' sera toujours un débat avec Leibniz.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 24-25.</ref> Selon Tyler Burge, c'est à Leibniz que revient la première explication moderne de la notion : une vérité est ''a priori'' si elle peut être connue indépendamment de l'expérience, ce qui n'empêche pas que l'on dépende psychologiquement de l'expérience pour parvenir à la connaître.<ref>Burge, T., « Frege on Apriority », in ''New Essays on the A Priori'', 2000, p. 13.</ref> Burge observe aussi qu'à l'époque moderne, « expérience » en est venu à signifier expérience sensible, ce qui n'allait pas de soi chez Leibniz, pour qui une expérience intellectuelle restait concevable.<ref>Burge, T., « Frege on Apriority », 2000, p. 40-41.</ref> Palkoska souligne pour sa part combien reste peu étudiée la question de savoir pourquoi Kant a employé le couple ''a priori'' / ''a posteriori'' dans un sens qui s'écarte à ce point de celui, bien établi, de la longue tradition aristotélicienne qu'il connaissait.<ref>Palkoska, J., ''The A Priori in the Thought of Descartes'', 2017, p. 2.</ref>
=== Le débat entre rationalistes et empiristes ===
Au XVII{{e}} siècle, la philosophie de la connaissance se structure autour d'un débat entre rationalistes et empiristes. Pour les rationalistes, Descartes, Spinoza, Leibniz, la raison possède des idées innées ou des principes indépendants de l'expérience : l'idée d'infini, les principes logiques (principe de contradiction, principe de raison suffisante), les vérités mathématiques.<ref>[[Dictionnaire de philosophie/René Descartes|Descartes]], R., ''Méditations métaphysiques'', 1641, III (idée d'infini), éd. J.-M. Beyssade et M. Beyssade, Garnier-Flammarion, 2011.</ref><ref>Leibniz, G. W., ''Nouveaux essais sur l'entendement humain'', 1765, Préface et I, 1, éd. J. Brunschwig, Garnier-Flammarion, 1990.</ref> Ces vérités seraient universelles, nécessaires, et connaissables par la seule raison. Les trois grands rationalistes accordent tous une place privilégiée à une connaissance claire, distincte ou évidente par elle-même, que Mares rapproche des « idées claires et distinctes » de Descartes ; l{{'}}''[[s:Éthique (Spinoza)|Éthique]]'' de Spinoza s'ouvre sur des [[Dictionnaire de philosophie/Définition|définitions]] et des [[Dictionnaire de philosophie/Axiome|axiomes]] tenus pour évidents, dont tout le reste se déduit.<ref>Mares, E., ''A Priori'', 2014, p. 34-37.</ref> Pour les tenants de l{{'}}[[Dictionnaire de philosophie/Empirisme|empirisme]], Locke, Berkeley, Hume, c'est d'abord l'origine de nos idées qui est en cause : aucune idée, aucun contenu substantiel ne précède l'expérience, et avant toute expérience notre esprit serait comme une « page blanche » (''tabula rasa''). Cette thèse sur l'origine des idées ne revient pas à dire que toute proposition doive être vérifiée par l'observation, et nous verrons dans un instant que les empiristes eux-mêmes réservent une place à des vérités que l'on établit sans elle.<ref>Locke, J., ''Essai sur l'entendement humain'', 1689, II, 1, § 2, trad. J.-M. Vienne, Vrin, 2001.</ref><ref>Hume, D., ''Enquête sur l'entendement humain'', 1748, IV, trad. A. Leroy, rév. M. Beyssade, Garnier-Flammarion, 2006.</ref> Contre les idées innées, Locke exige un « consentement universel » : les principes prétendument innés, comme « ce qui est, est », les enfants et les simples ne les ont pas, et personne ne les a avant d'y avoir pensé. Leibniz répond que l'expérience seule ne fournit pas de règles d'inférence fiables et que certaines idées, l'être, l'unité, la substance, la durée, ne peuvent venir des sens. Mais les deux ne parlent pas tout à fait de la même chose : Locke attaque des croyances innées, Leibniz défend des concepts innés.<ref>Mares, E., ''A Priori'', 2014, p. 56 ; Locke, J., ''Essai sur l'entendement humain'', I, 1-2.</ref>
Les empiristes ne nient pas qu'il existe des propositions dont la vérité peut être établie sans recourir à l'observation. Mais chaque auteur formule cette idée dans son propre vocabulaire. Locke distingue, au sein de notre connaissance, ce qui repose sur la perception de rapports entre idées (''agreement or disagreement of ideas'') et ce qui porte sur l'existence réelle des choses : les vérités mathématiques et [[Dictionnaire de philosophie/Morale|morales]] relèvent du premier type et peuvent être connues avec [[Dictionnaire de philosophie/Certitude|certitude]], sans dépendre de l'observation du monde extérieur.<ref>Locke, J., ''Essai sur l'entendement humain'', IV, 3, § 18-20 ; IV, 9, § 1.</ref> Hume, de son côté, oppose les « relations d'idées » (les propositions de la géométrie, de l'algèbre, de l'arithmétique, « découvertes par la seule opération de la pensée ») aux « choses de fait », fondées sur l'expérience.<ref>Hume, D., ''Enquête sur l'entendement humain'', IV, 1.</ref> Leibniz, quant à lui, rationaliste mais interlocuteur principal des empiristes, distingue « vérités de raison » (nécessaires, fondées sur le principe de contradiction) et « vérités de fait » (contingentes, fondées sur le principe de raison suffisante).<ref>Leibniz, G. W., ''Monadologie'', 1714, § 33.</ref> Notons que ni Leibniz ni Frege, qui le suit sur ce point, ne tiennent les vérités de raison pour moins « factuelles » que les vérités de fait : elles ne sont pas de purs mots, elles portent sur ce qui est nécessaire à la nature même des choses.<ref>Burge, T., « Frege on Apriority », 2000, p. 16.</ref>
Il serait toutefois anachronique de projeter sur ces auteurs la grille conceptuelle kantienne. Les distinctions entre ''a priori'' et ''a posteriori'', entre analytique et synthétique, entre nécessaire et contingent, que Kant présente comme orthogonales, ne se recoupent pas chez les classiques de la même façon qu'elles le feront plus tard. L'identification systématique de l{{'}}''a priori'' avec l'analytique et le nécessaire est surtout caractéristique de certaines formes d'empirisme logique au XX{{e}} siècle, notamment chez Alfred Ayer, qui soutient explicitement que les vérités ''a priori'' sont des tautologies sans contenu factuel.<ref>Ayer, A. J., ''Language, Truth and Logic'', Gollancz, 1936, chap. 4 ; Casullo, A., ''A Priori Justification'', 2003, p. 214.</ref> Les synthèses contemporaines insistent précisément sur la nécessité de séparer ces trois distinctions, qui ne coïncident ni chez les classiques ni, comme Kripke l'a montré, dans la philosophie actuelle.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 10.</ref> Grondin décrit ce moment comme une crise : de Parménide à Wolff, le domaine de l{{'}}''a priori'' fut celui des vérités immuables que peut atteindre la raison, organe divin en nous, et les controverses de la métaphysique d'école présupposaient sans discussion la possibilité d'une connaissance ''a priori'' ; c'est Hume qui, aux yeux de Kant, a mis en cause cette idée même, et Kant entreprend de généraliser le scepticisme humien, de le penser jusqu'au bout, pour voir si la métaphysique peut y résister. La thèse ainsi durcie, que l'on ne trouve nulle part chez Hume lui-même, tient en une phrase : il n'y a pas de connaissance ''a priori''.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 13 et p. 26-27.</ref>
== La systématisation kantienne : les jugements synthétiques ''a priori'' ==
C'est Emmanuel Kant (1724-1804) qui, dans la ''Critique de la raison pure'' (1781, seconde édition 1787), confère à la distinction ''a priori'' / ''a posteriori'' son statut philosophique central et sa portée moderne.<ref>Kant, E., ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006.</ref> Kant opère ce qu'il appelle une « révolution copernicienne » en philosophie : au lieu de penser que notre connaissance se règle sur les objets, il propose que les objets se règlent sur notre faculté de connaître. Cette thèse lui permet d'expliquer l'existence de connaissances ''a priori'' tout en évitant les impasses du rationalisme dogmatique (qui prétend connaître le réel par la seule raison) et du [[Dictionnaire de philosophie/Scepticisme|scepticisme]] empiriste (qui conteste la possibilité de toute connaissance nécessaire). Mikel Dufrenne y voit l'origine même de la révolution copernicienne : pour Kant, la connaissance pure ''a priori'' est d'abord un fait, un fait de la raison, et c'est ce fait qui appelle une critique chargée d'en établir les conditions de validité.<ref>Dufrenne, M., ''The Notion of the A Priori'', trad. E. S. Casey, Northwestern UP, 1966, rééd. 2009 (''La Notion d'a priori'', PUF, 1959), p. 3.</ref>
Albert Casullo a montré combien la discussion contemporaine reste tributaire des quelques pages de l'introduction de la ''Critique''. Kant y installe un cadre fait de trois distinctions : la distinction épistémique entre connaissance ''a priori'' et connaissance empirique, la distinction métaphysique entre propositions nécessaires et contingentes, la distinction sémantique entre propositions analytiques et synthétiques. Et il pose, dans ce cadre, quatre questions : qu'est-ce que la connaissance ''a priori'' ? existe-t-elle ? quel est son rapport à la nécessité ? quel est son rapport à l'analytique ?<ref>Casullo, A., ''A Priori Justification'', 2003, p. 4.</ref> Ce sont encore, pour l'essentiel, les questions que nous nous posons.
=== Critères de l{{'}}''a priori'' : nécessité et universalité ===
Kant commence par une concession à l'empirisme : toute notre connaissance commence avec l'expérience, mais il ne s'ensuit pas qu'elle en dérive tout entière.<ref>Kant, E., ''Critique de la raison pure'', B1.</ref> Robert Hanna lit dans ce double mouvement une intuition durable : un empirisme minimal (aucune connaissance n'exclut tout rapport aux faits empiriques) n'entraîne pas un empirisme maximal (toute connaissance serait déterminée par eux). Que « si Socrate est célibataire, alors Socrate n'est pas marié » ait dû s'apprendre par l'expérience ne le rend pas moins nécessaire et ''a priori''.<ref>Hanna, R., ''Cognition, Content, and the A Priori'', Oxford UP, 2015, p. 313-316.</ref>
Pour Kant, la caractérisation première de l{{'}}''a priori'' reste l'indépendance à l'égard de l'expérience ; la nécessité (ce qui ne peut pas être autrement) et l'universalité rigoureuse (ce qui vaut pour tous les cas sans exception possible) constituent les deux critères sûrs, les « marques » (''Kennzeichen''), auxquels on reconnaît une connaissance ''a priori'', et Kant ajoute qu'ils vont inséparablement ensemble, même s'il est parfois plus commode d'employer l'un que l'autre.<ref>Kant, E., ''Critique de la raison pure'', Introduction, B3-B4 ; Hanna, R., ''Cognition, Content, and the A Priori'', 2015, p. 314.</ref> Si l'on dit « tous les corps observés jusqu'à présent tombent », cette proposition est universelle empiriquement, mais non nécessaire : rien ne garantit qu'un corps ne pourrait pas ne pas tomber. En revanche, « tout changement doit avoir une cause » est, selon Kant, une proposition à la fois nécessaire et universelle : on ne peut concevoir un changement sans cause.
Casullo attire l'attention sur la fonction de ces critères dans l'argument de Kant. Parce que Kant ne précise pas en quel sens exactement une connaissance doit être indépendante de l'expérience, il ne peut pas prouver l'existence de connaissances ''a priori'' à partir de leur seule définition ; il lui faut un critère. La nécessité est ce critère : l'expérience nous apprend qu'une chose est ainsi, mais non qu'elle ne peut être autrement, de sorte que toute connaissance d'une proposition nécessaire est ''a priori''. La réciproque, selon laquelle tout ce qui est connu ''a priori'' serait nécessaire, n'apparaît que dans la préface de la première édition, dans un passage où Kant glisse sans transition de la certitude à la nécessité, deux concepts pourtant distincts.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 186-187 ; Kant, E., ''Critique de la raison pure'', B3 et Axv.</ref>
Une connaissance ''a posteriori'', au contraire, provient de l'expérience sensible, comme « cette rose est rouge » ou « l'eau bout à 100 °C sous pression normale ». Dans le cadre kantien, de telles connaissances portent sur ce que l'expérience nous apprend comme contingent (cela aurait pu être autrement) ; leur universalité éventuelle reste empirique, fondée sur l'accumulation d'observations, et ne possède pas la nécessité propre à l{{'}}''a priori''. Cette association entre ''a posteriori'' et contingence, comme celle entre ''a priori'' et nécessité, sera remise en cause au XX{{e}} siècle, notamment par Kripke, dont nous verrons plus loin qu'il admet des vérités nécessaires connues ''a posteriori''.
=== Distinction entre analytique et synthétique ===
Kant introduit une seconde distinction, qu'il conçoit comme orthogonale à la première : celle entre jugements analytiques et jugements synthétiques.<ref>Kant, E., ''Prolégomènes à toute métaphysique future'', 1783, § 2, trad. J. Gibelin, rév. J. Rivelaygue, Vrin, 1986.</ref> Un jugement analytique est celui dans lequel « le prédicat est contenu dans le concept du sujet » : par exemple, « tout corps est étendu », l'extension faisant partie de la définition même du corps. Ces jugements sont purement explicatifs : ils clarifient ce que nous pensions déjà confusément, mais n'étendent pas notre connaissance. Ils sont toujours ''a priori'', car on peut les établir par simple analyse conceptuelle, sans recourir à l'expérience.
Un jugement synthétique, à l'inverse, « ajoute au sujet un prédicat qui n'y était pas contenu » : par exemple, « tous les corps sont pesants ». Le concept de pesanteur n'est pas inclus dans celui de corps ; c'est une information qui accroît notre connaissance. Les jugements synthétiques sont le plus souvent ''a posteriori'', fondés sur l'expérience empirique.
Les commentateurs relèvent deux difficultés. D'abord, la définition de Kant ne vaut que pour les jugements de la forme « tout A est B », alors que tout jugement devrait être analytique ou synthétique. Ensuite, Kant donne en réalité deux versions de la distinction : l'une porte sur le contenu des concepts (le prédicat est-il contenu dans le sujet ?), l'autre sur ce que pense le sujet qui juge (a-t-il déjà pensé le prédicat en pensant le sujet ?). Ces deux versions ne coïncident pas nécessairement.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 211-212.</ref> Moltke Gram relevait déjà que Kant propose deux critères de l'analyticité qui ne se recouvrent pas : tantôt le principe de contradiction, qui permet de passer d'une proposition implicitement analytique à une proposition explicitement analytique en remplaçant des synonymes par des synonymes, tantôt la simple inspection d'un concept pour voir s'il en contient un autre comme partie ; et il notait un conflit entre la formulation explicite de la distinction et l'usage qu'en fait Kant, puisque, les concepts mathématiques étant définissables, on ne voit pas pourquoi les jugements mathématiques ne seraient pas analytiques au sens de cette formulation.<ref>Gram, M. S., ''Kant, Ontology and the A Priori'', Northwestern UP, 1968, p. 44-46.</ref> Tommaso Piazza résume les deux reproches classiques faits au critère de l'inclusion : il est trop étroit, car « tout est spatio-temporel ou n'est pas spatio-temporel » n'a pas la forme sujet-prédicat et ne peut donc être dit analytique ; il est trop large, car « toute fille de philosophe de profession est philosophe de profession » est fausse, donc non analytique, alors que le concept du prédicat est bien contenu dans celui du sujet.<ref>Piazza, T., ''A Priori Knowledge. Toward a Phenomenological Explanation'', Ontos Verlag, 2007, p. vi.</ref>
=== Les jugements synthétiques ''a priori'' ===
La thèse centrale de Kant est qu'il existe des jugements synthétiques ''a priori'' : des propositions qui étendent notre connaissance (synthétiques) tout en étant universelles, nécessaires et indépendantes de l'expérience (''a priori'').<ref>Kant, E., ''Critique de la raison pure'', B19.</ref> Cette catégorie, inattendue puisqu'elle combine deux traits ordinairement dissociés, constitue selon Kant la clé de la connaissance scientifique.
Les exemples premiers sont les jugements mathématiques. La proposition « 7 + 5 = 12 » n'est pas analytique, soutient Kant, car le concept de « 12 » n'est contenu ni dans « 7 » ni dans « 5 » ni dans celui de somme : pour parvenir à « 12 », il faut effectuer une synthèse mentale, une construction dans l'intuition. Pourtant, ce jugement est ''a priori'' : il est universel et nécessaire, valable indépendamment de toute observation empirique.<ref>Kant, E., ''Critique de la raison pure'', Introduction, B15-B16.</ref> De même, les principes premiers de la physique, comme « tout changement a une cause », sont synthétiques (ils étendent notre connaissance du monde) et ''a priori'' (ils sont nécessaires et universels).
Pourquoi Kant a-t-il besoin de cette distinction, alors que sa preuve de l'existence de connaissances ''a priori'' n'en dépend pas ? Casullo répond qu'elle sert à formuler la question directrice de la ''Critique'' : comment des jugements synthétiques ''a priori'' sont-ils possibles ? Kant tient en effet la connaissance analytique pour peu problématique (il suffit du principe de contradiction et de l'analyse du concept), tandis que la connaissance synthétique ''a priori'' requiert, selon lui, le secours de l'intuition. Il présuppose donc que les deux types de connaissance ont des sources différentes, et que la seconde est plus énigmatique que la première ; mais il ne défend jamais expressément ces deux présupposés.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 212-214.</ref>
== Formes ''a priori'' de la sensibilité et de l'entendement ==
Comment expliquer la possibilité de ces jugements synthétiques ''a priori'' ? Kant répond que notre esprit impose des structures ''a priori'' à l'expérience. Ces structures sont de deux types, correspondant à deux facultés de connaissance distinctes.
=== L'espace et le temps : formes ''a priori'' de la sensibilité ===
Dans l'Esthétique transcendantale (première partie de la ''Critique de la raison pure''), Kant soutient que l'espace et le temps ne sont pas des propriétés des choses en elles-mêmes, mais des formes ''a priori'' de notre sensibilité, c'est-à-dire des conditions sous lesquelles seulement quelque chose peut nous être donné comme objet.<ref>Kant, E., ''Critique de la raison pure'', A22/B37 sq.</ref> L'espace est la forme du « sens externe » : tout ce qui nous apparaît comme extérieur se présente nécessairement dans l'espace. Le temps est la forme du « sens interne » : toutes nos représentations, qu'elles soient externes ou internes, se succèdent dans le temps. Ces formes ne dérivent pas de l'expérience ; au contraire, elles sont les conditions de possibilité de toute expérience.
Kant distingue nettement les intuitions, qui sont singulières (cette chatte-ci, et non n'importe quelle chatte), des concepts, qui sont généraux. Mares compare nos intuitions de l'espace et du temps à des contenants mentaux dans lesquels nous rangerions nos expériences pour en composer une carte du monde, toujours partielle ; la métaphore est commode, mais il ne faut pas y voir des réceptacles psychologiques : l'espace et le temps sont pour Kant les formes pures de l'intuition sensible, les cadres formels sous lesquels seulement quelque chose peut nous être donné. Mais elles nous renseignent aussi sur les propriétés de l'espace entier : en construisant mentalement un triangle, nous établissons que ses angles valent deux droits, car l'intuition nous apprend que l'espace est uniforme, une portion valant ce que vaut toute autre.<ref>Mares, E., ''A Priori'', 2014, p. 108-109.</ref>
Kant insiste sur le fait que la sensibilité possède ses propres structures ''a priori'' qui organisent toute réception d'objets. L{{'}}''a priori'' n'est donc pas l'apanage de l'intellect : il concerne aussi notre capacité intuitive et sensible.
Cette thèse explique, pour Kant, la nature ''a priori'' de la géométrie : celle-ci étudie les propriétés nécessaires de l'espace en tant que forme de notre sensibilité. Les vérités géométriques sont donc synthétiques (elles étendent notre connaissance de l'espace) et ''a priori'' (elles découlent de la structure spatiale que notre esprit impose aux phénomènes). Kant n'a pas à prouver que notre intuition de l'espace ressemble à l'espace réel, puisque, pour lui, notre intuition de l'espace est l'espace.<ref>Mares, E., ''A Priori'', 2014, p. 109.</ref>
=== Les catégories : formes ''a priori'' de l'entendement ===
Dans l'Analytique transcendantale, Kant identifie les catégories ou [[Dictionnaire de philosophie/Concept|concepts]] purs de l'entendement : substance, causalité, unité, pluralité, nécessité, possibilité, etc.<ref>Kant, E., ''Critique de la raison pure'', A80/B106.</ref> Ces catégories sont ''a priori'' : elles ne dérivent pas de l'expérience, mais structurent toute expérience possible. Par exemple, l'expérience d'une succession objective, c'est-à-dire d'un changement déterminé dans l'objet et non du simple défilé de nos appréhensions, suppose selon Kant la représentation d'une règle de [[Dictionnaire de philosophie/Causalité|causalité]] : c'est notre entendement qui impose ''a priori'' la catégorie de cause et effet, sans laquelle rien ne distinguerait la succession de nos représentations, qui change dès que nous tournons la tête, d'un événement dans le monde.<ref>Kant, E., ''Critique de la raison pure'', A189-211/B232-256 (seconde analogie de l'expérience) ; Mares, E., ''A Priori'', 2014, p. 111.</ref>
La forme même de l'argument mérite attention. Kant part d'une proposition qu'il ne discute pas, à savoir que nous avons une expérience d'objets dans l'espace et le temps, et il montre que cette expérience présuppose certaines croyances : c'est ce qu'on appelle un argument transcendantal. Le flux de nos sensations, pris tel quel, est chaotique ; notre champ visuel change dès que nous tournons la tête. Nous n'en faisons un monde d'objets qu'en rapportant ces changements à des lois, la marche du soleil, la réflexion de la lumière sur les surfaces. La croyance que les événements se suivent selon des lois n'est pas tirée de l'expérience ; c'est notre capacité à faire une expérience qui en dépend.<ref>Mares, E., ''A Priori'', 2014, p. 110-112.</ref> On a objecté que Kant, s'il avait rêvé, aurait dû savoir qu'une expérience sans règles est possible ; la réponse kantienne est que le rêve ne fournit pas d'expérience au sens qui l'intéresse, celui d'une expérience capable de fonder des jugements.<ref>Mares, E., ''A Priori'', 2014, p. 115.</ref>
Les catégories permettent de transformer les données sensibles en objets de connaissance. Sans elles, l'expérience serait un chaos d'impressions désordonnées. Kant formule ce point dans une phrase célèbre : « Des pensées sans contenu sont vides, des intuitions sans concepts sont aveugles. »<ref>Kant, E., ''Critique de la raison pure'', A51/B75.</ref> Les deux ensembles de structures ''a priori'', formes de la sensibilité (espace et temps) et catégories de l'entendement, sont nécessaires l'un et l'autre pour que la connaissance soit possible.
Il faut ajouter que les croyances ''a priori'' de Kant ne sont pas toutes ''a priori'' au même sens. Nos croyances mathématiques sont justifiées indépendamment de l'expérience, par le seul recours aux intuitions de l'espace et du temps. Mais la croyance que les événements obéissent à des lois n'est ni justifiée ni en attente de justification : elle est ce avec quoi nous construisons le monde perçu. Ce qu'un argument transcendantal établit, c'est que nous avons cette croyance, non qu'elle est vraie. Elle n'en fournit pas moins un fondement ''a priori'' à d'autres croyances, à commencer par celle qu'une science de la nature est possible.<ref>Mares, E., ''A Priori'', 2014, p. 114.</ref>
=== Idéalisme transcendantal et limites de l{{'}}''a priori'' ===
Cette doctrine a un corollaire important : nous ne connaissons que les phénomènes (les objets tels qu'ils nous apparaissent, structurés par nos formes ''a priori''), jamais les choses en soi (les objets tels qu'ils sont indépendamment de notre faculté de connaître).<ref>Kant, E., ''Critique de la raison pure'', Bxxvi.</ref> L{{'}}''a priori'' gagne en universalité et en nécessité ce qu'il perd en portée métaphysique : nous ne pouvons connaître ''a priori'' que ce que notre esprit a lui-même mis dans les choses, non ce que les choses sont en elles-mêmes.
Cette limitation a des conséquences importantes pour la [[Dictionnaire de philosophie/Métaphysique|métaphysique]] traditionnelle. Les catégories, bien qu{{'}}''a priori'', ne s'appliquent légitimement qu'aux objets d'expérience possible. Toute tentative de les appliquer au-delà constitue un usage illégitime de la raison, dont la Dialectique transcendantale expose les trois formes : les paralogismes, lorsque la raison prétend connaître l'âme comme une substance simple et immortelle ; les [[Dictionnaire de philosophie/Antinomie|antinomies]], lorsqu'elle prétend déterminer le monde comme une totalité et se trouve prise dans des contradictions insolubles, par exemple au sujet de la liberté ; l'idéal de la raison pure, lorsqu'elle prétend démontrer l'existence de Dieu.<ref>Kant, E., ''Critique de la raison pure'', A341-405/B399-432 (paralogismes) ; A405-567/B432-595 (antinomies) ; A567-642/B595-670 (idéal de la raison pure).</ref>
Adrian Moore a redonné à cette doctrine la forme d'une énigme. Trois propositions paraissent vraies et pourtant incompatibles : il existe une connaissance de fauteuil, c'est-à-dire une connaissance que l'expérience ne garantit pas ; une partie de cette connaissance porte sur ce qui est au-delà du sujet ; et elle ne fait appel à aucune rencontre particulière avec quoi que ce soit au-delà du sujet. Certains empiristes nient la première, d'autres la deuxième (toute connaissance de fauteuil porterait sur notre langage ou nos concepts), certains platoniciens la troisième (nous serions en contact avec des universaux). Kant les accepte toutes trois : ce que nous connaissons depuis le fauteuil, c'est la forme de ce qui est au-delà du sujet, et cette forme dépend du sujet.<ref>Moore, A. W., ''The Human A Priori. Essays on How We Make Sense in Philosophy, Ethics, and Mathematics'', Oxford UP, 2023, p. 23-25.</ref> Moore tient l'argument qui va de l'existence d'une connaissance synthétique de fauteuil à l'idéalisme transcendantal pour valide, mais seulement si cette connaissance est connaissance du nécessaire ; et comme l'idéalisme transcendantal lui paraît incohérent, puisqu'il doit reconnaître, en se plaçant hors du point de vue du sujet, la contingence de la forme que le sujet impose, alors que Kant interdit un tel regard sur les choses en soi, il conclut qu'il n'existe pas de connaissance synthétique de fauteuil du nécessaire, ce qui laisse ouverte la question d'une connaissance de fauteuil du contingent.<ref>Moore, A. W., ''The Human A Priori'', 2023, p. 23 et p. 40.</ref> Robert Greenberg défend la position inverse : Strawson a raison de juger l'idéalisme inutile pour rendre compte de la connaissance empirique, mais la connaissance ''a priori'' en est distincte, et une interprétation fidèle de Kant doit montrer comment sa possibilité exige l'idéalisme transcendantal.<ref>Greenberg, R., ''Kant's Theory of A Priori Knowledge'', Pennsylvania State UP, 2001, p. 44.</ref>
Dufrenne a insisté sur un trait du dispositif kantien qui commande toute la suite : chez Kant, l{{'}}''a priori'' est forme, jamais matière. Le donné est ce que la sensibilité reçoit et que la raison ne peut justifier ; l{{'}}''a priori'' relève de l'activité constituante de l'esprit et ne se présente jamais comme quelque chose de constitué. En substituant à la question « qu'est-ce qui est donné ? » la question « qu'est-ce qui peut être donné ? », Kant reprend à Hume la réponse selon laquelle seul un contenu sensible peut l'être. Antériorité, ici, ne veut pas dire précédence dans le temps, mais indépendance logique : ce qui est antérieur à l'expérience ne peut être compromis par elle. Et pourtant, observe Dufrenne, l{{'}}''a priori'' vise l'expérience qu'il fonde ; il « a autant besoin de l'expérience que l'expérience de l{{'}}''a priori'' ». La formule annonce tout son programme : un empirisme du transcendantal, où l{{'}}''a priori'' se donne aussi dans l'expérience.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 4-9.</ref> Nous verrons ce que la phénoménologie tire de cette remarque.
== L{{'}}''a priori'' après Kant : critiques, reprises, transformations ==
La théorie kantienne a suscité d'intenses débats qui se poursuivent jusqu'à nos jours.
=== L'empirisme inductiviste de Mill ===
La première grande contestation vient de John Stuart Mill (1806-1873), pour qui toute justification est une forme d'induction, y compris en logique et en mathématiques. Nous n'avons jamais perçu de contradiction vraie ; c'est pourquoi nous croyons qu'il n'y en a pas, et non parce que la chose serait impossible. Que nous ne puissions concevoir une contradiction vraie ne prouve pas, selon Mill, qu'elle soit impossible. Même le syllogisme se réduit chez lui à un raisonnement par ressemblance : le duc de Wellington est mortel parce qu'il ressemble, par son humanité, à d'autres [[Dictionnaire de philosophie/Individu|individus]] qui se sont révélés mortels. Sa méthode est, pour reprendre l'expression d'Edwin Mares, « inductive de bout en bout », ce qui signifie que la conclusion d'un raisonnement n'est jamais qu'à peu près assurée par ses prémisses. La difficulté classique de cette position est que nos méthodes inductives paraissent elles-mêmes contenir de la logique déductive : pour tester une hypothèse, il faut d'abord en tirer les conséquences.<ref>Mares, E., ''A Priori'', 2014, p. 84-87 ; Mill, J. S., ''Système de logique déductive et inductive'', 1843, II, 3, § 7 et II, 7, § 5, trad. L. Peisse, Mardaga, 1988.</ref> Frege renversera la thèse de Mill : la justification inductive est pour lui une espèce de la preuve déductive, où des énoncés singuliers se combinent à un principe général d'induction.<ref>Burge, T., « Frege on Apriority », 2000, p. 16.</ref>
=== Frege : l{{'}}''a priori'' comme ordre de justification ===
Gottlob Frege (1848-1925) donne à la notion une tournure qui pèsera sur tout le XX{{e}} siècle. Dans ''Les Fondements de l'arithmétique'' (1884), il précise que les distinctions entre ''a priori'' et ''a posteriori'', analytique et synthétique, ne concernent pas le contenu du jugement mais sa justification ; c'est pourquoi une [[Dictionnaire de philosophie/Erreur|erreur]] ''a priori'' serait, dit-il, aussi impossible qu'un concept bleu. Une vérité est analytique si sa preuve ne s'appuie que sur des lois logiques générales et des définitions ; elle est ''a priori'' si sa preuve peut se dériver de lois générales qui « n'ont besoin ni ne sont susceptibles de preuve » ; elle est ''a posteriori'' si cette preuve ne peut se passer de faits, c'est-à-dire de vérités singulières portant sur des objets déterminés.<ref>Burge, T., « Frege on Apriority », 2000, p. 12-14 ; Frege, G., ''Les Fondements de l'arithmétique'', 1884, § 3, trad. C. Imbert, Seuil, 1969.</ref> Frege accorde à Kant que la géométrie est synthétique ''a priori'', mais soutient contre lui que l'arithmétique est analytique. Burge fait observer que, sous couvert de clarifier Kant, Frege est en réalité plus proche de Leibniz : il tient l{{'}}''a priori'' pour un ordre canonique de justification entre vérités, indépendant des esprits individuels, et la formule des vérités premières qui n'ont besoin ni ne sont susceptibles de preuve se lit mot pour mot chez Leibniz.<ref>Burge, T., « Frege on Apriority », 2000, p. 15-17.</ref> Comme Leibniz encore, Frege insiste sur la compatibilité de l{{'}}''a priori'' avec toutes sortes de dépendances à l'égard de l'expérience : avoir besoin de voir des symboles pour apprendre un théorème ne rend pas ce théorème empirique, et appeler « empirique » une proposition parce qu'il a fallu des observations pour en prendre conscience, c'est, dit Frege, faire de la psychologie.<ref>Burge, T., « Frege on Apriority », 2000, p. 17 ; Frege, G., ''Les Fondements de l'arithmétique'', § 8.</ref>
=== La critique empiriste : positivisme logique et Quine ===
Le positivisme logique du Cercle de Vienne (années 1920-1930) cherche à réduire l{{'}}''a priori'' au domaine analytique, en rejetant les jugements synthétiques ''a priori'' kantiens.<ref>Carnap, R., ''Der logische Aufbau der Welt'', 1928 ; [[Dictionnaire de philosophie/Moritz Schlick|Schlick]], M., « Is There a Factual A Priori? », in H. Feigl et W. Sellars (éds.), ''Readings in Philosophical Analysis'', Appleton-Century-Crofts, 1949.</ref> Pour des philosophes comme Carnap, les vérités dites ''a priori'', en logique et en mathématiques, sont des vérités purement linguistiques, résultant de [[Dictionnaire de philosophie/Convention|conventions]] concernant le cadre linguistique adopté. Jared Warren rappelle que cette théorie fondée sur la signification a une longue préhistoire, depuis les relations d'idées de Hume jusqu'à Carnap, Gentzen et Wittgenstein dans les années 1930, mais que les positivistes en ont expédié les détails épistémologiques, parce qu'ils identifiaient purement et simplement l'analytique, le nécessaire et l{{'}}''a priori''.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 28-29.</ref>
Au milieu du XX{{e}} siècle, le philosophe américain [[Dictionnaire de philosophie/Willard Van Orman Quine|Willard Van Orman Quine]] (1908-2000) attaque frontalement la distinction entre analytique et synthétique. Dans son article « Deux dogmes de l'empirisme » (1951), Quine soutient que la frontière entre propositions analytiques et propositions synthétiques, loin d'être nette, est indéfendable : aucune définition satisfaisante de l'analyticité ne résiste à l'examen.<ref>Quine, W. V. O., « Two Dogmas of Empiricism », ''The Philosophical Review'', vol. 60, n° 1, 1951, p. 20-43 ; repris dans ''From a Logical Point of View'', Harvard UP, 1953, chap. 2.</ref> Quine propose à la place une conception holiste de la connaissance : nos croyances forment une « toile » solidaire où chaque élément, y compris les vérités logiques et mathématiques, peut en principe être révisé face à l'expérience. Au centre de la toile se trouvent les croyances aux conséquences les plus étendues, que nous abandonnons en dernier ; à la périphérie, nos croyances perceptives. Deux maximes règlent la révision : conserver de préférence les croyances les plus enracinées, et maintenir la cohérence de l'ensemble.<ref>Mares, E., ''A Priori'', 2014, p. 90-91.</ref> Il n'y aurait donc pas de vérités entièrement à l'abri de toute révision empirique.
La critique de Quine ne vise pas d'abord le concept d{{'}}''a priori'' au sens épistémologique (le mode de justification indépendant de l'expérience), mais elle sape la distinction analytique/synthétique qui, depuis Kant, servait de cadre pour penser l{{'}}''a priori''. Boghossian et Peacocke reconstruisent ainsi l'argument : à moins de postuler des facultés occultes, la connaissance ''a priori'' ne s'explique que si la compréhension d'une phrase suffit à en connaître la vérité ; cela suppose des phrases vraies en vertu de leur seule signification ; or il n'y en a pas ; donc l{{'}}''a priori'' est inexplicable. Ils distinguent en outre trois familles d'objections sceptiques : celles qui identifient l{{'}}''a priori'' à une propriété qu'aucune proposition ne possède, comme l'indéfaisabilité ; celles qui nient qu'on puisse expliquer une connaissance indépendante de l'expérience ; celles qui tirent argument de l'histoire des sciences. Quine a usé des trois. Contre la troisième, ils font valoir un fait que toute théorie doit intégrer : lorsqu'une expérience contredit une prédiction, le physicien n'est jamais autorisé à réviser l'arithmétique pour expliquer l'écart. Comme ils l'écrivent, « aucun accélérateur de particules, si puissant soit-il, ne peut réfuter » que 7 + 5 = 12 ; toute théorie de l{{'}}''a priori'', même sceptique, doit expliquer ce fait ou l'expliquer comme une illusion.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 6-8.</ref>
Casullo va plus loin encore dans le désenchevêtrement. La littérature sur le synthétique ''a priori'' repose selon lui sur deux présupposés : que cette connaissance pose des problèmes explicatifs plus graves que la connaissance analytique ''a priori'', et que l'incohérence de la distinction analytique/synthétique jetterait le doute sur la distinction ''a priori''/''a posteriori''. Il tient les deux pour faux : la seconde distinction se comprend sans la première, et la question de savoir s'il existe des connaissances ''a priori'' peut être posée sans trancher le sort du synthétique ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 210.</ref> Le débat ouvert par Quine s'est poursuivi avec la réponse de Grice et Strawson, qui défendent la distinction en montrant qu'elle repose sur une pratique linguistique stable et partagée.<ref>Grice, H. P. et Strawson, P. F., « In Defense of a Dogma », ''Philosophical Review'', vol. 65, n° 2, 1956, p. 141-158.</ref>
=== L{{'}}''a priori'' matériel : la phénoménologie ===
À l'opposé de la tradition empiriste, la phénoménologie, initiée par Edmund Husserl (1859-1938), défend l'existence d'un ''a priori'' matériel.<ref>Husserl, E., ''Recherches logiques'', 1900-1901, III (théorie des touts et des parties), trad. H. Élie, A. L. Kelkel et R. Schérer, PUF, 1961-1963.</ref> Pour Husserl, il existe des structures essentielles non formelles, accessibles par l'intuition eidétique (c'est-à-dire par la saisie directe des essences) : par exemple, les lois d'essence qui régissent les rapports entre couleur et étendue (toute couleur suppose une surface colorée), ou, dans la tradition phénoménologique qui prolonge Husserl, notamment chez Adolf Reinach, entre promesse et obligation.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 181, qui renvoie à Zełaniec, W., « Fathers, Kings, and Promises. Husserl and Reinach on the A Priori », ''Husserl Studies'', vol. 9, 1992, p. 147-177.</ref> Ces vérités ne se réduisent ni à des conventions linguistiques ni à des tautologies formelles ; elles portent sur le contenu même des phénomènes. Dans les ''Idées directrices'', Husserl distingue les essences formelles, qui relèvent d'une ontologie formelle vide (l'objet en général), des essences matérielles, qui définissent des régions : chaque son a une essence, et au sommet se trouve l'essence du son en général ; l'essence du triangle relève du genre suprême « forme spatiale », celle du rouge du genre « qualité sensible ». Les vérités eidétiques régionales sont synthétiques, puisqu'elles ne s'obtiennent pas par analyse de formes vides, et ''a priori'', puisqu'elles sont données dans l'intuition d'essence.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 74-75 ; Husserl, E., ''Idées directrices pour une phénoménologie'', 1913, § 2, 10, 13 et 16, trad. P. Ricœur, Gallimard, 1950.</ref>
Tommaso Piazza a récemment tenté de faire de cette position une explication de la connaissance ''a priori'' capable de rivaliser avec les théories fondées sur la signification. Dans les disciplines formelles, l'intuition phénoménologique est la conscience directe de la vérité nécessaire de règles et de principes ; dans les disciplines matérielles, elle s'obtient par la variation eidétique : on part d'une maison perçue ou imaginée, on lui retire par l'imagination ses fenêtres, son toit, sa couleur, et l'on constate que la chose reste une chose matérielle, tandis qu'on ne parvient pas à imaginer une chose matérielle sans étendue ; ce qui se conserve à travers les variations, l'invariant, est l'essence.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 164 et p. 183.</ref> Piazza reprend à Robert Tragesser une thèse de symétrie entre perception et intuition rationnelle : dans les deux cas, la justification a la même structure, une saisie d'abord provisoire qui se confirme ou se défait au fil d'une inspection continue (l'homme aperçu se révèle un mannequin de cire, la suite de signes prise pour une preuve se révèle un sophisme), et dans les deux cas nous trouvons nos pensées contraintes par l'objet ; l'empiriste qui accorde à la perception le pouvoir de justifier ne peut donc, sans arbitraire, le refuser à l'intuition.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 145-148.</ref>
Deux objections pèsent sur la variation eidétique. La première rappelle les cygnes noirs de Levinas : ce que la variation livre paraît inductif, et rien n'autorise à passer des propriétés communes aux exemples imaginés aux propriétés qu'ils doivent avoir. La seconde répond que la variation présuppose la capacité de décider quel candidat appartient à l'espèce, capacité qui n'est autre que la maîtrise du concept, ce qui lève la première objection mais semble réduire les vérités eidétiques à des vérités sur nos concepts. Piazza accepte cette conséquence sans en tirer la conclusion conventionnaliste : nos concepts n'ont pas d'objectivité absolue, mais une objectivité relative suffit pour que les vérités conceptuelles disent quelque chose du réel, comme le soutient aussi BonJour lorsqu'il ramène la propriété représentée par le concept de rouge à un trait du monde et non à une entité mentale.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. 165-166 et p. 177-179.</ref>
Max Scheler (1874-1928) refuse tout formalisme et prolonge cette idée en éthique. Pour lui, la nécessité et l'universalité kantiennes ne sont que des signes extérieurs et équivoques de l{{'}}''a priori'' ; le vrai critère est la manière dont il est saisi, dans une expérience pure et immédiate, alors que l{{'}}''a posteriori'' est l'objet d'une expérience médiate. Les propositions, écrit-il, sont vraies ''a priori'' parce que les faits qui les remplissent sont eux-mêmes donnés ''a priori''. Les valeurs morales (le noble, le sacré, l'utile, l'agréable) possèdent selon lui un ordre hiérarchique qui n'est ni conventionnel ni empirique, mais donné dans une intuition émotionnelle ''a priori'', et cet ordre demeure indépendant du monde des biens dans lesquels les valeurs apparaissent.<ref>Scheler, M., ''Le formalisme en éthique et l'éthique matériale des valeurs'', 1913-1916, trad. M. de Gandillac, Gallimard, 1955, Ire partie ; Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 72-73 et p. 87.</ref> Cette conception élargit beaucoup le champ de l{{'}}''a priori'' en y incluant des domaines que Kant avait exclus : l'esthétique, l'éthique matérielle, la sphère affective. Elle soulève aussi une question que Dufrenne formule sans détour : si tout ce qui a une essence est ''a priori'', où s'arrêter ? Faut-il admettre une essence ''a priori'' du chien ou de la cigarette, à la manière dont Parménide interrogeait Socrate sur les cheveux, la boue et la crasse ?<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 76 ; Platon, ''Parménide'', 130c (trad. V. Cousin : ''[[s:Parménide (trad. Cousin)|texte sur Wikisource]]'').</ref>
Mikel Dufrenne (1910-1995), dans ''La Notion d'a priori'' (1959), reprend ce dossier pour en tirer une thèse propre. L{{'}}''a priori'' matériel désigne chez lui une structure de l'objet ou un trait du monde qui peut apparaître dans une expérience particulière, et que le sujet reconnaît aussitôt parce qu'il en a déjà un savoir virtuel.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 72.</ref> L{{'}}''a priori'' a ainsi deux faces : objectif, il est dans le monde, comme sens perçu dans les choses ; subjectif, il est dans l'homme, non comme une forme vide de l'entendement, mais comme un savoir virtuel porté par un sujet incarné, pris dans un corps et dans une société. La somme des ''a priori'' subjectifs avec lesquels une personne aborde l'expérience constitue ce que Dufrenne appelle son ''a priori'' existentiel.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 42 et p. 48 ; Casey, E. S., « Translator's Introduction », in Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. xxi.</ref> Entre ces deux faces règne une affinité, un accord de l'homme et du monde, que Dufrenne refuse d'expliquer par un naturalisme (qui perdrait le sujet) ou par un idéalisme (qui perdrait le réel), et qu'il renvoie à un ''a priori'' de l{{'}}''a priori'', la Nature d'où surgissent ensemble l'homme et le monde. Dans sa préface, Paul Ricœur se demande si la dualité de l{{'}}''a priori'' n'est pas telle que seul un sentiment, celui qu'exprime la poésie, en atteste l'unité.<ref>Ricœur, P., « Preface », in Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. xv-xvii ; Casey, E. S., « Translator's Introduction », p. xxi.</ref> Cet ''a priori'' perd son caractère strictement formel et universel, puisque l'expérience elle-même peut l'acquérir et que des mutations de l{{'}}''a priori'' existentiel d'une personne restent possibles, Dufrenne préférant les attribuer à la liberté qu'à des causes empiriques ; il conserve néanmoins sa fonction de condition, puisque la reconnaissance de l{{'}}''a priori'' objectif dépend toujours de la présence de l{{'}}''a priori'' subjectif dans le sujet.<ref>Dufrenne, M., ''The Notion of the A Priori'', 1966/2009, p. 48-49.</ref> Dufrenne poursuivra cette enquête dans ''L'inventaire des a priori'' (1981).<ref>Dufrenne, M., ''L'inventaire des a priori. Recherche de l'originaire'', Christian Bourgois, 1981.</ref>
=== Nécessité, ''a priori'' et modalité : Kripke ===
Le philosophe américain [[Dictionnaire de philosophie/Saul Kripke|Saul Kripke]] (1940-2022), dans ''La logique des noms propres'' (1980), a montré que les notions de nécessité, d{{'}}''a priori'' et d'analyticité, souvent confondues, doivent être soigneusement distinguées.<ref>Kripke, S., ''Naming and Necessity'', Harvard UP, 1980 ; trad. fr. P. Jacob et F. Recanati, ''La logique des noms propres'', Minuit, 1982.</ref> La nécessité est une propriété métaphysique : elle concerne ce qui ne peut pas être autrement, dans tous les mondes possibles. L{{'}}''a priori'' est une propriété épistémologique : il concerne le mode par lequel on connaît ou justifie une proposition (indépendamment de l'expérience). L'analyticité est une propriété sémantique : elle concerne les propositions vraies en vertu de la signification de leurs termes. Or ces trois propriétés ne coïncident pas nécessairement. Casullo résume les trois thèses de Kripke : les concepts de vérité ''a priori'' et de vérité nécessaire sont différents ; qu'ils coïncident en extension est une thèse substantielle qui demande un argument ; et de fait ils ne coïncident pas.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 187-188.</ref>
Kripke donne deux types de contre-exemples frappants. Premièrement, certaines vérités sont ''a priori'' sans être nécessaires. La proposition « le mètre étalon de Paris mesure un mètre » est connaissable ''a priori'' (par stipulation : c'est cet objet qui fixe la définition du mètre), mais [[Dictionnaire de philosophie/Contingence|contingente]] (ce morceau de métal aurait pu avoir une longueur légèrement différente dans d'autres circonstances). Mares en propose une variante parlante : décidons d'appeler « Tui » la première personne qui naîtra en 2020. Nous savons ''a priori'' que, s'il existe une unique première personne née en 2020, Tui naîtra en 2020 ; mais rien n'est moins nécessaire que la naissance de cette personne cette année-là. La description sert à fixer la référence du nom ; elle n'entre pas dans les faits qui concernent la personne.<ref>Mares, E., ''A Priori'', 2014, p. 22-23.</ref> David Kaplan a généralisé le procédé : les propositions de la forme « si p, alors actuellement p » sont connaissables ''a priori'', bien que certaines d'entre elles soient contingentes, à savoir celles dont l'antécédent, faux dans le monde actuel, aurait pu être vrai.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 3.</ref> Tamara Horowitz a contesté que la stipulation confère un tel privilège. Un colonel qui déclare un bar interdit à ses hommes ne sait pas pour autant, indépendamment de l'expérience ni incorrigiblement, que le bar est interdit : il doit savoir que le règlement l'autorise à le déclarer, ce qui demande quelque observation, et que la déclaration a bien été faite dans les formes ; le fiancé qui dit « oui » se rend marié, mais il doit observer que la cérémonie s'est déroulée comme le prescrivent les règles pour savoir qu'il l'est. Celui qui stipule n'est donc pas mieux placé, épistémologiquement, que celui qui subit la stipulation, et la doctrine conventionnaliste des empiristes, selon laquelle définir un mot procure une connaissance ''a priori'' et incorrigible à bon marché, ressurgit selon elle, sous une autre forme, chez Kripke et Donnellan.<ref>Horowitz, T., « Stipulation and Epistemological Privilege », in T. Horowitz, ''The Epistemology of A Priori Knowledge'', éd. J. L. Camp, Oxford UP, 2006, p. 138-141.</ref>
Deuxièmement, certaines vérités nécessaires ne sont connaissables qu{{'}}''a posteriori''. L'identité « l'étoile du soir est l'étoile du matin » (toutes deux étant Vénus) est nécessaire, puisque dans tout monde possible où ces objets existent, ils sont identiques, mais elle a été découverte par l'observation astronomique, non par la réflexion pure. De même, ce pupitre-ci n'est pas fait de glace : on ne le sait qu'en le regardant et en le touchant ; mais s'il n'est pas de glace, il ne pouvait pas l'être, car un pupitre de glace serait un autre objet. On connaît ''a priori'' le conditionnel « s'il n'est pas de glace, il est nécessairement non de glace », on apprend ''a posteriori'' son antécédent, et la conclusion hérite du caractère empirique de la prémisse.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 188-189 ; Kripke, S., « Identity and Necessity », in M. K. Munitz (éd.), ''Identity and Individuation'', New York UP, 1971.</ref>
Ces résultats ont durablement transformé le débat sur l{{'}}''a priori'' en montrant qu'il est impossible de traiter comme équivalentes les questions « cette proposition est-elle nécessaire ? », « est-elle connaissable ''a priori'' ? » et « est-elle analytique ? ». La philosophie contemporaine doit travailler avec ces trois distinctions séparées.
Deux précisions évitent toutefois de leur faire dire plus qu'elles ne disent. D'abord, savoir qu'une proposition est vraie et savoir qu'elle est nécessaire sont deux choses : le mathématicien connaît par sa preuve la vérité d'un théorème sans savoir, par cette preuve, qu'il est nécessaire, et le philosophe peut savoir que la conjecture de Goldbach est une proposition nécessaire (vraie ou fausse) sans savoir si elle est vraie. Les exemples de Kripke établissent donc que la valeur de vérité de certaines propositions nécessaires se connaît ''a posteriori'', non que leur statut modal se connaisse ainsi ; ce statut, Kripke lui-même le tient pour connu par analyse philosophique ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 189-190.</ref> Ensuite, l'argument qui conclut que « l'eau est H<sub>2</sub>O » est nécessaire repose sur deux prémisses, que « eau » et « H<sub>2</sub>O » sont des termes d'espèces naturelles et que les identités entre tels termes sont nécessaires, dont Mares fait observer qu'elles ne se connaissent, si elles se connaissent, qu{{'}}''a priori''. La nécessité ne s'apprend donc pas de l'expérience seule ; elle s'apprend d'un mélange d'expérience et de raisonnement ''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 20-22.</ref>
Williamson tire une autre leçon des résultats de Kripke : une même vérité peut être connue ''a priori'' par l'un et ''a posteriori'' par l'autre. Marie, forte en calcul, sait ''a priori'' que 289 + 365 = 654 et en déduit que 289 + 365 = 654 ou qu'il y a des funiculaires en Suisse ; Jean, fort en géographie, sait ''a posteriori'' qu'il y a des funiculaires en Suisse et en déduit la même disjonction. La disjonction est nécessaire, puisque son premier membre l'est ; Jean connaît donc une vérité nécessaire ''a posteriori'', et la tradition qui réservait l{{'}}''a priori'' aux nécessités et l{{'}}''a posteriori'' aux contingences se trompait.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 118-119.</ref>
=== Le néo-kantisme et la relativisation de l{{'}}''a priori'' ===
Les néo-kantiens du XIX{{e}} siècle et du début du XX{{e}} siècle, Hermann Cohen, Paul Natorp, Ernst Cassirer, ont cherché à adapter la théorie kantienne aux transformations scientifiques : les géométries non euclidiennes, la théorie de la relativité, la mécanique quantique semblaient contredire l'idée d'un ''a priori'' fixe et définitif.<ref>Cassirer, E., ''Substance et fonction'', 1910, trad. P. Caussat, Minuit, 1977 ; Cassirer, E., ''La théorie de la relativité d'Einstein'', 1921, trad. J. Seidengart, Cerf, 2000.</ref> Kant tenait en effet les axiomes d'Euclide pour vrais de l'espace physique et connus ''a priori'' ; la physique moderne décrit l'espace en termes non euclidiens. La leçon, note Mares, n'est pas seulement que Kant s'est trompé sur la géométrie de l'espace, mais que les savants doivent rester libres de choisir le cadre mathématique de leurs théories, ce que le nativisme kantien leur interdisait.<ref>Mares, E., ''A Priori'', 2014, p. 118-119.</ref> Pour Cassirer, les formes ''a priori'' ne sont plus des structures immuables de l'esprit, mais des « fonctions symboliques » qui évoluent avec le développement scientifique, tout en conservant un rôle constitutif : chaque théorie scientifique présuppose un cadre de principes ''a priori'' qui rendent possible l'interprétation de l'expérience, mais ce cadre peut lui-même changer lors des grandes transformations théoriques.
La formulation la plus nette de cette relativisation revient à Hans Reichenbach, dans un livre de 1920 sur la théorie de la relativité. Le concept kantien d{{'}}''a priori'' a, dit-il, deux sens : nécessairement vrai, ou vrai pour tous les temps ; et constitutif du concept d'objet. Le second est le plus important. L'objet de la connaissance n'est pas donné dans la perception, qui n'en fournit que le matériau ; il est construit par des principes de coordination qui rattachent les concepts mathématiques au réel et que Reichenbach nomme principes constitutifs de l'expérience : l'espace, le temps, la métrique euclidienne, le principe de probabilité ou celui de « génidentité », qui dit comment relier des concepts physiques pour définir une même chose demeurant identique dans le temps.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1920, trad. angl. M. Reichenbach, University of California Press, 1965, p. 48-49 et p. 53.</ref>
Kant supposait tacitement que les deux sens vont ensemble, c'est-à-dire que n'importe quel système cohérent de principes de coordination parvient à coordonner les équations au réel de manière unique ; Reichenbach appelle cette hypothèse celle de l'arbitraire de la coordination. Or la théorie de la relativité, restreinte puis générale, a montré qu'un système de principes tenus pour ''a priori'' (temps absolu, géométrie euclidienne) est incompatible avec l'interprétation inductive normale des données ; il faut choisir entre l'un et l'autre.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1965, p. 60-62.</ref> Le concept d{{'}}''a priori'' en sort changé : le premier sens, celui d'une vérité éternelle indépendante de l'expérience, ne peut être maintenu ; le second demeure, car aucun jugement physique ne dépasse la perception immédiate sans supposer une description de l'objet dans une variété d'espace-temps, mais la forme de ces principes n'est pas fixée d'avance. À l'analyse kantienne de la raison, Reichenbach substitue une méthode d'analyse logique des théories scientifiques effectives, et il crédite la relativité d'avoir retiré aux mathématiques la question de la vérité de la géométrie pour la confier à la physique.<ref>Reichenbach, H., ''The Theory of Relativity and A Priori Knowledge'', 1965, p. 74-77.</ref>
Michael Friedman, dans la lignée de Reichenbach et de Cassirer, a développé l'idée d'un ''a priori'' « relativisé » ou « constitutif ». Un principe est ''a priori'' relativement à une théorie s'il ne peut lui-même être confirmé ni réfuté empiriquement, mais qu'il rend possible le test empirique du reste de la théorie. Comment tester la loi de la gravitation universelle de Newton ? Il faut pouvoir mesurer une force ; c'est la seconde loi du mouvement (la force est le produit de la masse par l'accélération) qui le permet, en donnant au mot « force » un sens empirique. Mais cette seconde loi, elle, n'est pas testable : elle a le statut d'une stipulation. Elle est ''a priori'' relativement à la théorie de la gravitation. La constance de la vitesse de la lumière joue un rôle analogue dans la relativité. Sans ces principes, les autres lois ne seraient que des équations sans contenu empirique.<ref>Friedman, M., ''Dynamics of Reason'', CSLI Publications, 2001, chap. 2-3 ; Mares, E., ''A Priori'', 2014, p. 119-120 ; Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 8.</ref> Les principes ''a priori'' d'une théorie physique ne sont donc pas révisables de la même manière que les hypothèses empiriques ordinaires, mais ils ne sont pas non plus définitivement à l'abri de toute révision.
C'est ici que Friedman se sépare de Quine. Pour Quine, nos croyances forment une seule grande théorie que l'expérience confirme ou réfute en bloc ; pour Friedman, les savants distinguent ce qui se teste et ce qui rend le test possible. L'éclipse de 1919 ne réfute la gravitation newtonienne que si l'on admet que la lumière se propage en ligne droite ; on aurait pu conserver l'ancien cadre, mais au prix de l'élégance et de la simplicité. Le changement de cadre se décide donc sur des vertus théoriques, non sur la seule expérience.<ref>Mares, E., ''A Priori'', 2014, p. 120-121.</ref> Cette position tente de conserver l'intuition kantienne d'un rôle constitutif de l{{'}}''a priori'' tout en acceptant la leçon des changements scientifiques. Elle a un prix, que Mares souligne : si la constance de la vitesse de la lumière est stipulée, il ne peut y avoir de fait antérieur à son sujet, et le kantien, comme Kant, penche vers une forme d'antiréalisme.<ref>Mares, E., ''A Priori'', 2014, p. 122.</ref> Hilary Putnam avait proposé une idée voisine sous le nom de contextualisme : une croyance peut être ''a priori'' dans un contexte historique, où rien ne peut la réfuter empiriquement, et réfutable dans un autre.<ref>Mares, E., ''A Priori'', 2014, p. 27-28 (sur Putnam, H., « Philosophy of Physics », 1979).</ref>
== L{{'}}''a priori'' dans la philosophie contemporaine ==
La notion d{{'}}''a priori'' demeure au cœur de plusieurs débats importants. Les sections qui suivent distinguent les principales lignes de discussion, en commençant par les questions épistémologiques les plus élémentaires, souvent absentes des présentations introductives.
=== La justification ''a priori'' : nature, sources et faillibilité ===
L'un des débats les plus vifs de l{{'}}[[Dictionnaire de philosophie/Épistémologie|épistémologie]] contemporaine porte sur la nature même de la justification ''a priori''. Dire qu'une croyance est justifiée ''a priori'', c'est dire que sa justification ne repose pas sur l'expérience, qu'il s'agisse de la perception sensible, de l'observation empirique, de l'introspection ou de toute autre forme d'évidence tirée du contact avec le monde. La plupart des épistémologues préfèrent aujourd'hui analyser la connaissance ''a priori'' à partir de la justification ''a priori'' plutôt que l'inverse : c'est la justification, et non la connaissance, qui distingue l{{'}}''a priori'' de l{{'}}''a posteriori'', et l'on évite ainsi d'exclure d'avance qu'une croyance fausse puisse être justifiée ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 10 ; Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 139.</ref> Mais sur quoi repose alors cette justification ?
Une première difficulté tient au mot « expérience ». En un sens large, toute conscience de quelque chose est une expérience, y compris le fait de suivre une preuve ou d'apercevoir intellectuellement qu'une proposition est vraie ; en ce sens, aucune justification n'est indépendante de l'expérience. En un sens étroit, l'expérience se réduit aux cinq sens ; mais alors l'introspection et la mémoire, que l'on range d'ordinaire du côté de l{{'}}''a posteriori'', échappent à la définition.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 29-30.</ref> Boghossian et Peacocke distinguent trois lectures : la plus stricte (l'expérience perceptive du monde hors du corps), une lecture intermédiaire (toute expérience perceptive, y compris celle des états du corps) et la plus générale (tout état conscient). Selon la lecture choisie, « j'ai mal » sera ou non connu ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 2-3.</ref>
Casullo a passé en revue les tentatives de caractériser l'expérience au sens pertinent par sa phénoménologie, par le contenu contingent des croyances qu'elle justifie, par ses objets concrets ou par la relation causale entre le sujet et l'objet, et conclut qu'aucune ne tient. Il propose de traiter « expérience » comme un terme d'espèce naturelle, à la manière d'« eau » : nous en repérons les paradigmes, les processus liés aux cinq sens, par des traits de surface, mais c'est leur nature sous-jacente, à découvrir par les sciences cognitives, qui en fixe l'extension. Nous serions, à l'égard de l'expérience, dans la situation des locuteurs du XVI{{e}} siècle à l'égard de l'eau : capables d'en reconnaître des exemples, ignorants de ce qui les unit.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 149-160.</ref> Warren préfère parler d'un concept théorique : nous partons d'une notion de l'expérience tirée de l'intérieur, comme ce qui, dans le cours de nos états sensoriels, est clair, détaillé, vif et involontaire, puis nous la révisons en postulant un monde extérieur qui l'explique.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 11-14.</ref>
Une seconde difficulté tient au mot « indépendant ». Casullo réduit les analyses en présence à deux. Selon la première, une croyance est justifiée ''a priori'' si et seulement si elle est justifiée par une source non expérientielle ; selon la seconde, il faut en outre que cette justification ne puisse être défaite par l'expérience. La première est la plus économe ; elle traite l{{'}}''a priori'' comme l{{'}}''a posteriori'', sans lui imposer d'exigence particulière. Comme l'écrit Casullo, « le concept de justification a priori est minimal » ; c'est le concept d'une justification non expérientielle, et rien de plus.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 3 et p. 31-32.</ref> La question de l'existence de connaissances ''a priori'' devient alors celle-ci : y a-t-il des sources non expérientielles de croyances justifiées ?
Horowitz avait proposé, dans une autre direction, de traiter l{{'}}''a priori'' comme une catégorie de vérités plutôt que de connaissances, à la suite de Frege et des empiristes, et de l'expliquer par la relation « avoir assez d'expérience pour savoir » : quelqu'un a assez d'expérience pour savoir une proposition si son expérience lui suffit pour en découvrir la vérité par la seule réflexion ultérieure. Elle rejetait ce qu'elle nommait l'apriorisme classique, la doctrine selon laquelle certaines propositions expriment des faits sans lesquels nul ne pourrait avoir les concepts qu'elles contiennent, et sont connaissables indépendamment de l'expérience pour cette seule raison ; cette doctrine, commune à Locke, à Kant et aux empiristes du XX{{e}} siècle, lui paraissait incompatible avec un réalisme conséquent, pour lequel toutes nos croyances pourraient être fausses. À ses yeux, ce qui distingue les mathématiques et en fait le stéréotype de l{{'}}''a priori'', c'est que les erreurs y sont faciles à déceler et ne se produisent pas de manière systématique dans toute la communauté : là où je me trompe, vous ne vous tromperez pas, alors que la nature peut tromper tous les observateurs à la fois.<ref>Horowitz, T., « A Priori Truth », in ''The Epistemology of A Priori Knowledge'', 2006, p. 123-124, p. 128 et p. 136-137.</ref>
Warren propose un critère commode, qu'il appelle le test de l{{'}}[[Dictionnaire de philosophie/Imagination|imagination]]. Vous avez suivi la preuve d'Euclide de l'infinité des nombres premiers ; cette expérience a causé votre croyance. Mais si vous aviez imaginé la preuve, en parfait détail, chaque étape intacte, votre justification aurait été exactement la même : une preuve dans la tête vaut une preuve sur le papier. Une chaise brune imaginée, en revanche, ne justifie en rien la croyance qu'il y a une chaise brune devant vous. Lorsque le remplacement d'une expérience par un acte d'imagination qualitativement identique laisse la justification intacte, l'expérience n'a joué qu'un rôle habilitant ; sinon, elle a joué un rôle épistémique. La justification ''a priori'' est celle que l'on pourrait obtenir, en principe, dans une chambre de privation sensorielle.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 14-17.</ref>
Le rationalisme modéré, défendu notamment par Laurence BonJour, soutient que la justification ''a priori'' repose sur l'« intuition rationnelle » ou l'« évidence intellectuelle » : lorsque nous saisissons que la proposition « rien ne peut être entièrement rouge et entièrement vert au même moment » est vraie, nous nous appuyons sur une sorte de « voir » intellectuel, analogue (mais non identique) à la perception sensible.<ref>BonJour, L., ''In Defense of Pure Reason. A Rationalist Account of A Priori Justification'', Cambridge UP, 1998, chap. 4 ; Casullo, A., ''A Priori Justification'', 2003, p. 30 et p. 155.</ref> George Bealer parle d'« intuitions » au sens technique, des états mentaux où une proposition nous apparaît vraie sans que cette apparence repose sur l'inférence, la mémoire ou la perception, et soutient que ces intuitions constituent une source irréductible de justification ''a priori''.<ref>Bealer, G., « The Incoherence of Empiricism », ''Proceedings of the Aristotelian Society'', suppl. vol. 66, 1992, p. 99-138.</ref>
Une question centrale est celle de la faillibilité : la justification ''a priori'' peut-elle être erronée ? Le rationalisme infaillibiliste traditionnel répondait non : ce qui est connu ''a priori'' est connu avec certitude. Descartes tient que la méthode, correctement appliquée, garantit des croyances vraies, et Philip Kitcher, en plein XX{{e}} siècle, exige encore qu'une personne autorisée à ignorer l'information empirique dispose d'une méthode qui garantisse la vérité.<ref>Mares, E., ''A Priori'', 2014, p. 24 ; Kitcher, P., ''The Nature of Mathematical Knowledge'', Oxford UP, 1983, p. 30.</ref> Mais la plupart des épistémologues contemporains adoptent un rationalisme faillibiliste : une croyance peut être justifiée ''a priori'' tout en étant révisable, voire fausse.<ref>Casullo, A., ''A Priori Justification'', 2003, chap. 2-3.</ref>
Casullo distingue ici deux sens de l'infaillibilité que l'on confond souvent : l'infaillibilité cartésienne, qui lie la justification à la vérité (il est impossible que la croyance soit justifiée par cette source et fausse), et l'infaillibilité peircienne, qui lie la justification à l'indéfaisabilité (aucune donnée ne peut la défaire). Ni l'une n'entraîne l'autre. Un mathématicien compétent qui a suivi une preuve valide voit sa justification défaite par la pseudo-preuve, tout aussi convaincante, que lui présente un collègue ; un étudiant voit la sienne défaite par le professeur qui, à tort, lui signale une erreur.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 57-58.</ref> L'histoire des mathématiques offre des exemples instructifs : des propositions longtemps tenues pour évidentes ''a priori'', comme l'axiome des parallèles d'Euclide ou le principe selon lequel le tout est plus grand que sa partie, se sont révélées contestables ou fausses.<ref>Casullo, A., ''Essays on A Priori Knowledge and Justification'', Oxford UP, 2012, p. 24.</ref> Alvin Plantinga cite le cas des fonctions : on a longtemps cru évident qu'une fonction définie sur tous les réels devait être continue sur quelque intervalle, jusqu'à la découverte, au XIX{{e}} siècle, de fonctions partout définies et nulle part continues. Exiger de la justification ''a priori'' qu'elle apporte la certitude reviendrait, note Mares, à reconnaître que nous n'en avons presque jamais, et à la marginaliser.<ref>Mares, E., ''A Priori'', 2014, p. 25-26.</ref> Boghossian et Peacocke vont dans le même sens : de même qu'une croyance empirique justifiée peut se révéler fausse, une croyance ''a priori'' justifiée peut être réfutée sur des bases ''a priori''.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 4.</ref>
Se pose alors le problème de la défaisabilité (''defeasibility'') : la justification ''a priori'' peut-elle être défaite par des considérations empiriques ? Si un mathématicien croit ''a priori'' avoir trouvé une démonstration correcte, mais qu'un ordinateur vérifie les calculs et signale une erreur, la justification ''a priori'' initiale est-elle annulée par cette donnée empirique ? Kitcher tirait de tels cas un argument contre l{{'}}''a priori'' : si une foule de mathématiciens rejette ma croyance, ce désaccord, qui est un fait empirique, doit rationnellement me faire douter ; aucune croyance n'est donc immune à la réfutation empirique. Hartry Field répond en distinguant l'évidence directe contre une proposition et l'évidence indirecte, qui porte sur ce que les gens en pensent ; c'est la première seule qu'exclut l'immunité empirique.<ref>Mares, E., ''A Priori'', 2014, p. 9-10 ; Warren, J., ''The A Priori Without Magic'', 2022, p. 18.</ref> Casullo distingue plusieurs manières dont l'expérience peut interagir avec la justification ''a priori'' : l'expérience ne fonde pas cette justification, mais elle peut la confirmer, la renforcer ou l'affaiblir.<ref>Casullo, A., ''A Priori Justification'', 2003, chap. 3-4.</ref> Boghossian et Peacocke ajoutent qu'il n'y a rien de contraire à la raison dans l'idée d'une justification ''a priori'' que l'expérience peut défaire : l'induction énumérative en est un exemple modeste, et le fait de prendre nos perceptions, nos souvenirs et les dires d'autrui au sérieux, sans preuve, en est un autre, car une telle autorisation ne saurait venir de l'expérience elle-même.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 4-5.</ref> Cette discussion prolonge et nuance la critique quinienne en montrant que même les défenseurs de l{{'}}''a priori'' peuvent reconnaître des formes d'interaction avec l'expérience, sans pour autant dissoudre la notion.
Field, pour sa part, retourne la difficulté : plutôt que de chercher une définition de la justification ''a priori'', il fait de l'immunité à la réfutation empirique le trait définitoire d'une croyance ''a priori'', et soutient que nous sommes par défaut autorisés à croire ce qui ne peut être réfuté empiriquement. Mares nomme cela la conception de l'immunité, par opposition à la conception justificationnelle, et fait observer que les combiner, comme l'a souvent fait la tradition, rend la connaissance ''a priori'' presque impossible à obtenir.<ref>Mares, E., ''A Priori'', 2014, p. 8 et p. 11.</ref>
=== Expliquer l{{'}}''a priori'' : intuitions rationnelles ou signification ? ===
Reste la question la plus difficile : d'où vient le pouvoir de la pensée pure ? Peacocke la formule comme une question de « comment » : en quoi le fait de comprendre une proposition, ou de posséder un concept, confère-t-il à certaines manières d'en venir à l'accepter la capacité de produire une connaissance, alors même qu'elles ne s'appuient sur aucune expérience ? Que celui qui possède le concept de conjonction doive accepter d'inférer « p » de « p et q », sans justification empirique, paraît intuitif ; mais dire pourquoi est une autre affaire, et une théorie sobre de l'intuition rationnelle, qui n'y voit que la capacité de comprendre et de penser, doit d'autant plus expliquer d'où vient ce pouvoir.<ref>Peacocke, C., « Explaining the A Priori: The Programme of Moderate Rationalism », in ''New Essays on the A Priori'', 2000, p. 255-257.</ref> Casullo et Joshua Thurow posent la question en des termes proches : entre ceux qui font appel à l'intuition rationnelle et ceux qui font appel à la possession des concepts, c'est la source de la connaissance ''a priori'' qui est en jeu.<ref>Thurow, J. C. et Casullo, A., « Introduction », in A. Casullo et J. C. Thurow (éds.), ''The A Priori in Philosophy'', Oxford UP, 2013, p. 1-2 et p. 4-5.</ref>
Warren décrit le paysage avec une franchise utile. Le rationalisme extrême postulait une faculté de raison pure, sorte de sens intellectuel donnant accès à des faits indépendants de l'esprit ; les sciences cognitives n'en trouvent aucune trace, et l'hypothèse, pour survivre, doit se vider de tout contenu. Le rationalisme modeste abandonne la faculté mais conserve des états quasi perceptifs, les intuitions intellectuelles, qui ne sont ni des croyances ni des inclinations à croire, mais quelque chose qui y donne lieu ; il admet que ces intuitions sont faillibles et accessibles à l'introspection. Warren avoue n'en trouver aucune en lui, et relève que Williamson dit de même ; il propose d'expliquer le sentiment de compréhension, ce « voir » soudain la solution d'une énigme, par l'apparition d'inclinations à accepter une proposition et à la relier à ce que nous savons, sans rien de plus.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 23-27.</ref>
Son propre candidat est une théorie fondée sur la signification : les significations de certains mots sont constituées par les règles d'inférence que nous suivons. Quiconque ne passerait jamais de « x est célibataire » à « x n'est pas marié » ne voudrait pas dire ce que nous voulons dire par « célibataire » ; quiconque n'appliquerait jamais le ''modus ponens'' n'aurait pas notre concept de conditionnel. D'où le principe qu'il nomme lien entre signification et autorisation : nous sommes automatiquement autorisés à user, en tout contexte, des règles qui déterminent les significations de notre langue, car choisir ses règles, c'est choisir sa langue, et ce choix est pratique, non épistémique. Tout ce que l'on peut prouver à partir de ces règles est connaissable ''a priori'', et de manière robuste, puisqu'abandonner la règle, c'est abandonner le concept, non conserver la même croyance sans justification.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 29-32.</ref> Cette approche, qui prolonge les travaux de Boghossian sur la logique, revendique d'expliquer l{{'}}''a priori'' « sans magie », c'est-à-dire sans facultés ni états dont la relation aux faits resterait mystérieuse.
Boghossian avait préparé ce terrain en distinguant deux notions d'analyticité. La notion métaphysique, celle des positivistes, veut qu'une phrase doive sa vérité à sa seule signification et non aux faits ; Quine a eu raison de la juger douteuse, car il est difficile de comprendre comment le fait de vouloir dire quelque chose rendrait ce quelque chose vrai. La notion épistémologique dit seulement que la compréhension d'une phrase suffit à justifier qu'on la tienne pour vraie. Or la théorie analytique de l{{'}}''a priori'' n'a besoin que de la seconde ; elle peut se passer de tout conventionnalisme, et une critique quinienne qui voudrait l'atteindre devrait, selon Boghossian, s'engager jusqu'à l'indétermination de la signification, thèse que la plupart des philosophes rejettent.<ref>Boghossian, P., « Analyticity Reconsidered », ''Noûs'', vol. 30, n° 3, 1996, p. 360-391 ; repris in ''Debating the A Priori'', 2020, p. 2-6.</ref> Ce travail montre que la question du rapport entre analyticité et ''a priori'' reste ouverte et féconde.
Piazza rappelle ce que l'empirisme contemporain avait gagné avec l'analyticité : une réponse unifiée aux deux questions de savoir ce que sont les énoncés connus ''a priori'' et comment ils le sont. Les énoncés analytiques sont vrais, donc connaissables, mais sans contenu cognitif, puisque leur vérité tient tout entière aux significations, et c'est pourquoi les comprendre suffit à les connaître ; la solution évitait l'inconvénient de celle de Mill, qui faisait des mathématiques et de la logique des vérités seulement contingentes.<ref>Piazza, T., ''A Priori Knowledge'', 2007, p. v-vi.</ref>
Robert Hanna défend, à l'inverse, un néo-rationalisme d'inspiration kantienne. Il prend acte de ce que l'empirisme sceptique à l'égard des intuitions est sans doute faux, mais que les attaques contre le rationalisme n'ont reçu de réponse ni sur le problème de la justification (comment les intuitions rationnelles justifient-elles suffisamment une croyance ?) ni sur celui de l'explication (comment de telles intuitions sont-elles possibles ?). Sa définition de l'apriorité est ample : est ''a priori'' ce dont le contenu, la vérité ou la justification sont sous-déterminés par l'ensemble des faits empiriques, de sorte qu'aucun changement dans ces faits n'en commande le changement.<ref>Hanna, R., ''Cognition, Content, and the A Priori'', 2015, p. 313 et p. 315.</ref>
Les intuitions philosophiques elles-mêmes sont devenues un terrain d'affrontement. Les philosophes en appellent aux intuitions comme à une évidence, et tiennent cette évidence pour ''a priori''. La philosophie expérimentale a soumis les [[Dictionnaire de philosophie/Expérience de pensée|expériences de pensée]] classiques à des enquêtes et rapporte que les intuitions des non-philosophes varient selon la culture d'origine, le statut social ou l'ordre de présentation des cas, autant de facteurs sans rapport avec la vérité des propositions en jeu. Faut-il en conclure que les intuitions ne sont pas des preuves, ou qu'elles ne sont pas ''a priori'' ? Alvin Goldman distingue la question de premier ordre (les intuitions sont-elles des preuves ?) et la question de second ordre (avons-nous des preuves qu'elles le sont ?), et admet qu'une vérification empirique soit requise au second niveau sans que le premier en devienne empirique. Jonathan Ichikawa soutient qu'une confirmation expérimentale de nos intuitions jouerait un rôle habilitant : elle lèverait un doute qui défaisait notre justification, sans devenir elle-même cette justification. Jonathan Weinberg accepte un ''a priori'' qui n'est pas pur de tout élément empirique, pourvu qu'il continue de livrer des conclusions modales fortes.<ref>Thurow, J. C. et Casullo, A., « Introduction », 2013, p. 2-4 ; Goldman, A. I., « Philosophical Naturalism and Intuitional Methodology », in ''The A Priori in Philosophy'', 2013, p. 11-44 ; Ichikawa, J. J., « Experimental Philosophy and Apriority », in ''The A Priori in Philosophy'', 2013, p. 45-66.</ref>
=== La distinction est-elle essentielle ? Williamson et Boghossian ===
[[Dictionnaire de philosophie/Timothy Williamson|Timothy Williamson]] a proposé une critique d'un autre genre. Il ne nie pas que la distinction existe : introduite par le bas, par des exemples, elle fait l'objet d'un accord robuste. Il conteste qu'elle découpe la connaissance à ses articulations. Introduite par le haut, par une définition (indépendance ou dépendance à l'égard de l'expérience), elle court le risque, si Quine a raison, de ne rien mettre d'un côté ; introduite par le bas, elle court celui de suivre des ressemblances superficielles, comme une classification des plantes par la couleur.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 117-118.</ref> Son argument central repose sur deux vérités : « toutes les choses cramoisies sont rouges » et « tous les volumes récents du ''Who's Who'' sont rouges ». La première est le cas clair d'une connaissance ''a priori'', la seconde d'une connaissance ''a posteriori''. Or considérons Norman, qui a appris « cramoisi » et « rouge » séparément, par ostension, et n'a jamais réfléchi à leur rapport. Interrogé, il imagine un échantillon cramoisi et juge, dans l'imagination, qu'il est rouge, en transposant hors ligne une compétence acquise en ligne dans la perception. Interrogé sur le ''Who's Who'', il imagine un volume récent et juge, de la même manière, qu'il est rouge. Les processus cognitifs sont presque identiques ; dans les deux cas, l'expérience passée a fait plus qu'habiliter (elle a calibré une compétence) et moins que prouver. Si Norbert, moins exercé, échoue à savoir que le cramoisi est rouge, c'est faute de pratique, non faute de concept. La différence saillante entre les deux vérités est modale, l'une étant nécessaire et l'autre contingente ; mais Kripke nous a appris à ne pas lire l'épistémologie d'une vérité sur son statut métaphysique, et connaître une vérité nécessaire n'est pas connaître qu'elle est nécessaire. Conclusion de Williamson : la distinction « ne découpe pas aux articulations épistémologiques » ; on peut garder les mots, mais sans en attendre beaucoup de travail théorique. Plutôt que de raccommoder une distinction fatiguée, l'épistémologie gagnerait à décrire finement l'usage hors ligne, dans l'imagination, de compétences formées dans la perception.<ref>Williamson, T., « How Deep is the Distinction... », 2020, p. 120-125 et p. 134.</ref>
Boghossian a répondu point par point. Il salue une forme neuve de scepticisme, qui accorde tout aux exemples et ne conteste que leur importance, mais il conteste la description des cas. Pour que Norman puisse conclure de l'unique instance imaginée à la couleur de tous les volumes, il lui faut déjà savoir que ces volumes ont une couleur dominante et que l'instance imaginée en est représentative ; sans quoi, imaginer une coccinelle rouge n'apprend rien sur la couleur des coccinelles, et se figurer un taxi londonien ne dit pas de quelle couleur sombre étaient les taxis dont on ne se souvient plus. Norman ne peut donc savoir que les volumes sont rouges qu'en rappelant une image générique stockée par la mémoire, ce qui est un usage substantiel de l'expérience. Dans le cas du cramoisi, les croyances d'arrière-plan requises (qu'il existe un déterminable rouge auquel toutes les nuances de cramoisi appartiennent) sont, elles, justifiées ''a priori''. Redécrits de façon à produire une connaissance, les deux cas diffèrent donc nettement, et l'argument de Williamson, selon Boghossian, tire sa force d'une conception fiabiliste de la justification, pour laquelle l'expérience peut en effet jouer un rôle intermédiaire en affinant la fiabilité de nos capacités.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 138 et p. 150-154.</ref> Boghossian propose enfin de caractériser l'expérience par une liste : une justification est indépendante de l'expérience si elle ne dépend épistémiquement ni de l'expérience sensible, ni de l'introspection, ni d'usages substantiels de la mémoire, tandis que l'intuition, certains usages de l'imagination et la réflexion peuvent jouer un rôle épistémique sans que la justification cesse d'être ''a priori''.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 153.</ref> Le débat, poursuivi sur plusieurs échanges, illustre bien la vitalité de la question : Williamson suggère de s'intéresser à la fiabilité et à la robustesse des méthodes cognitives employées, quelle que soit leur classification, quand Boghossian tient que nul ne nous a encore donné de bonne raison de refuser à la distinction la centralité qu'elle paraît mériter.<ref>Williamson, T., ''The Philosophy of Philosophy'', Blackwell, 2007, chap. 5 ; Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 154.</ref>
=== ''A priori'', analyticité et modalité : le paysage après Kripke ===
Les résultats de Kripke ont ouvert un espace de recherche très actif sur les rapports entre ''a priori'', analyticité et nécessité. [[Dictionnaire de philosophie/David Chalmers|David Chalmers]] et Frank Jackson ont développé le « bidimensionnalisme sémantique », qui tente de restaurer un lien systématique entre ''a priori'' et nécessité en distinguant deux dimensions de signification (le contenu « primaire » et le contenu « secondaire » d'un énoncé).<ref>Chalmers, D., « Does Conceivability Entail Possibility? », in T. Gendler et J. Hawthorne (éds.), ''Conceivability and Possibility'', Oxford UP, 2002, p. 145-200 ; Jackson, F., ''From Metaphysics to Ethics'', Oxford UP, 1998.</ref> Le bidimensionnalisme ne supprime pas les nécessités ''a posteriori'' de Kripke ; il cherche à en expliquer la structure. À chaque énoncé sont associées deux intensions : l'intension primaire, qui dit comment sa valeur de vérité varie selon le scénario que l'on considère comme actuel, et l'intension secondaire, qui dit comment elle varie dans les mondes contrefactuels une fois le monde actuel fixé. Dans le cas de « l'eau est H<sub>2</sub>O », l'intension primaire n'est pas nécessaire : si l'on considère comme actuel un scénario de Terre jumelle où le liquide aqueux est XYZ, l'énoncé y est faux. L'intension secondaire est en revanche nécessaire : une fois la référence de « eau » fixée à H<sub>2</sub>O dans le monde actuel, le terme désigne H<sub>2</sub>O dans tous les mondes contrefactuels. Le lien systématique recherché est alors le suivant : dans la version épistémique du bidimensionnalisme défendue par Chalmers, l'apriorité est liée à la nécessité de l'intension primaire, c'est-à-dire au fait qu'une proposition est vraie quel que soit le scénario considéré comme actuel ; c'est la thèse d'une théorie particulière, non une définition incontestée. L'idée a une origine technique précise : dans une sémantique à deux dimensions, on considère une famille de modèles où des mondes différents sont tour à tour désignés comme actuels, et l'on repère les propositions vraies dans le monde actuel quel que soit celui qu'on désigne ainsi. Les instances de « si p, alors actuellement p » ont cette propriété, qui semble suffire à l'apriorité et qui, Boghossian et Peacocke le soulignent, ne restreint en rien l'éventail des possibilités.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 5-6.</ref> Le bidimensionnalisme est discuté et contesté, mais il témoigne de la vitalité du débat.
=== L{{'}}''a priori'', les sciences cognitives et la question de l'innéité ===
La question de l{{'}}''a priori'' réapparaît dans les sciences cognitives sous la forme du débat sur l'innéisme : existe-t-il des structures cognitives innées, indépendantes de l'expérience individuelle ? Le linguiste Noam Chomsky défend l'existence d'une « grammaire universelle » innée qui structure l'acquisition du langage.<ref>Chomsky, N., ''Règles et représentations'', 1980, trad. A. Kihm, Flammarion, 1985 ; Mares, E., ''A Priori'', 2014, p. 55 et p. 57.</ref> Certains psychologues du développement, comme Elizabeth Spelke, ont identifié des « systèmes de connaissance de base » (''core knowledge'') chez le nourrisson, une appréhension intuitive des nombres, des objets physiques, de la géométrie, qui semblent précéder toute instruction.<ref>Spelke, E. S. et Kinzler, K. D., « Core Knowledge », ''Developmental Science'', vol. 10, n° 1, 2007, p. 89-96.</ref>
Cependant, il est important de ne pas confondre innéité et ''a priori''. L{{'}}''a priori'' est d'abord une notion épistémologique : il concerne le mode de justification d'une proposition ou d'une croyance, le fait qu'elle puisse être justifiée indépendamment de l'expérience (au sens large : perception, observation, évidence empirique sous toutes ses formes). L'innéité, en revanche, est une notion portant sur la genèse ou l'origine d'une structure cognitive : elle dit que cette structure n'a pas été acquise par apprentissage individuel, mais est présente dès la naissance (ou dès un stade très précoce du développement). Une structure cognitive peut être innée sans que les croyances qu'elle produit soient justifiées ''a priori'' ; inversement, une justification ''a priori'' peut en principe ne reposer sur aucune structure innée identifiable. Mares le montre en comparant la croyance innée et la croyance analytique : la première est indépendante de l'expérience parce qu'elle n'est pas apprise, la seconde parce que saisir le sens de la phrase suffit à voir qu'elle est vraie, alors même que ce sens s'apprend. Ce sont deux raisons très différentes de parler d{{'}}''a priori''.<ref>Mares, E., ''A Priori'', 2014, p. 5 et p. 57.</ref> Il rappelle aussi que le nativisme est affaire de degré : Hume lui-même admet une tendance innée à associer les idées, et une croyance innée peut être défaite, comme celle de la physique naïve selon laquelle les objets ordinaires sont pleins, sans vide intérieur.<ref>Mares, E., ''A Priori'', 2014, p. 54-55 et p. 59.</ref> Warren accorde qu'il existe une apriorité « par défaut », tirée de l'innéité, puisque sans mécanismes innés la formation des croyances ne pourrait commencer, mais il souligne que ce n'est pas l'apriorité intéressante, celle d'une justification robuste.<ref>Warren, J., ''The A Priori Without Magic'', 2022, p. 22-23.</ref> Paul Horwich a néanmoins exploré l'hypothèse que l'apriorité puisse s'expliquer par l'innéité et l'indispensabilité psychologique de certains principes.<ref>Boghossian, P. et Peacocke, C., « Introduction », 2000, p. 7.</ref>
L'épistémologie évolutionniste, issue notamment des travaux du biologiste Konrad Lorenz (1903-1989), illustre cette distinction de manière éclairante.<ref>Lorenz, K., « Kants Lehre vom Apriorischen im Lichte gegenwärtiger Biologie », ''Blätter für deutsche Philosophie'', vol. 15, 1941, p. 94-125.</ref> Lorenz propose de comprendre les structures kantiennes de perception et de cognition, notre appréhension de l'espace, du temps, de la causalité, comme des adaptations évolutives : elles seraient ''a priori'' pour l'individu (présentes avant toute expérience personnelle), mais ''a posteriori'' pour l'espèce (résultant d'une longue sélection naturelle). Cette perspective est suggestive, mais elle transpose la question de l{{'}}''a priori'' du plan épistémologique (comment une croyance est-elle justifiée ?) au plan génétique (comment une structure cognitive est-elle acquise ?). Or ce sont deux questions distinctes. Le fait qu'une capacité cognitive ait une origine évolutive ne dit rien, en tant que tel, sur le statut justificatif des croyances qu'elle produit : une capacité innée peut engendrer des croyances fausses, et une croyance justifiée ''a priori'' peut n'avoir aucun fondement biologique identifiable. Pour qu'un argument évolutionniste établisse la fiabilité d'une croyance innée, il faudrait montrer non seulement que cette croyance aide à survivre, mais que sa vérité importe à la survie, et qu'un mécanisme explique sa transmission ; or des auteurs comme Mackie, Ruse ou Joyce tirent de l'évolution l'argument inverse, selon lequel nos croyances morales ont pu être utiles sans être vraies, et Gould et Lewontin ont mis en garde contre les explications adaptatives non testées, ces histoires comme ça, à la manière de Kipling.<ref>Mares, E., ''A Priori'', 2014, p. 57-59.</ref>
=== Philosophie morale et politique ===
L{{'}}''a priori'' joue également un rôle en éthique. Kant lui-même fonde sa philosophie morale sur un principe ''a priori'' : l'impératif catégorique, qui prescrit d'agir uniquement selon une maxime que l'on pourrait vouloir ériger en loi universelle.<ref>Kant, E., ''Fondation de la métaphysique des mœurs'', 1785, trad. A. Renaut, Garnier-Flammarion, 1994, Deuxième section.</ref> Ce principe ne dérive pas de l'expérience, mais de la raison pratique pure. Mares fait valoir que les normes, morales ou épistémiques, sont l'un des deux grands motifs de croire à l{{'}}''a priori'', avec la nécessité : l'expérience nous dit ce qui est le cas, non ce qui devrait l'être. Nous désirons peut-être tous être heureux, comme le dit Mill ; mais devrions-nous le désirer ? Aucune enquête ne semble pouvoir en décider, et ceux qui refusent l{{'}}''a priori'' doivent, en règle générale, réduire les normes à des faits sur des institutions sociales.<ref>Mares, E., ''A Priori'', 2014, p. 2-4.</ref>
Parmi les contemporains, Christine Korsgaard défend encore une conception kantienne de la moralité fondée sur des principes ''a priori'' de la raison pratique.<ref>Korsgaard, C., ''Creating the Kingdom of Ends'', Cambridge UP, 1996, chap. 1-3.</ref>
Michael Smith a montré comment l{{'}}''a priori'' commande le débat sur le réalisme moral. L'argument de la question ouverte de G. E. Moore suppose que, si la justesse d'un acte et la maximisation de l'utilité étaient une seule et même propriété, les deux expressions devraient être équivalentes ''a priori'' ; or on peut toujours, sans contradiction, demander si un acte qui maximise l'utilité est juste. Les réalistes naturalistes ont répondu avec les armes de Kripke : « eau » et « H<sub>2</sub>O » ne sont pas équivalents ''a priori'', et pourtant l'eau est H<sub>2</sub>O. Smith objecte que cette réplique échoue, car la découverte ''a posteriori'' que le rouge est telle propriété de réflectance s'appuie elle-même sur une vérité ''a priori'' qui fixe la référence de « rouge » (la propriété, quelle qu'elle soit, qui fait paraître rouges les objets dans des conditions normales) ; de même, identifier la justesse à une propriété naturelle suppose une vérité ''a priori'' sur ce que « juste » veut dire. Le réaliste naturaliste doit donc affronter l'argument de front, en montrant qu'une analyse, même peu évidente et ouverte à la discussion, capture bien l'ensemble des contraintes qui gouvernent l'usage du mot.<ref>Smith, M., ''Ethics and the A Priori. Selected Essays on Moral Psychology and Meta-Ethics'', Cambridge UP, 2004, p. 192 et p. 196-200.</ref> Son dialogue entre Cog et Noncog, deux philosophes qui déjeunent ensemble, met en scène la même question : le non-cognitiviste tient qu'on n'a jamais réussi à fournir d'équivalent naturaliste aux jugements de valeur, le cognitiviste qu'il n'est pas nécessaire que cet équivalent soit évident pour être ''a priori''.<ref>Smith, M., ''Ethics and the A Priori'', 2004, p. 13 et p. 359-361.</ref>
Adrian Moore attire enfin l'attention sur ce qu'il appelle le modèle de base : un sujet qui possède le concept d'épouse déduit ''a priori'' qu'il y a au moins autant de femmes que d'épouses, et l'apriorité de cette [[Dictionnaire de philosophie/Déduction|déduction]] n'est en rien compromise par le réseau de structures sociales contingentes qui conditionne la possession du concept. L{{'}}''a priori'' peut donc s'enraciner dans le particulier, voire dans les particularités d'une espèce ; c'est ce que Moore nomme un ''a priori'' humain, anthropocentrique sans cesser d'être ''a priori''.<ref>Moore, A. W., ''The Human A Priori'', 2023, p. 1-3.</ref> La tradition phénoménologique, dans la lignée de Scheler, explore de son côté un ''a priori'' matériel des valeurs : l'existence de hiérarchies axiologiques (le noble supérieur à l'agréable, le sacré supérieur à l'utile) qui, sans être dérivées de l'expérience empirique, structurent notre vie morale et affective. Boghossian range de son côté certains jugements moraux parmi les cas clairs de l{{'}}''a priori'' : qu'il soit mal, dans le scénario du tramway, de pousser un homme du haut d'un pont pour en sauver cinq est une chose que nous jugeons sans enquête ; que toutes les sociétés le jugent ainsi, nous ne le saurions qu'en enquêtant.<ref>Boghossian, P., « Do We Have Reason to Doubt... », 2020, p. 138.</ref>
== Conclusion ==
La distinction entre ''a priori'' et ''a posteriori'', loin d'être une simple classification scolaire, engage toute une conception de la connaissance humaine et de ses limites. Elle pose la question suivante : qu'est-ce que notre esprit apporte à la connaissance du réel, et qu'est-ce qu'il reçoit de l'expérience ?
Si la réponse kantienne, avec ses formes ''a priori'' de la sensibilité et ses catégories de l'entendement, n'est plus acceptée telle quelle, elle a durablement marqué la philosophie en montrant que la connaissance n'est jamais une simple réception passive de données, mais implique toujours une activité structurante du [[Dictionnaire de philosophie/Sujet|sujet]] connaissant. Les débats contemporains sur la nature de la justification ''a priori'', sa faillibilité, les rapports entre ''a priori'', analyticité et nécessité, le rôle de l'intuition rationnelle, le statut des principes scientifiques ou les structures cognitives innées s'inscrivent tous, d'une manière ou d'une autre, dans l'héritage de cette distinction. Ses adversaires ne l'attaquent d'ailleurs pas de la même manière : Williamson reconnaît la solidité des exemples avant d'en contester la portée, tandis que Quine, plus intransigeant, vise à travers l'analyticité l'existence même d'une connaissance ''a priori''. Casullo distingue dans l'argument de Quine deux volets, l'un dirigé contre les concepts sémantiques de synonymie et de définition, l'autre contre le réductionnisme et aboutissant à la révisabilité de tout énoncé ; c'est le second qui, si l'on exige de la justification ''a priori'' qu'elle soit indéfaisable, atteint l'existence même de la connaissance ''a priori''.<ref>Casullo, A., ''A Priori Justification'', 2003, p. 231-234.</ref> La distinction résiste à ces attaques, mais elle en sort transformée. Grondin en fait l'aveu à sa manière, en écrivant que « nous avons perdu le sens de l{{'}}''a priori'' » : nous concédons un statut ''a priori'' à quelques principes logiques, peut-être aux mathématiques, mais l'œil de l'âme dont parlait Platon nous fait défaut, et nous sommes en cela plus kantiens que Kant, qui refusait déjà l'intuition intellectuelle. La question posée par la première ''Critique'', celle de la crédibilité de l{{'}}''a priori'', reste ainsi la nôtre.<ref>Grondin, J., ''Kant et le problème de la philosophie'', 1989, p. 12-13 et p. 15.</ref>
Comprendre la notion d{{'}}''a priori'', c'est saisir l'un des fils conducteurs de l'histoire de la philosophie : la tentative de délimiter ce qui, dans notre connaissance du monde, relève de la constitution propre de notre esprit et ce qui provient de l'expérience sensible, autrement dit, de comprendre comment nous connaissons et quelles sont les conditions de possibilité de notre savoir.
== Notes et références ==
{{references|colonnes=2}}
== Bibliographie ==
=== Sources primaires classiques ===
* Aristote, ''Seconds Analytiques'', trad. P. Pellegrin, Garnier-Flammarion, 2005 ; trad. P.-D. Nau : ''[[s:Seconds Analytiques|texte sur Wikisource]]''.
* Platon, ''La République'', trad. G. Leroux, Garnier-Flammarion, 2004 ; trad. É. Chambry : ''[[s:La République (trad. Chambry)|texte sur Wikisource]]''.
* Platon, ''Ménon'', trad. M. Canto-Sperber, Garnier-Flammarion, 1993 ; trad. A. Croiset : ''[[s:Ménon (trad. Croiset)|texte sur Wikisource]]''.
* Thomas d'Aquin, ''Somme théologique'', trad. A.-M. Roguet, Cerf, 1984 (4 vol.).
* Guillaume d'Ockham, ''Summa logicae'', éd. Ph. Boehner, G. Gál et S. Brown, St. Bonaventure, 1974.
* Descartes, René, ''Méditations métaphysiques'', 1641, éd. J.-M. Beyssade et M. Beyssade, Garnier-Flammarion, 2011 ; éd. V. Cousin : ''[[s:Méditations métaphysiques|texte sur Wikisource]]''.
* Leibniz, Gottfried W., ''Nouveaux essais sur l'entendement humain'', 1765, éd. J. Brunschwig, Garnier-Flammarion, 1990 ; éd. Alcan, 1900 : ''[[s:Nouveaux Essais sur l’entendement humain|texte sur Wikisource]]''.
* Leibniz, Gottfried W., ''Monadologie'', 1714, éd. É. Boutroux, Delagrave, 1991 ; ''[[s:Monadologie|texte sur Wikisource]]''.
* Locke, John, ''Essai sur l'entendement humain'', 1689, trad. J.-M. Vienne, Vrin, 2001-2006 (2 vol.) ; trad. P. Coste, ''Essai philosophique concernant l'entendement humain'' : ''[[s:Essai philosophique concernant l’entendement humain|texte sur Wikisource]]''.
* Hume, David, ''Traité de la nature humaine'', 1739, trad. Ph. Baranger et Ph. Saltel, Garnier-Flammarion, 1993-1999 (3 vol.) ; trad. partielle : ''[[s:Traité de la nature humaine|texte sur Wikisource]]''.
* Hume, David, ''Enquête sur l'entendement humain'', 1748, trad. A. Leroy, rév. M. Beyssade, Garnier-Flammarion, 2006 ; trad. de 1788, ''Essais philosophiques sur l'entendement humain'' : ''[[s:Essais philosophiques sur l’entendement humain|texte sur Wikisource]]''.
* Kant, Emmanuel, ''Critique de la raison pure'', 1781/1787, trad. A. Renaut, Garnier-Flammarion, 2006 ; trad. A. Tremesaygues et B. Pacaud, PUF, coll. « Quadrige », 2012 ; trad. J. Barni : ''[[s:Critique de la raison pure (trad. Barni)|texte sur Wikisource]]''.
* Kant, Emmanuel, ''Prolégomènes à toute métaphysique future'', 1783, trad. J. Gibelin, rév. J. Rivelaygue, Vrin, 1986 ; trad. J. Tissot : ''[[s:Prolégomènes à toute métaphysique future|texte sur Wikisource]]''.
* Kant, Emmanuel, ''Fondation de la métaphysique des mœurs'', 1785, trad. A. Renaut, Garnier-Flammarion, 1994 ; trad. V. Delbos, ''Fondements de la métaphysique des mœurs'' : ''[[s:Fondements de la métaphysique des mœurs (trad. Delbos)|texte sur Wikisource]]''.
* Mill, John Stuart, ''Système de logique déductive et inductive'', 1843, trad. L. Peisse, Mardaga, 1988.
* Frege, Gottlob, ''Les Fondements de l'arithmétique'', 1884, trad. C. Imbert, Seuil, 1969.
=== Développements post-kantiens et XX{{e}} siècle ===
* Ayer, Alfred J., ''Language, Truth and Logic'', Gollancz, 1936 ; rééd. Penguin, 2001.
* Husserl, Edmund, ''Recherches logiques'', 1900-1901, trad. H. Élie, A. L. Kelkel et R. Schérer, PUF, 1961-1963 (3 vol.).
* Husserl, Edmund, ''Idées directrices pour une phénoménologie'', 1913, trad. P. Ricœur, Gallimard, 1950.
* Scheler, Max, ''Le formalisme en éthique et l'éthique matériale des valeurs'', 1913-1916, trad. M. de Gandillac, Gallimard, 1955.
* Carnap, Rudolf, ''Der logische Aufbau der Welt'', 1928 ; trad. angl. ''The Logical Structure of the World'', Open Court, 2003.
* Cassirer, Ernst, ''Substance et fonction'', 1910, trad. P. Caussat, Minuit, 1977.
* Cassirer, Ernst, ''La théorie de la relativité d'Einstein'', 1921, trad. J. Seidengart, Cerf, 2000.
* Reichenbach, Hans, ''The Theory of Relativity and A Priori Knowledge'', 1920, trad. angl. M. Reichenbach, University of California Press, 1965.
* Quine, Willard Van Orman, « Two Dogmas of Empiricism », ''The Philosophical Review'', vol. 60, n° 1, 1951, p. 20-43 ; repris dans ''From a Logical Point of View'', Harvard UP, 1953.
* Quine, Willard Van Orman, ''Word and Object'', MIT Press, 1960.
* Grice, Herbert P. et Strawson, Peter F., « In Defense of a Dogma », ''Philosophical Review'', vol. 65, n° 2, 1956, p. 141-158.
* Dufrenne, Mikel, ''La Notion d'a priori'', PUF, 1959 ; trad. angl. E. S. Casey, ''The Notion of the A Priori'', préf. P. Ricœur, Northwestern UP, 1966, rééd. 2009.
* Dufrenne, Mikel, ''L'inventaire des a priori. Recherche de l'originaire'', Christian Bourgois, 1981.
* Kripke, Saul, « Identity and Necessity », in M. K. Munitz (éd.), ''Identity and Individuation'', New York UP, 1971, p. 135-164.
* Kripke, Saul, ''Naming and Necessity'', Harvard UP, 1980 ; trad. fr. P. Jacob et F. Recanati, ''La logique des noms propres'', Minuit, 1982.
=== Épistémologie contemporaine de l{{'}}''a priori'' ===
* Bealer, George, « The Incoherence of Empiricism », ''Proceedings of the Aristotelian Society'', suppl. vol. 66, 1992, p. 99-138.
* Boghossian, Paul, « Analyticity Reconsidered », ''Noûs'', vol. 30, n° 3, 1996, p. 360-391.
* Boghossian, Paul et Peacocke, Christopher (éds.), ''New Essays on the A Priori'', Clarendon Press, 2000.
* Boghossian, Paul et Williamson, Timothy, ''Debating the A Priori'', Oxford UP, 2020.
* BonJour, Laurence, ''In Defense of Pure Reason. A Rationalist Account of A Priori Justification'', Cambridge UP, 1998.
* Casullo, Albert (éd.), ''A Priori Knowledge'', Ashgate, 1999 (anthologie de textes classiques et contemporains).
* Casullo, Albert, ''A Priori Justification'', Oxford UP, 2003.
* Casullo, Albert, ''Essays on A Priori Knowledge and Justification'', Oxford UP, 2012.
* Casullo, Albert et Thurow, Joshua C. (éds.), ''The A Priori in Philosophy'', Oxford UP, 2013.
* Chalmers, David, « Does Conceivability Entail Possibility? », in T. Gendler et J. Hawthorne (éds.), ''Conceivability and Possibility'', Oxford UP, 2002, p. 145-200.
* Field, Hartry, « Recent Debates about the A Priori », in T. Gendler et J. Hawthorne (éds.), ''Oxford Studies in Epistemology'', vol. 1, Oxford UP, 2005, p. 69-88.
* Hanna, Robert, ''Cognition, Content, and the A Priori. A Study in the Philosophy of Mind and Knowledge'', Oxford UP, 2015.
* Horowitz, Tamara, ''The Epistemology of A Priori Knowledge'', éd. J. L. Camp, Oxford UP, 2006.
* Kitcher, Philip, ''The Nature of Mathematical Knowledge'', Oxford UP, 1983.
* Mares, Edwin, ''A Priori'', Routledge, coll. « Central Problems of Philosophy », 2014.
* Moore, A. W., ''The Human A Priori. Essays on How We Make Sense in Philosophy, Ethics, and Mathematics'', Oxford UP, 2023.
* Piazza, Tommaso, ''A Priori Knowledge. Toward a Phenomenological Explanation'', Ontos Verlag, 2007.
* Warren, Jared, ''The A Priori Without Magic'', Cambridge UP, coll. « Elements in Epistemology », 2022.
* Williamson, Timothy, ''The Philosophy of Philosophy'', Blackwell, 2007.
=== Études sur Descartes, Kant et l'histoire de la notion ===
* Benoist, Jocelyn, ''L'a priori conceptuel. Bolzano, Husserl, Schlick'', Vrin, 1999.
* Friedman, Michael, ''Kant and the Exact Sciences'', Harvard UP, 1992.
* Friedman, Michael, ''Dynamics of Reason'', CSLI Publications, 2001.
* Gram, Moltke S., ''Kant, Ontology and the A Priori'', Northwestern UP, 1968.
* Greenberg, Robert, ''Kant's Theory of A Priori Knowledge'', Pennsylvania State UP, 2001.
* Grondin, Jean, ''Kant et le problème de la philosophie : l'a priori'', Vrin, 1989.
* Gueroult, Martial, ''La Critique de la raison pure de Kant'', Collège de France, 2022.
* Guillermit, Louis, ''Leçons sur la Critique de la raison pure de Kant'', Vrin, 2008.
* Guyer, Paul, ''Kant'', Routledge, 2006.
* Palkoska, Jan, ''The A Priori in the Thought of Descartes. Cognition, Method and Science'', Cambridge Scholars Publishing, 2017.
* Pascal, Georges, ''Pour connaître la pensée de Kant'', Bordas, 1996.
* Vuillemin, Jules, ''L'Héritage kantien et la révolution copernicienne'', PUF, 1954.
* Vuillemin, Jules, ''Physique et métaphysique kantiennes'', PUF, 1955.
=== Philosophie morale, sciences cognitives, perspectives complémentaires ===
* Chomsky, Noam, ''Règles et représentations'', 1980, trad. A. Kihm, Flammarion, 1985.
* Korsgaard, Christine, ''Creating the Kingdom of Ends'', Cambridge UP, 1996.
* Smith, Michael, ''Ethics and the A Priori. Selected Essays on Moral Psychology and Meta-Ethics'', Cambridge UP, 2004.
* Lorenz, Konrad, « Kants Lehre vom Apriorischen im Lichte gegenwärtiger Biologie », ''Blätter für deutsche Philosophie'', vol. 15, 1941, p. 94-125.
* Spelke, Elizabeth S. et Kinzler, Katherine D., « Core Knowledge », ''Developmental Science'', vol. 10, n° 1, 2007, p. 89-96.
* Jackson, Frank, ''From Metaphysics to Ethics'', Oxford UP, 1998.
{{IndexPhilo}}
{{DEFAULTSORT:A priori}}
{{AutoCat}}
4utpezpkynuji25d8cj3lfsfme449ow
Discussion Wikilivres:Le Bistro/2026
5
83406
772237
772205
2026-09-15T12:58:02Z
MediaWiki message delivery
36013
/* Bascule de serveur : votre wiki sera bientôt en lecture seule durant un court instant */ nouvelle section
772237
wikitext
text/x-wiki
== Actualités techniques n° 2026-03 ==
<section begin="technews-2026-W03"/><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/2026/03|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* La Fondation Wikimedia a publié des questions directrices pour son plan annuel de juillet 2026 à juin 2027 sur les plateformes [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] et ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. Celles-ci portent sur les tendances mondiales, une expérimentation plus rapide et plus constructive, un meilleur accompagnement des nouveaux contributeurs, le renforcement du rôle des éditeurs et des utilisateurs avancés, l'amélioration de la collaboration entre les projets, ainsi que le développement et la fidélisation du lectorat. Des commentaires et suggestions sont les bienvenus sur la [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|page de discussion]].
'''Actualités pour la contribution'''
* Dans le cadre des travaux en cours de l'équipe technique communautaire sur le projet [[m:Special:MyLanguage/Community Wishlist/W372|Listes de surveillance multiples]], l'affichage de [[Special:EditWatchlist|Modifier la liste de surveillance]] sera mis à jour entant que qu'une première étape vers la prise en charge de plusieurs listes de surveillance. De plus, la pagination de [[Special:Search|Recherche]] sera également mise à jour, dans le cadre du travail sur le souhait [[m:Special:MyLanguage/Community Wishlist/W186|Refonte de la pagination / navigation des pages]]. [https://phabricator.wikimedia.org/T411596]
* [[m:Special:GlobalWatchlist|La Liste de Surveillance Globale]] est une [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] de MediaWiki qui vous permet de voir vos listes de surveillance provenant de différents wikis sur la même page. Il a récemment été mis à jour pour ressembler davantage à la [[Special:Watchlist|Liste de surveillance]] régulière, par exemple en le préparant pour les comptes temporaires dans le masquage IP (y compris le réacheminement des liens des utilisateurs vers les pages de contributions), en mettant les titres de page en gras et en ouvrant les liens dans les résumés d'édition et les balises dans de nouveaux onglets du navigateur. [https://phabricator.wikimedia.org/T398361][https://phabricator.wikimedia.org/T298919][https://phabricator.wikimedia.org/T273526][https://phabricator.wikimedia.org/T286309]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:28|la tâche soumise|les {{formatnum:28}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:28||s}} la semaine dernière]]. Par exemple, le problème selon lequel les blocs globaux ne disposaient pas de l'option permettant de désactiver l'envoi d'e-mails a maintenant été résolu et sera disponible à l'utilisation à partir de la semaine du 13 janvier. [https://phabricator.wikimedia.org/T401293]
'''Actualités pour la contribution technique'''
* L'[[mw:Special:MyLanguage/VisualEditor/Citation tool|outil de citation VisualEditor]] et les [[mw:Special:MyLanguage/Help:Reference Previews|Aperçus de référence]] prennent désormais en charge "carte" comme type de référence. [https://phabricator.wikimedia.org/T411083]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.10|MediaWiki]]/[[mw:MediaWiki 1.46/wmf.11|MediaWiki]]
'''''[[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/2026/03|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W03"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 12 janvier 2026 à 20:33 (CET)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29907192 -->
== Thank You for Last Year – Join Wiki Loves Ramadan 2026 ==
Dear Wikimedia communities,
We hope you are doing well, and we wish you a happy New Year.
''Last year, we captured light. This year, we’ll capture legacy.''
In 2025, communities around the world shared the glow of Ramadan nights and the warmth of collective iftars. In 2026, ''Wiki Loves Ramadan'' is expanding, bringing more stories, more cultures, and deeper global connections across Wikimedia projects.
We invite you to explore the ''Wiki Loves Ramadan 2026'' [[m:Special:MyLanguage/Wiki Loves Ramadan 2026|Meta page]] to learn how you can participate and [[m:Special:MyLanguage/Wiki Loves Ramadan 2026/Participating communities|sign up]] your community.
📷 ''Photo campaign on '' [[c:Special:MyLanguage/Commons:Wiki Loves Ramadan 2026|Wikimedia Commons]]
If you have questions about the project, please refer to the FAQs:
* [[m:Special:MyLanguage/Wiki Loves Ramadan/FAQ/|Meta-Wiki]]
* [[c:Special:MyLanguage/Commons:Wiki Loves Ramadan/FAQ|Wikimedia Commons]]
''Early registration for updates is now open via the '''[[m:Special:RegisterForEvent/2710|Event page]]'''''
''Stay connected and receive updates:''
* [https://t.me/WikiLovesRamadan Telegram channel]
* [https://lists.wikimedia.org/postorius/lists/wikilovesramadan.lists.wikimedia.org/ Mailing list]
We look forward to collaborating with you and your community.
'''The Wiki Loves Ramadan 2026 Organizing Team''' 16 janvier 2026 à 20:44 (CET)
<!-- Message envoyé par User:ZI Jony@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29879549 -->
== <span lang="en" dir="ltr">Tech News: 2026-04</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W04"/><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/2026/04|Translations]] are available.
'''Updates for editors'''
* The tray shown on [[Special:Diff|Special:Diff]] in mobile view has been redesigned. It is now collapsed by default, and incorporates a link to undo the edit being viewed, making it easier for mobile editors and reviewers to take action while keeping the interface uncluttered. [https://phabricator.wikimedia.org/T402297]
* [[m:Special:GlobalWatchlist|The Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now automatically determines the text direction (ensuring correct display of sites with unusual domain names) and shows detailed descriptions for log actions. Later this week, a new permanent link for page creations and CSS classes for each entry element will be added. [https://phabricator.wikimedia.org/T412505][https://phabricator.wikimedia.org/T287929][https://phabricator.wikimedia.org/T262768][https://phabricator.wikimedia.org/T414135]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the previously observed issue in Vector 2022, where anchor link targets were obscured by the sticky header, has now been addressed. [https://phabricator.wikimedia.org/T406114]
'''Updates for technical contributors'''
* As mentioned in the [[m:Special:MyLanguage/Tech/News/2025/44|October 2025 deprecation announcement]], MediaWiki Interfaces team will begin sunsetting all transform endpoints containing a trailing slash from the MediaWiki REST API the week of January 26. Changes are expected to roll out to all wikis on or before January 30th. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found, compared, and tested using the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox]. If you have questions or encounter any problems, please file a ticket in Phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board].
* Interactive reference documentation for the [[mw:Special:MyLanguage/Wikimedia REST API|Wikimedia REST API]] has moved. Requests to API docs previously hosted through [[mw:Special:MyLanguage/RESTBase|RESTBase]] (e.g.: <code dir=ltr>https://en.wikipedia.org/api/rest_v1/</code>) are now redirected to the [[w:en:Special:RestSandbox|REST Sandbox]].
* The [[mw:Special:MyLanguage/Wikidata Platform|WMF Wikidata Platform team]] (WDP) has published its [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|January 2026 newsletter]]. It includes updates on the legacy full-graph endpoint decommissioning, the User-Agent policy change, the monthly Blazegraph migration office hours, and efforts to reduce regressions caused by the legacy endpoint shutdown. As a reminder, you can [[m:Special:MyLanguage/Global message delivery/Targets/WDP team updates|subscribe to the WDP newsletter]]!
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.12|MediaWiki]]
'''Meetings and events'''
* The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications opened mid-December and will close soon or when capacity is reached. It's a two-day, technically oriented hackathon bringing together Wikimedians from the region. Hope to see you there!
'''''[[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/2026/04|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-2026-W04"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19 janvier 2026 à 21:29 (CET)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29943403 -->
== Révision annuelle du code universel de conduite et des lignes directrices de l'application ==
<section begin="announcement-content" />
Nous vous informons que la période de relecture annuelle du Code de conduite universel et des règles d'applications est actuellement ouverte. Vous pouvez faire vos commentaires sur les modifications que vous souhaitez apporter jusqu'au 9 février 2026. C'est la première d'une série d'étapes nécessaires pour la révision annuelle. Vous trouverez [[m:Special:MyLanguage/Universal Code of Conduct/Annual review/2026|d'autres informations et les discussions auxquelles participer sur la page UCoC de Meta]].
Le [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Comité de coordination du code universel de conduite]] (U4C — Universal Code of Conduct Coordinating Committee) est un groupe global dont le rôle est de fournir une implémentation équitable et cohérente de l'UCoC. Cette relecture annuelle a été envisagée et mise en place par l'U4C. Pour plus d'informations et les responsabilités de l'U4C, veuillez lire la [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|Charte de l'U4C]].
Veuillez partager ces informations avec les autres membres concernés de votre communauté.
-- En coopération avec l'U4C, [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|discussion]])<section end="announcement-content" />
19 janvier 2026 à 22:01 (CET)
<!-- Message envoyé par User:Keegan (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29905753 -->
== Actualités techniques n° 2026-05 ==
<section begin="technews-2026-W05"/><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/2026/05|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* La Fondation Wikimedia invite à donner des commentaires sur [[m:Special:MyLanguage/Product and Technology Advisory Council/Year1 Reflections and Proposed Way Forward 2026 Update|l’avenir proposé]] du [[:m:Special:MyLanguage/Product and Technology Advisory Council|Conseil consultatif des produits et technologies]] jusqu’au 28 février.
* Tous les utilisateurs disposant d'un compte enregistré peuvent désormais utiliser des clés d'accès pour la [[m:Special:MyLanguage/Help:Two-factor authentication|double authentification]] (2FA). Les clés d'accès sont un moyen simple de se connecter sans utiliser un second appareil. Elles vérifient l'identité de l'utilisateur à l'aide d'une empreinte digitale, d'une reconnaissance faciale ou d'un code PIN. Pour configurer une clé d'accès, configurez d'abord une méthode 2FA classique. Actuellement, pour se connecter avec une clé d'accès, les utilisateurs doivent également utiliser un mot de passe. Plus tard ce trimestre, la connexion sans mot de passe permettra aux utilisateurs de se connecter d'un simple clic avec une clé d'accès. Les utilisateurs disposant de droits avancés devront également avoir la 2FA activée. Cela fait partie du projet [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Sécurité du compte]].
* Les contributeurs non enregistrés sur des IP bloquées ou des plages d'IP bloquées peuvent désormais interagir sur le wiki pour faire appel d'un blocage en créant un compte temporaire afin de contester un blocage sur la page de discussion de l'utilisateur, sauf si l'option « empêcher cet utilisateur de modifier sa propre page de discussion » est activée. Cela résout le problème des utilisateurs déconnectés incapables d'utiliser le processus de déblocage par défaut via la page de discussion de l'utilisateur. [https://phabricator.wikimedia.org/T398673]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:20|la tâche soumise|les {{formatnum:20}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:20||s}} la semaine dernière]]. Par exemple, la description des méthodes d'authentification à deux facteurs (2FA) sur la page de gestion a été mise à jour. Il est désormais plus clair et plus facile pour les utilisateurs à comprendre et à utiliser. [https://phabricator.wikimedia.org/T332385]
'''Actualités pour la contribution technique'''
* Une nouvelle variable AbuseFilter, <code>account_type</code>, a été ajoutée pour fournir un moyen fiable de déterminer le type de compte créé dans les actions <code>createaccount</code> et <code>autocreateaccount</code>. Dans le cadre de ce changement, la variable <code>accountname</code> a été renommée en <code>account_name</code>, et <code>accountname</code> est désormais obsolète. Les gestionnaires de filtres doivent mettre à jour tous les filtres qui utilisent des vérifications de type de compte codées en dur ou la variable obsolète. [https://phabricator.wikimedia.org/T414049]
* Les vignettes d'images demandées dans des tailles non standard, et en utilisant des méthodes non standard telles que les requêtes directes à <code dir=ltr><nowiki>upload.wikimedia.org/…</nowiki></code>, cesseront de fonctionner dans un proche avenir. Ce changement vise à prévenir les abus externes continus par des robots et des aspirateurs web. Certains utilisateurs ayant des CSS/JS personnalisés, les administrateurs d'interface qui peuvent corriger les gadgets et les thèmes locaux, ainsi que les auteurs d'outils, devront mettre à jour leur code pour utiliser des tailles de vignettes standard. [[phab:T414805|Des détails, des liens de recherche et des exemples de correction sont disponibles dans la tâche]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.13|MediaWiki]]
'''''[[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/2026/05|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W05"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 26 janvier 2026 à 22:17 (CET)
<!-- Message envoyé par User:UOzurumba (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29969530 -->
== <span lang="en" dir="ltr">Tech News: 2026-06</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W06"/><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/2026/06|Translations]] are available.
'''Updates for editors'''
* The "{{int:pageinfo-toolboxlink}}" feature, which gives validating information about a page ([{{fullurl:{{FULLPAGENAME}}|action=info}} example]), now automatically includes a table of contents. If there is a local [[{{ns:8}}:Pageinfo-header]] page created by individual users, it can now be removed. [https://phabricator.wikimedia.org/T363726]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, VisualEditor previously added bold or italic formatting inside link descriptions, making the wikicode complex. This has now been fixed. [https://phabricator.wikimedia.org/T409669]
'''Updates for technical contributors'''
* There was no XML dump on 20 January. Additionally, from now on, dumps will be generated once per month only. [https://phabricator.wikimedia.org/T414389]
* The MediaWiki Interfaces team removed support for all transform endpoints containing a trailing slash from the [https://www.mediawiki.org/wiki/Special:MyLanguage/API:REST%20API MediaWiki REST API]. All API users currently calling those endpoints are encouraged to transition to the non-trailing slash versions. If you have questions or encounter any problems, please file a ticket in phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.14|MediaWiki]]
'''Weekly highlight'''
* Users are reminded that the Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|talk page]].
'''''[[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/2026/06|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-2026-W06"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2 février 2026 à 18:43 (CET)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30000986 -->
== Actualités techniques n° 2026-07 ==
<section begin="technews-2026-W07"/><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/2026/07|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Concerne un souhait]] Les contributeurs connectés qui gèrent de grandes ou complexes listes de suivi peuvent désormais organiser et filtrer les pages surveillées de manière à améliorer leurs flux de travail grâce à la nouvelle fonctionnalité [[mw:Special:MyLanguage/Help:Watchlist labels|Étiquettes de liste de suivi]]. En ajoutant des étiquettes personnalisées (par exemple : pages que vous avez créées, pages surveillées pour vandalisme, ou pages de discussion), les utilisateurs peuvent identifier plus rapidement ce qui nécessite une attention, réduire la charge cognitive et répondre plus efficacement. Cela améliore l'utilisabilité de la liste de suivi, en particulier pour les éditeurs très actifs.
* Une nouvelle fonctionnalité disponible sur [[Special:Contributions|Special:Contributions]] montre [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|des comptes temporaires]] qui sont probablement utilisés par la même personne, et rend ainsi le patrouillage moins chronophage. En vérifiant les contributions d'un compte temporaire, les utilisateurs ayant accès aux adresses IP des comptes temporaires peuvent désormais avoir une vue des contributions des comptes temporaires associés. La fonctionnalité recherche toutes les adresses IP associées à un compte temporaire donné pendant la période de conservation des données et affiche toutes les contributions de tous les comptes temporaires ayant utilisé ces adresses IP. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts#February 2026: Improvements to the patroller tooling|Plus...]] [https://phabricator.wikimedia.org/T415674]
* Lorsque les éditeurs prévisualisent une modification de wikitexte, la boîte de rappel indiquant qu'ils ne voient qu'une prévisualisation (qui est affichée en haut) a désormais un fond gris/neutre au lieu d'un fond jaune/d'avertissement. Cela facilite la distinction entre les notes de prévisualisation et les avertissements réels (par exemple, les conflits de modification ou les cibles de redirection problématiques), qui seront désormais affichés dans des boîtes d'avertissement ou d'erreur séparées. [https://phabricator.wikimedia.org/T414742]
* La [[m:Special:GlobalWatchlist|Liste de suivi globale]] vous permet de consulter vos listes de suivi provenant de plusieurs wikis sur une seule page. L' [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continue de s'améliorer — elle prend désormais en charge correctement plus d'un site Wikibase, par exemple à la fois [[d:|Wikidata]] et [[testwikidata:|testwikidata]]. De plus, des problèmes concernant la direction du texte ont été résolus pour les utilisateurs qui préfèrent Wikidata ou d'autres sites Wikibase dans des langues de droite à gauche (RTL). [https://phabricator.wikimedia.org/T415440][https://phabricator.wikimedia.org/T415458]
* <span lang="en" dir="ltr" class="mw-content-ltr">The automatic "magic links" for ISBN, RFC, and PMID numbers have been [[mw:Special:MyLanguage/Help:Magic links|deprecated in wikitext since 2021]] due to inflexibility and difficulties with localization. Several wikis have successfully replaced RFC and PMID magic links with equivalent external links, but a template was often required to replace the functionality of the ISBN magic link. There is now a new [[mw:Special:MyLanguage/Help:Magic words#isbn|built-in parser function]] <code dir=ltr><nowiki>{{#isbn}}</nowiki></code> available to replace the basic functionality of the ISBN magic link. This makes it easier for wikis who wish to migrate off of the deprecated magic link functionality to do so.</span> [https://phabricator.wikimedia.org/T145604]
* Deux nouveaux wikis ont été créés :
** un {{int:project-localized-name-group-wikipedia}} dans [[d:Q35401|Jju]] ([[w:kaj:|<code>w:kaj:</code>]]) [https://phabricator.wikimedia.org/T413283]
** un {{int:project-localized-name-group-wikipedia}} dans [[d:Q1186896|Nawat]] ([[w:ppl:|<code>w:ppl:</code>]]) [https://phabricator.wikimedia.org/T413273]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:23|la tâche soumise|les {{formatnum:23}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:23||s}} la semaine dernière]].
'''Actualités pour la contribution technique'''
* Un nouveau groupe d'utilisateurs global a été créé : [[{{int:grouppage-local-bot}}|{{int:group-local-bot}}]]. Il sera utilisé en interne par le logiciel pour permettre aux robots communautaires de contourner les limites de débit appliquées aux [[w:en:Web_scraping|web scrapers]] abusifs. Les comptes approuvés en tant que robots sur au moins un wiki Wikimedia seront automatiquement ajoutés à ce groupe. Cela ne changera pas les autorisations dont dispose le robot. [https://phabricator.wikimedia.org/T415588]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.15|MediaWiki]]
'''Rencontres et évènements'''
* La [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Spring 2026|Conférence des utilisateurs et des développeurs de MediaWiki, Printemps 2026]] se tiendra du 25 au 27 mars à Salt Lake City, États-Unis. Cet événement est organisé par et pour la communauté MediaWiki de tiers. Vous pouvez proposer des sessions et vous inscrire pour y assister. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/AZBWVI46SDEB65PGR5J6E4TYOQQEZXM7/]
'''''[[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/2026/07|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W07"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 10 février 2026 à 00:30 (CET)
<!-- 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=30026671 -->
== Actualités techniques n° 2026-08 ==
<section begin="technews-2026-W08"/><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/2026/08|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* <span class="mw-translate-fuzzy">L'[[mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|équipe SRE]] va procéder au nettoyage d'[[m:Special:MyLanguage/Etherpad|Etherpad]], l'éditeur web open source de documents collaboratifs en temps réel. Tous les blocs-notes seront définitivement supprimés après le 30 avril 2026 – si des projets de migration sont encore en cours à cette date, l'équipe pourra réexaminer la date au cas par cas. Veuillez effectuer des sauvegardes locales de tout contenu que vous souhaitez conserver, car les données supprimées ne pourront pas être récupérées. Ce nettoyage permet de réduire la taille de la base de données et l'empreinte de l'infrastructure. Etherpad continuera de prendre en charge la collaboration en temps réel, mais le stockage à long terme n'est plus assuré. D'autres nettoyages pourront avoir lieu ultérieurement sans préavis.</span> [https://phabricator.wikimedia.org/T415237]
'''Actualités pour la contribution'''
* L'équipe de Recherche d'Informations lancera une [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|expérimentation sur l'application mobile Android]], afin de tester des fonctionnalités de recherche hybrides capables de gérer à la fois les requêtes sémantiques et par mots-clés. L'amélioration de la recherche sur la plateforme permettra aux lecteurs de trouver plus facilement ce qu'ils cherchent, directement sur Wikipédia. L'expérimentation sera d'abord lancée sur Wikipédia en grec fin février, puis sur les versions anglaise, française et portugaise en mars. [https://diff.wikimedia.org/2026/01/08/semantic-search-making-it-easier-to-find-the-information-readers-want/ En savoir plus] sur le blog ''Diff''. [https://www.mediawiki.org/wiki/Readers/Information_Retrieval]
* L'équipe « Croissance des lecteurs » mènera [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.10.2 Mobile Table of Contents|une expérience]] auprès des utilisateurs de la version mobile du site web qui ajoute une table des matières et développe automatiquement toutes les sections des articles, afin de mieux comprendre les problèmes de navigation qu'ils rencontrent. Le test sera disponible sur les versions arabe, chinoise, anglaise, française, indonésienne et vietnamienne de Wikipedia.
* Auparavant, les notifications ([[{{ns:8}}:Sitenotice]] et [[{{ns:8}}:Anonnotice]]) du site ne s'affichaient que sur la version ordinateur. Maintenant, elles s'afficheront désormais sur toutes les plateformes. Les utilisateurs mobiles verront ces notifications. Les administrateurs du site doivent être prêts à tester et à corriger les notifications sur les appareils mobiles afin d'éviter toute interférence avec les articles. Pour désactiver ces notifications, les administrateurs d'interface peuvent ajouter <code dir="ltr">#siteNotice { display: none; }</code> à [[{{ns:8}}:Minerva.css]]. [https://phabricator.wikimedia.org/T138572][https://phabricator.wikimedia.org/T416644]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:19|la tâche soumise|les {{formatnum:19}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:19||s}} la semaine dernière]]. Par exemple, un problème concernant la section ''[[Special:RecentChanges|Spécial:Modifications récentes]]'' a été résolu. Auparavant, cliquer sur « Masquer » dans les filtres actifs entraînait la disparition du bouton « Afficher les nouvelles modifications depuis… », alors qu'il aurait dû rester visible. Ce bouton fonctionne désormais correctement. [https://phabricator.wikimedia.org/T406339]
'''Actualités pour la contribution technique'''
* Une nouvelle documentation est désormais disponible pour aider les rédacteurs à déboguer les fonctionnalités de recherche interne. Elle facilite le dépannage lorsque des pages n'apparaissent pas dans les résultats, lorsque le classement semble inattendu et lorsqu'il est nécessaire d'inspecter le contenu indexé, ce qui permet de mieux comprendre et d'analyser le comportement de la recherche. [[mw:Help:CirrusSearch/Debug|En savoir plus]]. [https://phabricator.wikimedia.org/T411169]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.16|MediaWiki]]
'''''[[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/2026/08|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W08"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16 février 2026 à 20:17 (CET)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30086330 -->
== <span lang="en" dir="ltr">Tech News: 2026-09</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W09"/><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/2026/09|Translations]] are available.
'''Weekly highlight'''
* [[mw:Special:MyLanguage/Edit check/Reference Check|Reference Check]] has been deployed to English Wikipedia, completing its rollout across all Wikipedias. The feature prompts newcomers to add a citation before publishing new content, helping reduce common citation-related reverts and improve verifiability. In A/B testing, the impact was substantial: newcomers shown Reference Check were approximately 2.2 times more likely to include a reference on desktop and about 17.5 times more likely on mobile web. [https://analytics.wikimedia.org/published/reports/editing/reference_check_ab_test_report_final_2025.html]
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Extension:InterwikiSorting|InterwikiSorting extension]], which allowed for the [[m:Special:MyLanguage/Interwiki sorting order|sorting of interwiki links]], has been undeployed from Wikipedia. As a result, editors who had enabled interwiki link sorting in non-compact mode (full list format) will now see links reordered. The links moving forward will be listed in the alphabetical order of language code. [https://phabricator.wikimedia.org/T253764]
* Later this week, people who are editing a page-section using the mobile visual editor, will notice a new "Edit full page" button. When tapped, you will be able to edit the entire article. This helps when the change you want to make is outside the section you initially opened. [https://phabricator.wikimedia.org/T387175][https://phabricator.wikimedia.org/T409112]
* [[mw:Special:MyLanguage/Readers/Reader Experience|The Reader Experience team]] is inviting editors to assess whether dark mode should still be considered "beta" on their wiki, based on their experience of how well it functions on desktop and mobile. If the feature is deemed mature, editors can update the interface messages in <code dir=ltr>MediaWiki:skin-theme-description</code> and <code dir=ltr>MediaWiki:Vector-night-mode-beta-tag</code> to indicate that dark mode is ready and no longer considered beta.
* The improved [[mw:Wikimedia_Apps/Team/iOS/Activity_Tab|Activity tab]] which displays user-insights is now available to all users of the Wikipedia iOS app (version 7.9.0 and later). Following earlier A/B testing that showed higher account creation among users with access to the feature, it has been rolled out to 100% of users along with some updates. The Activity tab now shows your edited articles in the timeline, offers editing impact insights like contribution counts and article view trends, and customization options to improve in-app experience for users.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug that prevented [[mw:Special:MyLanguage/Extension:DiscussionTools|DiscussionTools]] from working on mobile has now been fixed, restoring full functionality. [https://phabricator.wikimedia.org/T415303]
'''Updates for technical contributors'''
* The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that makes this possible continues to improve. The latest upgrade is the inclusion of a [[mw:Extension:GlobalWatchlist#hook|new hook]], <code dir=ltr>ext.globalwatchlist.rebuild</code>, which fires after each watchlist rebuild. This allows you to run gadgets and user scripts for the Special page. [https://phabricator.wikimedia.org/T275159]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.17|MediaWiki]]
'''''[[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/2026/09|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-2026-W09"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23 février 2026 à 20:03 (CET)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30119102 -->
== Actualités techniques n° 2026-10 ==
<section begin="technews-2026-W10"/><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/2026/10|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* Le [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments|mode Anniversaire]] Wikipedia 25 est maintenant disponible sur Wikipédia en français, anglais, betawi, breton, chinois, espagnol, gorontalo, indonésien, italien, luxembourgeois, madurais, néerlandais, sicilien, tchèque, thaï et vietnamien ! Cette campagne à temps limitée célèbre 25 ans de Wikipédia avec une mascotte : « Baby Globe », disponible sous la forme d'un réglage. Lorsque ce réglage est activé, Baby Globe est montrée sur [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments/article configuration|environ 2 500 articles]], attendant d'être découverte par des lecteurs. Chaque communauté peut choisir d'activer le mode Anniversaire par consensus et en demandant à un administrateur de le rendre disponible et de le personaliser via une [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments#Community Configuration Demo|configuration]] sur le wiki local.
'''Actualités pour la contribution'''
* Le [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sous-référencement]], une nouvelle fonctionalité pour réutiliser des références avec des détails différents est maintenant disponible sur Wikipédia en suédois, polonais et [[:phab:T418209|quelques autres]]. Vous pouvez [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|essayer la fonctionalité]] sur ces projets ou sur testwiki et [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing betawiki]. Les retours des premiers essais sur Wikipédia en allemand ont été [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing/Learnings|publiés dans un rapport]]. Contactez l'équipe de Wikimédia Allemagne si vous êtes [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|intéressés pour devenir un wiki pilote]].
* La [[mw:Special:MyLanguage/Help:Edit check#Paste check|vérification du collage clavier]] sera disponible sur tous les Wikipédias cette semaine. Cette fonctionalité avertit les nouveaux contributeurs qui collent du texte qu'ils n'ont probablement pas écrit de vérifier si laisser celui-ci risque de causer une violation du droit d'auteur. La vérification du collage clavier [[mw:Special:MyLanguage/Edit check/Tags|marque]] toutes les modifications où l'avertissement a été montré pour permettre leur vérification. Les administrateurs locaux peuvent configurer les différents aspects de cette fonctionalité à travers [[{{#special:EditChecks}}]]. Des [[mw:Special:MyLanguage/Edit check/Paste Check#A/B Experiment|études]] sur 22 wikis ont montré que cette vérification permet une réduction de 18% des annulations comparé au groupe de contrôle. Les traducteurs peuvent [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-visualeditor-ve-mw-editcheck&filter=&optional=1&action=translate aider à traduire] cette fonctionalité.
* <span lang="en" dir="ltr" class="mw-content-ltr">The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] will be standardizing the user menu in the top right for all mobile users so that it is closer to the desktop experience. Currently this user menu is only visible to users with Advanced Mobile Controls (AMC) turned on. The only change is that a couple buttons previously in the left-side menu will move to the top right for users who do not have AMC turned on. This change is expected to go out March 9 and seeks to improve the user interface.</span> [https://phabricator.wikimedia.org/T413912]
* À partir de la semaine du 2 mars, les emails envoyés lorsqu'une adresse email a été ajoutée, supprimée ou changée pour un compte changera pour adopter un formattage HTML beaucoup plus agréable et plus clair que le texte brut précédent. [https://phabricator.wikimedia.org/T410807]
* Les notifications sont actuellement limitées à 2 000 entrées historiques par utilisateur et remontent à 2013 lorsque la fonctionnalité a été publiée. Le système va être modifié pour ne stocker que les notifications des 5 dernières années, mais jusqu'à 10 000 d'entre elles. Cela contribuera à la santé à long terme des infrastructures et à empêcher que les notifications plus récentes disparaissent trop tôt. [https://phabricator.wikimedia.org/T383948]
* <span lang="en" dir="ltr" class="mw-content-ltr">The [[m:Special:GlobalWatchlist|Global Watchlist]] which lets you view your watchlists from multiple wikis on a single page continues to see improvements. The latest update improves label usage experience. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] now allows activating the [[mw:Special:MyLanguage/Manual:Language#Fallback languages|language fallback system]] for Wikidata items without labels in the viewed language, and showing those labels in the user’s preferred Wikidata language if no <code dir=ltr>uselang=</code> URL parameter is provided.</span> [https://phabricator.wikimedia.org/T373686][https://phabricator.wikimedia.org/T416111]
* L'équipe Wikipédia Android a commencé un test beta de la [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|recherche hybride]] sur Wikipédia en grec. Cette recherche hybride supporte les requêtes sémantique et par mot clés, permettant aux utilisateurs de trouver ce qu'ils cherchent plus facilement.
* Pour des raisons de sécurité, les membres de certains groupes sont [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|forcés d'avoir la double authentification]] (A2F) d'activée. Actuellement, l'A2F n'est nécessaire que pour utiliser les droits du groupe, et non pour en faire partie. Vu que ce système admet certaines failles, il sera [[phab:T418580|changé graduellement en mars]]. Les membres de ces groupes ne pourront plus désactiver la dernière méthose d'A2F sur leur compte, et il sera impossible d'ajouter des utilisateurs sans A2F à ces groupes. Il sera toujours possible de rajouter d'autres méthodes d'authentification et d'en enlever, tant qu'une est toujours activée. Dans la seconde moitié de mars, les utilisateurs sans A2F seront retirés de ces groupes. Cela s'applique aux administrateurs CentralNotice, aux vérificateurs d'utilisateurs, aux administrateurs d'interface, aux masqueurs, aux staff de Wikidata et Wikifonctions ainsi qu'aux bureaux IT et Confiance et sécurité de la WMF. Rien ne changera pour les autres utilisateurs. Voir la tâche liée pour le calendrier de déploiement. [https://phabricator.wikimedia.org/T418580]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:27|la tâche soumise|les {{formatnum:27}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:27||s}} la semaine dernière]]. Par exemple, le problème empêchant les utilisateurs de créer une instance dans [https://www.wikibase.cloud/ Wikibase.cloud] a maintenant été résolu. [https://phabricator.wikimedia.org/T416807]
'''Actualités pour la contribution technique'''
* <span lang="en" dir="ltr" class="mw-content-ltr">To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], over the next month the Wikimedia Foundation will implement global API rate limits across our APIs. In early March, stricter limits will be applied to unidentified requests from outside Toolforge/WMCS and API requests that are made from web browsers. In April, higher limits will be applied to identified traffic. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]].</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">The Wikidata Query Service Linked Data Fragment (LDF) endpoint will be decommissioned in February. This endpoint served limited traffic, which was successfully migrated to other data access methods that were better suited to support existing use cases. The hardware used to support the LDF endpoint will be reallocated to support the ongoing backend migration efforts.</span> [https://phabricator.wikimedia.org/T415696]
* Le nouvel analyseur syntaxique Parsoid [[mw:Special:MyLanguage/Parsoid/Parser Unification/Updates|continue d'être déployés sur plus de wikis]], améliorant la pérennité de la platforme et rendant plus facile l'ajout de nouvelles fonctionalités de lecture et de modification. Parsoid est maintenant l'analyseur par défaut sur 488 wikis de la WMF (268 Wikipédias), couvrant plus de 10% de toutes les lectures de pages Wikipédia.
* Le processus et les critères pour [[Special:MyLanguage/Wikimedia Enterprise#Access|demander un accès exceptionnel]] au flux à fort volume de l'API ''Wikimédia Entreprise'' (sans coût pour des utilisations en rapport à notre mission) [[m:Talk:Wikimedia Enterprise#Exceptional access criteria|ont maintenant été publiés]]. Notre but est de donner une documentation plus claire et plus complète aux utilisateurs.
* [https://techblog.wikimedia.org/ Le blog Tech], dédié à la communité technique de Wikimédia [https://techblog.wikimedia.org/2026/02/24/a-tech-blog-diff/ va migrer] vers [[diffblog:|Diff]], le blog pour les nouvelles et événements de la communauté. La migration devrait être terminée en Avril 2026, après quoi les nouveaux posts seront acceptés pour être publiés. Les lecteurs pourront lire les posts - anciens ou nouveaux - sur https://diff.wikimedia.org/.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.18|MediaWiki]]
'''''[[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/2026/10|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W10"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2 mars 2026 à 18:51 (CET)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30137798 -->
== <span lang="en" dir="ltr">Tech News: 2026-11</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W11"/><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/2026/11|Translations]] are available.
'''Weekly highlight'''
* [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies.
* Last week, all wikis had 2 hours of read-only time, and extended unavailability for user-scripts and gadgets. This was due to a security incident which has since been resolved. Work is ongoing to prevent re-occurrences. For current information please see the [[m:Steward's noticeboard#Statement on Meta about today's user script security incident|post on the Stewards' noticeboard]] ([[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Product Safety and Integrity/March 2026 User Script Incident|translations]]).
'''Updates for editors'''
* Users facing multiple blocks on mobile will now see the reasons for each block separately, instead of a generic message. This helps them understand why they are blocked and what steps they can take to resolve the issue. For example, users affected for using common VPNs (such as [[Special:MyLanguage/Apple iCloud Private Relay|iCloud Private Relay]]) will receive clearer guidance on what they need to do to start editing again. [https://phabricator.wikimedia.org/T357118]
* Later this week, [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] will become available as a beta feature within the visual editor at all Wikipedias. This feature proactively suggests various types of actions that people can consider taking to improve Wikipedia articles, and learn about related guidelines. The feature is locally configurable, and can also be locally expanded with custom Suggestions. Current settings can be seen at [[Special:EditChecks]] and there are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators %E2%80%93 local customization|instructions for how administrators can customize]] the links to point to local guidelines. The feature is connected to [[mw:Special:MyLanguage/Help:Edit check|Edit check]] which suggests improvements while someone is writing new content. In the future, the Editing team plans to evaluate the feature's impact with newcomers through a controlled experiment. [https://phabricator.wikimedia.org/T404600]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where the cursor became misaligned during the use of CodeMirror’s syntax highlighting, which makes wikitext and code easier to read, has now been fixed. This problem specifically affected users who defined a font rule in a custom stylesheet while creating a new topic with DiscussionTools. [https://phabricator.wikimedia.org/T418793]
'''Updates for technical contributors'''
* API rate limiting update: To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], global API rate limits will be applied this week to requests without a compliant User-Agent that originate from outside Toolforge/WMCS and to unauthenticated requests made from web browsers. Higher limits will be applied to identified traffic in April. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]].
* The new GraphQL API has been released. The API was developed as a flexible alternative to select features of the Wikidata Query Service (WDQS), to improve developer experience and foster adaptability, and efficient data access. Try it out and [[d:Wikidata:Wikibase GraphQL#Feedback and development|give feedback]]. You can also [https://greatquestion.co/wikimediadeutschland/GraphQLAPI/apply sign up for usability tests].
* The [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|PTAC Unsupported Tools Working Group]] continued improvements to [[commons:Special:MyLanguage/Commons:Video2commons#|Video2Commons]] in February, with fixes addressing authentication errors, large-file handling, task queue visibility, and clearer upload behavior. Work is still ongoing in some areas, including changes related to deprecated server-side uploads. Read [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group#February 2026|this update]] to learn more.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.19|MediaWiki]]
'''In depth'''
* The Article Guidance team invites experienced Wikipedia editors from selected [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators#Collaborators|pilot wikis]] and interested contributors from other Wikipedias to fill out this questionnaire which is available in [https://docs.google.com/forms/d/e/1FAIpQLSfmLeVWnxmsCbPoI_UF2jyRcn73WRGWCVPHzerXb4Cz97X_Ag/viewform English], [https://docs.google.com/forms/d/e/1FAIpQLSd6rzr4XXQw8r4024fE3geTPFe13M_6w7Mitj-YJi0sOlWTAw/viewform?usp=header Arabic], [https://docs.google.com/forms/d/e/1FAIpQLSdok3-RfB18lcugYTUMGkpwmqG_8p760Wv4dCXitOXOszjUDw/viewform?usp=header Bengali], [https://docs.google.com/forms/d/e/1FAIpQLSfjTfYp4jEo0akA4B1e-Nfg3QZPCudUjhJzHzzDi6AHyAaMGA/viewform?usp=header Japanese], [https://docs.google.com/forms/d/e/1FAIpQLScteVoI29Aue4xc72dekk-6RYtvmMgQxzMI900UOawrFrSTWg/viewform?usp=header Portuguese], [https://docs.google.com/forms/d/e/1FAIpQLSetdxnYwL3ub2vqA7awCg5hJZPMIYcDPaiTe12rY9h0GYnVlw/viewform?usp=header Persian], and [https://docs.google.com/forms/d/e/1FAIpQLScNvfJF-Ot-4pzA4qAN771_0QDJ4Li19YcUsaTgSKW8Nc7U_Q/viewform?usp=header Turkish]. Your answers will help the team customize guidance for less experienced editors and help them learn community policies and practices while creating an article. Learn more [[mw:Special:MyLanguage/Article guidance|on the project page]].
'''''[[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/2026/11|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-2026-W11"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 9 mars 2026 à 19:52 (CET)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30213008 -->
== <span lang="en" dir="ltr">Tech News: 2026-12</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W12"/><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/2026/12|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature, also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], has been used for wikitext syntax highlighting since November 2024. It will be promoted out of beta by May 2026 in order to bring improvements and new [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Features|features]] to all editors who use the standard syntax highlighter. If you have any questions or concerns about promoting the feature out of beta, [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|please share]]. [https://phabricator.wikimedia.org/T259059]
* Some changes to local user groups are performed by stewards on Meta-Wiki and logged there only. Now, interwiki rights changes will be logged both on Meta-Wiki and the wiki of the target user to make it easier to access a full record of user's rights changes on a local wiki. Past log entries for such changes will be backfilled in the coming weeks. [https://phabricator.wikimedia.org/T6055]
* On wikis using [[m:Special:MyLanguage/Flagged Revisions|Flagged Revisions]], the number of pending changes shown on [[{{#Special:PendingChanges}}]] previously counted pages which were no longer pending review, because they have been removed from the system without being reviewed, e.g. due to being deleted, moved to a different namespace, or due to wiki configuration changes. The count will be correct now. On some wikis the number shown will be much smaller than before. There should be no change to the list of pages itself. [https://phabricator.wikimedia.org/T413016]
* Wikifunctions composition language has been rewritten, resulting in a new version of the language. This change aims to increase service stability by reducing the orchestrator's memory consumption. This rewrite also enables substantial latency reduction, code simplification, and better abstractions, which will open the door to later feature additions. Read more about [[f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|the changes]].
* Users can now sort search results alphabetically by page title. The update gives an additional option to finding pages more easily and quickly. Previously, results could be sorted by Edit date, Creation date, or Relevance. To use the new option, open 'Advanced Search' on the search results page and select 'Alphabetically' under 'Sorting Order'. [https://phabricator.wikimedia.org/T403775]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented UploadWizard on Wikimedia Commons from importing files from Flickr has now been fixed. [https://phabricator.wikimedia.org/T419263]
'''Updates for technical contributors'''
* A new special page, [[{{#special:LintTemplateErrors}}]], has been created to list transcluded pages that are flagged as containing lint errors to help users discover them easily. The list is sorted by the number of transclusions with errors. For example: [[{{#special:LintTemplateErrors}}/night-mode-unaware-background-color]]. [https://phabricator.wikimedia.org/T170874]
* Users of the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature have been using [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages, for some time now. Along with promoting CodeMirror 6 out of beta, the plan is to replace CodeEditor as the standard editor for these content models by May 2026. [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|Feedback or concerns are welcome]]. [https://phabricator.wikimedia.org/T419332]
* The [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] JavaScript modules will soon be upgraded to CodeMirror 6. Leading up to the upgrade, loading the <code dir=ltr>ext.CodeMirror</code> or <code dir=ltr>ext.CodeMirror.lib</code> modules from gadgets and user scripts was deprecated in July 2025. The use of the <code dir=ltr>ext.CodeMirror.switch</code> hook was also deprecated in March 2025. Contributors can now make their scripts or gadgets compatible with CodeMirror 6. See the [[mw:Special:MyLanguage/Extension:CodeMirror#Gadgets and user scripts|migration guide]] for more information. [https://phabricator.wikimedia.org/T373720]
* The MediaWiki Interfaces team is expanding coverage of REST API module definitions to include [[mw:Special:MyLanguage/API:REST API/Extensions|extension APIs]]. REST API modules are groups of related endpoints that can be independently managed and versioned. Modules now exist for [https://phabricator.wikimedia.org/T414470 GrowthExperiments] and [https://phabricator.wikimedia.org/T419053 Wikifunctions] APIs. As we migrate extension APIs to this structure, documentation will move out of the main MediaWiki OpenAPI spec and REST Sandbox view, and will instead be accessible via module-specific options in the dropdown on the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox] (i.e., [[{{#Special:RestSandbox}}]], available on all wiki projects).
* The [[mw:Special:MyLanguage/Extension:Scribunto|Scribunto]] extension provides different pieces of information about the wiki where the module is being used via the [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual|mw.site]] library. Starting last week, the library also provides a [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.site.wikiId|way]] of accessing the [[mw:Special:MyLanguage/Manual:Wiki ID|wiki ID]] that can be used to facilitate cross-wiki module maintenance. [https://phabricator.wikimedia.org/T146616]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.20|MediaWiki]]
'''In depth'''
* The [[m:Special:MyLanguage/Coolest Tool Award|2026 Coolest Tool Award]] celebrating outstanding community tools, is now open for nominations! Nominate your favorite tool using the [https://wikimediafoundation.limesurvey.net/435684?lang=en nomination survey] form by 23 March 2026. For more information on privacy and data handling, please see the [[foundation:Special:MyLanguage/Legal:Coolest_Tool_Award_2026_Survey_Privacy_Statement|survey privacy statement]].
'''''[[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/2026/12|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-2026-W12"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16 mars 2026 à 20:35 (CET)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30260505 -->
== <span lang="en" dir="ltr">Upcoming deployment of CampaignEvents extension to Wikibooks</span> ==
<div lang="en" dir="ltr">
<section begin="message"/>
Hello everyone,
We are writing to inform you that the [[mw:Help:Extension:CampaignEvents|CampaignEvents extension]] will be deployed to all Wikibooks projects during the week of '''23 March 2026'''.
This follows last year’s broader rollout across Wikimedia projects. We realized that Wikibooks was not included at the time, and we’re now addressing that to ensure consistency across all communities.
The CampaignEvents extension provides tools to support event and campaign organization on-wiki, including features like on-wiki event registration and collaboration lists(global event list).
We welcome any questions, feedback, or concerns you may have. We are also happy to support anyone interested in trying out the tools.
''Apologies if this message is not in your preferred language. If you’re able to help translate it for your community, please feel free to do so.''
<section end="message"/>
</div>
<bdi lang="en" dir="ltr">[[User:Udehb-WMF|Udehb-WMF]] ([[User talk:Udehb-WMF|discussion]]) 19 mars 2026 à 19:22 (CET)</bdi>
<!-- Message envoyé par User:Udehb-WMF@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=User:Udehb-WMF/sandbox/MM_target&oldid=30284073 -->
== <span lang="en" dir="ltr">Tech News: 2026-13</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W13"/><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/2026/13|Translations]] are available.
'''Weekly highlight'''
* Wikimedia site users can now log in without a password using passkeys. This is a secure method supported by fingerprint, facial recognition, or PIN. With this change, all users who opt for passwordless login will find it easier, faster, and more secure to log in to their accounts using any device. The new passkey login option currently appears as an autofill suggestion in the username field. An additional [[phab:T417120|"Log in with passkey" button]] will soon be available for users who have already registered a passkey. This update will improve security and user experience. The [[c:File:Passwordless_login_screencast.webm|screen recording]] demonstrates the passwordless login process step by step.
* [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies.
'''Updates for editors'''
* Wikimedia site users can now export their notifications older than 5 years using a [[toolforge:echo-chamber|new Toolforge tool]]. This will ensure that users retain their important notifications and avoid them being lost based on the planned change to delete notifications older than 5 years, as previously announced. [https://phabricator.wikimedia.org/T383948]
* Wikipedia editors in Indonesian, Thai, Turkish, and Simple English now have access to Special:PersonalDashboard. This is an [[mw:Special:MyLanguage/Moderator Tools/Dashboard|early version of an experience]] that introduces newer editors to patrolling workflows, making it easier for them to move from making edits to participating in more advanced moderation work on their project. [https://phabricator.wikimedia.org/T402647]
* The [[Special:Block]] now has two minor interface changes. Administrators can now easily perform indefinite blocks through a dedicated radio button in the expiry section. Also, choosing an indefinite expiry provides a different set of common reasons to select from, which can be changed at: [[MediaWiki:Ipbreason-indef-dropdown]]. [https://phabricator.wikimedia.org/T401823]
* Mobile editors [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#Logged-out|at several wikis]] can now see an improved logged-out edit warning, thanks to the recent updates from the Growth team. These changes released last week are part of ongoing efforts and tests to enhance [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|account creation experience on mobile]] and then increase participation. [https://phabricator.wikimedia.org/T408484]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:36}} community-submitted {{PLURAL:36|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented mobile web users from seeing the block information when affected by multiple blocks has been fixed. They can now see messages of all the blocks currently affecting them when they access Wikipedia.
'''Updates for technical contributors'''
* Images built using Toolforge will soon get the upgraded buildpacks version, bringing support for newer language versions and other upstream improvements and fixes. If you use Toolforge Build Service, review the recent [https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/EMYTA32EV2V5SQ2JIEOD2CL66YFIZEKV/ cloud-announce email] and update your build configuration as necessary to ensure your tools are compatible. [https://wikitech.wikimedia.org/w/index.php?title=Help:Toolforge/Building_container_images&oldid=2392097#Buildpack_environment_upgrade_process][https://phabricator.wikimedia.org/T380127]
* The [https://api.wikimedia.org/wiki/Main_Page API Portal] documentation wiki will shut down in June 2026. API keys created on the API Portal will continue to work normally. api.wikimedia.org endpoints will be deprecated gradually starting in July 2026. Documentation on the API Portal is moving to [[mw:Wikimedia APIs|mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.21|MediaWiki]]
'''In depth'''
* [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] is considering improvements to [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|automatically generated reference names in VisualEditor]]. Please check out the [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names#Proposed solutions|proposed solutions]] and participate in the [[m:Talk:WMDE Technical Wishes/References/VisualEditor automatic reference names#Request for comment|request for comment]].
'''''[[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/2026/13|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-2026-W13"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23 mars 2026 à 17:51 (CET)
<!-- Message envoyé par User:UOzurumba (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30268305 -->
== Actualités techniques n° 2026-14 ==
<section begin="technews-2026-W14"/><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/2026/14|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* Le version Beta de [[abstract:|Abstract Wikipedia]], un nouveau projet Wikimédia indépendant du langage, a été lancée la semaine dernière. Ce projet permet aux communautés de construire des articles Wikipédia dans leur langue natale, qui peuvent directement être lus par les autres utilisateurs et utilisatrices dans leur propre langage. Le wiki fonctionne grâce à des instructions de Wikifunctions et au contenu structuré issu de Wikidata. [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|En savoir plus]].
'''Actualités pour la contribution'''
* L'équipe Croissance mène un test A/B afin d'évaluer l'effet d'un message plus clair et plus convivial encourageant à la création de comptes sur les wikis. Actuellement, lorsqu'un utilisateur mobile non connecté lance la modification, un message d'avertissement s'affiche, pouvant paraître abrupt et décourageant. Il présente également la modification par compte temporaire comme option par défaut, au lieu d'inciter à la création d'un compte. Le test est mené sur dix Wikipédia, dont les versions en arabe, français, espagnol et allemand. [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#2. Improve logged-out warning message (T415160)|En savoir plus]].
* L'équipe des applications Wikimédia sollicite vos commentaires sur [[mw:Special:MyLanguage/Wikimedia Apps/Team/Future of Editing on the Mobile Apps|comment devrait fonctionner l'édition dans les applications mobiles Wikipédia]]. La discussion porte sur l'amélioration de l'accès aux outils d'édition lorsque les utilisateurs appuient sur « Modifier ». Cette initiative s'inscrit dans un effort plus large visant à offrir aux lecteurs intéressés par la contribution une expérience utilisateur plus intuitive.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:45|la tâche soumise|les {{formatnum:45}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:45||s}} la semaine dernière]]. Par exemple, un problème avec la récupération de citations à partir du site d'archive de journaux [https://www.newspapers.com Newspapers.com], qui ne fonctionnait plus en raison d'un blocage des requêtes [[mw:Special:MyLanguage/Citoid|Citoid]], a maintenant été résolu. [https://phabricator.wikimedia.org/T419903]
'''Actualités pour la contribution technique'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.22|MediaWiki]]
'''''[[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/2026/14|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W14"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 30 mars 2026 à 21:25 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30329462 -->
== Action Required: Update templates/modules for electoral maps (Migrating from P1846 to P14226) ==
Hello everyone,
This is a notice regarding an ongoing data migration on Wikidata that may affect your election-related templates and Lua modules (such as <code>Module:Itemgroup/list</code>).
'''The Change:'''<br />
Currently, many templates pull electoral maps from Wikidata using the property [[:d:Property:P1846|P1846]], combined with the qualifier [[:d:Property:P180|P180]]: [[:d:Q19571328|Q19571328]].
We are migrating this data (across roughly 4,000 items) to a newly created, dedicated property: '''[[:d:Property:P14226|P14226]]'''.
'''What You Need To Do:'''<br />
To ensure your templates and infoboxes do not break or lose their maps, please update your local code to fetch data from [[:d:Property:P14226|P14226]] instead of the old [[:d:Property:P1846|P1846]] + [[:d:Property:P180|P180]] structure. A [[m:Wikidata/Property Migration: P1846 to P14226/List|list of pages]] was generated using Wikimedia Global Search.
'''Deadline:'''<br />
We are temporarily retaining the old data on [[:d:Property:P1846|P1846]] to allow for a smooth transition. However, to complete the data cleanup on Wikidata, the old [[:d:Property:P1846|P1846]] statements will be removed after '''May 1, 2026'''. Please update your modules and templates before this date to prevent any disruption to your wiki's election articles.
Let us know if you have any questions or need assistance with the query logic. Thank you for your help! [[User:ZI Jony|ZI Jony]] using [[Utilisateur:MediaWiki message delivery|MediaWiki message delivery]] ([[Discussion utilisateur:MediaWiki message delivery|discussion]]) 3 avril 2026 à 19:11 (CEST)
<!-- Message envoyé par User:ZI Jony@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29941252 -->
== Actualités techniques n° 2026-15 ==
<section begin="technews-2026-W15"/><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/2026/15|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* L’[[mw:Special:MyLanguage/Help:Extension:CampaignEvents|extension CampaignEvents]] comprend désormais une nouvelle fonctionnalité de définition d’objectifs de groupe, permettant aux organisateurs de définir et de suivre les objectifs de l’événement, tels que le nombre d’articles créés et de contributeurs participants en temps réel. De même, les participants peuvent travailler vers des cibles communes et voir leur impact collectif au fur et à mesure que l’événement se déroule. Cette fonctionnalité est désormais disponible sur tous les wikis Wikimedia. Pour en savoir plus, consultez [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Collaborative contributions#Goal setting|la documentation]].
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Concerne un souhait]] La nouvelle fonctionnalité d'[[mw:Special:MyLanguage/Help:Watchlist labels|étiquettes de liste de suivi]] (annoncée dans les [[m:Special:MyLanguage/Tech/News/2026/07|Actualités techniques 2026-07 ]]) est désormais disponible via l'ÉditeurVisuel, l'éditeur de code et l'«étoile de suivi»(ou le lien de suivi, pour les habillages qui n'ont pas d'icône d'étoile). Auparavant, il n'était possible d'attribuer des étiquettes que via [[Special:EditWatchlist|Modifier la liste de suivi]]. Dans ces trois emplacements, il s'agit d'un nouveau champ situé après le champ d'expiration.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:23|la tâche soumise|les {{formatnum:23}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:23||s}} la semaine dernière]]. Par exemple, le problème où les pages de discussion sur mobile avec Parsoid sont inutilisables après les en-têtes de section vides, a maintenant été résolu. [https://phabricator.wikimedia.org/T419171]
'''Actualités pour la contribution technique'''
* La [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|fonctionnalité de sous-référencement]], qui permet aux contributeurs d'ajouter des détails à une référence existante sans la dupliquer, sera progressivement déployée sur [[phab:T414094|davantage de wikis]] plus tard cette année. Les wikis utilisant le gadget [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]] sont encouragés à mettre à jour leur version (généralement sur [[m:MediaWiki:Gadget-ReferenceTooltips.js|MediaWiki:Gadget-ReferenceTooltips.js]] comme indiqué [https://en.wikipedia.org/w/index.php?diff=1344408362 ici]) pour assurer la compatibilité. D'autres gadgets liés aux références pourraient également être affectés. [https://phabricator.wikimedia.org/T416304]
* Toutes les éditions de Wikinews seront fermées et passeront en mode lecture seule le 4 mai 2026. Le contenu restera accessible, mais aucune nouvelle modification ni aucun nouvel article ne pourra être ajouté. Cette fermeture a été approuvée par le Conseil d'administration de la Fondation Wikimedia à la suite de discussions prolongées. [[m:Wikimedia Foundation Board noticeboard#Board of Trustees Approves Closure of Wikinews|En savoir plus]].
* L'[[:mw:Special:MyLanguage/API:Action API|API d'action]] a proposé plusieurs formats pour les résultats demandés. L'un d'entre eux, <bdi lang="zxx" dir="ltr"><code><nowiki>format=php</nowiki></code></bdi>, sera bientôt supprimé. Veuillez vous assurer que vos scripts ou robots utilisent le [[mw:Special:MyLanguage/API:Data formats#Output|format JSON]]. Cette suppression devrait affecter très peu de scripts et de robots. [https://phabricator.wikimedia.org/T118538]
* La page [[Special:NamespaceInfo|Special:NamespaceInfo]] inclut désormais les alias d'espace de noms. Par exemple «WP» pour l'espace de noms ''Projet'' (''Wikipédia'') sur la Wikipédia en allemand. [https://phabricator.wikimedia.org/T381455]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.23|MediaWiki]]
'''''[[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/2026/15|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W15"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 6 avril 2026 à 18:19 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30362761 -->
== <span lang="en" dir="ltr">Tech News: 2026-16</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W16"/><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/2026/16|Translations]] are available.
'''Weekly highlight'''
* Experienced editors are invited to [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Main_Page test] the [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature, designed to help less-experienced editors create well-structured, policy-compliant Wikipedia articles. Testing instructions are [[mw:Special:MyLanguage/Article guidance/Test feature guide|available]]. Also, after reviewing [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance the outlines], please provide feedback on the [[mw:Talk:Article guidance|project talk page]]. Based on your input, the feature will be refined and transferred to the pilot Wikipedias to translate and adapt. Check out [[c:File:Article Guidance workflow demo - April 2026.webm|the video]] explaining the feature.
'''Updates for editors'''
* On most wikis, all autoconfirmed users can now use [[Special:ChangeContentModel|Special:ChangeContentModel]] page to [[mw:Special:MyLanguage/Help:ChangeContentModel|create new pages with custom content models]], such as mass message lists, making custom page formats more accessible. Check [[Special:ListGroupRights|Special:ListGroupRights]] for the status of your wiki. [https://phabricator.wikimedia.org/T248294]
* The Growth team has launched an [[mw:Special:MyLanguage/Contributors/Account_Creation_Experiments|account creation experiment]] to evaluate whether adding an account creation button to the mobile web header increases new account registrations and encourages more mobile users to contribute to the wikis. The experiment is currently live on Hindi, Indonesian, Bengali, Thai, and Hebrew Wikipedia, and targets 10% of logged-out mobile web users.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where VisualEditor could get stuck loading on Windows devices with animations turned off, has now been fixed. [https://phabricator.wikimedia.org/T382856]
'''Updates for technical contributors'''
* Starting later this week, {{int:group-abusefilter}} who have the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature enabled will have [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] as the editor at [[Special:AbuseFilter|Special:AbuseFilter]]. This is part of the broader effort to make the user experience more consistent across all editors. [https://phabricator.wikimedia.org/T399673][https://phabricator.wikimedia.org/T419332]
* Tools and bots that access the [[mw:Special:MyLanguage/Notifications/API|Notifications API]] (<bdi lang="zxx" dir="ltr"><code><nowiki>action=query&meta=notifications</nowiki></code></bdi>) will need to update their OAuth or BotPassword grants to also include access to private notifications. [https://phabricator.wikimedia.org/T421991]
* Due to a library upgrade, listings on category pages may be displayed out of order starting on Monday, 20th April. A migration script will be run to correct this, and will take hours to days depending on the size of the wiki (up to a week for English Wikipedia). [https://phabricator.wikimedia.org/T422544]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.24|MediaWiki]]
'''''[[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/2026/16|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-2026-W16"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 13 avril 2026 à 17:19 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30380527 -->
== Actualités techniques n° 2026-17 ==
<section begin="technews-2026-W17"/><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/2026/17|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* Après deux ans de développement, la version [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]], également connue sous le nom de [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], sortira de sa phase bêta le mardi 21 avril. Elle offrira une meilleure lisibilité du code et du wikitext, une réduction des fautes de frappe et d'autres [[mw:Special:MyLanguage/Help:Extension:CodeMirror|avantages]] à tous les utilisateurs du surligneur de syntaxe standard. Un grand merci au bénévole [https://phabricator.wikimedia.org/p/Bhsd/ Bhsd] qui a développé de nombreuses nouvelles fonctionnalités, notamment [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Code folding|le repliement de code]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|la saisie semi-automatique]] et [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|l'analyse statique du code]]. [https://phabricator.wikimedia.org/T259059]
* Une mise à jour majeure de l'application Wikipédia pour iOS est en cours de déploiement, en restructurant l'interface pour s'harmoniser avec le tout nouveau design visuel "Liquid Glass" d'Apple. [https://apps.apple.com/us/app/wikipedia/id324715238 Télécharger la dernière version] et découvrez les nouveautés.
'''Actualités pour la contribution'''
* [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Les listes de lecture]] est une fonctionnalité qui permet aux lecteurs d'enregistrer des articles dans une liste pour les lire ultérieurement. Cette fonctionnalité est actuellement en version bêta sur les Wikipédias en arabe, français, indonésien, vietnamien et chinois, et activée par défaut pour tous les nouveaux comptes sur toutes les Wikipédias.
* Une expérimentation visant à étendre [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|les aperçus de page au web mobile]] sera lancée la semaine du 20 avril sur les versions arabe, anglaise, française, italienne, polonaise et vietnamienne de Wikipédia. Les aperçus de page sont des fenêtres contextuelles affichant une miniature, un premier paragraphe et un lien bleu permettant d'ouvrir l'article complet, facilitant ainsi la découverte de contenu. Cette fonctionnalité est déjà disponible sur ordinateur et dans les applications. [[m:Special:MyLanguage/List of experiments in Product and Technology#Template|En savoir plus sur cette expérimentation et d'autres]].
* Sur plusieurs wikis, les contributeurs connectés qui n'ont pas [[mw:Special:MyLanguage/Help:Email confirmation|confirmé leur adresse électronique]] peuvent désormais voir une bannière les invitant à le faire. La confirmation de l'adresse électronique permet à un utilisateur de récupérer l'accès à son compte en cas de perte. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Encouraging users to confirm their email addresses|En savoir plus]]. [https://phabricator.wikimedia.org/T421366]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:15|la tâche soumise|les {{formatnum:15}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:15||s}} la semaine dernière]]. Par exemple, un problème qui entraînait des ralentissements lors de la modification de très grandes pages wiki dans l'éditeur wikitext de 2017, des problèmes de chargement, de prévisualisation et de défilement, ainsi que des problèmes de performance lors de la sélection, de la découpe ou du collage de contenu, a maintenant été résolu. [https://phabricator.wikimedia.org/T184857]
'''Actualités pour la contribution technique'''
* Dans le cadre de la promotion de [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] à partir d'une fonctionnalité bêta, tous les utilisateurs se serviront de [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] au lieu de [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] pour la coloration syntaxique lors de l'édition de pages de contenu JavaScript, CSS, JSON, Vue et Lua. [https://phabricator.wikimedia.org/T419332]
* <span class="mw-translate-fuzzy">Le service <code>mirrors.wikimedia.org</code> pour les utilisateurs de Debian et Ubuntu sera définitivement arrêté le 15 mai. Le matériel du serveur sera remplacé par des solutions plus performantes. Certains utilisateurs devront peut-être migrer vers un autre serveur qui ne devra prendre qu'une minute. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LJYRIS4WB66HIRCAO4GIDTXCMDVZRBMA/ Vous pouvez en savoir plus].</span> [https://phabricator.wikimedia.org/T416707]
* Les tables <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> et <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> seront supprimées de [[wikitech:Help:Wiki Replicas|wikireplicas]]. Si vos outils ou requêtes accèdent directement à <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> ou <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi>, veuillez les mettre à jour pour utiliser les tables <bdi lang="zxx" dir="ltr"><code><nowiki>file</nowiki></code></bdi> et <bdi lang="zxx" dir="ltr"><code><nowiki>filerevision</nowiki></code></bdi> avant le 28 mai. [https://phabricator.wikimedia.org/T28741]
* Suite à la récente mise en place de limites de débit globales pour les API non identifiées, la Fondation Wikimedia poursuit ses efforts pour garantir [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|une utilisation équitable de l'infrastructure]] en appliquant des limites globales au trafic des API identifiées à partir de la dernière semaine d'avril. Ces limites sont volontairement fixées au niveau le plus élevé possible afin de minimiser l'impact sur la communauté. Les bots exécutés dans Toolforge/WMCS ou disposant des droits d'utilisateur de bot sur un wiki ne devraient pas être affectés pour le moment. Toutefois, il est conseillé à tous les développeurs de suivre les bonnes pratiques mises à jour. Pour plus d'informations, consultez la page [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|API Wikimedia/Limites de débit]] et la [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits/FAQ|Foire aux questions]].
* L'[[mw:Special:MyLanguage/Attribution API|API d'attribution]] est désormais disponible en [[mw:Special:MyLanguage/Wikimedia APIs/Stability policy|version bêta]]. Elle récupère les informations nécessaires pour créditer les articles et les fichiers multimédias de Wikimedia, quel que soit leur lieu d'utilisation. La documentation de référence est disponible sur la page dédiée au Sandbox REST, accessible sur tous les wikis Wikimedia (comme [https://en.wikipedia.org/w/index.php?api=attribution.v0-beta&title=Special%3ARestSandbox le sandbox REST de Wikipédia en anglais]). N'hésitez pas à partager vos commentaires sur la [[mw:Talk:Attribution API|page de discussion du projet]].
* Il n'y aura pas de nouvelle version de MediaWiki cette semaine.
'''''[[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/2026/17|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W17"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20 avril 2026 à 17:00 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30432763 -->
== Request for comment (global AI policy) ==
<bdi lang="en" dir="ltr" class="mw-content-ltr">
Apologies for writing in English. {{int:Please-translate}}
A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}}
[[Utilisateur:MediaWiki message delivery|MediaWiki message delivery]] ([[Discussion utilisateur:MediaWiki message delivery|discussion]]) 26 avril 2026 à 02:57 (CEST)
</bdi>
<!-- Message envoyé par User:Codename Noreste@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 -->
== Actualités techniques n° 2026-18 ==
<section begin="technews-2026-W18"/><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/2026/18|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* Un changement dans la manière dont les utilisateurs et utilisatrices sont automatiquement confirmés est en cours pour améliorer la protection contre le vandalisme. Actuellement, il suffit d’avoir un compte depuis quelques jours avec quelques contributions pour être ajouté au groupe [[{{int:grouppage-autoconfirmed/{{CONTENTLANGUAGE}}}}|{{int:group-autoconfirmed}}]]. Cette configuration tend à être exploitée par certains vandales qui créent des comptes et commencent à les utiliser après un certain temps. Pour réduire ce problème, la configuration va changer la semaine prochaine afin que l’âge du compte minimum pour être confirmé automatiquement ne soit calculé qu’à partir de la première modification, au lieu de la date d’inscription. L’âge minimum du compte restera le même, c’est seulement le point de départ pour calculer cet âge qui change. Ce changement ne sera déployé que sur les wikis qui nécessitent au moins une contribution pour satisfaire les conditions de confirmation automatique. [https://phabricator.wikimedia.org/T418484]
* Tous les utilisateurs et utilisatrices de Wikipédia avec un nouveau compte et ceux qui ont activé l’option « activer automatiquement la plupart des fonctionnalités bêta » peuvent désormais utiliser la fonctionnalité bêta de [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|listes de lecture]] pour enregistrer des articles à lire plus tard. Cela permet d’organiser les lectures qui nous intéressent à un endroit unique pour y accéder facilement.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:30|la tâche soumise|les {{formatnum:30}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:30||s}} la semaine dernière]]. Par exemple, le problème avec les images d’infoboite qui avaient une marge intérieure immense dans Firefox a été corrigé. [https://phabricator.wikimedia.org/T423676]
'''Actualités pour la contribution technique'''
* Pour rappel, la limite globale d’accès à l’API sera appliquée cette semaine pour identifier le trafic de l’API. Le but est d’aider à garantir un [[mw:MediaWiki Product Insights/Responsible Reuse|accès équitable à l’infrastructure]]. Les robots qui s’exécutent dans Toolforge ou WMCS, ou avec le droit utilisateur ''robot'' sur les wikis, ne devraient pas être affectés pour le moment. Cependant, il est conseillé à tous les développeurs et développeuses de se conformer aux nouvelles bonnes pratiques à suivre. Pour plus d’informations, notamment la limite globale d’accès effective, consultez [[mw:Wikimedia APIs/Rate limits|la page sur la limite d’accès des API de Wikimedia]] et les [[mw:Wikimedia APIs/Rate limits/FAQ|questions-réponses]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.26|MediaWiki]]
'''''[[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/2026/18|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W18"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 27 avril 2026 à 20:06 (CEST)
<!-- Message envoyé par User:UOzurumba (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30458046 -->
== Actualités techniques n° 2026-19 ==
<section begin="technews-2026-W19"/><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/2026/19|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* L’équipe chargée des fonctionnalités de [[mw:Special:MyLanguage/Article guidance|Guidage des articles]] invite les contributeurs et contributrices expérimentés des [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators|Wikipédia pilotes]] (arabe, bangla, japonais, portugais, persan, turc, anglais simplifié, espagnol et français) à contribuer à la traduction et à l’adaptation des [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance exemples de trames d’articles]. Ces trames guideront les contributeurs dans la création d’articles clairs, bien structurés et conformes aux règles lors de l’utilisation de [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Special:NewArticle la fonctionnalité] dès son lancement en mai 2026. Des [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|instructions simples]] expliquant comment traduire et adapter ces trames sont disponibles.
'''Actualités pour la contribution'''
* Le [[:m:Special:MyLanguage/Product and Technology Advisory Council|Conseil consultatif sur les produits et les technologies]] a publié [[:m:Special:MyLanguage/Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|une proposition de recommandation]] d’une procédure type que les organisations affiliées à Wikimedia pourraient suivre pour contribuer au domaine technique. Les membres de la communauté sont invités à donner leur avis sur cette recommandation avant le 8 mai [[:m:Talk:Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|sur la page de discussion]].
* Le nombre de préférences de taille de la miniature disponibles dans MediaWiki va être réduit à trois options standardisées : ''petite'' (180 px), ''moyenne'' (250 px) et ''large'' (400 px), dans le cadre du travail en cours pour améliorer les performances et réduire la pression sur les services de miniatures. Par conséquent, les préférences existantes seront automatiquement adaptées à la nouvelle taille la plus proche (par exemple, les petites tailles comme 120 px ou 150 px s’afficheront à 180 px, tandis que les grandes tailles comme 300 px ou 360 px s’afficheront à 400 px). L’interface des préférences sera bientôt mise à jour pour refléter ces changements, et les utilisateurs qui souhaitent s’y opposer ou donner leur avis peuvent le faire. [https://phabricator.wikimedia.org/T424909]
* Dorénavant, même lorsqu’une permission expire automatiquement, les utilisateurs recevront une notification Echo similaire à la notification normale pour les changements de permissions. Quant au [[m:Special:MyLanguage/Global reminder bot|robot global de rappel]], il continue de prévenir les utilisateurs une semaine ''avant'' que leurs droits ne soient sur le point d’expirer, afin qu’ils puissent les faire renouveler.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:32|la tâche soumise|les {{formatnum:32}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:32||s}} la semaine dernière]]. Par exemple, le problème du sélecteur de langue ULS dans [[m:Special:Translate|Special:Translate]] qui faisait défiler verticalement alors qu’il ne devait pas, a été résolu. Auparavant, lorsque les utilisateurs ouvraient le menu déroulant « Traduire en français » et commençaient à saisir le nom d’une langue, la boîte de dialogue défilait verticalement de quelques pixels même lorsqu'il y avait suffisamment d’espace pour afficher tous les résultats. Le menu déroulant ne se déplace plus inutilement lors du filtrage des langues. [https://phabricator.wikimedia.org/T358864]
* La [[m:Special:GlobalWatchlist|liste de suivi globale]], qui vous permet de consulter vos listes de suivi provenant de plusieurs wikis sur une seule page, continue de s’améliorer. Par exemple, les listes de suivi pour les sites avec Wikibase tels que [[:d:|Wikidata]] prennent désormais en charge les éléments [[mw:Special:MyLanguage/Extension:EntitySchema|EntitySchema]] pour un meilleur suivi. Le mode Mises à jour en direct actualise désormais la page spéciale toutes les 60 secondes afin de se conformer aux [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|nouvelles limites globales d’accès à l’API]] pour une meilleure réactivité en temps réel. Par ailleurs, un bug de directionnalité du texte qui affichait les liens comme « changements 3 » au lieu de « 3 changements » dans les listes à directions mixtes a été corrigé. [https://phabricator.wikimedia.org/T415450][https://phabricator.wikimedia.org/T424422][https://phabricator.wikimedia.org/T418091]
'''Actualités pour la contribution technique'''
* La deuxième phase de [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|limitations globales d’accès à l’API]] a été déployée pour réduire l’[[diffblog:2026/03/26/quo-vadis-crawlers-progress-and-whats-next-on-safeguarding-our-infrastructure/|impact des robots IA]] et assurer un accès équitable et durable aux ressources de Wikimedia, en donnant la priorité au trafic humain et conforme à notre mission. Les [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits#Limits|limites]] ne s’appliquent plus par heure mais par minute, produisant une meilleure répartition dans les structures de trafic ainsi qu’une meilleure prévisibilité de la charge de l’API. Les utilisateurs de la communauté ne devraient pas être affectés, et aucune action n’est requise. Les premières indications montrent que certains requérants basés sur l'agent utilisateur ajustent leur comportement, et environ 64 % du trafic API automatisé a été identifié. La surveillance continue, et Wikimedia Enterprise reste disponible pour l’assistance commerciale.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.46/wmf.27|MediaWiki]]
'''''[[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/2026/19|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W19"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 4 mai 2026 à 22:43 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30498077 -->
== Actualités techniques n° 2026-20 ==
<section begin="technews-2026-W20"/><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/2026/20|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* La Communauté Technique a publié [[m:Special:MyLanguage/Community Wishlist/How to write a good wish|de nouvelles directives]] expliquant comment les souhaits sur la Liste de souhaits de la communauté sont triés et priorisés. La documentation vise à aider les contributeurs à rédiger des propositions plus solides en clarifiant les facteurs qui influencent les décisions de priorisation. Au-delà du nombre de votes, les directives mettent en avant des considérations telles que l'impact potentiel sur la communauté pour déterminer quels souhaits avanceront.
'''Actualités pour la contribution'''
* L'équipe de croissance des lecteurs lance une expérience pour tester une nouvelle [[mw:Special:MyLanguage/Readers/Reader_Growth/Share_Card|fonctionnalité de Partage de Carte]] qui permet aux lecteurs de créer des cartes visuellement attrayantes à partir d'articles Wikipédia ou de sections d'articles sélectionnées et de les partager en ligne, chaque carte renvoyant à l'article original afin d'aider à augmenter le lectorat et la découverte des articles. Le test A/B réservé aux mobiles ne sera disponible qu'à une partie des lecteurs sur les Wikipédia en arabe, chinois, français, vietnamien et anglais afin de mieux comprendre les habitudes de lecture et de partage, et est prévu pour commencer la semaine du 18 mai pour une durée de quatre semaines.
* Les applications Wikipedia pour Android et iOS ont récemment publié en version bêta le [[mw:Special:MyLanguage/Wikimedia_Apps/Team/25th_Birthday_Reading_Challenge|défi de lecture de 25 jours]], dans le cadre des efforts visant à stimuler l'engagement des lecteurs en encourageant les utilisateurs à atteindre des objectifs de lecture. Pour suivre leur série de lectures pendant le défi, les utilisateurs de l'application peuvent ajouter un widget avec Baby Globe à leur écran d'accueil. Le défi commence officiellement le 11 mai.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:17|la tâche soumise|les {{formatnum:17}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:17||s}} la semaine dernière]]. Par exemple, un problème où la préférence globale pour activer la coloration syntaxique dans le wikitexte pouvait s'éteindre de manière inattendue après avoir été activée a maintenant été corrigé. [https://phabricator.wikimedia.org/T425286]
'''Actualités pour la contribution technique'''
* [[File:Octicons-tools.svg|12px|link=|alt=|Sujet technique]] Le module ResourceLoader <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui.input</nowiki></code></bdi>, obsolète depuis [[m:Special:MyLanguage/Tech/News/2023/39|septembre 2023]], sera supprimé cette semaine. Il existe un [[mw:Special:MyLanguage/Codex/Migrating_from_MediaWiki_UI|guide pour migrer de l’interface MediaWiki UI vers Codex]] pour tous les outils qui l’utilisent. [https://phabricator.wikimedia.org/T420125]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.2|MediaWiki]]
'''''[[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/2026/20|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W20"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 11 mai 2026 à 21:20 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30524429 -->
== Actualités techniques n° 2026-21 ==
<section begin="technews-2026-W21"/><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/2026/21|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* L'équipe de Wikipédia abstraite a identifié cinq wikis pilotes potentiels pour évaluer leur intérêt à adopter des articles abstraits sur leurs wikis. Les pilotes sont Wikipédia en Malayalam, en Bengali, en Dagbani, en Arabe et en Indonésien. La période de retour d'information sera ouverte jusqu'au 22 mai. Si votre communauté est intéressée à devenir un pilote, [[m:Talk:Abstract Wikipedia|faites-nous savoir sur Meta]].
'''Actualités pour la contribution'''
* Une expérience visant à afficher [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|les listes de lecture]] aux lecteurs non connectés sur le web mobile sera lancée le 18 mai sur les Wikipédias Allemande, Espagnole, Italienne, Portugaise, Polonaise, Néerlandaise, Turque et Ourdou, et durera un mois. Cet effort soutient des objectifs plus larges consistant à aider les lecteurs à enregistrer et organiser des articles pour une lecture ultérieure, tout en encourageant des habitudes qui pourraient mener à de futures contributions sur Wikipédia.
* Pour prendre en charge un bouton de marquage dans la fonctionnalité bêta Liste de lecture, le menu "Outils > Action" a été mis à jour pour afficher des icônes, y compris l'indicateur en forme d'étoile de suivi qui aide les éditeurs à identifier les articles suivis temporairement. Les icônes correspondent désormais également à celles utilisées sur mobile, améliorant la cohérence entre les plateformes. Le changement est actuellement limité au menu des actions et concerne principalement les éditeurs ayant des droits d'utilisateur privilégié. [https://phabricator.wikimedia.org/T426008]
* [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Mode de Suggestion]] a été publié en tant qu'[[w:en:A/B test|test A/B]] pour les nouveaux éditeurs sur le site mobile à [[phab:T421189|~15 Wikipédias]]. L'expérience mesurera l'impact que le Mode de Suggestion a sur la proportion de sessions d'édition sur le web mobile par des nouveaux éditeurs qui aboutissent à des modifications constructives (non annulées) des articles. L'expérience évaluera également l'impact de la fonctionnalité sur la rétention des éditeurs et surveillera les changements dans les taux d'annulation et de blocage.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:27|la tâche soumise|les {{formatnum:27}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:27||s}} la semaine dernière]]. Par exemple, un problème dans l'application Android de Wikipédia où les images pourraient parfois ne pas se charger après avoir ouvert une notification de liste de lecture recommandée, a maintenant été corrigé. [https://phabricator.wikimedia.org/T418231]
'''Actualités pour la contribution technique'''
* L'[[mw:Special:MyLanguage/Wikidata Platform|équipe de la Plateforme Wikidata]] a publié sa [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/Backend Replacement|recommandation de remplacement du backend]] et l'[[wikitech:Wikidata Query Service/WDQS Architecture re-design|architecture technique]] qui l'accompagne pour la migration du Wikidata Query Service (WDQS) hors de Blazegraph grap. Les retours sont attendus jusqu'au 25 mai 2026, en particulier sur les éventuelles lacunes et impacts sur les cas d'utilisation avancés. Les membres de la communauté Wikidata et les utilisateurs de WDQS sont également encouragés à aider à identifier les outils et flux de travail à fort impact qui pourraient nécessiter une attention sur [[d:Wikidata:SPARQL query service/WDQS backend update/High-Impact Use Cases|cette page]]. Les retours peuvent être partagés sur la [[d:Wikidata talk:SPARQL query service/WDQS backend update|page de discussion de la migration]] ou lors de la [[d:Special:MyLanguage/Wikidata:Blazegraph Migration Office Hours|prochaine heure de bureau]]. Voir le [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|bulletin de l'équipe WDP]] pour plus de détails.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.3|MediaWiki]]
'''En détails'''
* Sur les Wikipédia en anglais, en français, en japonais et quelques autres, il y a eu un [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|essai de hCaptcha]], un service tiers de détection de robots. L'essai a montré que hCaptcha détecte et dissuade efficacement certaines activités automatisées de mauvaise foi, à la fois par lui-même et en donnant des signaux aux [[w:en:Wikipedia:Village pump (technical)/Archive 225#Introducing SuggestedInvestigations|checkusers et stewards]] pour qu'ils enquêtent. Comme les résultats étaient positifs, hCaptcha sera déployé sur toutes les wikis au cours des prochaines semaines. [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|Voir la page du projet hCaptcha]] pour des informations techniques sur la mise en œuvre et les protections de la vie privée. [[diffblog:2026/05/04/better-detecting-bots-and-replacing-our-captcha-part-2/|En savoir plus]].
* La dernière mise à jour de la Technologie communautaire est désormais disponible, avec des progrès dans plusieurs initiatives de la Liste de souhaits communautaire, y compris l'extension des listes de lecture de l'application mobile au site web, la prise en charge de nouvelles langues pour "Who Wrote That" et le Tableau de bord personnel, des améliorations du rendu 3D et des graphiques, ainsi que des travaux à venir sur le tri des pages de discussion, la lecture audio et les flux de travail d'édition. La mise à jour partage également les priorités actuelles, les tendances de l'état de la Liste de souhaits et les opportunités de retour d'information de la communauté sur les domaines de concentration futurs et le Plan annuel 2026–2027 de la Wikimedia Foundation. [[m:Special:MyLanguage/Community Wishlist/Updates#May 13, 2026: Latest updates from the Community Tech team|Lisez le bulletin d'information complet pour plus de détails]].
'''''[[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/2026/21|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W21"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18 mai 2026 à 22:21 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30539262 -->
== Actualités techniques n° 2026-22 ==
<section begin="technews-2026-W22"/><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/2026/22|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* Faisant suite à une [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#LOWM|expérience fructueuse sur la création de comptes]], un message d'avertissement pour les personnes déconnectées sera déployé sur les wikis Wikimédia durant la première semaine de juin. Ce changement n'affectera que les personnes déconnectées sur l'interface web mobile qui commencent à modifier. Cette nouvelle expérience est faite pour encourager la création de comptes, tout en autorisant aux utilisateurs de modifier à l'aide de comptes temporaires. Les résultats de l'expérience ont montré une augmentation de la création de compte d'environ 27 % pour ceux ayant vu le nouveau message. Comme prévu, puisque plus de personnes créent un compte, la création de comptes temporaires a diminué de 16 %. L'expérience n'a pas montré d'autres changements sur la qualité des modifications ou sur les autres indicateurs surveillés. [https://phabricator.wikimedia.org/T424595]
'''Actualités pour la contribution'''
* Pour des raisons de sécurité, les membres de certains groupes d’utilisateurs sont [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|forcés d'avoir l'authentification à 2 facteurs]] (A2F) d'activée. Les membres de ces groupes seront dans l'impossibilité de désactiver la dernière méthode d'A2F sur leur compte, et il sera impossible d'ajouter des utilisateurs sans A2F à ces groupes. Ces utilisateurs auront toujours la possibilité d'ajouter ou d'enlever des nouvelles méthodes d'authentification, tant qu'une de ces méthodes est toujours activée. Dans les prochaines semaines, les utilisateurs sans A2F seront retirés de ces groupes. Cela s'applique entre autres aux bureaucrates. Veuillez lire les tâches liées pour les dates de déploiement. [https://phabricator.wikimedia.org/T423119][https://phabricator.wikimedia.org/T423120]
* L'[[m:Special:MyLanguage/WMDE Technical Wishes|équipe des souhaits techniques de Wikimédia Allemagne (WMDE)]] va lancer un [[w:fr:Test A/B|test A/B]] sur [[:phab:T415904|10 wikis]], pour essayer des [[m:WMDE Technical Wishes/References/Reference Previews|améliorations potentielles pour les aperçus de références]]. Cette expérience durera environ 2 semaines à la fin mai ou début juin et affectera 10 % du lectorat sur ordinateur sur les wikis participants.
* Après deux expériences fructueuses, l'équipe Croissance du lectorat déploiera une fonctionnalité de [[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|visionnage d'images]] en bêta pour toutes les Wikipédia sur mobile le 25 mai. Cela veut dire que toutes les personnes ayant les fonctionnalités bêtas activées verront cette fonctionnalité. Les autres pourront l’activer dans leurs préférences. Cette fonctionnalité inclura un carrousel de toutes les images d'un article en haut de celui-ci, avec la possibilité pour les contributeurs d’[[mw:Readers/Reader_Growth/Image_Browsing#Phase_2.1_beta_feature|exclure des images du carrousel d'un article ou d'enlever la fonctionnalité pour l'entièreté de l'article]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:30|la tâche soumise|les {{formatnum:30}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:30||s}} la semaine dernière]]. Par exemple, les fichiers STL tridimensionnels étaient affichés incorrectement par l'extension 3D du lecteur multimédia, ce qui est maintenant corrigé. [https://phabricator.wikimedia.org/T416723]
'''Actualités pour la contribution technique'''
* Les classes CSS dépréciées <bdi lang="zxx" dir="ltr"><code><nowiki>tleft</nowiki></code></bdi> et <bdi lang="zxx" dir="ltr"><code><nowiki>tright</nowiki></code></bdi> ont été remplacées par <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> et <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> car les premières ne fonctionnent pas correctement sur toutes les plateformes, dont l'interface web mobile et l'application mobile. Les projets se servant de ces classes sont encouragés à vérifier leur usage et à planifier leur migration. Sachez que <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> et <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> pourraient aussi être dépréciées dans le futur, même s’il n'y a pas de calendrier défini. [[phab:T426452|En savoir plus]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.4|MediaWiki]]
'''''[[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/2026/22|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W22"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 25 mai 2026 à 23:52 (CEST)
<!-- 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=30584502 -->
== Votez maintenant aux élections 2026 de l'U4C ==
<section begin="announcement-content" />
Les votants éligibles sont invités à participer à l'élection 2026 du [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Comité de coordination du Code de conduite universel]]. De plus amples informations – notamment sur la vérification de l'éligibilité, le processus de vote, les candidats et un lien vers le scrutin – sont disponibles sur Meta à la [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|page d'informations sur les élections de 2026]]. Le scrutin se termine le 2 juin 2026 à [https://zonestamp.toolforge.org/1780358400 00 h 00 UTC].
Veuillez voter si votre compte est éligble. Les résultats seront disponibles avant le 14 juin 2026. -- en coopération avec l'U4C.<section end="announcement-content" />
[[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 27 mai 2026 à 19:14 (CEST)
<!-- Message envoyé par User:Keegan (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 -->
== Actualités techniques n° 2026-23 ==
<section begin="technews-2026-W23"/><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/2026/23|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* L'équipe [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience]] mène une expérience pour montrer la fonctionnalité [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|listes de lecture]], qui est encore en développement, aux lecteurs non connectés sur mobile afin de tester si elle encourage la création de compte à un rythme plus élevé que le bouton watchstar. L'[[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists#Experiment timeline|expérience]] a été lancée le 18 mai sur les wikis en allemand, espagnol, italien, portugais, polonais, néerlandais, turc et ourdou, et elle durera un mois.
* L'équipe Wikimedia Apps a publié la [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh/Phase 1|Phase 1]] du flux d'accueil repensé pour l'application Android Beta. Le nouveau flux d'accueil comprend un onglet « Communauté » actualisé et un onglet « Pour vous » personnalisé contenant des recommandations de lecture mises à jour quotidiennement. La refonte fait partie d'un effort plus large visant à améliorer la découverte de contenu et à créer des expériences d'apprentissage plus engageantes dans les applications Wikipédia.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:18|la tâche soumise|les {{formatnum:18}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:18||s}} la semaine dernière]]. Par exemple, un problème où les images pouvaient ne pas se charger pour certaines modifications suggérées sur [[w:Special:Homepage|Special:Homepage]], laissant la vignette bloquée dans un état de chargement, a maintenant été corrigé. [https://phabricator.wikimedia.org/T424048]
'''Actualités pour la contribution technique'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.5|MediaWiki]]
'''''[[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/2026/23|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W23"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 1 juin 2026 à 23:08 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30613639 -->
== Actualités techniques n° 2026-24 ==
<section begin="technews-2026-W24"/><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/2026/24|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* Wikimedia Entreprise a relevé les limites d’utilisation gratuite de ses API. La limite mensuelle de requêtes pour l’API « à la demande » (<i lang="en">On-demand</i>) est passée de {{formatnum:5000}} à {{formatnum:50000}} requêtes, tandis que celle de l’API des instantanés (<i lang="en">Snapshot</i>) est passée de 15 à 30 requêtes par mois. De plus, les instantanés de contenus structurés sont désormais accessibles aux comptes gratuits. Ces changements élargissent l’accès aux données de Wikimedia Entreprise pour les développeurs et développeuses, les chercheurs et chercheuses et les organisations qui utilisent les contenus Wikimédia. [https://enterprise.wikimedia.com/blog/enhanced-free-api]
'''Actualités pour la contribution'''
* La [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Explore Feed Refresh/Phase 1|nouvelle version du Fil d’exploration]], désormais appelé « Fil d’accueil », est en cours de déploiement auprès de 50 % des utilisateurs de l’application Wikipédia pour Android. Le fil d’accueil aide le lectorat à découvrir du contenu pertinent grâce à deux nouveaux onglets : « Communauté » et « Pour vous ». L’onglet « Communauté » propose un flux défilant de contenus sélectionnés et d’actualités provenant de l’ensemble de la communauté et du mouvement Wikimédia, tandis que l’onglet « Pour vous » offre une expérience en plein écran et par glissement qui présente des contenus adaptés aux centres d’intérêt de l’utilisateur ou utilisatrice. Cette refonte s’inscrit dans le cadre d’un travail en cours visant à améliorer la découverte et à enrichir l’expérience d’apprentissage au sein de l’application Wikipédia.
* Le jeu-questionnaire quotidien [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/"Which came first?" Game|Qu’est-ce qui est arrivé en premier ?]] est désormais disponible dans la version bêta de l’application Wikipédia pour iOS en anglais, allemand, français, portugais, russe, espagnol, arabe, chinois et turc. Le jeu s’appuie sur des événements historiques tirés de la rubrique « Éphéméride » de Wikipédia et met les lecteurs au défi de deviner lequel des deux événements s’est produit en premier. Le jeu avait déjà été lancé sur Android. Les communautés souhaitant rendre le jeu disponible dans leur langue peuvent [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Games#Game availability by language|consulter les instructions et les conditions requises]].
* [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Les sous-références]], une nouvelle fonctionnalité de MediaWiki permettant aux contributeurs de réutiliser des références avec des détails différents, va commencer à être déployée sur les wikis Wikimédia après une phase pilote réussie. Le déploiement débutera le 8 juin pour la plupart des [[wikitech:Deployments/Train#Wednesday|wikis du groupe 1]] et Wikipédia en français, puis d'autres éditions linguistiques de Wikipédia bénéficieront de cette fonctionnalité au cours des prochains mois. Les communautés sont invitées à se préparer en vérifiant s’il existe des [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-cite&language=en&action_source=search&filter=%21translated&optional=1&action=translate messages non traduits de l’extension Cite] dans leur langue et en passant en revue toute utilisation de l’outil [[mw:Special:MyLanguage/Reference Tooltips|Infobulles des références]], qui pourraient nécessiter des [[:phab:T416304#11668731|mises à jour]] pour prendre en charge la nouvelle fonctionnalité. Les wikis utilisant les [[mw:Special:MyLanguage/Help:Reference Previews|aperçus de référence]] n’ont aucune action à entreprendre. Les communautés peuvent également créer la [[Special:TrackingCategories|catégorie de suivi]] ''cite-tracking-category-ref-details'' en tant que catégorie cachée à l’aide de <code><nowiki>__HIDDENCAT__</nowiki></code> (ou d’un modèle dédié), et la relier à l’élément Wikidata correspondant [[d:Q129764848]]. [https://phabricator.wikimedia.org/T425662]
* L'[[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews#Experimentation|expérience d'Aperçus de page]] sur le Web mobile a pris fin. L'équipe a décidé de ne pas déployer cette fonctionnalité après que les résultats ont montré qu'elle n'avait pas d'impact statistiquement significatif sur la fidélisation des lecteurs, l'amélioration de la fidélisation étant le principal indicateur de réussite. Les « Aperçus de page », déjà disponibles sur ordinateur et dans les applications, affichent une vignette, le premier paragraphe et un lien vers l'article complet lorsque les lecteurs cliquent sur un lien bleu. L'expérience a testé cette fonctionnalité sur le Web mobile sur six versions de Wikipédia.
* La [[mw:Special:MyLanguage/Codex/Design/Icons|bibliothèque d'icônes de l'interface utilisateur]] sera [[phab:T399175|mise à jour dans le courant de cette semaine ou la semaine prochaine]]. La plupart des quelque 300 icônes ont été légèrement peaufinées et une trentaine de nouvelles icônes ont été ajoutées. Ces modifications améliorent les icônes afin de les rendre plus cohérentes et plus compréhensibles, et d'offrir un meilleur équilibre visuel lorsqu'elles sont utilisées en groupe.
* L'interface [[mw:Special:MyLanguage/Universal Language Selector|Sélecteur universel de langue]] (ULS) de MediaWiki, qui aide les utilisateurs à sélectionner du contenu dans d'autres langues, a été mise à jour. La nouvelle version améliore la rapidité et l'accessibilité, et les utilisateurs des projets Wikimédia peuvent désormais épingler des langues pour changer de langue plus rapidement. Le déploiement sur les sites Wikimédia se fera progressivement au cours des prochaines semaines. Vous pouvez la tester dès maintenant en tant que fonctionnalité bêta en sélectionnant [[Special:Preferences#mw-prefsection-betafeatures|les fonctionnalités bêta]] dans les préférences de votre profil et partager vos commentaires sur [[mw:Special:MyLanguage/Universal Language Selector/New ULS|la page du projet]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:21|la tâche soumise|les {{formatnum:21}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:21||s}} la semaine dernière]]. Par exemple, un problème du le tableau de bord d'analyse des pages vues sur pageviews.wmcloud.org qui a arrêté de mettre à jour les données graphiques en mai 2026, affectant tous les utilisateurs, a été résolu. [https://phabricator.wikimedia.org/T427171]
'''Actualités pour la contribution technique'''
* La signature de la fonction <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink()</nowiki></code></bdi> a été simplifiée. Les développeurs peuvent désormais passer un objet de configuration à la place d'une liste de paramètres positionnels lors de la création de liens vers des portlets. L'ancienne signature de la fonction reste prise en charge à des fins de compatibilité ascendante. Par exemple, au lieu de : <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', '#', 'Stub', 'ca-stubtag', 'Add a stub tag to this page');</nowiki></code></bdi>, utilisez <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', { href: '#', text: 'Stub', id: 'ca-stubtag', tooltip: 'Add a stub tag to this page' });</nowiki></code></bdi>. Les responsables de la maintenance des scripts sont invités à passer en revue les utilisations existantes de <bdi lang="zxx" dir="ltr"><code><nowiki>addPortletLink()</nowiki></code></bdi> et à les mettre à jour si nécessaire. Cette modification sera disponible sur tous les wikis à partir du 11 juin. Merci à Gerges, bénévole de la communauté, d'avoir apporté cette amélioration. [https://phabricator.wikimedia.org/T427945]
* '''Discussion sur la liste de souhaits de la communauté''': les [[m:Special:MyLanguage/Community Wishlist/Updates#May 20, 2026: Community Tech becomes a program|changements introduits]] par les équipes Produit et Technologie visent à augmenter le nombre et la complexité des souhaits exaucés, notamment par la dissolution de l'équipe Community Tech. Ils [[m:Special:MyLanguage/Community Wishlist/Updates|mènent actuellement des discussions]] sur une [[m:Talk:Community Wishlist#Proposed direction for Wishlist|orientation proposée pour la liste de souhaits]] émanant des membres de la communauté. Cela inclut des moyens de structurer le vote annuel, un meilleur suivi des souhaits, la suppression de certains domaines prioritaires et des [[m:Special:MyLanguage/Community Wishlist/Updates|mises à jour concernant le personnel]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.6|MediaWiki]]
'''''[[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/2026/24|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W24"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 8 juin 2026 à 23:29 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30650573 -->
== Actualités techniques n° 2026-25 ==
<section begin="technews-2026-W25"/><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/2026/25|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* L'[[mw:Special:MyLanguage/Readers/Reader Growth|équipe chargée de la croissance du lectorat]] a lancé une fonctionnalité bêta d'[[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|exploration des images]] sur la version mobile de toutes les Wikipédias. Cette fonctionnalité affiche un carrousel d'images en haut des articles contenant au moins trois images. Les contributeurs peuvent configurer cette fonctionnalité à l'aide des commandes suivantes : pour masquer une image spécifique sur une page, utilisez soit <code>class=notpageimage</code> pour l'exclure des aperçus miniatures, soit <code>class=noviewer</code> pour l'exclure de MediaViewer. Le carrousel peut également être désactivé complètement sur une page à l'aide du mot magique <code><nowiki>__NOMEDIAVIEWERCAROUSEL__</nowiki></code>. Pour faire des retours ou signaler des bugs, rendez-vous sur la [[mw:Talk:Readers/Reader Growth/Image Browsing|page de discussion du projet]].
* Les [[mw:Special:MyLanguage/Help:Tables#class="wikitable"|Wikitables]] peuvent désormais être [[mw:Special:MyLanguage/Help:Sortable tables#Forcing the initial sort direction|triées par ordre décroissant]] dès le premier clic en ajoutant <code dir=ltr>data-sort-order="desc"</code> à la cellule d'en-tête. Auparavant, par défaut, cliquer une première fois sur l'en-tête d'une colonne entraînait un tri par ordre croissant. Cette nouveauté offre davantage de contrôle et de flexibilité pour les Wikitables, tandis que le comportement par défaut pour les clics suivants reste inchangé. [https://phabricator.wikimedia.org/T398416]
'''Actualités pour la contribution'''
* La fonctionnalité d'[[mw:Special:MyLanguage/Article guidance|Aide à la rédaction d'articles]] est actuellement en phase de test auprès de certains contributeurs qui créent de nouveaux articles sur les Wikipédias en anglais simplifié, en français et en turc. L'expérience débutera bientôt sur les Wikipédias en arabe et en bengali également. [[w:simple:Special:NewArticle|Cette fonctionnalité]] fournit aux contributeurs des conseils élaborés par la communauté afin de les aider à créer des articles conformes aux normes communautaires. Les contributeurs expérimentés peuvent continuer à créer ou à adapter des modèles pour des types d'articles spécifiques qui sont couramment créés par des contributeurs moins expérimentés. Ces modèles guident les contributeurs moins expérimentés dans la création d'articles de haute qualité. Un guide rapide des balises utilisées dans les modèles est disponible sur [[mw:Special:MyLanguage/Article guidance/Test feature guide#Markups in outlines|cette page]]. [[w:fr:Projet:Aide à la rédaction d'articles#Liste de plans d'aide à la rédaction|Des exemples de modèles]] pouvant être adaptés, ainsi que des instructions sur la manière de les adapter, se trouvent dans [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|cette section]] de la page du projet.
* Les wikis qui souhaitent remplacer le bouton « indéfiniment » dans la page Special:Block pour les comptes temporaires (par exemple, les wikis qui bloquent les utilisateurs temporaires uniquement jusqu'à l'expiration de leur compte) pourront le faire en créant [[MediaWiki:ipb-indefinite-expiry-temporary-account]] avec la durée de blocage souhaitée. [https://phabricator.wikimedia.org/T427125]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:41|la tâche soumise|les {{formatnum:41}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:41||s}} la semaine dernière]].
'''Actualités pour la contribution technique'''
* D'ici la fin du mois de juin, une chaîne « user-agent » valide sera requise pour les téléchargements automatisés de sauvegardes depuis le site dumps.wikimedia.org. Les requêtes automatisées fournissant une chaîne « user-agent » générique ou vide seront bloquées. Cette mesure [[phab:T400119|renforce l'application]] de la [[foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|politique relative à l'agent utilisateur]] en vigueur depuis longtemps. L'accès aux sauvegardes via Wikimedia Cloud Services restera inchangé.
* La mise en place des [[mw:Wikimedia APIs/Rate limits|limites de débit des API]] à l'échelle mondiale est désormais achevée ; ces limites s'appliquent à toutes les API et sont fixées aux niveaux indiqués dans la documentation pour tous les groupes. Les bots fonctionnant sur Toolforge/WMCS ou disposant du droit d'utilisateur « bot » sur n'importe quel wiki restent exemptés. Tous les bots doivent continuer à respecter les bonnes pratiques décrites dans la documentation afin d'éviter d'être soumis à des limites de débit.
* Le [https://api.wikimedia.org/wiki/Main_Page wiki du portail API] sera en lecture seule à partir de cette semaine (du 15 au 18 juin). La semaine suivante (du 22 au 25 juin), toutes les URL du wiki du portail API redirigeront vers [[mw:Wikimedia APIs|les API Wikimedia sur mediawiki.org]]. Pour en savoir plus, consultez la [[wikitech:API Portal/Deprecation|page du projet]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.7|MediaWiki]]
'''Rencontres et évènements'''
* Le 17 juin à 18 h (UTC), la WMF organisera une réunion sur Discord consacrée à la revue de code. L'[[mw:Special:MyLanguage/Developer Satisfaction Survey/2026|enquête sur la satisfaction des développeurs]] nous a permis de constater que les bénévoles rencontrent des difficultés avec la revue de code, et nous souhaitons discuter de ces expériences afin de trouver des solutions concrètes. Vous pouvez rejoindre la réunion [https://discord.gg/wikipedia?event=1514727511102062664 via le serveur Discord de la communauté Wikimedia].
* La [[m:Special:MyLanguage/Conferencia Wikimedia de América Latina 2026|Conférence Wikimedia d'Amérique latine]] organisera un hackathon régional qui réunira la communauté technique du mouvement Wikimedia, notamment des développeurs, des administrateurs système, des data scientists et des utilisateurs disposant de droits étendus. Les contributeurs techniques intéressés peuvent [https://docs.google.com/forms/d/e/1FAIpQLSf4osJzTHBJjQbYJk7TMVEJjTEQv7IgtsUDfP-o-qTgeRQQxw/viewform postuler à une bourse] pour y participer jusqu'au 21 juin à minuit (heure de la Bolivie, UTC-4).
* Inscrivez-vous aux Wikimania Team Challenges pour participer à cet événement exceptionnel. Les défis par équipe se dérouleront en ligne et en présentiel les 21 et 22 juillet, avant la conférence Wikimania. Tout le monde est le bienvenu, quelles que soient ses compétences ou son inscription à Wikimania. Les équipes travailleront sur 10 défis importants visant à soutenir la communauté Wikimedia. Pour plus de détails, rendez-vous sur [[wmania:Special:MyLanguage/2026:Team challenges|la page des défis par équipe]] et [https://wikimedia.eventyay.com/wm/teamchallenges/ inscrivez-vous ici]. Les inscriptions se terminent le 20 juin à 23 h UTC.
'''''[[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/2026/25|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W25"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15 juin 2026 à 18:48 (CEST)
<!-- Message envoyé par User:UOzurumba (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30689604 -->
== Actualités techniques n° 2026-26 ==
<section begin="technews-2026-W26"/><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/2026/26|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* Les [[mw:Special:MyLanguage/Growth/Feature summary|fonctionnalités de croissance]] sont [[phab:T418115|désormais disponibles sur Wikidata]]. Cette mise à jour permet d'accéder au mentorat ([[mw:Special:MyLanguage/Help:Growth/Mentorship|s'il est configuré]]), au module Impact, au panneau d'aide et à une page d'accueil simplifiée pour les nouveaux arrivants (sans les suggestions de modifications). Les administrateurs de Wikidata continuent de paramétrer ces fonctionnalités via la configuration communautaire.
'''Actualités pour la contribution'''
* La page spéciale [[{{#special:RangeCalculator}}]] a été créée. Elle permet aux utilisateurs de trouver une plage d'adresses IP sans avoir à recourir à des outils externes. Jusqu'à présent, cet outil n'était accessible qu'aux CheckUsers. [https://phabricator.wikimedia.org/T268429]
* Les [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sous-références]] sont une nouvelle fonctionnalité de MediaWiki qui permet aux contributeurs de réutiliser des références en modifiant certains détails. Elle sera déployée le 23 juin, sur la plupart des versions de Wikipédia de petite et moyenne taille. La [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#deployment|FAQ]] répertorie les mesures à prendre sur votre wiki pour faciliter ce déploiement. Consultez le [[:phab:T414094|plan de déploiement]] pour connaître les prochaines étapes. [https://phabricator.wikimedia.org/T428902]
* À partir de la semaine prochaine, les utilisateurs recevront une notification lorsqu'ils seront bloqués ou débloqués pour l'édition, ou si ce blocage venait à changer. [https://phabricator.wikimedia.org/T100974]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:32|la tâche soumise|les {{formatnum:32}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:32||s}} la semaine dernière]].
'''Actualités pour la contribution technique'''
* À partir de la semaine prochaine, les filtres anti-abus configurés pour « exiger une vérification par CAPTCHA » s'appliqueront également aux utilisateurs disposant du droit <code>skipcaptcha</code>, ce qui inclut la plupart des utilisateurs auto-confirmés. Les bots en sont exemptés. Ce changement ne concerne que les modifications qui déclenchent un filtre anti-abus. Le droit <code>skipcaptcha</code> continuera à exempter les utilisateurs de l'obligation de résoudre des CAPTCHA dans le cadre d'une utilisation normale des wikis. [https://phabricator.wikimedia.org/T402595]
* La documentation de référence relative à l'[[wikitech:Machine_Learning/LiftWing/API|API Lift Wing]] a été déplacée du portail API vers le [https://wikitech.wikimedia.org/w/index.php?api=lift-wing&title=Special%3ARestSandbox bac à sable REST] interactif.
* Le wiki du Portail API est désormais fermé. Pour consulter la documentation relative aux API, rendez-vous sur [[mw:Special:MyLanguage/Wikimedia_APIs|Wikimedia APIs sur mediawiki.org]]. À compter du 22 juin, toutes les URL du wiki du Portail API (https://api.wikimedia.org/wiki/) redirigeront vers la page de mediawiki.org. [https://phabricator.wikimedia.org/T427537]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.8|MediaWiki]]
'''Rencontres et évènements'''
* Participez à une visioconférence le 25 juin à 14 h 30 UTC pour rencontrer les stagiaires actuels de Wikimédia participant au [[mw:Google_Summer_of_Code/2026|Google Summer of Code]] et à [[mw:Outreachy/Round_32|Outreachy]]. Les stagiaires présenteront leurs projets et feront une brève démonstration du travail qu'ils ont réalisé jusqu'à présent. Les participants sont invités à [[mw:event:Google_Summer_of_Code/Summer_2026_June_Internship_open_session|partager leurs idées et leurs contacts au sein de leur communauté]].
'''''[[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/2026/26|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W26"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23 juin 2026 à 15:05 (CEST)
<!-- 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=30722494 -->
== RFC about AI-generated content in Wikimedia Commons ==
<bdi lang="en" dir="ltr">Apologies for writing in English, please help translate this message to your language. You are invited to participate in a [[c:Commons:Requests for comment/Policy update for AI content|request for comment on Wikimedia Commons about a policy update for AI content]]. This may affect files that are uploaded to Wikimedia Commons for use on this project. Thank you. [[m:User:Codename Noreste|Codename Noreste]] ([[m:User talk:Codename Noreste|discussion]])</bdi> 23 juin 2026 à 19:11 (CEST)
<!-- Message envoyé par User:Codename Noreste@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 -->
== Intégration du lien vers les contacts juridiques et de sécurité dans le pied de page de votre wiki ==
<section begin="Message"/>
'''Contacts juridiques et de sécurité'''
Bonjour à toute la communauté, la Fondation Wikimedia a mis à disposition une [[wmf:Special:MyLanguage/Legal:Wikimedia Foundation Legal and Safety Contact Information|page unique dédiée aux mentions légales et à la sécurité]], à ajouter en pied de page de votre wiki, afin de garantir l'accès à des informations juridiques exactes. Il s'agit d'une exigence réglementaire. Nous avons déjà mis en place des liens vers les wikis en anglais, allemand, italien, espagnol et d'autres langues de Wikipedia, et nous les déploierons bientôt sur votre wiki. Pour en savoir plus, [[m:Special:MyLanguage/Wikimedia_Foundation_Legal_and_Safety_Contacts_FAQ|consultez la page du projet]] et n'hésitez pas à laisser vos commentaires dans ce fil de discussion ou sur la [[m:Special:MyLanguage/Talk:Wikimedia Foundation Legal and Safety Contacts FAQ|page de discussion]].
<section end="Message"/>
-- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 25 juin 2026 à 15:30 (CEST)
<!-- Message envoyé par User:Sannita (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=User:Sannita_(WMF)/Mass_sending_test&oldid=30731267 -->
== Actualités techniques n° 2026-27 ==
<section begin="technews-2026-W27"/><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/2026/27|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* Dans le cadre des [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|expériences sur la création de comptes]], l'équipe Growth a testé l'ajout d'une icône de compte utilisateur dans l'en-tête du site mobile pour les utilisateurs non connectés, offrant ainsi un accès direct aux actions « Créer un compte » et « Se connecter ». Cette expérience a permis d'augmenter le nombre de créations de comptes d'environ 20 % sans nuire à la qualité des modifications ni au taux de modifications constructives. Cette fonctionnalité sera désormais déployée sur tous les wikis de la Fondation Wikimédia sur le site mobile au cours de la première semaine de juillet. [https://phabricator.wikimedia.org/T428220]
* À la suite d'une [[phab:T426248|expérience concluante]], les utilisateurs connectés qui n'ont pas [[mw:Special:MyLanguage/Help:Email_confirmation|confirmé leur adresse e-mail]] lors de la création de leur compte voient s'afficher une nouvelle bannière leur demandant de finaliser cette procédure. Cela permet de réduire le risque que les utilisateurs se retrouvent bloqués hors de leur compte et rend les adresses e-mail associées aux comptes globalement plus fiables. Cette mesure s'inscrit dans le cadre du projet [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Sécurité des comptes]]. [https://phabricator.wikimedia.org/T428292]
* Une mise à jour de [[Special:Search|Recherche]] affine le comportement de <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> lorsqu'il est utilisé pour exclure des résultats. Auparavant, l'utilisation de <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> avec la négation pouvait élargir involontairement les résultats de recherche en ajoutant les espaces de noms inclus dans le champ de recherche, ce qui entraînait un comportement déroutant pour les utilisateurs s'attendant à un filtre d'exclusion simple. Avec cette mise à jour, <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> exclura désormais strictement les titres de pages correspondants comme prévu et pourra afficher un avertissement si l'espace de noms concerné n'a pas été explicitement sélectionné. Le comportement de <bdi lang="zxx" dir="ltr"><code><nowiki>prefix:</nowiki></code></bdi> sans négation reste toutefois inchangé. [https://phabricator.wikimedia.org/T427443]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:33|la tâche soumise|les {{formatnum:33}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:33||s}} la semaine dernière]]. Par exemple, le problème qui empêchait les réviseurs utilisant la barre d'outils « Page Curation » d'être automatiquement abonnés aux discussions qu'ils avaient lancées sur les pages de discussion a désormais été résolu. Les réviseurs recevront désormais des notifications lorsqu'une personne répondra à ces discussions. [https://phabricator.wikimedia.org/T329346]
'''Actualités pour la contribution technique'''
* À compter du 29 juin, les téléchargements automatisés depuis le site web « dumps.wikimedia.org » seront soumis à la [[Foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|politique relative aux user-agents]]. Les requêtes automatisées utilisant un user-agent générique ou vide seront bloquées. L'accès aux sauvegardes via Wikimedia Cloud Services n'est pas affecté. Cette mesure fait suite à l'annonce publiée dans le [[m:Special:MyLanguage/Tech/News/2026/25|numéro 2026/25 de Tech News]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.9|MediaWiki]]
'''''[[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/2026/27|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W27"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 29 juin 2026 à 13:48 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30744833 -->
== Actualités techniques n° 2026-28 ==
<section begin="technews-2026-W28"/><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/2026/28|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:34|la tâche soumise|les {{formatnum:34}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:34||s}} la semaine dernière]]. Par exemple, les résultats de la barre de recherche sur Wikidata étaient en anglais au lieu d’utiliser la bonne langue de repli pour les utilisateurs de variantes de langues. Ce problème a maintenant été corrigé : les suggestions de recherche suivront désormais correctement la chaîne des langues de repli. [https://phabricator.wikimedia.org/T429769]
'''Actualités pour la contribution technique'''
* En préparation de la [[m:Special:MyLanguage/Event:Celebrate Women|campagne Célébrons les femmes]] prévues pour mars 2027, l’[[m:Special:MyLanguage/Wikimedia Foundation/Advancement/Community Growth/Content Enablement|équipe Activation du contenu]] de Wikimedia Foundation a lancé un sondage composé de 22 questions pour mieux comprendre les contributions techniques des personnes s’identifiant comme femmes sur les projets Wikimedia. Répondre au sondage prend environ 15 à 20 minutes ; il restera ouvert jusqu’au 20 juillet 2026. Les [[m:Special:MyLanguage/Celebrate Women/Technical contributions survey|questions]] sont aussi sur wiki pour les regarder auparavant.
* L’[[mw:Special:MyLanguage/Extension:Score|extension Partitions]] prend désormais en charge le rendu de partition musicales comme images SVG, en plus du format PNG. Cela répond à [[:phab:T49578|une vieille demande]] et résout des problèmes anciens de qualité de l’image. Les deux formats sont désormais fournis aux clients web : PNG dans l’attribut <bdi lang="zxx" dir="ltr"><code><nowiki>src</nowiki></code></bdi> et SVG dans l’attribut <bdi lang="zxx" dir="ltr"><code><nowiki>srcset</nowiki></code></bdi>.
* Le nouvel analyseur syntaxique [[wikitech:Parsoid|Parsoid]] continue [[mw:Special:MyLanguage/Parsoid/Parser_Unification/Updates|d’être déployé sur d’autres wikis]], ce qui rend plus facile l’introduction de nouvelles fonctionnalités de lecture et de modification. Il a été activé sur Wikipédia en français, amenant la couverture totale à 78,9 % des pages vues de Wikipédia. Le déploiement sur Wikipédia en anglais sur ordinateur va progresser cette semaine.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.10|MediaWiki]]
'''En détails'''
* La [[diffblog:2026/06/29/wikimedia-hackathon-2026-building-collaborating-and-shaping-the-future-together/|publication sur le blog récapitulant]] le Hackathon Wikimedia 2026 est désormais en ligne. Il met en avant les projets, séances et activités sociales de l’évènement de cette année et présente les premières grandes lignes du Hackathon Wikimedia 2027.
'''''[[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/2026/28|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W28"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 6 juillet 2026 à 15:56 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30773578 -->
== Actualités techniques n° 2026-29 ==
<section begin="technews-2026-W29"/><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/2026/29|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* [[mw:Special:MyLanguage/Growth/Revise_Tone|Revise Tone]] aide les nouveaux contributeurs à identifier les passages des articles de Wikipédia susceptibles de contenir un langage non encyclopédique et les encourage à envisager d'en réviser le ton. Cette fonctionnalité a fait l'objet d'un [[w:en:A/B_testing|test A/B]] sur les Wikipédias en arabe, en anglais, en français et en portugais, où le taux d'achèvement des tâches par les nouveaux contributeurs [[mw:Special:MyLanguage/Growth/Revise_Tone#Experiment_Results|a augmenté de 38,7 %]] par rapport à la tâche de relecture par défaut, sans que la qualité des modifications n'en soit affectée. Le test s'est achevé le 9 juillet et la fonctionnalité est désormais accessible à tous sur ces wikis ; elle est configurable via la configuration communautaire. [[phab:T426364|Il est prévu]] de déployer « Revise Tone » sur d’autres wikis.
* La configuration communautaire permettant la [[mw:Special:MyLanguage/Help:Growth/Mentorship#Automated mentor list cleanup|suppression automatique des mentors inactifs]] selon des critères configurables sera activée le jeudi 16, [[mw:Special:MyLanguage/Growth/Deployment|sur certains wikis]], afin de maintenir à jour les listes de mentors. Les mentors sont des contributeurs expérimentés qui choisissent d'aider les nouveaux utilisateurs sur le wiki grâce aux [[mw:Special:MyLanguage/Growth/Feature summary|fonctionnalités de croissance]]. Les administrateurs peuvent désormais préparer les paramètres via [[w:Special:CommunityConfiguration/Mentorship|Special:CommunityConfiguration/Mentorship]] ; ces fonctionnalités prendront effet à partir de jeudi.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:38|la tâche soumise|les {{formatnum:38}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:38||s}} la semaine dernière]]. Par exemple, un problème où certains utilisateurs de l'application Android Wikipedia ont été déconnectés immédiatement après leur connexion, les empêchant de rester connectés et de modifier les pages, a maintenant été résolu. [https://phabricator.wikimedia.org/T316916]
'''Actualités pour la contribution technique'''
* La modification d'une page à l'aide de scripts utilisateur ou de gadgets entraînait la réinitialisation des étiquettes de liste de suivi que l'utilisateur avait attribuées à cette page. Ce problème a désormais été résolu. [https://phabricator.wikimedia.org/T423778]
* Pour contourner un bug de Safari (voir [[phab:T425211]]), sur les wikis utilisant Parsoid, wikilink hrefs utilise désormais des URL absolues au lieu d'URL relatives au protocole. La sortie de l'API REST reste inchangée et continue d'utiliser des URL relatives au protocole. Les gadgets, les scripts utilisateur, les bots et les feuilles de style CSS devront probablement être adaptés s'ils s'appuyaient sur la présence d'URL relatives au protocole dans wikilink hrefs. [https://phabricator.wikimedia.org/T431358]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.11|MediaWiki]]
'''En détails'''
* L'équipe chargée de la plateforme d'expérimentation de la Fondation Wikimedia a publié un article de blog faisant le bilan de sa première année d'expérimentation structurée. Cet article met en avant des expériences couronnées de succès, telles que « Paste Check », « Reference Check » et « Tone Check », qui ont permis d'améliorer les résultats des modifications et ont été étendues à un plus grand nombre d'utilisateurs, ainsi que des expériences qui n'ont pas abouti à des changements au niveau du produit. [[diffblog:2026/07/07/moving-the-needle-how-we-test-new-ideas-across-wikimedia-projects|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/2026/29|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W29"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 13 juillet 2026 à 18:11 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30804401 -->
== Actualités techniques n° 2026-30 ==
<section begin="technews-2026-W30"/><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/2026/30|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* L'[[mw:Special:MyLanguage/Reader/Reader Experience|équipe chargée de l'expérience utilisateur]] a pris en compte les commentaires de la communauté concernant l'emplacement des boutons « Watchstar » et « Watchlist » pour la [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|fonctionnalité bêta « Listes de lecture »]], qui permettrait d'enregistrer des articles pour les lire plus tard – un [[m:Special:MyLanguage/Community Wishlist/W102|élément de la liste de souhaits]] visant à intégrer cette fonctionnalité sur le site web. Les contributeurs sont invités à activer cette fonctionnalité bêta pour la tester et [[phab:T426453|partager leurs impressions]].
* Le [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|mode Suggestions]] propose des suggestions d'édition au sein de l'éditeur visuel afin d'améliorer les articles de Wikipédia. [[Special:EditChecks|Toutes les suggestions]] sont [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators – local customization|configurables par la communauté]]. La fonctionnalité [[mw:Special:MyLanguage/Edit check/TextMatch|TextMatch]] permet aux bénévoles de créer des suggestions locales personnalisées. Cette fonctionnalité recherche des chaînes de texte dans les articles et prend désormais en charge les expressions régulières. Cela offre aux bénévoles davantage de précision et de flexibilité quant aux types de suggestions locales qu’ils peuvent créer. Remarque : les suggestions [[mw:Special:MyLanguage/Edit check/Configuration#:~:text=maximumEditcount|peuvent être ciblées]] en fonction du nombre de modifications effectuées par la personne qui édite, ainsi que d’autres aspects de la page. Vous pouvez [[mw:Special:MyLanguage/Help:Suggestion mode#Create custom local types of Suggestions|trouver des exemples provenant d’autres communautés]] pour vous inspirer, notamment des TextMatches qui détectent : les fautes de frappe, les erreurs grammaticales, les publicités potentielles, les clichés, l’utilisation incorrecte des tirets ou des traits d’union, les mots-clés temporels non spécifiques, les noms obsolètes, et bien plus encore. Tout [[mw:Special:MyLanguage/Talk:VisualEditor/Suggestion Mode|retour]] est le bienvenu.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:27|la tâche soumise|les {{formatnum:27}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:27||s}} la semaine dernière]]. Par exemple, un problème lié à l'outil SVG Translate, qui pouvait utiliser une version obsolète d'un fichier, entraînant ainsi le remplacement des traductions existantes lors du téléchargement de nouvelles traductions, a désormais [[phab:T430577|été résolu]]. Au total, au cours du dernier trimestre, d'avril à juin 2026, environ 337 tâches communautaires ont été résolues par la Fondation Wikimedia.
'''Actualités pour la contribution technique'''
* Sur les wikis utilisant Parsoid, ce dernier affiche désormais un maximum de 1 250 images par page. Une nouvelle catégorie de suivi, « media-limit-reached », sera bientôt disponible pour identifier les pages où cette limite est atteinte, ce qui facilitera la recherche des contenus dont l'affichage des médias a pu être restreint lors du rendu. Consultez [[phab:T430854]] pour plus d'informations et pour nous faire part de vos commentaires.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.12|MediaWiki]]
'''''[[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/2026/30|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W30"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21 juillet 2026 à 07:46 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30836091 -->
== Request for comment (the future of Abstract Wikipedia) ==
<bdi lang="en" dir="ltr" class="mw-content-ltr">
Apologies if this has not yet been translated into your wiki's language. {{int:Please-translate}}
You are invited to voice your opinions in a [[:m:Requests for comment/The future of Abstract Wikipedia|request for comment about the future of Abstract Wikipedia]]. {{Int:Feedback-thanks-title}}
[[:m:User:Kowal2701|Kowal2701]] ([[:m:User talk:Kowal2701|talk]]) 24 juillet 2026 à 14:24 (CEST)
</bdi>
<!-- Message envoyé par User:DreamRimmer@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 -->
== <span lang="en" dir="ltr">Tech News: 2026-31</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W31"/><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/2026/31|Translations]] are available.
'''Updates for editors'''
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] [[mw:Special:MyLanguage/ContentTranslation|Content Translation]] now supports dark mode, fulfilling a [[m:Community Wishlist/W544|Community Wishlist request]]. This brings the tool in line with the accessibility features available in the Vector 2022 and Minerva skins, helping reduce visual fatigue for users translating content. [https://phabricator.wikimedia.org/T367077]
* DiscussionTools' source mode and the 2017 wikitext editor will now offer autocomplete for links (<bdi lang="zxx" dir="ltr"><code><nowiki>[[</nowiki></code></bdi>), templates (<bdi lang="zxx" dir="ltr"><code><nowiki>{{</nowiki></code></bdi>), HTML and parser tags (<bdi lang="zxx" dir="ltr"><code><nowiki><</nowiki></code></bdi>), and magic words (<bdi lang="zxx" dir="ltr"><code><nowiki>__</nowiki></code></bdi>), making it quicker and easier to insert links, templates, and other wiki markup while editing. [https://phabricator.wikimedia.org/T432400]
* The [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Readers Growth team]] has concluded its experiment with mobile page previews and will not roll out the feature. Page Previews are a pop-up bottom sheet that appears when readers tap a blue link, showing a thumbnail, lead paragraph, and an option to open the article. The experiment showed flat retention and negative indicator metrics, suggesting that mobile web readers preferred navigating directly to linked articles rather than using page previews.
* The Reader Experience team has seen encouraging early results from the [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists feature]], with 93% of participating users reporting that it was useful. Reading Lists help active readers save articles for future reading and support their learning goals on Wikimedia projects. The team plans further improvements before expanding the feature to more users.
* The [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh|Explore Feed Refresh]] initiative was tested with new and casual Wikipedia app readers. The refreshed feed helps readers discover new and relevant content. After a 10.5% increase in engagement with the feed, Wikimedia Apps team has decided to scale the Home Feed redesign to iOS with the learnings from the Android release applied.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where subject names in the Article Guidance feature were displayed with incorrect capitalization on French Wikipedia, has now been fixed. Subject names will now follow the correct capitalization rules for the language. [https://phabricator.wikimedia.org/T427201]
'''Updates for technical contributors'''
* After running several [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|Account Creation Experiments]] to improve registration completion rates, a new version of the username field on [[Special:CreateAccount|Create Account]] has been rolled out. It includes [[:c:File:Create account - July 2026 updates.png|a popover summarizing the username policy]] to provide clearer guidance during account creation. As part of this change, the messages <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-helpusername</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-help</nowiki></code></bdi> that several communities have configured will no longer be used. If communities want to customize the guidance shown in the new popover, they can instead edit the following messages: <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet1</nowiki></code></bdi>, <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet2</nowiki></code></bdi>, and <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet3</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T430604]
* Later this week, the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror syntax highlighter]] will offer [[w:en:Theme (computing)|themes]]. The themes can be picked from a dropdown menu in the full [[mw:Special:MyLanguage/Help:Extension:CodeMirror#CodeMirror preferences|CodeMirror preferences]] dialog. For wikitext, available themes are default, colorblind-friendly (previously the colorblind preference option on [[Special:Preferences#mw-prefsection-editing]]) and no-highlighting. For code languages (i.e., CSS/JavaScript/JSON/Vue/Lua), there are several themes available. These same themes will eventually be available for wikitext, too. [https://phabricator.wikimedia.org/T163533]
* From now on, wikis can restrict editing in the "User" namespace to only the page owner and certain user groups. [[mw:Special:MyLanguage/Manual:$wgRestrictUserPageEditing|Read the configuration documentation]] to learn more.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.14|MediaWiki]]
'''''[[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/2026/31|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-2026-W31"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 27 juillet 2026 à 20:49 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30856308 -->
== Actualités techniques n° 2026-32 ==
<section begin="technews-2026-W32"/><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/2026/32|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* L’[[mw:Special:MyLanguage/Readers/Reader Experience|équipe Expérience de lecture]] a développé une [https://82db7c8d4b.catalyst.wmcloud.org/w/index.php?title=Regent%27s_Park&uselang=de démonstration d’un correctif] qui entoure la barre d’outils sur deux lignes quand il n’y a pas assez d’espace horizontalement pour tous les boutons. Le but est de réduire l’encombrement de la barre d’outil de Vector 2022 qui se constate parfois sur Wikipédia dans certaines langues avec certaines tailles d’écran. [https://phabricator.wikimedia.org/T429518]
* L’équipe Expérience de lecture prévoit de lancer les [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Listes de lecture]], un [[m:Special:MyLanguage/Community Wishlist Survey 2021/Mobile and apps/Have Apps reading lists available on Destop/Mobile|souhait de la communauté]] que vous pouvez déjà essayer en bêta, à partir de septembre. Mais avant cela, l’aide des traducteurs et traductrices est nécessaire pour [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-readinglists&filter=&action=translate plusieurs messages] à traduire dans un maximum de langues. Cette fonctionnalité appuie les objectifs de lecture et d’apprentissage sur Wikipédia.
* La semaine prochaine, le sommaire sur les pages des fichiers de Wikimedia Commons sera amélioré en fusionnant le sommaire spécifique aux pages de fichier avec le sommaire classique des pages. Cela rendra plus facile la compréhension de la structure des pages de fichier, la navigation vers une section spécifique et le partage de liens vers une section en particulier. [https://phabricator.wikimedia.org/T332644]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:24|la tâche soumise|les {{formatnum:24}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:24||s}} la semaine dernière]]. Par exemple, certaines images [[w:fr:Tagged Image File Format|TIFF]] ne s’affichaient pas après avoir cliqué sur leur vignette : une image cassé s’affichait au lieu de l’image en taille réelle. Ce problème est désormais corrigé. [https://phabricator.wikimedia.org/T429326]
'''Actualités pour la contribution technique'''
* Le sélecteur de variables et de fonctions dans les Filtres anti-abus a été mis à jour pour prendre en charge la recherche et l’autocomplétion. Il permettra désormais aux mainteneurs de filtres de retrouver la variable ou fonction désirée plus rapidement. [https://phabricator.wikimedia.org/T323698]
* Les formats MJPEG et VP8 sont retirés du lecteur vidéo. Le format MP4 (MPEG-4 Partie 2) est ajouté à la place : il fournit une meilleure qualité pour les vieux modèles d’iPhone. Plusieurs semaines seront peut-être nécessaires pour mettre à jour toutes les vidéos déjà en ligne. Le format par défaut pour les appareils modernes ne change pas (VP9/WebM). [https://phabricator.wikimedia.org/T358266]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.15|MediaWiki]]
'''''[[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/2026/32|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W32"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 3 août 2026 à 21:46 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30872536 -->
== Actualités techniques n° 2026-33 ==
<section begin="technews-2026-W33"/><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/2026/33|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Concerne un souhait]] Un nouvel assistant à diagrammes (''ChartWizard'') est [[c:Special:ChartWizard/Data:Example.Pie.chart|désormais disponible sur Wikimedia Commons]] pour les utilisateurs et utilisatrices qui souhaitent créer des graphiques à partir de leurs propres données. Cet assistant rend l’[[mw:Special:MyLanguage/Extension:Chart|extension Chart]] plus accessible aux débutants en permettant la création de diagrammes (par exemple des histogrammes ou des graphiques en secteurs) sans devoir utiliser du JSON. Les utilisateurs peuvent encore repasser à l’éditeur JSON s’ils le préfèrent. Vos retours sur ce nouvel outil sont les bienvenus sur la [[m:Talk:Community Wishlist/W414|page de discussion du souhait]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:19|la tâche soumise|les {{formatnum:19}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:19||s}} la semaine dernière]]. Par exemple, le gadget Photo du jour de l’appli Wikipédia pour iOS affichait par erreur la même image chaque jour au lieu d’en afficher une nouvelle quotidiennement. Cela a désormais été corrigé. [https://phabricator.wikimedia.org/T430692]
'''Actualités pour la contribution technique'''
* Les images SVG de [[mw:Special:MyLanguage/Extension:Math|formules mathématiques]] seront bientôt générées par le navigateur plutôt que côté serveur. MathML continue d’être généré côté serveur et est rendu dans le navigateur sans JavaScript. Ce changement aura lieu sur Wikibooks le 12 aout, sur Wikisource le 19 aout et sur Wikipédia du 20 au 27 aout. Vous pouvez l’essayer en choisissant « {{int:Mw-math-mathjax}} » dans vos préférences. Cela fait partie de la [[mw:Special:MyLanguage/RESTBase/deprecation|dépréciation de RESTBase]] et [[phab:T431372|de celle de Mathoid]]. [https://phabricator.wikimedia.org/T271001]
* <span class="mw-translate-fuzzy">Les pages de catégorie permettront bientôt de trier les pages de la catégorie par ordre chronologique d’ajout dans la catégorie. Cela permettra de retrouver facilement les pages récemment ajoutées ou celles depuis longtemps dans la catégorie. Cela améliorera aussi le traitement des catégories de maintenance, par exemple les demandes de suppression ou d’autres tâches nécessitant un traitement chronologique. Utilisez l’argument <bdi lang="zxx" dir="ltr"><code><nowiki>cldsort=timestamp</nowiki></code></bdi> dans l’URL de la vue d’une catégorie pour trier la liste de pages.</span> [https://phabricator.wikimedia.org/T433768]
* Les [[mw:Special:MyLanguage/Extension:Gadgets|gadgets]] et scripts utilisateur sur les wikis Wikimedia peuvent désormais utiliser les [[phab:T395347|fonctionnalités de ES 2018]] et [[phab:T419142|celles de ES 2019]] dans le code JavaScript. Auparavant, la plateforme n’acceptait qu’ES 2017. MediaWiki valide le code source pour protéger les fonctionnalités d’erreurs de syntaxes et pour vérifier que les scripts sont fonctionnels dans tous [[mw:Special:MyLanguage/Compatibility#Browser_support_matrix|les navigateurs pris en charges]]. [https://phabricator.wikimedia.org/T419142]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.16|MediaWiki]]
'''''[[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/2026/33|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W33"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 10 août 2026 à 22:45 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30901051 -->
== <span lang="en" dir="ltr">Tech News: 2026-34</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W34"/><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/2026/34|Translations]] are available.
'''Weekly highlight'''
* The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Worklist|Worklist feature]] for the Event Registration tool is now live on all Wikimedia wikis. With Worklist, event organizers can add the articles their event will focus on directly to the event page. The Worklist also powers [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Worklist#How Event Pathways uses the worklist|Event Pathways]] which notifies other editors of the upcoming or ongoing event when they edit an article featured in the event's Worklist. This is the minimum viable version (MVP), and feedback is welcome. Organizers are encouraged to try the feature. A hands-on [[m:Special:MyLanguage/Event:Worklist Setup Workshop: Get Your Event Ready|Worklist Setup Workshop]] will take place on 18 August at 16:00 UTC and 19 August at 11:00 UTC.
'''Updates for editors'''
* [[Special:ShortPages]] displays short pages by their size, but in many cases it gets filled with disambiguations and soft redirects, making it harder to find the short articles themselves. Starting this weekend, you will be able to choose not to include an article in the special page by adding the magic word <bdi lang="zxx" dir="ltr"><code><nowiki>__EXPECTSHORTPAGE__</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T433203]
* One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q3436680|Bole]] ([[w:bol:|<bdi lang="zxx" dir="ltr"><code><nowiki>w:bol:</nowiki></code></bdi>]]) [https://phabricator.wikimedia.org/T429921]
* Starting the week of August 17, the page toolbar will wrap onto two lines when there is not enough horizontal space for all the buttons. This is a [[phab:T429518|fully merged patch from the Reader Experience team]] which aims to reduce crowding in the Vector 2022 toolbar, that may occur on some language Wikipedias at certain screen widths.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:16}} community-submitted {{PLURAL:16|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, uploading large files to Wikimedia Commons has become more stable and less prone to failure following some fixes related to the “Could not acquire lock” upload error. [https://phabricator.wikimedia.org/T386640]
'''Updates for technical contributors'''
* Debian Bullseye will reach the end of its Long Term Support on 31 August 2026. [[phab:T434103|Some Cloud VPS projects]] still have instances running Debian Bullseye. Maintainers of those projects are encouraged to migrate to Debian Bookworm or Debian Trixie. A [[wikitech:Help:Cloud VPS instance operating system migration|migration guide]] is available to help with the process, and users may also want to consider whether their workload is better suited to Toolforge. If you need help or cannot complete the migration by 31 August, please contact the Cloud VPS admins as soon as possible. [[listarchive:list/cloud-announce@lists.wikimedia.org/thread/RVIPQSYLKMSL5M46JP6NEJVGVE6I2RXQ/|Read more]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.16|MediaWiki]]
'''''[[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/2026/34|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-2026-W34"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17 août 2026 à 23:03 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30922806 -->
== Actualités techniques n° 2026-35 ==
<section begin="technews-2026-W35"/><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/2026/35|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* La page [[Special:CreateAccount|Spécial:Créer_un_compte]] a été simplifiée dans le cadre des travaux en cours visant à moderniser le processus de création de compte. Le panneau affichant les statistiques du projet n'apparaît plus à côté du formulaire, que ce soit sur ordinateur ou sur mobile. Plusieurs tests portant sur la création de comptes ont montré qu'un formulaire plus simple aidait les nouveaux utilisateurs à mener à bien leur inscription. [https://phabricator.wikimedia.org/T433783]
* Afin d'améliorer les performances de la page, les images ne se chargent désormais que lorsqu'elles sont visualisées. Cela signifie que les images situées plus bas dans un article ne se chargeront pas si le lecteur ne fait jamais défiler la page jusqu'à cette partie, ce qui peut avoir une incidence sur certains indicateurs liés aux images. [https://phabricator.wikimedia.org/T148047]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:42|la tâche soumise|les {{formatnum:42}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:42||s}} la semaine dernière]]. Par exemple, un problème empêchant l'affichage des vignettes d'images sur Abstract Wikipedia après le déplacement du fichier correspondant sur Wikimedia Commons a désormais été résolu. Les vignettes s'actualisent désormais correctement lorsque les fichiers sont déplacés. [https://phabricator.wikimedia.org/T433448]
'''Actualités pour la contribution technique'''
* La fiche d'informations sur l'utilisateur est une fonctionnalité qui permet aux modérateurs de consulter des informations sur les comptes d'utilisateurs. Jusqu'à présent, elle n'était disponible que dans des sections telles que l'historique des pages, les journaux et les modifications récentes. Désormais, il est également possible de [[mw:Special:MyLanguage/Help:Extension:CheckUser#User_Info_card_in_page_content|l'insérer dans le contenu d'une page]] à l'aide de la fonction d'analyse <bdi lang="zxx" dir="ltr"><code><nowiki>{{#uic:}}</nowiki></code></bdi>. Cela peut s'avérer particulièrement utile dans des modèles tels que [[:en:Template:Userlinks|<bdi lang="zxx" dir="ltr"><code><nowiki>{{Userlinks}}</nowiki></code></bdi>]] (ou leurs variantes spécialisées), car cela facilitera la compréhension du contexte relatif à un ou une utilisatrice sur les divers forums communautaires. La fiche ne s'affichera que pour les utilisateurs qui l'ont activée dans leurs [[Special:Preferences#mw-input-wpcheckuser-userinfocard-enable|préférences]]. [https://phabricator.wikimedia.org/T424466]
* En raison des risques liés à la sécurité et à la confidentialité des utilisateurs, nous avons désactivé l'accès aux URL utilisant <bdi lang="zxx" dir="ltr"><code><nowiki>Special:MyPage</nowiki></code></bdi> (Spécial:Ma_page) avec l’argument <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. Si vous êtes concerné par cette mesure, demandez-vous s'il est possible d'adopter une autre approche. Les URL utilisant <bdi lang="zxx" dir="ltr"><code><nowiki>Special:MyPage</nowiki></code></bdi> restent accessibles et utilisables sans <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. Les URL de pages utilisateur spécifiées (par exemple, <bdi lang="zxx" dir="ltr"><code><nowiki>User:Myusername</nowiki></code></bdi>) peuvent toujours être utilisées avec <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T120386]
* Suite à une mise à jour, le logiciel de création de vignettes a été amélioré. En effet, <bdi lang="zxx" dir="ltr"><code><nowiki>librsvg</nowiki></code></bdi> a été mis à jour vers la version 2.60 et <bdi lang="zxx" dir="ltr"><code><nowiki>ImageMagick</nowiki></code></bdi> vers la version 7. Cela a permis la résolution d’un certain nombre de bugs de longue date liés à la création de vignettes, tels que des erreurs de rendu. [https://phabricator.wikimedia.org/T419815#12222841]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.17|MediaWiki]]
'''''[[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/2026/35|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W35"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 24 août 2026 à 22:45 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30961208 -->
== Actualités techniques n° 2026-36 ==
<section begin="technews-2026-W36"/><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/2026/36|D’autres traductions]] sont disponibles.
'''En lumière cette semaine'''
* Un nouveau format pour la liste de souhaits de la communauté est ouvert aux commentaires. Vous pouvez [[m:Special:MyLanguage/Community Wishlist/Community Wishlist 2027|lire les idées proposées sur Meta]]. Ce nouveau processus prévoit d'améliorer la manière dont les souhaits sont triés, votés et priorisés d'une manière transparente et équilibrée entre les familles de projets et les éditions linguistiques. Cette consultation est ouverte pendant deux semaines.
'''Actualités pour la contribution'''
* La dernière version de l'application Wikipédia pour Android comprend des mises à jour de la fonctionnalité «Enregistrés», qui rapprochent l'expérience d'enregistrement de l'application de celle proposée sur iOS et sur le Web. Cette mise à jour repense l'onglet «Enregistrés» en proposant une vue «Tous les articles», supprime la liste de lecture par défaut «Enregistrés», renomme les listes de lecture «Collections» et modernise l'expérience de sauvegarde des articles. [https://phabricator.wikimedia.org/T420788]
* La fonctionnalité [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Listes de lecture]] a été activée pour tous les utilisateurs connectés sur les versions de Wikipédia en bengali, chinois, tchèque et vietnamien le 25 août, après plusieurs mois en tant que fonctionnalité bêta. Les listes de lecture seront disponibles pour tous les utilisateurs connectés sur les versions de Wikipédia en arabe, français et indonésien le 1er septembre, suivies par la Wikipédia en anglais le 14 septembre, et toutes les autres versions de Wikipédia le 28 septembre.
* À la fin du mois, certains lecteurs non connectés sur les versions en bengali, tchèque, persan, anglais et polonais de Wikipédia utilisant l'habillage Minerva sur mobile verront une [[mw:Special:MyLanguage/Readers/Reader_Growth/Minimal_Minerva|barre de navigation mise à jour]] dans le cadre d'un [[w:A/B test|test A/B]]. Le test comparera la barre de navigation actuelle avec une nouvelle version conçue pour faciliter la recherche d'informations plus rapidement. L'objectif est de déterminer si ces changements encouragent les lecteurs à revenir plus souvent. Cette expérience n'aura aucune incidence sur l'expérience des lecteurs et/ou des rédacteurs connectés.
* Les contributeurs qui gèrent les redirections, les modèles et les catégories utilisés sur les pages de redirection disposent désormais de meilleurs moyens pour trouver et organiser les redirections. Auparavant, il n'était pas possible de rechercher les pages de redirection. Deux nouveaux mots-clés de recherche, <bdi lang="zxx" dir="ltr"><code><nowiki>onlyredirects:</nowiki></code></bdi> et <bdi lang="zxx" dir="ltr"><code><nowiki>withredirects:</nowiki></code></bdi>, permettent désormais de rechercher directement les redirections et peuvent être combinés avec des mots-clés existants tels que <bdi lang="zxx" dir="ltr"><code><nowiki>incategory:</nowiki></code></bdi>, <bdi lang="zxx" dir="ltr"><code><nowiki>intitle:</nowiki></code></bdi> et <bdi lang="zxx" dir="ltr"><code><nowiki>insource:</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T204089]
* Les outils de recherche ISBN pour générer des citations ne fonctionnaient pas récemment en raison de problèmes de service externe. Les développeurs travaillent sur des solutions. [https://phabricator.wikimedia.org/T435179]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:30|la tâche soumise|les {{formatnum:30}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:30||s}} la semaine dernière]]. Par exemple, un problème où la recherche de pages par catégorie à l'aide de <bdi lang="zxx" dir="ltr"><code><nowiki>deepcat</nowiki></code></bdi> pouvait ne renvoyer aucun résultat ou des résultats sans rapport a été corrigé. [https://phabricator.wikimedia.org/T414859]
'''Actualités pour la contribution technique'''
* Le domaine des URL pour les miniatures passe de upload.wikimedia.org à thumb.wikimedia.org. Les anciennes URL continueront de fonctionner pour le moment, mais MediaWiki utilisera le nouveau domaine à la place. Les URL vers d'autres types de médias tels que les fichiers originaux, les vidéos et les transcodages seront toujours servies depuis upload.wikimedia.org. [https://phabricator.wikimedia.org/T427465]
* L'API Math de Wikimédia [https://www.mediawiki.org/w/index.php?api=wmf-math%2Fv1&title=Special%3ARestSandbox] est désormais obsolète. Ces points de terminaison seront complètement arrêtés d’ici la fin de septembre 2026. Les développeurs qui appellent ces points de terminaison devraient passer à des solutions alternatives de rendu mathématique, telles que le [https://developer.mozilla.org/en-US/docs/Web/MathML MathML] natif ou [https://www.mathjax.org/ MathJax]. Les installations tierces de MediaWiki utilisant l'extension Math pour le rendu des formules doivent effectuer une mise à jour vers la version 1.43+ afin d'éviter toute interruption de service.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.18|MediaWiki]]
'''En détails'''
* Lisez-en plus sur [[mw:Special:MyLanguage/Edit_check/TextMatch|TextMatch]] dans un article de Diff intitulé [[diffblog:2026/08/28/custom-edit-suggestions-for-every-wiki-how-communities-are-shaping-suggestion-mode-with-textmatch/|Suggestions de modifications personnalisées pour chaque wiki : comment les communautés façonnent le mode Suggestion avec TextMatch]].
'''''[[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/2026/36|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W36"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 31 août 2026 à 22:53 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30990659 -->
== Actualités techniques n° 2026-37 ==
<section begin="technews-2026-W37"/><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/2026/37|D’autres traductions]] sont disponibles.
'''Actualités pour la contribution'''
* La fonctionnalité [[mw:Special:MyLanguage/Help:Growth/Tools/Add_a_link|Ajouter un lien]] a été améliorée pour les utilisateurs de Wikipédia en anglais, avec une meilleure détection des liens présentant des différences de majuscules. Cela permettra de réduire les suggestions ambiguës dues aux différences de majuscules dans les titres d'articles, notamment ceux consacrés aux biens culturels. Une deuxième phase d'améliorations est prévue, qui permettra également de préparer cette fonctionnalité en vue de son déploiement dans d'autres langues. [https://phabricator.wikimedia.org/T435526#12240876] [https://phabricator.wikimedia.org/T434259]
* La fonctionnalité [[mw:Special:MyLanguage/Article_guidance|Guide des articles]] sera activée par défaut pour les contributeurs débutants sur Wikipédia en anglais simplifié et en turc à compter du 10 septembre 2026, à la suite d'[[mw:Special:MyLanguage/Article_guidance/Updates#Summary_of_experiment_result|une expérience]]. Les contributeurs débutants ayant effectué entre 0 et 99 modifications verront automatiquement s'afficher cette fonctionnalité lorsqu'ils cliqueront sur un lien rouge ou utiliseront l'option « [[tr:Vikipedi:Madde_sihirbazı|Madde oluşturto]] » sur Wikipédia en turc pour créer un nouvel article. Ce changement vise à aider les contributeurs débutants à créer des articles de meilleure qualité, conformes aux normes de chaque Wikipédia. [[phab:maniphest/query/z3tcTjmLMxk5/#R|D'autres améliorations]] seront apportées en fonction des résultats de l'expérience et des retours de la communauté.
* L'outil [https://pageviews.wmcloud.org « Analyse des pages vues »], qui permet aux utilisateurs de comparer le nombre de pages vues sur plusieurs pages, fête cette année ses 10 ans et s'est enrichi de plusieurs nouvelles fonctionnalités. Parmi celles-ci figurent [[toolforge:wikinav|WikiNav]], qui donne un aperçu de la manière dont les lecteurs de Wikipédia explorent le contenu, les statistiques d'édition dans [https://pageviews.wmcloud.org/siteviews?range=latest-30&sites=en.wikipedia.org « Vues du site »], la possibilité de [https://pageviews.wmcloud.org/massviews?source=wikiproject&project=en.wikipedia.org rechercher des articles appartenant à un projet Wiki] et la prise en charge du mode sombre. [https://phabricator.wikimedia.org/T378549]
* Une barre de navigation [[mw:Special:MyLanguage/Readers/Reader_Growth/Minimal_Minerva|Minerva, visuellement simplifiée]] est actuellement testée auprès des lecteurs non connectés utilisant la version mobile des Wikipédias en bengali, tchèque, anglais, farsi et polonais. Cette expérience vise à déterminer si la simplification de la navigation permet de fidéliser davantage les lecteurs. Le test se déroulera du 31 août au 28 septembre et ne nécessite aucune intervention de la part des utilisateurs.
* [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] travaille à l'amélioration des [[en:Wikipedia:VisualEditor/Named references|noms de référence générés automatiquement dans VisualEditor]]. Les contributeurs ne remarqueront qu'un léger changement à partir de cette semaine. Lors de l'ajout de noms de référence automatiques, la numérotation commencera par <bdi lang="zxx" dir="ltr"><code><nowiki>:1</nowiki></code></bdi> au lieu de <bdi lang="zxx" dir="ltr"><code><nowiki>:0</nowiki></code></bdi>. Pour en savoir plus, consultez la [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|page du projet]]. [https://gerrit.wikimedia.org/r/c/VisualEditor/VisualEditor/+/1332704]
* Tous les wikis seront [[m:Special:MyLanguage/Tech/Server switch|en lecture seule pendant quelques minutes]] le 23 septembre. Cette opération est prévue à 14h UTC. De plus amples informations seront publiées dans la rubrique « Tech News » et seront également mises en ligne sur chaque wiki au cours des prochaines semaines. [https://phabricator.wikimedia.org/T433363]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Voir {{PLURAL:25|la tâche soumise|les {{formatnum:25}} tâches soumises}} par la communauté [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|résolue{{PLURAL:25||s}} la semaine dernière]]. Par exemple, un problème lié au fait que [[mw:Special:MyLanguage/Parsoid|Parsoid]] pouvait mal gérer les balises nowiki imbriquées, entraînant la perte de contenu et l'affichage de texte indésirable, a désormais été corrigé. [https://phabricator.wikimedia.org/T435116]
'''Actualités pour la contribution technique'''
* Les administrateurs de l'interface peuvent configurer les gadgets à partir de [[MediaWiki:Gadgets-definition]]. Le format de définition a été mis à jour et ne nécessite plus l'option <bdi lang="zxx" dir="ltr"><code><nowiki>ResourceLoader</nowiki></code></bdi>, car les gadgets sont toujours chargés via <bdi lang="zxx" dir="ltr"><code><nowiki>ResourceLoader</nowiki></code></bdi>. Cela simplifie la configuration des gadgets en supprimant une option qui n'est plus nécessaire, ce qui facilite la tâche des administrateurs lors de la définition des gadgets. [https://phabricator.wikimedia.org/T298199]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Sujet récurrent]] Détail des mises-à-jour à venir cette semaine : [[mw:MediaWiki 1.47/wmf.19|MediaWiki]]
'''''[[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/2026/37|Traduire]] • [[m:Tech|Obtenir de l’aide]] • [[m:Talk:Tech/News|Donner son avis]] • [[m:Global message delivery/Targets/Tech ambassadors|S’abonner ou se désabonner]].''
</div><section end="technews-2026-W37"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 7 septembre 2026 à 20:44 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=31008437 -->
== <span lang="en" dir="ltr">Tech News: 2026-38</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W38"/><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/2026/38|Translations]] are available.
'''Weekly highlight'''
* The Future Audiences team has started a [[en:Special:MyLanguage/Wikipedia:Village pump (proposals)#New proposed experiment to let readers know about “Google preferred sources”|discussion on English Wikipedia]] about a proposed new experiment to show a temporary notice about the new [https://blog.google/products-and-platforms/products/search/original-high-quality-content-search/ Google Preferred Sources] feature to Wikipedia readers coming from Google. The experiment is to test whether this notice makes visitors come back to Wikipedia more often. Preferred Sources feature lets users choose websites they trust so Google can highlight content from those sources more prominently in Search and AI experiences. We are interested in testing this on other languages that Google supports and would welcome assistance with starting conversations on other wikis. If interested, please reach out to Future Audiences on the [[m:Special:MyLanguage/Future Audiences/Preferred sources|talk page]].
'''Updates for editors'''
* The chat platform Discord is releasing a new self-service framework that websites can use to specify how their links should look when shared on Discord. The Future Audiences team is planning to start using this new framework to improve how Wikipedia links look when shared on Discord, giving better attribution and credit to contributors. The link appearance and behavior won't change in the first phase of this project as we want to first collect some baseline data to assess the impact of future changes. However, if community members who are active on Discord spot any issues, they can reach out on [[phab:tag/future-audiences/|Phabricator]] or [[m:Special:MyLanguage/Future Audiences|Metawiki]].
* The Reader Growth team will be running an experiment to test whether [[mw:Special:MyLanguage/Readers/Reader_Growth/Compact Lead|compacting article lead sections on mobiles]] with the addition of a "read more" button improves reader retention. The test will begin on September 17 on Arabic, Spanish, French, Indonesian, Italian, Japanese, Portuguese, Vietnamese, and Chinese Wikipedias and will run for four weeks.
* All wikis will be [[m:Special:MyLanguage/Tech/Server switch|read-only for a few minutes]] on September 23. This is planned at 14:00 UTC. More information will be published in Tech News and will also be posted on individual wikis in the coming week. [https://phabricator.wikimedia.org/T433363]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where [https://wikistats.wmcloud.org/ Wikistats] for Wikipedias was returning an HTTP 500 error and could not be reached, has now been fixed. [https://phabricator.wikimedia.org/T435959]
'''Updates for technical contributors'''
* Developers who maintain a tool that queries the Wikimedia Commons links tables need to update their code to connect to the new x4 database cluster. The links tables have been moved from the s4 cluster to x4, and will no longer receive updates on s4. The page and redirect tables remain available on both clusters. A wiki replica for the x4 cluster will be set up afterwards. The change is being made because the s4 cluster has grown too large to operate efficiently. You can [[wikitech:Special:MyLanguage/News/2026 Commons links tables database split|read more]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.20|MediaWiki]]
'''''[[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/2026/38|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-2026-W38"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14 septembre 2026 à 17:31 (CEST)
<!-- Message envoyé par User:STei (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=31039826 -->
== Bascule de serveur : votre wiki sera bientôt en lecture seule durant un court instant ==
<section begin="server-switch"/><div class="plainlinks">
[[:m:Special:MyLanguage/Tech/Server switch|Lire ce message dans une autre langue]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}]
La [[foundation:|Fondation Wikimédia]] va basculer le trafic entre ses centres de données. Cela permettra de s’assurer que Wikipédia et les autres wikis de Wikimédia peuvent rester en ligne même après une catastrophe.
Le trafic sera basculé le '''{{#time:j xg|2026-09-23|fr}}'''. La bascule débutera à '''[https://zonestamp.toolforge.org/{{#time:U|2026-09-23T14:00|en}} {{#time:H:i e|2026-09-23T14:00}}]'''.
Malheureusement, en raison de certaines limites de [[mw:Special:MyLanguage/Manual:What is MediaWiki?|MediaWiki]], toutes les modifications de pages devront être arrêtées durant le passage d’un centre de données à l’autre. Nous nous excusons pour ce dérangement, que nous nous efforçons de réduire pour le futur.
Une bannière sera affichée sur tous les wikis 30 minutes avant le début de l’opération. Cette bannière restera visible jusqu’à la fin de l’opération.
Vous pouvez contribuer à la [https://meta.wikimedia.org/w/index.php?title=Special%3ATranslate&group=Centralnotice-tgroup-read_only_banner&task=view&language=&filter=&action=translate traduction ou relecture] du texte de cette bannière.
'''Pendant une courte période, vous pourrez lire les wikis mais pas les modifier.'''
* Vous ne pourrez pas effectuer de modification pendant une durée pouvant aller jusqu’à une heure, le {{#time:l j xg Y|2026-09-23|fr}}.
* Si vous essayez de faire une modification ou de sauvegarder pendant cette période, vous verrez un message d’erreur. Nous espérons qu’aucune modification ne sera perdue durant ce temps, mais nous ne pouvons le garantir. Si vous voyez un message d’erreur, merci de patienter jusqu’au retour à la normale. Vous pourrez alors enregistrer votre modification. Nous vous conseillons cependant de faire une copie de votre modification avant, au cas où.
''Autres conséquences :''
* Les tâches de fond seront ralenties et certaines pourraient être stoppées. Les liens rouges ne seront pas mis à jour aussi vite que d’habitude. Si vous créez un article qui est déjà lié depuis une autre page, le lien rouge pourrait rester rouge plus longtemps que d’habitude. Certains scripts ayant un long temps d’exécution devront être stoppés.
* Le déploiement de code devrait se dérouler comme chaque semaine. Cependant, certains codes particuliers pourraient être gelés si l’opération le nécessitait.
* [[mw:Special:MyLanguage/GitLab|GitLab]] sera indisponible durant environ 90 minutes.
Ce projet pourra être reporté si nécessaire. Vous pouvez [[wikitech:Switch_Datacenter|consulter le calendrier sur wikitech.wikimedia.org]]. Tout changement sera annoncé dans le calendrier.
'''Merci de partager ces informations avec votre communauté.'''</div><section end="server-switch"/>
[[m:user:Trizek (WMF)|Trizek (WMF)]] 15 septembre 2026 à 14:58 (CEST)
<!-- Message envoyé par User:Trizek (WMF)@metawiki en utilisant la liste sur https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=30513874 -->
d6wzoogux5btql5g97s0dbx1ow3c4l6
Wikilivres:Prise de décision/Modifier le contenue de l'espace Nouveautés
4
84498
772250
771853
2026-09-16T09:53:38Z
Lionel Scheepmans
20012
/* Présentation */ Réponse
772250
wikitext
text/x-wiki
{{Prise de décision}}
==Présentation==
'''Le problème :'''
Actuellement, dans l'espace "Nouveautés" il y a de nombreux livres qui ne sont plus des nouveaux livres. Cette espace pourrait continuer à mettre en avant les nouveaux livres pendant 1 mois, mais aussi des livres non terminés mais particulièrement actifs. Ils pourraient y rester 1 an, 2 ans, ... tant qu'ils ne seront pas considérés comme terminés par leurs auteurs. Aucune modification technique ne sera nécessaire, juste un choix judicieux de livres.
'''La solution :'''
* a) Je vais donc supprimer le modèle nouveau livres pour les livres de plus d'un mois. [[Modèle:Nouveau livre|Modèle:Nouveau livre]]
* b) Je vais laisser le livre [[Chanter les psaumes|Chanter les psaumes]] comme exemple de livre non terminé, mais particulièrement actif.
.
Cette page [https://fr.wikibooks.org/wiki/Utilisateur:Xhungab '''Wikibook'''] propose la proposition mise en page.
Merci de m'avoir suivie jusqu'ici. [[Utilisateur:Xhungab|Xhungab]] ([[Discussion utilisateur:Xhungab|discussion]]) 9 septembre 2026 à 14:20 (CEST)
:Je pense que le problème principal de Wikilivres est un manque de dynamisme lié à une communauté relativement restreinte et relativement peu interactive.
:Par définition, une rubrique nouveauté doit faire l'objet d'une mise à jour régulière. Ce qui demande un investissement de la communauté avec des échanges et des propositions. Réorganiser cet espace est donc une manière de redynamiser notre projet.
:Il est important qu'une vie communautaire se développe dans notre projet. Merci donc aussi à toi @[[Utilisateur:Xhungab|Xhungab]] de t'investir dans tous ces changements ! [[User:Lionel Scheepmans|Lionel Scheepmans]] <sup><big>✉</big> [[User talk:Lionel Scheepmans|Contact]]</sup> <sub>Désolé pour ma [[w:dysorthographie|dysorthographie]], [[w:dyslexie|dyslexie]] et [[wikt:distraction|"dys"traction]].</sub> 16 septembre 2026 à 11:53 (CEST)
== Discussions ==
== Votes ==
Votez {{m|Pour}} / {{m|Contre}} / {{m|Neutre}}, avec vos arguments.
# {{Pour}} Très bonne proposition. [[Utilisateur:Xhungab|Xhungab]] ([[Discussion utilisateur:Xhungab|discussion]]) 9 septembre 2026 à 14:20 (CEST)
== Décision ==
.
9k2x6cae9cq1hhqv74wqin0jfuna5kd
772251
772250
2026-09-16T09:57:55Z
Lionel Scheepmans
20012
/* Votes */
772251
wikitext
text/x-wiki
{{Prise de décision}}
==Présentation==
'''Le problème :'''
Actuellement, dans l'espace "Nouveautés" il y a de nombreux livres qui ne sont plus des nouveaux livres. Cette espace pourrait continuer à mettre en avant les nouveaux livres pendant 1 mois, mais aussi des livres non terminés mais particulièrement actifs. Ils pourraient y rester 1 an, 2 ans, ... tant qu'ils ne seront pas considérés comme terminés par leurs auteurs. Aucune modification technique ne sera nécessaire, juste un choix judicieux de livres.
'''La solution :'''
* a) Je vais donc supprimer le modèle nouveau livres pour les livres de plus d'un mois. [[Modèle:Nouveau livre|Modèle:Nouveau livre]]
* b) Je vais laisser le livre [[Chanter les psaumes|Chanter les psaumes]] comme exemple de livre non terminé, mais particulièrement actif.
.
Cette page [https://fr.wikibooks.org/wiki/Utilisateur:Xhungab '''Wikibook'''] propose la proposition mise en page.
Merci de m'avoir suivie jusqu'ici. [[Utilisateur:Xhungab|Xhungab]] ([[Discussion utilisateur:Xhungab|discussion]]) 9 septembre 2026 à 14:20 (CEST)
:Je pense que le problème principal de Wikilivres est un manque de dynamisme lié à une communauté relativement restreinte et relativement peu interactive.
:Par définition, une rubrique nouveauté doit faire l'objet d'une mise à jour régulière. Ce qui demande un investissement de la communauté avec des échanges et des propositions. Réorganiser cet espace est donc une manière de redynamiser notre projet.
:Il est important qu'une vie communautaire se développe dans notre projet. Merci donc aussi à toi @[[Utilisateur:Xhungab|Xhungab]] de t'investir dans tous ces changements ! [[User:Lionel Scheepmans|Lionel Scheepmans]] <sup><big>✉</big> [[User talk:Lionel Scheepmans|Contact]]</sup> <sub>Désolé pour ma [[w:dysorthographie|dysorthographie]], [[w:dyslexie|dyslexie]] et [[wikt:distraction|"dys"traction]].</sub> 16 septembre 2026 à 11:53 (CEST)
== Discussions ==
== Votes ==
Votez {{m|Pour}} / {{m|Contre}} / {{m|Neutre}}, avec vos arguments.
# {{Pour}} Très bonne proposition. [[Utilisateur:Xhungab|Xhungab]] ([[Discussion utilisateur:Xhungab|discussion]]) 9 septembre 2026 à 14:20 (CEST)
# {{Pour}} Je suis favorable à toute proposition qui permet de redynamiser le projet, tout en sachant que l'on peut toujours améliorer les modifications par la suite. [[User:Lionel Scheepmans|Lionel Scheepmans]] <sup><big>✉</big> [[User talk:Lionel Scheepmans|Contact]]</sup> <sub>Désolé pour ma [[w:dysorthographie|dysorthographie]], [[w:dyslexie|dyslexie]] et [[wikt:distraction|"dys"traction]].</sub> 16 septembre 2026 à 11:57 (CEST)
== Décision ==
.
82f0pff5rliglq4wilquisjmaoyvaar
772254
772251
2026-09-16T10:46:18Z
Xhungab
23827
/* Présentation */ Réponse
772254
wikitext
text/x-wiki
{{Prise de décision}}
==Présentation==
'''Le problème :'''
Actuellement, dans l'espace "Nouveautés" il y a de nombreux livres qui ne sont plus des nouveaux livres. Cette espace pourrait continuer à mettre en avant les nouveaux livres pendant 1 mois, mais aussi des livres non terminés mais particulièrement actifs. Ils pourraient y rester 1 an, 2 ans, ... tant qu'ils ne seront pas considérés comme terminés par leurs auteurs. Aucune modification technique ne sera nécessaire, juste un choix judicieux de livres.
'''La solution :'''
* a) Je vais donc supprimer le modèle nouveau livres pour les livres de plus d'un mois. [[Modèle:Nouveau livre|Modèle:Nouveau livre]]
* b) Je vais laisser le livre [[Chanter les psaumes|Chanter les psaumes]] comme exemple de livre non terminé, mais particulièrement actif.
.
Cette page [https://fr.wikibooks.org/wiki/Utilisateur:Xhungab '''Wikibook'''] propose la proposition mise en page.
Merci de m'avoir suivie jusqu'ici. [[Utilisateur:Xhungab|Xhungab]] ([[Discussion utilisateur:Xhungab|discussion]]) 9 septembre 2026 à 14:20 (CEST)
:Je pense que le problème principal de Wikilivres est un manque de dynamisme lié à une communauté relativement restreinte et relativement peu interactive.
:Par définition, une rubrique nouveauté doit faire l'objet d'une mise à jour régulière. Ce qui demande un investissement de la communauté avec des échanges et des propositions. Réorganiser cet espace est donc une manière de redynamiser notre projet.
:Il est important qu'une vie communautaire se développe dans notre projet. Merci donc aussi à toi @[[Utilisateur:Xhungab|Xhungab]] de t'investir dans tous ces changements ! [[User:Lionel Scheepmans|Lionel Scheepmans]] <sup><big>✉</big> [[User talk:Lionel Scheepmans|Contact]]</sup> <sub>Désolé pour ma [[w:dysorthographie|dysorthographie]], [[w:dyslexie|dyslexie]] et [[wikt:distraction|"dys"traction]].</sub> 16 septembre 2026 à 11:53 (CEST)
::Merci pour ton aide.[[Utilisateur:Xhungab|Xhungab]] ([[Discussion utilisateur:Xhungab|discussion]]) 16 septembre 2026 à 12:46 (CEST)
== Discussions ==
== Votes ==
Votez {{m|Pour}} / {{m|Contre}} / {{m|Neutre}}, avec vos arguments.
# {{Pour}} Très bonne proposition. [[Utilisateur:Xhungab|Xhungab]] ([[Discussion utilisateur:Xhungab|discussion]]) 9 septembre 2026 à 14:20 (CEST)
# {{Pour}} Je suis favorable à toute proposition qui permet de redynamiser le projet, tout en sachant que l'on peut toujours améliorer les modifications par la suite. [[User:Lionel Scheepmans|Lionel Scheepmans]] <sup><big>✉</big> [[User talk:Lionel Scheepmans|Contact]]</sup> <sub>Désolé pour ma [[w:dysorthographie|dysorthographie]], [[w:dyslexie|dyslexie]] et [[wikt:distraction|"dys"traction]].</sub> 16 septembre 2026 à 11:57 (CEST)
== Décision ==
.
59nnap7z99ayrtqwo8w9z5erwomnpnp