Wikilivres frwikibooks https://fr.wikibooks.org/wiki/Accueil MediaWiki 1.47.0-wmf.12 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 Mathc matrices/Sommaire 0 69175 769610 769516 2026-07-20T12:20:07Z Xhungab 23827 769610 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] : * [[Mathc matrices/Introduction|Introduction]] ---- ---- : {{Partie{{{type|}}}| '''Propriétés et Applications'''}} {| class="wikitable" |+ |- | '''Utilitaires pour Octave''' * [[Mathc matrices/a27| Fonctions pour les matrices]] * [[Mathc matrices/04g| Le code de quelques fonctions]] * [[Mathc matrices/03b| Utilitaires graphiques]] * [[Mathc matrices/04m| Exemples d'applications]] * [[Mathc matrices/04l| Ecrire des fonctions mathématiques]] || '''Utilitaires pour le langage C''' * [[Mathc matrices/a33|'''Utilitaires pour le langage C''']] *. *. *. *. |- | '''Les matrices''' [https://youtube.com/playlist?list=PLi6peGpf8EPOx2Pm_rspnagtdkBYe1t6J&feature=shared '''Playlist'''] : * [[Mathc matrices/05q|Créer une matrice ]] : * [[Mathc matrices/e12d2|Afficher une matrice ]] : * [[Mathc matrices/a03c|Afficher une matrice dans un fichier]] : * [[Mathc matrices/Fichiers c : mul_tran|Afficher une matrice pour Octave:]] : * [[Mathc matrices/a07|Copier une matrice]] : * [[Mathc matrices/c12eb1|Matrices aléatoires]] : * [[Mathc matrices/01p|Éntrez vos données]] : * [[Mathc matrices/c12bn|Tableaux de matrices]] : * [[Mathc matrices/a94|Afficher des vecteurs d'une colonne]] : : '''Opérations de bases''' : * [[Mathc matrices/c12ea2|Opérations sur les matrices]] : * [[Mathc matrices/c12ea1|La fonction trace_R();]] : * [[Mathc matrices/03o|La fonction transpose_R();]] *. *. *. *. *. *. : : || '''Les matrices spécifiques''' : * [[Mathc matrices/c12fn17|Matrice identité]] : * [[Mathc matrices/c12b8|Matrices triangulaires]] : * [[Mathc matrices/e02a|Matrices commutatives]] : * [[Mathc matrices/a90|Matrices semblables]] : * [[Mathc matrices/c12b3|Matrices symétriques]] : * [[Mathc matrices/c12b1|Matrices anti-symétriques]] : * [[Mathc matrices/02h|Matrice centrosymétrique]] : * [[Mathc matrices/02v|Matrices définies positives]] : * [[Mathc matrices/09n|Matrice de Gram]] : * [[Mathc matrices/09o|1/2 int(P1 P2, x= -1..1)]] : * [[Mathc matrices/035|Matrices définies négatives]] : * [[Mathc matrices/008|Matrices de Hankel]] : * [[Mathc matrices/009|Matrices de Toeplitz]] : * [[Mathc matrices/09i|Matrices de Markov]] : * [[Mathc matrices/a76|La fonction exponentielle]] : : '''Application Graphiques''' : * [[Mathc matrices/e02|Matrices de transformation [2x2]]] : * [[Mathc matrices/a133|Matrices de transformation [3x3]]] : : |- | '''Déterminant''' [https://youtube.com/playlist?list=PLi6peGpf8EPO6GuKOJERdVXKu_zdExd9_&si=1P0vkGzm5Mrf9Vf2 '''Playlist'''] : * [[Mathc matrices/b03|Le déterminant]] : * [[Mathc matrices/Fichiers c : fp_e_mr| Opérations élémentaires]] : * [[Mathc matrices/e12d9|Les fonctions intermédiaires]] : * [[Mathc matrices/c21n|Quelque propriétés ]] : : '''Applications en mathématique ''' : * [[Mathc matrices/149|Matrice Adjointe]] : * [[Mathc matrices/e12d7|L'inverse par le déterminant]] ; * [[Mathc matrices/a235|Produit en croix]] : : || '''Applications en géométrie ''' : * [[Mathc matrices/25a|L'équation d'une droite]] : * [[Mathc matrices/25b|L'équation d'un plan]] : * [[Mathc matrices/25c|L'équation d'une parabole]] : * [[Mathc matrices/25d|L'équation d'un cercle]] : * [[Mathc matrices/25e|L'équation d'une sphère]] * . * . * . * . : : |- | '''Gauss-Jordan ''' [https://youtube.com/playlist?list=PLi6peGpf8EPODYQZ0fosFTZZqKB9-CkHi '''Playlist'''] : * [[Mathc matrices/a205|Gauss-Jordan Total Pivoting]] : * [[Mathc matrices/a207|L'inverse]] : : '''Application ''' : * [[Mathc matrices/a209|Analyse d'un '''réseau''']] : * [[Mathc matrices/a216|Analyse d'un circuit '''électrique''']] : : '''Applications en géometrie ''' : * [[Mathc matrices/26a|L'équation d'un '''polynôme''']] : * [[Mathc matrices/26b|L'équation d'un '''conique''']] : * [[Mathc matrices/26c|L'équation d'un '''cercle''']] : : '''Applications en mathématique ''' : * [[Mathc matrices/a208|Systèmes '''non linéaire''' ]] : * [[Mathc matrices/a32|Choisir les solutions d'un système]] : : || '''Gauss-Jordan Partial Pivoting ''' : * [[Mathc matrices/a203|Gauss-Jordan Partial Pivoting]] : * [[Mathc matrices/a204|Variables libres]] : : '''Application ''' : * [[Mathc matrices/a201|Équation '''chimique''']] : : '''Applications mathématiques ''' : * [[Mathc matrices/c21s|Trouver une base pour ...]] : * [[Mathc matrices/c24f|Matrices de changement de base]] : * [[Mathc matrices/c24k|Matrice d'une application linéaire]] : * [[Mathc matrices/e05b|Projection sur un sous-espace vectoriel]] *. *. *. *. : : |- | '''Produits scalaires''' [https://youtube.com/playlist?list=PLi6peGpf8EPM0AMbdj2DOnyFYP97-93Ry '''Playlist'''] : * [[Mathc matrices/Fichiers h : a03d0|Produit scalaire]] : * [[Mathc matrices/e05c| Quelques Propriétés]] : * [[Mathc matrices/08o| Calculer les vecteurs orthogonaux]] : : '''Orthogonalisation ''' : * [[Mathc matrices/e05a|Les matrices ortho'''normales''']] : * [[Mathc matrices/c25b|Quelques '''propriétés''']] : : '''La QR Décompositions ''' : * [[Mathc matrices/c12an8|'''La QR décomposition:''']] : : '''Application ''' : * [[Mathc matrices/c22m|Analyse d'un réseau]] : * [[Mathc matrices/c22t|Analyse d'un circuit électrique]] : : '''Applications en mathématique ''' : * [[Mathc matrices/00u|Les coefficients d'un polynôme]] : * [[Mathc matrices/00z|Les coefficients d'un conique]] : * [[Mathc matrices/c23l|Les coefficients d'un cercle]] : * . : * . : * . : : || '''Vecteurs propres ''' : * [[Mathc matrices/e12d6|Vecteurs et valeurs propres]] : * [[Mathc matrices/a147|Quelques '''propriétés''']] : * [[Mathc matrices/03h|Valeurs propres '''multiples'''.]] : : '''Applications en mathématique ''' : * [[ Mathc matrices/01z|Conditionnement matriciel]] : * [[Mathc matrices/e050c|'''Fonctions matricielles''']] : * [[Mathc matrices/09b|'''Système dynamique linéaire discret''']] : * [[Mathc matrices/a29|La décomposition spectral]] : : '''Applications graphique ''' : * [[Mathc matrices/060|'''Formes quadratiques : 2D''']] ; * [[Mathc matrices/061|'''Formes quadratiques : 3D''']] : * [[Mathc matrices/08p| '''Choisir''' les valeurs propres]] : * [[Mathc matrices/03g|'''Projection du plan'''(1)]] : * [[Mathc matrices/08u|'''Projection du plan'''(2)]] : * [[Mathc matrices/a257|'''Projection de l'espace'''(1)]] : * [[Mathc matrices/090|'''Projection de l'espace'''(2)]] : * [[Mathc matrices/062|''' Projection de l'hyperespace'''(1)]] : * [[Mathc matrices/096|'''Projection de l'hyperespace'''(2)]] : : |- | '''Valeurs singulière''' : * [[Mathc matrices/c12an7|Calculer les Valeurs Singulières]] : : '''SVD décomposition''' : * [[Mathc matrices/e12a|Plus de lignes que de colonnes]] : * [[Mathc matrices/02q|Quelques propriétés ]] : * [[Mathc matrices/e12b|Plus de colonnes que de lignes]] *. *. *. *. : : || '''Pseudo inverse: ''' : * [[Mathc matrices/26d|'''Pseudo inverse:''']] : : '''Application ''' : * [[Mathc matrices/00t|Analyse d'un réseau]] : * [[Mathc matrices/00i|Analyse d'un circuit électrique]] : : '''Applications en mathématique ''' : * [[Mathc matrices/088|Étude d'un polynôme]] : * [[Mathc matrices/08b|Étude d'un conique]] : * [[Mathc matrices/00k|Étude d'un cercle]] : : |- | '''Espace euclidien''' * [[Mathc matrices/0a2|Produits scalaires dans f(x)]] || *. *. |} : : ---- {{Partie{{{type|}}}| '''La bibliothèque'''}} : {{Partie{{{type|}}}|[[Mathc matrices/c21r| '''La bibliothèque.''']]}} : ---- {{Partie{{{type|}}}| '''Gnuplot.'''}} : * [[Mathc matrices/c21q|Gnuplot:]] {{Lien modifier|Mathc matrices/Sommaire|modifier le sommaire}} {{AutoCat}} iox4by45nb9v98y60im7mbmzv2bjd2m 769638 769610 2026-07-21T10:59:18Z Xhungab 23827 769638 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] : * [[Mathc matrices/Introduction|Introduction]] ---- ---- : {{Partie{{{type|}}}| '''Propriétés et Applications'''}} {| class="wikitable" |+ |- | '''Utilitaires pour Octave''' * [[Mathc matrices/a27| Fonctions pour les matrices]] * [[Mathc matrices/04g| Le code de quelques fonctions]] * [[Mathc matrices/03b| Utilitaires graphiques]] * [[Mathc matrices/04m| Exemples d'applications]] * [[Mathc matrices/04l| Ecrire des fonctions mathématiques]] || '''Utilitaires pour le langage C''' * [[Mathc matrices/a33|'''Utilitaires pour le langage C''']] *. *. *. *. |- | '''Les matrices''' [https://youtube.com/playlist?list=PLi6peGpf8EPOx2Pm_rspnagtdkBYe1t6J&feature=shared '''Playlist'''] : * [[Mathc matrices/05q|Créer une matrice ]] : * [[Mathc matrices/e12d2|Afficher une matrice ]] : * [[Mathc matrices/a03c|Afficher une matrice dans un fichier]] : * [[Mathc matrices/Fichiers c : mul_tran|Afficher une matrice pour Octave:]] : * [[Mathc matrices/a07|Copier une matrice]] : * [[Mathc matrices/c12eb1|Matrices aléatoires]] : * [[Mathc matrices/01p|Éntrez vos données]] : * [[Mathc matrices/c12bn|Tableaux de matrices]] : * [[Mathc matrices/a94|Afficher des vecteurs d'une colonne]] : : '''Opérations de bases''' : * [[Mathc matrices/c12ea2|Opérations sur les matrices]] : * [[Mathc matrices/c12ea1|La fonction trace_R();]] : * [[Mathc matrices/03o|La fonction transpose_R();]] *. *. *. *. *. *. : : || '''Les matrices spécifiques''' : * [[Mathc matrices/c12fn17|Matrice identité]] : * [[Mathc matrices/c12b8|Matrices triangulaires]] : * [[Mathc matrices/e02a|Matrices commutatives]] : * [[Mathc matrices/a90|Matrices semblables]] : * [[Mathc matrices/c12b3|Matrices symétriques]] : * [[Mathc matrices/c12b1|Matrices anti-symétriques]] : * [[Mathc matrices/02h|Matrice centrosymétrique]] : * [[Mathc matrices/02v|Matrices définies positives]] : * [[Mathc matrices/09n|Matrice de Gram]] : * [[Mathc matrices/09o|1/2 int(P1 P2, x= -1..1)]] : * [[Mathc matrices/035|Matrices définies négatives]] : * [[Mathc matrices/008|Matrices de Hankel]] : * [[Mathc matrices/009|Matrices de Toeplitz]] : * [[Mathc matrices/09i|Matrices de Markov]] : * [[Mathc matrices/a76|La fonction exponentielle]] : : '''Application Graphiques''' : * [[Mathc matrices/e02|Matrices de transformation [2x2]]] : * [[Mathc matrices/a133|Matrices de transformation [3x3]]] : : |- | '''Déterminant''' [https://youtube.com/playlist?list=PLi6peGpf8EPO6GuKOJERdVXKu_zdExd9_&si=1P0vkGzm5Mrf9Vf2 '''Playlist'''] : * [[Mathc matrices/b03|Le déterminant]] : * [[Mathc matrices/Fichiers c : fp_e_mr| Opérations élémentaires]] : * [[Mathc matrices/e12d9|Les fonctions intermédiaires]] : * [[Mathc matrices/c21n|Quelque propriétés ]] : : '''Applications en mathématique ''' : * [[Mathc matrices/149|Matrice Adjointe]] : * [[Mathc matrices/e12d7|L'inverse par le déterminant]] ; * [[Mathc matrices/a235|Produit en croix]] : : || '''Applications en géométrie ''' : * [[Mathc matrices/25a|L'équation d'une droite]] : * [[Mathc matrices/25b|L'équation d'un plan]] : * [[Mathc matrices/25c|L'équation d'une parabole]] : * [[Mathc matrices/25d|L'équation d'un cercle]] : * [[Mathc matrices/25e|L'équation d'une sphère]] * . * . * . * . : : |- | '''Gauss-Jordan ''' [https://youtube.com/playlist?list=PLi6peGpf8EPODYQZ0fosFTZZqKB9-CkHi '''Playlist'''] : * [[Mathc matrices/a205|Gauss-Jordan Total Pivoting]] : * [[Mathc matrices/a207|L'inverse]] : : '''Application ''' : * [[Mathc matrices/a209|Analyse d'un '''réseau''']] : * [[Mathc matrices/a216|Analyse d'un circuit '''électrique''']] : : '''Applications en géometrie ''' : * [[Mathc matrices/26a|L'équation d'un '''polynôme''']] : * [[Mathc matrices/26b|L'équation d'un '''conique''']] : * [[Mathc matrices/26c|L'équation d'un '''cercle''']] : : '''Applications en mathématique ''' : * [[Mathc matrices/a208|Systèmes '''non linéaire''' ]] : * [[Mathc matrices/a32|Choisir les solutions d'un système]] : : || '''Gauss-Jordan Partial Pivoting ''' : * [[Mathc matrices/a203|Gauss-Jordan Partial Pivoting]] : * [[Mathc matrices/a204|Variables libres]] : : '''Application ''' : * [[Mathc matrices/a201|Équation '''chimique''']] : : '''Applications mathématiques ''' : * [[Mathc matrices/c21s|Trouver une base pour ...]] : * [[Mathc matrices/c24f|Matrices de changement de base]] : * [[Mathc matrices/c24k|Matrice d'une application linéaire]] : * [[Mathc matrices/e05b|Projection sur un sous-espace vectoriel]] *. *. *. *. : : |- | '''Produits scalaires''' [https://youtube.com/playlist?list=PLi6peGpf8EPM0AMbdj2DOnyFYP97-93Ry '''Playlist'''] : * [[Mathc matrices/Fichiers h : a03d0|Produit scalaire]] : * [[Mathc matrices/e05c| Quelques Propriétés]] : * [[Mathc matrices/08o| Calculer les vecteurs orthogonaux]] : : '''Orthogonalisation ''' : * [[Mathc matrices/e05a|Les matrices ortho'''normales''']] : * [[Mathc matrices/c25b|Quelques '''propriétés''']] : : '''La QR Décompositions ''' : * [[Mathc matrices/c12an8|'''La QR décomposition:''']] : : '''Application ''' : * [[Mathc matrices/c22m|Analyse d'un réseau]] : * [[Mathc matrices/c22t|Analyse d'un circuit électrique]] : : '''Applications en mathématique ''' : * [[Mathc matrices/00u|Les coefficients d'un polynôme]] : * [[Mathc matrices/00z|Les coefficients d'un conique]] : * [[Mathc matrices/c23l|Les coefficients d'un cercle]] : * . : * . : * . : : || '''Vecteurs propres ''' : * [[Mathc matrices/e12d6|Vecteurs et valeurs propres]] : * [[Mathc matrices/a147|Quelques '''propriétés''']] : * [[Mathc matrices/03h|Valeurs propres '''multiples'''.]] : : '''Applications en mathématique ''' : * [[ Mathc matrices/01z|Conditionnement matriciel]] : * [[Mathc matrices/e050c|'''Fonctions matricielles''']] : * [[Mathc matrices/09b|'''Système dynamique linéaire discret''']] : * [[Mathc matrices/a29|La décomposition spectral]] : : '''Applications graphique ''' : * [[Mathc matrices/060|'''Formes quadratiques : 2D''']] ; * [[Mathc matrices/061|'''Formes quadratiques : 3D''']] : * [[Mathc matrices/08p| '''Choisir''' les valeurs propres]] : * [[Mathc matrices/03g|'''Projection du plan'''(1)]] : * [[Mathc matrices/08u|'''Projection du plan'''(2)]] : * [[Mathc matrices/a257|'''Projection de l'espace'''(1)]] : * [[Mathc matrices/090|'''Projection de l'espace'''(2)]] : * [[Mathc matrices/062|''' Projection de l'hyperespace'''(1)]] : * [[Mathc matrices/096|'''Projection de l'hyperespace'''(2)]] : : |- | '''Valeurs singulière''' : * [[Mathc matrices/c12an7|Calculer les Valeurs Singulières]] : : '''SVD décomposition''' : * [[Mathc matrices/e12a|Plus de lignes que de colonnes]] : * [[Mathc matrices/02q|Quelques propriétés ]] : * [[Mathc matrices/e12b|Plus de colonnes que de lignes]] *. *. *. *. : : || '''Pseudo inverse: ''' : * [[Mathc matrices/26d|'''Pseudo inverse:''']] : : '''Application ''' : * [[Mathc matrices/00t|Analyse d'un réseau]] : * [[Mathc matrices/00i|Analyse d'un circuit électrique]] : : '''Applications en mathématique ''' : * [[Mathc matrices/088|Étude d'un polynôme]] : * [[Mathc matrices/08b|Étude d'un conique]] : * [[Mathc matrices/00k|Étude d'un cercle]] : : |- | '''Espace euclidien''' * [[Mathc matrices/0a2|Produits scalaires dans f(x) (1)]] || *. * [[Mathc matrices/0aw|Produits scalaires dans f(x) (2)]] |} : : ---- {{Partie{{{type|}}}| '''La bibliothèque'''}} : {{Partie{{{type|}}}|[[Mathc matrices/c21r| '''La bibliothèque.''']]}} : ---- {{Partie{{{type|}}}| '''Gnuplot.'''}} : * [[Mathc matrices/c21q|Gnuplot:]] {{Lien modifier|Mathc matrices/Sommaire|modifier le sommaire}} {{AutoCat}} fdog9oggbf63uauvfv5j906oiqzkmn1 769667 769638 2026-07-22T21:11:17Z Xhungab 23827 news 769667 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] : * [[Mathc matrices/Introduction|Introduction]] ---- ---- : {{Partie{{{type|}}}| '''Propriétés et Applications'''}} {| class="wikitable" |+ |- | '''Utilitaires pour Octave''' * [[Mathc matrices/a27| Fonctions pour les matrices]] * [[Mathc matrices/04g| Le code de quelques fonctions]] * [[Mathc matrices/03b| Utilitaires graphiques]] * [[Mathc matrices/04m| Exemples d'applications]] * [[Mathc matrices/04l| Ecrire des fonctions mathématiques]] || '''Utilitaires pour le langage C''' * [[Mathc matrices/a33|'''Utilitaires pour le langage C''']] *. *. *. *. |- | '''Les matrices''' [https://youtube.com/playlist?list=PLi6peGpf8EPOx2Pm_rspnagtdkBYe1t6J&feature=shared '''Playlist'''] : * [[Mathc matrices/05q|Créer une matrice ]] : * [[Mathc matrices/e12d2|Afficher une matrice ]] : * [[Mathc matrices/a03c|Afficher une matrice dans un fichier]] : * [[Mathc matrices/Fichiers c : mul_tran|Afficher une matrice pour Octave:]] : * [[Mathc matrices/a07|Copier une matrice]] : * [[Mathc matrices/c12eb1|Matrices aléatoires]] : * [[Mathc matrices/01p|Éntrez vos données]] : * [[Mathc matrices/c12bn|Tableaux de matrices]] : * [[Mathc matrices/a94|Afficher des vecteurs d'une colonne]] : : '''Opérations de bases''' : * [[Mathc matrices/c12ea2|Opérations sur les matrices]] : * [[Mathc matrices/c12ea1|La fonction trace_R();]] : * [[Mathc matrices/03o|La fonction transpose_R();]] *. *. *. *. *. *. : : || '''Les matrices spécifiques''' : * [[Mathc matrices/c12fn17|Matrice identité]] : * [[Mathc matrices/c12b8|Matrices triangulaires]] : * [[Mathc matrices/e02a|Matrices commutatives]] : * [[Mathc matrices/a90|Matrices semblables]] : * [[Mathc matrices/c12b3|Matrices symétriques]] : * [[Mathc matrices/c12b1|Matrices anti-symétriques]] : * [[Mathc matrices/02h|Matrice centrosymétrique]] : * [[Mathc matrices/02v|Matrices définies positives]] : * [[Mathc matrices/09n|Matrice de Gram]] : * [[Mathc matrices/09o|1/2 int(P1 P2, x= -1..1)]] : * [[Mathc matrices/035|Matrices définies négatives]] : * [[Mathc matrices/008|Matrices de Hankel]] : * [[Mathc matrices/009|Matrices de Toeplitz]] : * [[Mathc matrices/09i|Matrices de Markov]] : * [[Mathc matrices/a76|La fonction exponentielle]] : : '''Application Graphiques''' : * [[Mathc matrices/e02|Matrices de transformation [2x2]]] : * [[Mathc matrices/a133|Matrices de transformation [3x3]]] : : |- | '''Déterminant''' [https://youtube.com/playlist?list=PLi6peGpf8EPO6GuKOJERdVXKu_zdExd9_&si=1P0vkGzm5Mrf9Vf2 '''Playlist'''] : * [[Mathc matrices/b03|Le déterminant]] : * [[Mathc matrices/Fichiers c : fp_e_mr| Opérations élémentaires]] : * [[Mathc matrices/e12d9|Les fonctions intermédiaires]] : * [[Mathc matrices/c21n|Quelque propriétés ]] : : '''Applications en mathématique ''' : * [[Mathc matrices/149|Matrice Adjointe]] : * [[Mathc matrices/e12d7|L'inverse par le déterminant]] ; * [[Mathc matrices/a235|Produit en croix]] : : || '''Applications en géométrie ''' : * [[Mathc matrices/25a|L'équation d'une droite]] : * [[Mathc matrices/25b|L'équation d'un plan]] : * [[Mathc matrices/25c|L'équation d'une parabole]] : * [[Mathc matrices/25d|L'équation d'un cercle]] : * [[Mathc matrices/25e|L'équation d'une sphère]] * . * . * . * . : : |- | '''Gauss-Jordan ''' [https://youtube.com/playlist?list=PLi6peGpf8EPODYQZ0fosFTZZqKB9-CkHi '''Playlist'''] : * [[Mathc matrices/a205|Gauss-Jordan Total Pivoting]] : * [[Mathc matrices/a207|L'inverse]] : : '''Application ''' : * [[Mathc matrices/a209|Analyse d'un '''réseau''']] : * [[Mathc matrices/a216|Analyse d'un circuit '''électrique''']] : : '''Applications en géometrie ''' : * [[Mathc matrices/26a|L'équation d'un '''polynôme''']] : * [[Mathc matrices/26b|L'équation d'un '''conique''']] : * [[Mathc matrices/26c|L'équation d'un '''cercle''']] : : '''Applications en mathématique ''' : * [[Mathc matrices/a208|Systèmes '''non linéaire''' ]] : * [[Mathc matrices/a32|Choisir les solutions d'un système]] : : || '''Gauss-Jordan Partial Pivoting ''' : * [[Mathc matrices/a203|Gauss-Jordan Partial Pivoting]] : * [[Mathc matrices/a204|Variables libres]] : : '''Application ''' : * [[Mathc matrices/a201|Équation '''chimique''']] : : '''Applications mathématiques ''' : * [[Mathc matrices/c21s|Trouver une base pour ...]] : * [[Mathc matrices/c24f|Matrices de changement de base]] : * [[Mathc matrices/c24k|Matrice d'une application linéaire]] : * [[Mathc matrices/e05b|Projection sur un sous-espace vectoriel]] *. *. *. *. : : |- | '''Produits scalaires''' [https://youtube.com/playlist?list=PLi6peGpf8EPM0AMbdj2DOnyFYP97-93Ry '''Playlist'''] : * [[Mathc matrices/Fichiers h : a03d0|Produit scalaire]] : * [[Mathc matrices/e05c| Quelques Propriétés]] : * [[Mathc matrices/08o| Calculer les vecteurs orthogonaux]] : : '''Orthogonalisation ''' : * [[Mathc matrices/e05a|Les matrices ortho'''normales''']] : * [[Mathc matrices/c25b|Quelques '''propriétés''']] : : '''La QR Décompositions ''' : * [[Mathc matrices/c12an8|'''La QR décomposition:''']] : : '''Application ''' : * [[Mathc matrices/c22m|Analyse d'un réseau]] : * [[Mathc matrices/c22t|Analyse d'un circuit électrique]] : : '''Applications en mathématique ''' : * [[Mathc matrices/00u|Les coefficients d'un polynôme]] : * [[Mathc matrices/00z|Les coefficients d'un conique]] : * [[Mathc matrices/c23l|Les coefficients d'un cercle]] : * . : * . : * . : : || '''Vecteurs propres ''' : * [[Mathc matrices/e12d6|Vecteurs et valeurs propres]] : * [[Mathc matrices/a147|Quelques '''propriétés''']] : * [[Mathc matrices/03h|Valeurs propres '''multiples'''.]] : : '''Applications en mathématique ''' : * [[ Mathc matrices/01z|Conditionnement matriciel]] : * [[Mathc matrices/e050c|'''Fonctions matricielles''']] : * [[Mathc matrices/09b|'''Système dynamique linéaire discret''']] : * [[Mathc matrices/a29|La décomposition spectral]] : : '''Applications graphique ''' : * [[Mathc matrices/060|'''Formes quadratiques : 2D''']] ; * [[Mathc matrices/061|'''Formes quadratiques : 3D''']] : * [[Mathc matrices/08p| '''Choisir''' les valeurs propres]] : * [[Mathc matrices/03g|'''Projection du plan'''(1)]] : * [[Mathc matrices/08u|'''Projection du plan'''(2)]] : * [[Mathc matrices/a257|'''Projection de l'espace'''(1)]] : * [[Mathc matrices/090|'''Projection de l'espace'''(2)]] : * [[Mathc matrices/062|''' Projection de l'hyperespace'''(1)]] : * [[Mathc matrices/096|'''Projection de l'hyperespace'''(2)]] : : |- | '''Valeurs singulière''' : * [[Mathc matrices/c12an7|Calculer les Valeurs Singulières]] : : '''SVD décomposition''' : * [[Mathc matrices/e12a|Plus de lignes que de colonnes]] : * [[Mathc matrices/02q|Quelques propriétés ]] : * [[Mathc matrices/e12b|Plus de colonnes que de lignes]] *. *. *. *. : : || '''Pseudo inverse: ''' : * [[Mathc matrices/26d|'''Pseudo inverse:''']] : : '''Application ''' : * [[Mathc matrices/00t|Analyse d'un réseau]] : * [[Mathc matrices/00i|Analyse d'un circuit électrique]] : : '''Applications en mathématique ''' : * [[Mathc matrices/088|Étude d'un polynôme]] : * [[Mathc matrices/08b|Étude d'un conique]] : * [[Mathc matrices/00k|Étude d'un cercle]] : : |- | '''Espace euclidien''' * [[Mathc matrices/0a2|Produits scalaires dans f(x) (1)]] * [[Mathc matrices/0aw|Produits scalaires dans f(x) (2)]] || * [[Mathc matrices/0b7|Produits scalaires avec poids]] *. *. |} : : ---- {{Partie{{{type|}}}| '''La bibliothèque'''}} : {{Partie{{{type|}}}|[[Mathc matrices/c21r| '''La bibliothèque.''']]}} : ---- {{Partie{{{type|}}}| '''Gnuplot.'''}} : * [[Mathc matrices/c21q|Gnuplot:]] {{Lien modifier|Mathc matrices/Sommaire|modifier le sommaire}} {{AutoCat}} s74ia6sjymrlq1ni581bxas7betdjyc Programmation JavaFX/Apparence 3D 0 73968 769612 732902 2026-07-20T18:00:53Z DavidL 1746 /* Exemple */ 769612 wikitext text/x-wiki <noinclude>{{Programmation JavaFX}}</noinclude> L'apparence par défaut des objets de la scène construite au chapitre précédent est plutôt monotone : [[Fichier:JavaFX - Simple 3D shapes.png|400px]] Le but de ce chapitre est de montrer comment améliorer l'apparence des objets en leur donnant une couleur ou une texture. L'apparence d'un objet (couleur, reflets, texture, ...) est défini par une instance de la classe abstraite <code>Material</code>. JavaFX fournit une classe concrète nommée <code>PhongMaterial</code>, nommée d'après [[w:Ombrage_de_Phong|le modèle d'ombrage de Phong]]. == Couleur == Les méthodes de la classe <code>PhongMaterial</code> sont les suivantes : ;<code>setDiffuseColor(Color)</code>:Définit la couleur principale. ;<code>setSpecularColor(Color)</code>:Définit la couleur des reflets des sources lumineuses. ;<code>setSpecularPower(float)</code>:Définit la puissance de réflexion. === Exemple === <syntaxhighlight lang="java"> PhongMaterial mat_blue = new PhongMaterial(); mat_blue.setDiffuseColor(Color.BLUE); mat_blue.setSpecularColor(Color.LIGHTBLUE); mat_blue.setSpecularPower(10.0); </syntaxhighlight> On peut ensuite assigner l'apparence aux objets : <syntaxhighlight lang="java"> sphere.setMaterial(mat_blue); </syntaxhighlight> == Texture == Une texture est définie par une image pouvant définir la couleur de diffusion, de réflexion, d'illumination de l'objet. Les méthodes de la classe <code>PhongMaterial</code> concernant les textures sont les suivantes : ;<code>setDiffuseMap(Image)</code>:Définit la texture pour la couleur de diffusion. ;<code>setSpecularMap(Image)</code>:Définit la texture pour la couleur de reflet. ;<code>setSelfIlluminationMap(Image)</code>:Définit la texture pour l'intensité d'illumination. ;<code>setBumpMap(Image)</code>:Définit la texture pour la granularité de l'objet. === Exemple === [[Fichier:Red-brick-wall-texture-1.jpg|thumb|right|La texture utilisée]] L'exemple ci-dessous utilise [[:Fichier:Red-brick-wall-texture-1.jpg|l'image Red-brick-wall-texture-1.jpg disponible sur commons]]. <syntaxhighlight lang="java"> Image tex_im = new Image("file://///E:/Image/wall.png"); // Chemin local //Image tex_im = new Image("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Red-brick-wall-texture-1.jpg/640px-Red-brick-wall-texture-1.jpg"); PhongMaterial mat_wall = new PhongMaterial(); mat_wall.setDiffuseColor(Color.GRAY); mat_wall.setSpecularColor(Color.WHITE); mat_wall.setSpecularPower(8.0); mat_wall.setDiffuseMap(tex_im); </syntaxhighlight> {{Attention|L'URL montrée en commentaire dans l'exemple ci-dessus ne permet pas de charger l'image pour deux raisons : * Java ne connaît pas le certificat des sites de Wikimedia et rejette donc les connexions HTTPS, * MediaWiki requière une taille d'image spécifique parmi une liste prédéfinie fixe, mais qui peut varier selon les évolutions de MediaWiki. |jaune}} == Code complet == [[File:JavaFX - 3D shapes with materials.png|thumb|right|Formes 3D avec couleurs et textures]] <syntaxhighlight lang="java"> package org.wikibooks.fr.javafx; import javafx.application.*; import javafx.scene.*; import javafx.scene.image.*; import javafx.scene.paint.*; import javafx.scene.shape.*; import javafx.scene.transform.*; import javafx.stage.*; public class TestApparence3D extends Application { private final Rotate rotate_x = new Rotate(0, Rotate.X_AXIS); private final Rotate rotate_y = new Rotate(0, Rotate.Y_AXIS); private final Translate translate = new Translate(0, 0, -1000); @Override public void start(Stage stage) { Image tex_im = new Image("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Red-brick-wall-texture-1.jpg/640px-Red-brick-wall-texture-1.jpg"); PhongMaterial mat_wall = new PhongMaterial(); mat_wall.setDiffuseColor(Color.GRAY); mat_wall.setSpecularColor(Color.WHITE); mat_wall.setSpecularPower(8.0); mat_wall.setDiffuseMap(tex_im); PhongMaterial mat_blue = new PhongMaterial(); mat_blue.setDiffuseColor(Color.BLUE); mat_blue.setSpecularColor(Color.LIGHTBLUE); mat_blue.setSpecularPower(10.0); PhongMaterial mat_red = new PhongMaterial(); mat_red.setDiffuseColor(Color.RED); mat_red.setSpecularColor(Color.ORANGERED); mat_red.setSpecularPower(10.0); int dx = 0, dy = 0, dz = 0; Sphere sphere = new Sphere(100); sphere.setTranslateX(dx); sphere.setTranslateY(dy); sphere.setTranslateZ(dz); sphere.setCursor(Cursor.OPEN_HAND); sphere.setMaterial(mat_blue); Box box = new Box(100, 200, 100); box.setTranslateX(dx + 250); box.setTranslateY(dy + 220); box.setTranslateZ(dz); box.setCursor(Cursor.OPEN_HAND); box.setMaterial(mat_wall); Cylinder cyl = new Cylinder(40, 220); cyl.setTranslateX(dx); cyl.setTranslateY(dy + 220); cyl.setTranslateZ(dz); cyl.setCursor(Cursor.OPEN_HAND); cyl.setMaterial(mat_red); TriangleMesh pyramid_mesh = new TriangleMesh(); // VertexFormat.POINT_TEXCOORD => P,T // Texture : coordonnées indépendantes de la taille de la texture // 0.5 = 50%, 1.0 = 100%, 2.0 = 200% (texture répétée 2 fois), ... pyramid_mesh.getTexCoords().addAll( 0 , 0 ); // --> T[0] pyramid_mesh.getTexCoords().addAll( 1.0F, 0 ); // --> T[1] pyramid_mesh.getTexCoords().addAll( 0.5F, 0.0F ); // --> T[2] pyramid_mesh.getTexCoords().addAll( 1.0F, 1.0F ); // --> T[3] pyramid_mesh.getTexCoords().addAll( 0 , 1.0F ); // --> T[4] float h = 150; // Height float s = 300; // Side pyramid_mesh.getPoints().addAll( // --> P[] // X Y Z 0, 0, 0, // Point 0 - Top 0, h, -s/2, // Point 1 - Front -s/2, h, 0, // Point 2 - Left 0, h, s/2, // Point 3 - Back s/2, h, 0 ); // Point 4 - Right pyramid_mesh.getFaces().addAll( // --> F[] = index in P[],T[] // P,T P,T P,T 0,2, 2,4, 1,3, // Front left face 0,2, 1,4, 4,3, // Front right face 0,2, 4,4, 3,3, // Back right face 0,2, 3,4, 2,3, // Back left face 3,2, 1,3, 2,0, // Bottom rear face 3,2, 4,1, 1,4 ); // Bottom front face pyramid_mesh.getFaceSmoothingGroups().addAll(0,1,2,3,4,4); MeshView pyramid = new MeshView(pyramid_mesh); pyramid.setDrawMode(DrawMode.FILL); pyramid.setMaterial(mat_wall); pyramid.setTranslateX(dx); pyramid.setTranslateY(dy-150-h); pyramid.setTranslateZ(dz); Node[] allnodes = { sphere, cyl, pyramid, box }; Color light_color = Color.LIGHTGREY; AmbientLight light = new AmbientLight(light_color); light.setTranslateX(dx - 180); light.setTranslateY(dy - 90); light.setTranslateZ(dz - 120); light.getScope().addAll(allnodes); PointLight light2 = new PointLight(light_color); light2.setTranslateX(dx + 180); light2.setTranslateY(dy + 190); light2.setTranslateZ(dz + 180); light2.getScope().addAll(allnodes); Group root = new Group(allnodes); root.getChildren().addAll(light, light2); Scene scene = new Scene(root, 600, 600, true); scene.setFill(Color.BLACK); PerspectiveCamera camera = new PerspectiveCamera(true); camera.setNearClip(0.1); camera.setFarClip(10000.0); camera.getTransforms().addAll(rotate_x, rotate_y, translate); scene.setCamera(camera); stage.setTitle("3D JavaFX"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { Application.launch(args); } } </syntaxhighlight> == Ajustements == La texture de la base carrée fait apparaître les deux triangles car les 2 faces adjacentes sont associées à deux triangles qui ne sont pas adjacent dans la texture : [[File:JavaFX - 3D shapes with materials.png|400px|Formes 3D avec couleurs et textures]] En ajustant la texture comme dans le code ci-dessous, on obtient une texture uniforme pour la base carrée : {| class="flexible" | <syntaxhighlight lang="java"> pyramid_mesh.getFaces().addAll( // --> F[] = index in P[],T[] // P,T P,T P,T 0,2, 2,4, 1,3, // Front left face 0,2, 1,4, 4,3, // Front right face 0,2, 4,4, 3,3, // Back right face 0,2, 3,4, 2,3, // Back left face 3,1, 1,4, 2,0, // Bottom rear face 3,1, 4,3, 1,4 ); // Bottom front face </syntaxhighlight> | [[File:JavaFX - 3D shapes with materials adjusted.png|400px|Formes 3D avec couleurs et textures ajustées]] |} Dans cette version, la caméra est fixe. Le chapitre suivant résout le problème en ajoutant la possibilité d'interagir avec la souris pour déplacer la caméra. fcv30vb01w7ya5bt19mtfkr5n0zmkxx 769613 769612 2026-07-20T18:01:52Z DavidL 1746 /* Code complet */ 769613 wikitext text/x-wiki <noinclude>{{Programmation JavaFX}}</noinclude> L'apparence par défaut des objets de la scène construite au chapitre précédent est plutôt monotone : [[Fichier:JavaFX - Simple 3D shapes.png|400px]] Le but de ce chapitre est de montrer comment améliorer l'apparence des objets en leur donnant une couleur ou une texture. L'apparence d'un objet (couleur, reflets, texture, ...) est défini par une instance de la classe abstraite <code>Material</code>. JavaFX fournit une classe concrète nommée <code>PhongMaterial</code>, nommée d'après [[w:Ombrage_de_Phong|le modèle d'ombrage de Phong]]. == Couleur == Les méthodes de la classe <code>PhongMaterial</code> sont les suivantes : ;<code>setDiffuseColor(Color)</code>:Définit la couleur principale. ;<code>setSpecularColor(Color)</code>:Définit la couleur des reflets des sources lumineuses. ;<code>setSpecularPower(float)</code>:Définit la puissance de réflexion. === Exemple === <syntaxhighlight lang="java"> PhongMaterial mat_blue = new PhongMaterial(); mat_blue.setDiffuseColor(Color.BLUE); mat_blue.setSpecularColor(Color.LIGHTBLUE); mat_blue.setSpecularPower(10.0); </syntaxhighlight> On peut ensuite assigner l'apparence aux objets : <syntaxhighlight lang="java"> sphere.setMaterial(mat_blue); </syntaxhighlight> == Texture == Une texture est définie par une image pouvant définir la couleur de diffusion, de réflexion, d'illumination de l'objet. Les méthodes de la classe <code>PhongMaterial</code> concernant les textures sont les suivantes : ;<code>setDiffuseMap(Image)</code>:Définit la texture pour la couleur de diffusion. ;<code>setSpecularMap(Image)</code>:Définit la texture pour la couleur de reflet. ;<code>setSelfIlluminationMap(Image)</code>:Définit la texture pour l'intensité d'illumination. ;<code>setBumpMap(Image)</code>:Définit la texture pour la granularité de l'objet. === Exemple === [[Fichier:Red-brick-wall-texture-1.jpg|thumb|right|La texture utilisée]] L'exemple ci-dessous utilise [[:Fichier:Red-brick-wall-texture-1.jpg|l'image Red-brick-wall-texture-1.jpg disponible sur commons]]. <syntaxhighlight lang="java"> Image tex_im = new Image("file://///E:/Image/wall.png"); // Chemin local //Image tex_im = new Image("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Red-brick-wall-texture-1.jpg/640px-Red-brick-wall-texture-1.jpg"); PhongMaterial mat_wall = new PhongMaterial(); mat_wall.setDiffuseColor(Color.GRAY); mat_wall.setSpecularColor(Color.WHITE); mat_wall.setSpecularPower(8.0); mat_wall.setDiffuseMap(tex_im); </syntaxhighlight> {{Attention|L'URL montrée en commentaire dans l'exemple ci-dessus ne permet pas de charger l'image pour deux raisons : * Java ne connaît pas le certificat des sites de Wikimedia et rejette donc les connexions HTTPS, * MediaWiki requière une taille d'image spécifique parmi une liste prédéfinie fixe, mais qui peut varier selon les évolutions de MediaWiki. |jaune}} == Code complet == [[File:JavaFX - 3D shapes with materials.png|thumb|right|Formes 3D avec couleurs et textures]] <syntaxhighlight lang="java"> package org.wikibooks.fr.javafx; import javafx.application.*; import javafx.scene.*; import javafx.scene.image.*; import javafx.scene.paint.*; import javafx.scene.shape.*; import javafx.scene.transform.*; import javafx.stage.*; public class TestApparence3D extends Application { private final Rotate rotate_x = new Rotate(0, Rotate.X_AXIS); private final Rotate rotate_y = new Rotate(0, Rotate.Y_AXIS); private final Translate translate = new Translate(0, 0, -1000); @Override public void start(Stage stage) { Image tex_im = new Image("file://///E:/Image/wall.png"); // Chemin local //Image tex_im = new Image("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Red-brick-wall-texture-1.jpg/640px-Red-brick-wall-texture-1.jpg"); PhongMaterial mat_wall = new PhongMaterial(); mat_wall.setDiffuseColor(Color.GRAY); mat_wall.setSpecularColor(Color.WHITE); mat_wall.setSpecularPower(8.0); mat_wall.setDiffuseMap(tex_im); PhongMaterial mat_blue = new PhongMaterial(); mat_blue.setDiffuseColor(Color.BLUE); mat_blue.setSpecularColor(Color.LIGHTBLUE); mat_blue.setSpecularPower(10.0); PhongMaterial mat_red = new PhongMaterial(); mat_red.setDiffuseColor(Color.RED); mat_red.setSpecularColor(Color.ORANGERED); mat_red.setSpecularPower(10.0); int dx = 0, dy = 0, dz = 0; Sphere sphere = new Sphere(100); sphere.setTranslateX(dx); sphere.setTranslateY(dy); sphere.setTranslateZ(dz); sphere.setCursor(Cursor.OPEN_HAND); sphere.setMaterial(mat_blue); Box box = new Box(100, 200, 100); box.setTranslateX(dx + 250); box.setTranslateY(dy + 220); box.setTranslateZ(dz); box.setCursor(Cursor.OPEN_HAND); box.setMaterial(mat_wall); Cylinder cyl = new Cylinder(40, 220); cyl.setTranslateX(dx); cyl.setTranslateY(dy + 220); cyl.setTranslateZ(dz); cyl.setCursor(Cursor.OPEN_HAND); cyl.setMaterial(mat_red); TriangleMesh pyramid_mesh = new TriangleMesh(); // VertexFormat.POINT_TEXCOORD => P,T // Texture : coordonnées indépendantes de la taille de la texture // 0.5 = 50%, 1.0 = 100%, 2.0 = 200% (texture répétée 2 fois), ... pyramid_mesh.getTexCoords().addAll( 0 , 0 ); // --> T[0] pyramid_mesh.getTexCoords().addAll( 1.0F, 0 ); // --> T[1] pyramid_mesh.getTexCoords().addAll( 0.5F, 0.0F ); // --> T[2] pyramid_mesh.getTexCoords().addAll( 1.0F, 1.0F ); // --> T[3] pyramid_mesh.getTexCoords().addAll( 0 , 1.0F ); // --> T[4] float h = 150; // Height float s = 300; // Side pyramid_mesh.getPoints().addAll( // --> P[] // X Y Z 0, 0, 0, // Point 0 - Top 0, h, -s/2, // Point 1 - Front -s/2, h, 0, // Point 2 - Left 0, h, s/2, // Point 3 - Back s/2, h, 0 ); // Point 4 - Right pyramid_mesh.getFaces().addAll( // --> F[] = index in P[],T[] // P,T P,T P,T 0,2, 2,4, 1,3, // Front left face 0,2, 1,4, 4,3, // Front right face 0,2, 4,4, 3,3, // Back right face 0,2, 3,4, 2,3, // Back left face 3,2, 1,3, 2,0, // Bottom rear face 3,2, 4,1, 1,4 ); // Bottom front face pyramid_mesh.getFaceSmoothingGroups().addAll(0,1,2,3,4,4); MeshView pyramid = new MeshView(pyramid_mesh); pyramid.setDrawMode(DrawMode.FILL); pyramid.setMaterial(mat_wall); pyramid.setTranslateX(dx); pyramid.setTranslateY(dy-150-h); pyramid.setTranslateZ(dz); Node[] allnodes = { sphere, cyl, pyramid, box }; Color light_color = Color.LIGHTGREY; AmbientLight light = new AmbientLight(light_color); light.setTranslateX(dx - 180); light.setTranslateY(dy - 90); light.setTranslateZ(dz - 120); light.getScope().addAll(allnodes); PointLight light2 = new PointLight(light_color); light2.setTranslateX(dx + 180); light2.setTranslateY(dy + 190); light2.setTranslateZ(dz + 180); light2.getScope().addAll(allnodes); Group root = new Group(allnodes); root.getChildren().addAll(light, light2); Scene scene = new Scene(root, 600, 600, true); scene.setFill(Color.BLACK); PerspectiveCamera camera = new PerspectiveCamera(true); camera.setNearClip(0.1); camera.setFarClip(10000.0); camera.getTransforms().addAll(rotate_x, rotate_y, translate); scene.setCamera(camera); stage.setTitle("3D JavaFX"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { Application.launch(args); } } </syntaxhighlight> == Ajustements == La texture de la base carrée fait apparaître les deux triangles car les 2 faces adjacentes sont associées à deux triangles qui ne sont pas adjacent dans la texture : [[File:JavaFX - 3D shapes with materials.png|400px|Formes 3D avec couleurs et textures]] En ajustant la texture comme dans le code ci-dessous, on obtient une texture uniforme pour la base carrée : {| class="flexible" | <syntaxhighlight lang="java"> pyramid_mesh.getFaces().addAll( // --> F[] = index in P[],T[] // P,T P,T P,T 0,2, 2,4, 1,3, // Front left face 0,2, 1,4, 4,3, // Front right face 0,2, 4,4, 3,3, // Back right face 0,2, 3,4, 2,3, // Back left face 3,1, 1,4, 2,0, // Bottom rear face 3,1, 4,3, 1,4 ); // Bottom front face </syntaxhighlight> | [[File:JavaFX - 3D shapes with materials adjusted.png|400px|Formes 3D avec couleurs et textures ajustées]] |} Dans cette version, la caméra est fixe. Le chapitre suivant résout le problème en ajoutant la possibilité d'interagir avec la souris pour déplacer la caméra. r7iksi3rrr6pp1kkpd2dwamy1x4sptw 769614 769613 2026-07-20T18:02:30Z DavidL 1746 /* Exemple */ 769614 wikitext text/x-wiki <noinclude>{{Programmation JavaFX}}</noinclude> L'apparence par défaut des objets de la scène construite au chapitre précédent est plutôt monotone : [[Fichier:JavaFX - Simple 3D shapes.png|400px]] Le but de ce chapitre est de montrer comment améliorer l'apparence des objets en leur donnant une couleur ou une texture. L'apparence d'un objet (couleur, reflets, texture, ...) est défini par une instance de la classe abstraite <code>Material</code>. JavaFX fournit une classe concrète nommée <code>PhongMaterial</code>, nommée d'après [[w:Ombrage_de_Phong|le modèle d'ombrage de Phong]]. == Couleur == Les méthodes de la classe <code>PhongMaterial</code> sont les suivantes : ;<code>setDiffuseColor(Color)</code>:Définit la couleur principale. ;<code>setSpecularColor(Color)</code>:Définit la couleur des reflets des sources lumineuses. ;<code>setSpecularPower(float)</code>:Définit la puissance de réflexion. === Exemple === <syntaxhighlight lang="java"> PhongMaterial mat_blue = new PhongMaterial(); mat_blue.setDiffuseColor(Color.BLUE); mat_blue.setSpecularColor(Color.LIGHTBLUE); mat_blue.setSpecularPower(10.0); </syntaxhighlight> On peut ensuite assigner l'apparence aux objets : <syntaxhighlight lang="java"> sphere.setMaterial(mat_blue); </syntaxhighlight> == Texture == Une texture est définie par une image pouvant définir la couleur de diffusion, de réflexion, d'illumination de l'objet. Les méthodes de la classe <code>PhongMaterial</code> concernant les textures sont les suivantes : ;<code>setDiffuseMap(Image)</code>:Définit la texture pour la couleur de diffusion. ;<code>setSpecularMap(Image)</code>:Définit la texture pour la couleur de reflet. ;<code>setSelfIlluminationMap(Image)</code>:Définit la texture pour l'intensité d'illumination. ;<code>setBumpMap(Image)</code>:Définit la texture pour la granularité de l'objet. === Exemple === [[Fichier:Red-brick-wall-texture-1.jpg|thumb|right|La texture utilisée]] L'exemple ci-dessous utilise [[:Fichier:Red-brick-wall-texture-1.jpg|l'image Red-brick-wall-texture-1.jpg disponible sur commons]]. <syntaxhighlight lang="java"> Image tex_im = new Image("file://///E:/Image/wall.png"); // Chemin local //Image tex_im = new Image("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Red-brick-wall-texture-1.jpg/640px-Red-brick-wall-texture-1.jpg"); PhongMaterial mat_wall = new PhongMaterial(); mat_wall.setDiffuseColor(Color.GRAY); mat_wall.setSpecularColor(Color.WHITE); mat_wall.setSpecularPower(8.0); mat_wall.setDiffuseMap(tex_im); </syntaxhighlight> {{Attention|L'URL montrée en commentaire dans l'exemple ci-dessus ne permet pas de charger l'image pour deux raisons : * Java ne connaît pas le certificat des sites de Wikimedia et rejette donc les connexions HTTPS, * MediaWiki requière une taille d'image spécifique parmi une liste prédéfinie fixe, mais qui peut varier selon les évolutions de MediaWiki. |jaune}} Donc téléchargez l'image localement et adapter le chemin vers le fichier dans le code. == Code complet == [[File:JavaFX - 3D shapes with materials.png|thumb|right|Formes 3D avec couleurs et textures]] <syntaxhighlight lang="java"> package org.wikibooks.fr.javafx; import javafx.application.*; import javafx.scene.*; import javafx.scene.image.*; import javafx.scene.paint.*; import javafx.scene.shape.*; import javafx.scene.transform.*; import javafx.stage.*; public class TestApparence3D extends Application { private final Rotate rotate_x = new Rotate(0, Rotate.X_AXIS); private final Rotate rotate_y = new Rotate(0, Rotate.Y_AXIS); private final Translate translate = new Translate(0, 0, -1000); @Override public void start(Stage stage) { Image tex_im = new Image("file://///E:/Image/wall.png"); // Chemin local //Image tex_im = new Image("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Red-brick-wall-texture-1.jpg/640px-Red-brick-wall-texture-1.jpg"); PhongMaterial mat_wall = new PhongMaterial(); mat_wall.setDiffuseColor(Color.GRAY); mat_wall.setSpecularColor(Color.WHITE); mat_wall.setSpecularPower(8.0); mat_wall.setDiffuseMap(tex_im); PhongMaterial mat_blue = new PhongMaterial(); mat_blue.setDiffuseColor(Color.BLUE); mat_blue.setSpecularColor(Color.LIGHTBLUE); mat_blue.setSpecularPower(10.0); PhongMaterial mat_red = new PhongMaterial(); mat_red.setDiffuseColor(Color.RED); mat_red.setSpecularColor(Color.ORANGERED); mat_red.setSpecularPower(10.0); int dx = 0, dy = 0, dz = 0; Sphere sphere = new Sphere(100); sphere.setTranslateX(dx); sphere.setTranslateY(dy); sphere.setTranslateZ(dz); sphere.setCursor(Cursor.OPEN_HAND); sphere.setMaterial(mat_blue); Box box = new Box(100, 200, 100); box.setTranslateX(dx + 250); box.setTranslateY(dy + 220); box.setTranslateZ(dz); box.setCursor(Cursor.OPEN_HAND); box.setMaterial(mat_wall); Cylinder cyl = new Cylinder(40, 220); cyl.setTranslateX(dx); cyl.setTranslateY(dy + 220); cyl.setTranslateZ(dz); cyl.setCursor(Cursor.OPEN_HAND); cyl.setMaterial(mat_red); TriangleMesh pyramid_mesh = new TriangleMesh(); // VertexFormat.POINT_TEXCOORD => P,T // Texture : coordonnées indépendantes de la taille de la texture // 0.5 = 50%, 1.0 = 100%, 2.0 = 200% (texture répétée 2 fois), ... pyramid_mesh.getTexCoords().addAll( 0 , 0 ); // --> T[0] pyramid_mesh.getTexCoords().addAll( 1.0F, 0 ); // --> T[1] pyramid_mesh.getTexCoords().addAll( 0.5F, 0.0F ); // --> T[2] pyramid_mesh.getTexCoords().addAll( 1.0F, 1.0F ); // --> T[3] pyramid_mesh.getTexCoords().addAll( 0 , 1.0F ); // --> T[4] float h = 150; // Height float s = 300; // Side pyramid_mesh.getPoints().addAll( // --> P[] // X Y Z 0, 0, 0, // Point 0 - Top 0, h, -s/2, // Point 1 - Front -s/2, h, 0, // Point 2 - Left 0, h, s/2, // Point 3 - Back s/2, h, 0 ); // Point 4 - Right pyramid_mesh.getFaces().addAll( // --> F[] = index in P[],T[] // P,T P,T P,T 0,2, 2,4, 1,3, // Front left face 0,2, 1,4, 4,3, // Front right face 0,2, 4,4, 3,3, // Back right face 0,2, 3,4, 2,3, // Back left face 3,2, 1,3, 2,0, // Bottom rear face 3,2, 4,1, 1,4 ); // Bottom front face pyramid_mesh.getFaceSmoothingGroups().addAll(0,1,2,3,4,4); MeshView pyramid = new MeshView(pyramid_mesh); pyramid.setDrawMode(DrawMode.FILL); pyramid.setMaterial(mat_wall); pyramid.setTranslateX(dx); pyramid.setTranslateY(dy-150-h); pyramid.setTranslateZ(dz); Node[] allnodes = { sphere, cyl, pyramid, box }; Color light_color = Color.LIGHTGREY; AmbientLight light = new AmbientLight(light_color); light.setTranslateX(dx - 180); light.setTranslateY(dy - 90); light.setTranslateZ(dz - 120); light.getScope().addAll(allnodes); PointLight light2 = new PointLight(light_color); light2.setTranslateX(dx + 180); light2.setTranslateY(dy + 190); light2.setTranslateZ(dz + 180); light2.getScope().addAll(allnodes); Group root = new Group(allnodes); root.getChildren().addAll(light, light2); Scene scene = new Scene(root, 600, 600, true); scene.setFill(Color.BLACK); PerspectiveCamera camera = new PerspectiveCamera(true); camera.setNearClip(0.1); camera.setFarClip(10000.0); camera.getTransforms().addAll(rotate_x, rotate_y, translate); scene.setCamera(camera); stage.setTitle("3D JavaFX"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { Application.launch(args); } } </syntaxhighlight> == Ajustements == La texture de la base carrée fait apparaître les deux triangles car les 2 faces adjacentes sont associées à deux triangles qui ne sont pas adjacent dans la texture : [[File:JavaFX - 3D shapes with materials.png|400px|Formes 3D avec couleurs et textures]] En ajustant la texture comme dans le code ci-dessous, on obtient une texture uniforme pour la base carrée : {| class="flexible" | <syntaxhighlight lang="java"> pyramid_mesh.getFaces().addAll( // --> F[] = index in P[],T[] // P,T P,T P,T 0,2, 2,4, 1,3, // Front left face 0,2, 1,4, 4,3, // Front right face 0,2, 4,4, 3,3, // Back right face 0,2, 3,4, 2,3, // Back left face 3,1, 1,4, 2,0, // Bottom rear face 3,1, 4,3, 1,4 ); // Bottom front face </syntaxhighlight> | [[File:JavaFX - 3D shapes with materials adjusted.png|400px|Formes 3D avec couleurs et textures ajustées]] |} Dans cette version, la caméra est fixe. Le chapitre suivant résout le problème en ajoutant la possibilité d'interagir avec la souris pour déplacer la caméra. 3o13rmap4epvdmoyrgbydero7xn8fsl 769615 769614 2026-07-20T18:02:41Z DavidL 1746 /* Exemple */ 769615 wikitext text/x-wiki <noinclude>{{Programmation JavaFX}}</noinclude> L'apparence par défaut des objets de la scène construite au chapitre précédent est plutôt monotone : [[Fichier:JavaFX - Simple 3D shapes.png|400px]] Le but de ce chapitre est de montrer comment améliorer l'apparence des objets en leur donnant une couleur ou une texture. L'apparence d'un objet (couleur, reflets, texture, ...) est défini par une instance de la classe abstraite <code>Material</code>. JavaFX fournit une classe concrète nommée <code>PhongMaterial</code>, nommée d'après [[w:Ombrage_de_Phong|le modèle d'ombrage de Phong]]. == Couleur == Les méthodes de la classe <code>PhongMaterial</code> sont les suivantes : ;<code>setDiffuseColor(Color)</code>:Définit la couleur principale. ;<code>setSpecularColor(Color)</code>:Définit la couleur des reflets des sources lumineuses. ;<code>setSpecularPower(float)</code>:Définit la puissance de réflexion. === Exemple === <syntaxhighlight lang="java"> PhongMaterial mat_blue = new PhongMaterial(); mat_blue.setDiffuseColor(Color.BLUE); mat_blue.setSpecularColor(Color.LIGHTBLUE); mat_blue.setSpecularPower(10.0); </syntaxhighlight> On peut ensuite assigner l'apparence aux objets : <syntaxhighlight lang="java"> sphere.setMaterial(mat_blue); </syntaxhighlight> == Texture == Une texture est définie par une image pouvant définir la couleur de diffusion, de réflexion, d'illumination de l'objet. Les méthodes de la classe <code>PhongMaterial</code> concernant les textures sont les suivantes : ;<code>setDiffuseMap(Image)</code>:Définit la texture pour la couleur de diffusion. ;<code>setSpecularMap(Image)</code>:Définit la texture pour la couleur de reflet. ;<code>setSelfIlluminationMap(Image)</code>:Définit la texture pour l'intensité d'illumination. ;<code>setBumpMap(Image)</code>:Définit la texture pour la granularité de l'objet. === Exemple === [[Fichier:Red-brick-wall-texture-1.jpg|thumb|right|La texture utilisée]] L'exemple ci-dessous utilise [[:Fichier:Red-brick-wall-texture-1.jpg|l'image Red-brick-wall-texture-1.jpg disponible sur commons]]. <syntaxhighlight lang="java"> Image tex_im = new Image("file://///E:/Image/wall.png"); // Chemin local //Image tex_im = new Image("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Red-brick-wall-texture-1.jpg/640px-Red-brick-wall-texture-1.jpg"); PhongMaterial mat_wall = new PhongMaterial(); mat_wall.setDiffuseColor(Color.GRAY); mat_wall.setSpecularColor(Color.WHITE); mat_wall.setSpecularPower(8.0); mat_wall.setDiffuseMap(tex_im); </syntaxhighlight> {{Attention|L'URL montrée en commentaire dans l'exemple ci-dessus ne permet pas de charger l'image pour deux raisons : * Java ne connaît pas le certificat des sites de Wikimedia et rejette donc les connexions HTTPS, * MediaWiki requière une taille d'image spécifique parmi une liste prédéfinie fixe, mais qui peut varier selon les évolutions de MediaWiki. |jaune}} Donc téléchargez l'image localement et adaptez le chemin vers le fichier dans le code. == Code complet == [[File:JavaFX - 3D shapes with materials.png|thumb|right|Formes 3D avec couleurs et textures]] <syntaxhighlight lang="java"> package org.wikibooks.fr.javafx; import javafx.application.*; import javafx.scene.*; import javafx.scene.image.*; import javafx.scene.paint.*; import javafx.scene.shape.*; import javafx.scene.transform.*; import javafx.stage.*; public class TestApparence3D extends Application { private final Rotate rotate_x = new Rotate(0, Rotate.X_AXIS); private final Rotate rotate_y = new Rotate(0, Rotate.Y_AXIS); private final Translate translate = new Translate(0, 0, -1000); @Override public void start(Stage stage) { Image tex_im = new Image("file://///E:/Image/wall.png"); // Chemin local //Image tex_im = new Image("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Red-brick-wall-texture-1.jpg/640px-Red-brick-wall-texture-1.jpg"); PhongMaterial mat_wall = new PhongMaterial(); mat_wall.setDiffuseColor(Color.GRAY); mat_wall.setSpecularColor(Color.WHITE); mat_wall.setSpecularPower(8.0); mat_wall.setDiffuseMap(tex_im); PhongMaterial mat_blue = new PhongMaterial(); mat_blue.setDiffuseColor(Color.BLUE); mat_blue.setSpecularColor(Color.LIGHTBLUE); mat_blue.setSpecularPower(10.0); PhongMaterial mat_red = new PhongMaterial(); mat_red.setDiffuseColor(Color.RED); mat_red.setSpecularColor(Color.ORANGERED); mat_red.setSpecularPower(10.0); int dx = 0, dy = 0, dz = 0; Sphere sphere = new Sphere(100); sphere.setTranslateX(dx); sphere.setTranslateY(dy); sphere.setTranslateZ(dz); sphere.setCursor(Cursor.OPEN_HAND); sphere.setMaterial(mat_blue); Box box = new Box(100, 200, 100); box.setTranslateX(dx + 250); box.setTranslateY(dy + 220); box.setTranslateZ(dz); box.setCursor(Cursor.OPEN_HAND); box.setMaterial(mat_wall); Cylinder cyl = new Cylinder(40, 220); cyl.setTranslateX(dx); cyl.setTranslateY(dy + 220); cyl.setTranslateZ(dz); cyl.setCursor(Cursor.OPEN_HAND); cyl.setMaterial(mat_red); TriangleMesh pyramid_mesh = new TriangleMesh(); // VertexFormat.POINT_TEXCOORD => P,T // Texture : coordonnées indépendantes de la taille de la texture // 0.5 = 50%, 1.0 = 100%, 2.0 = 200% (texture répétée 2 fois), ... pyramid_mesh.getTexCoords().addAll( 0 , 0 ); // --> T[0] pyramid_mesh.getTexCoords().addAll( 1.0F, 0 ); // --> T[1] pyramid_mesh.getTexCoords().addAll( 0.5F, 0.0F ); // --> T[2] pyramid_mesh.getTexCoords().addAll( 1.0F, 1.0F ); // --> T[3] pyramid_mesh.getTexCoords().addAll( 0 , 1.0F ); // --> T[4] float h = 150; // Height float s = 300; // Side pyramid_mesh.getPoints().addAll( // --> P[] // X Y Z 0, 0, 0, // Point 0 - Top 0, h, -s/2, // Point 1 - Front -s/2, h, 0, // Point 2 - Left 0, h, s/2, // Point 3 - Back s/2, h, 0 ); // Point 4 - Right pyramid_mesh.getFaces().addAll( // --> F[] = index in P[],T[] // P,T P,T P,T 0,2, 2,4, 1,3, // Front left face 0,2, 1,4, 4,3, // Front right face 0,2, 4,4, 3,3, // Back right face 0,2, 3,4, 2,3, // Back left face 3,2, 1,3, 2,0, // Bottom rear face 3,2, 4,1, 1,4 ); // Bottom front face pyramid_mesh.getFaceSmoothingGroups().addAll(0,1,2,3,4,4); MeshView pyramid = new MeshView(pyramid_mesh); pyramid.setDrawMode(DrawMode.FILL); pyramid.setMaterial(mat_wall); pyramid.setTranslateX(dx); pyramid.setTranslateY(dy-150-h); pyramid.setTranslateZ(dz); Node[] allnodes = { sphere, cyl, pyramid, box }; Color light_color = Color.LIGHTGREY; AmbientLight light = new AmbientLight(light_color); light.setTranslateX(dx - 180); light.setTranslateY(dy - 90); light.setTranslateZ(dz - 120); light.getScope().addAll(allnodes); PointLight light2 = new PointLight(light_color); light2.setTranslateX(dx + 180); light2.setTranslateY(dy + 190); light2.setTranslateZ(dz + 180); light2.getScope().addAll(allnodes); Group root = new Group(allnodes); root.getChildren().addAll(light, light2); Scene scene = new Scene(root, 600, 600, true); scene.setFill(Color.BLACK); PerspectiveCamera camera = new PerspectiveCamera(true); camera.setNearClip(0.1); camera.setFarClip(10000.0); camera.getTransforms().addAll(rotate_x, rotate_y, translate); scene.setCamera(camera); stage.setTitle("3D JavaFX"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { Application.launch(args); } } </syntaxhighlight> == Ajustements == La texture de la base carrée fait apparaître les deux triangles car les 2 faces adjacentes sont associées à deux triangles qui ne sont pas adjacent dans la texture : [[File:JavaFX - 3D shapes with materials.png|400px|Formes 3D avec couleurs et textures]] En ajustant la texture comme dans le code ci-dessous, on obtient une texture uniforme pour la base carrée : {| class="flexible" | <syntaxhighlight lang="java"> pyramid_mesh.getFaces().addAll( // --> F[] = index in P[],T[] // P,T P,T P,T 0,2, 2,4, 1,3, // Front left face 0,2, 1,4, 4,3, // Front right face 0,2, 4,4, 3,3, // Back right face 0,2, 3,4, 2,3, // Back left face 3,1, 1,4, 2,0, // Bottom rear face 3,1, 4,3, 1,4 ); // Bottom front face </syntaxhighlight> | [[File:JavaFX - 3D shapes with materials adjusted.png|400px|Formes 3D avec couleurs et textures ajustées]] |} Dans cette version, la caméra est fixe. Le chapitre suivant résout le problème en ajoutant la possibilité d'interagir avec la souris pour déplacer la caméra. m9kbbuc0s1411v62wvwcqs9r7gbcsgj Mathc matrices/c101f 0 77208 769661 750691 2026-07-21T13:51:30Z Xhungab 23827 769661 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/a204| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as: c00a2.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ /* ------------------------------------ */ #define RAb R2 #define CA C6 #define Cb C1 /* ------------------------------------ */ # define FREEV C4 /* ------------------------------------ */ /* ------------------------------------ */ int main(void) { double ab[RAb*(CA+C1)]={ -18, -549, -119, -715, -233, -640, 30, +152, -42, -910, -730, +359, -799, 800 }; double **Ab = ca_A_mR(ab, i_Abr_Ac_bc_mR(RAb, CA, Cb)); double **Ab_free = i_Abr_Ac_bc_mR(CA, CA, Cb + FREEV); double **b_free = i_mR(CA, Cb + FREEV); double **A = c_Ab_A_mR(Ab, i_mR(RAb, CA)); double **b = c_Ab_b_mR(Ab, i_mR(RAb, Cb)); double **Ax = i_mR(RAb, Cb + FREEV); clrscrn(); printf(" Ab:"); p_mR(Ab, S8,P3,C11); gj_PP_mR(Ab,NO); put_zeroR_mR(Ab,Ab_free); put_freeV_mR(Ab_free); gj_PP_mR(Ab_free,YES); c_Ab_b_mR(Ab_free,b_free); printf(" b:"); p_mR(b, S8,P3,C11); printf(" x:"); p_mR(b_free, S8,P3,C11); printf(" Ax:"); p_mR(mul_mR(A,b_free, Ax), S8,P3,C11); stop(); f_mR(Ab); f_mR(Ab_free); f_mR(b_free); f_mR(A); f_mR(b); f_mR(Ax); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Vous pouvez observer que les vecteurs ligne de A sont orthogonaux aux vecteurs colonne des variables libres.''' '''<RowA,ColomnFreeV> = 0''' '''Exemple de sortie écran :''' <syntaxhighlight lang="C"> Ab: -18.000 -549.000 -119.000 -715.000 -233.000 -640.000 +30.000 +152.000 -42.000 -910.000 -730.000 +359.000 -799.000 +800.000 b: +30.000 +800.000 x: +5.201 +5.874 +4.403 -2.457 +4.890 -0.225 -0.409 -1.447 -0.344 -1.326 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +0.000 +1.000 Ax: +30.000 +0.000 +0.000 +0.000 +0.000 +800.000 -0.000 -0.000 -0.000 -0.000 Press return to continue. </syntaxhighlight> {{AutoCat}} tgvtc6q1y0uflfao0kyhvq1n1j3grxy Mathc matrices/c16a 0 77472 769662 750692 2026-07-21T13:52:39Z Xhungab 23827 769662 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/a204| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00b2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as: c00b2.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ /* ------------------------------------ */ #define RAb R2 #define CA C6 #define Cb C1 /* ------------------------------------ */ # define FREEV C5 /* ------------------------------------ */ /* ------------------------------------ */ int main(void) { double ab[RAb*(CA+C1)]={ -18, -549, -119, -715, -233, -640, 30, -18, -549, -119, -715, -233, -640, 30 }; double **Ab = ca_A_mR(ab, i_Abr_Ac_bc_mR(RAb, CA, Cb)); double **Ab_free = i_Abr_Ac_bc_mR(CA, CA, Cb + FREEV); double **b_free = i_mR(CA, Cb + FREEV); double **A = c_Ab_A_mR(Ab, i_mR(RAb, CA)); double **b = c_Ab_b_mR(Ab, i_mR(RAb, Cb)); double **Ax = i_mR(RAb, Cb + FREEV); clrscrn(); printf(" Ab:"); p_mR(Ab, S8,P3,C11); gj_PP_mR(Ab,NO); put_zeroR_mR(Ab,Ab_free); put_freeV_mR(Ab_free); gj_PP_mR(Ab_free,YES); c_Ab_b_mR(Ab_free,b_free); printf(" b:"); p_mR(b, S8,P3,C11); printf(" x:"); p_mR(b_free, S8,P3,C11); printf(" Ax:"); p_mR(mul_mR(A,b_free, Ax), S8,P3,C11); stop(); f_mR(Ab); f_mR(Ab_free); f_mR(b_free); f_mR(A); f_mR(b); f_mR(Ax); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Vous pouvez observer que les vecteurs ligne de A sont orthogonaux aux vecteurs colonne des variables libres.''' '''<RowA,ColomnFreeV> = 0''' '''Exemple de sortie écran :''' <syntaxhighlight lang="C"> Ab: -18.000 -549.000 -119.000 -715.000 -233.000 -640.000 +30.000 -18.000 -549.000 -119.000 -715.000 -233.000 -640.000 +30.000 b: +30.000 +30.000 x: -1.667 -30.500 -6.611 -39.722 -12.944 -35.556 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +1.000 Ax: +30.000 +0.000 +0.000 +0.000 -0.000 +0.000 +30.000 +0.000 +0.000 +0.000 -0.000 +0.000 Press return to continue. </syntaxhighlight> {{AutoCat}} tklfxaxqmm6oj66cshmtcnpa07yclbq Mathc matrices/e16 0 77477 769663 750690 2026-07-21T13:55:55Z Xhungab 23827 769663 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/a204| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00f2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00f2.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ /* ------------------------------------ */ #define RAb R4 #define CA C4 #define Cb C1 /* ------------------------------------ */ # define FREEV C3 /* ------------------------------------ */ /* ------------------------------------ */ int main(void) { double ab[RAb*(CA+C1)]={ -1888.0, +674.0, -1554.0, -262.0, -1184.0, +2832.0, -1011.0, +2331.0, +393.0, +1776.0, -944.0, +337.0, -777.0, -131.0, -592.0, -3776.0, +1348.0, -3108.0, -524.0, -2368.0 }; double **Ab = ca_A_mR(ab, i_Abr_Ac_bc_mR(RAb, CA, Cb)); double **Ab_free = i_Abr_Ac_bc_mR(CA, CA, Cb + FREEV); double **b_free = i_mR(CA, Cb + FREEV); double **A = c_Ab_A_mR(Ab, i_mR(RAb, CA)); double **b = c_Ab_b_mR(Ab, i_mR(RAb, Cb)); double **Ax = i_mR(RAb, Cb + FREEV); clrscrn(); printf(" Ab:"); p_mR(Ab, S9,P3,C11); gj_PP_mR(Ab,NO); put_zeroR_mR(Ab,Ab_free); put_freeV_mR(Ab_free); gj_PP_mR(Ab_free,YES); c_Ab_b_mR(Ab_free,b_free); printf(" b:"); p_mR(b, S9,P3,C11); printf(" x:"); p_mR(b_free, S9,P3,C11); printf(" Ax:"); p_mR(mul_mR(A,b_free, Ax), S9,P3,C11); stop(); f_mR(Ab); f_mR(Ab_free); f_mR(b_free); f_mR(A); f_mR(b); f_mR(Ax); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Vous pouvez observer que les vecteurs ligne de A sont orthogonaux aux vecteurs colonne des variables libres.''' '''<RowA,ColomnFreeV> = 0''' '''Exemple de sortie écran :''' <syntaxhighlight lang="C"> Ab: -1888.000 +674.000 -1554.000 -262.000 -1184.000 +2832.000 -1011.000 +2331.000 +393.000 +1776.000 -944.000 +337.000 -777.000 -131.000 -592.000 -3776.000 +1348.000 -3108.000 -524.000 -2368.000 b: -1184.000 +1776.000 -592.000 -2368.000 x: +0.627 +0.357 -0.823 -0.139 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +1.000 Ax: -1184.000 +0.000 +0.000 +0.000 +1776.000 +0.000 +0.000 +0.000 -592.000 +0.000 +0.000 +0.000 -2368.000 +0.000 +0.000 +0.000 Press return to continue. </syntaxhighlight> {{AutoCat}} pgo1epwkryj6wnbm995ssuselx9n2v1 Dictionnaire de philosophie/Causalité 0 83045 769666 768471 2026-07-22T10:06:31Z PandaMystique 119061 769666 wikitext text/x-wiki {{DicoPhilo|Causalité|lecture=oui}} La '''causalité''' désigne la relation, ou la famille de relations, en vertu de laquelle un fait est tenu pour la cause d'un autre fait, appelé son effet. Ses termes ne sont pas toujours des « phénomènes » au sens étroit : on invoque comme causes ou comme effets des événements, des états de choses, des propriétés, des valeurs de variables, des actions, voire des absences, ce dernier cas comptant parmi les plus délicats à analyser. Cette notion joue un rôle fondateur dans la connaissance scientifique et la compréhension philosophique du monde. Pourtant, loin d'être une évidence, la causalité pose des problèmes théoriques redoutables qui traversent l'histoire de la philosophie, depuis l'Antiquité jusqu'aux débats contemporains. Comprendre ce qu'est une cause, comment elle agit, si elle implique nécessité ou simple régularité, si elle existe objectivement ou n'est qu'une construction de l'esprit : autant de questions qui font de la causalité un des concepts les plus discutés de la philosophie. Plusieurs distinctions organisent ces débats et reviendront tout au long de l'article : entre une causalité générale, qui relie des types de faits, et une causalité singulière, qui relie tel événement à tel autre ; entre une causalité déterministe et une causalité seulement probable ; entre cause directe et cause indirecte ; entre l'idée d'une production réelle de l'effet et celle, plus faible, d'une différence faite à son cours. L'exposé suit l'ordre des grandes conceptions de la cause plutôt qu'une stricte chronologie. ==Le problème de la nature de la causalité== ===La causalité comme production nécessaire=== Le rapport entre cause et effet ne se réduit pas à une simple succession d'événements dans le temps. Une tradition métaphysique, dont on trouve les linéaments chez [[Dictionnaire de philosophie/Aristote|Aristote]] et qui se systématise chez Leibniz et Spinoza, conçoit la relation causale comme impliquant un lien de nécessité : l'effet découle nécessairement de sa cause, et non pas seulement à titre de fait constaté. Encore Aristote admet-il le hasard, les causes par accident et les processus qui ne valent que « la plupart du temps » : la lecture strictement nécessitariste est surtout l'œuvre de ses héritiers. Cette conception fait de la causalité le fondement même de l'intelligibilité du monde, puisque comprendre un phénomène revient à saisir sa cause, c'est-à-dire la raison qui explique pourquoi il ne pouvait pas ne pas se produire. Contre l'idée que l'univers serait un chaos d'événements contingents et arbitraires, la métaphysique classique affirme que tout ce qui existe possède une raison d'être, une cause qui en rend compte. ====Les fondements scolastiques : Thomas d'Aquin et la causalité efficiente==== La pensée médiévale, en particulier dans sa version thomiste, élabore une théorie de la causalité fondée sur la distinction entre l'essence et l'existence. Pour Thomas d'Aquin, les êtres créés se caractérisent par le fait que leur essence (ce qu'ils sont) ne contient pas en elle-même la raison de leur existence (le fait qu'ils soient). Un triangle possède une essence déterminée (être une figure plane à trois côtés), mais cette essence ne nous dit pas si des triangles existent effectivement dans la réalité. Cette séparation entre essence et existence signifie que les créatures sont ontologiquement [[Dictionnaire de philosophie/Contingence|contingentes]] : elles pourraient ne pas exister. Or, si quelque chose existe sans que son essence n'implique nécessairement son existence, il faut une cause extérieure qui lui confère l'être. Dans la ''Somme théologique'', Thomas expose la « deuxième voie » de démonstration de l'existence de Dieu à partir de la causalité efficiente<ref>Thomas d'Aquin, ''Somme théologique'', I, q. 2, a. 3</ref>. Nous constatons dans le monde sensible un ordre de causes efficientes : tel événement produit tel autre, qui à son tour en produit un troisième. Mais aucune chose ne peut être cause efficiente d'elle-même, car elle devrait alors être antérieure à elle-même, ce qui constitue une contradiction. Il existe donc une série de causes efficientes où chaque maillon dépend du précédent. Thomas précise qu'il ne s'agit pas d'une série temporelle remontant indéfiniment dans le passé (une chaîne « horizontale »), mais d'une série de causes hiérarchiquement ordonnées et actuellement dépendantes (une chaîne « verticale »). Cette distinction, plus qu'énoncée dans le texte bref de la deuxième voie, s'en dégage lorsqu'on l'éclaire par d'autres passages de Thomas. L'exemple qu'il propose illustre cette structure : la main meut le bâton qui meut la pierre. Ces trois causes agissent en même temps, mais dans un ordre de dépendance ontologique. La main exerce une causalité principale relativement au bâton, quoiqu'elle soit elle-même mue par les puissances de l'agent ; le bâton ne meut que parce qu'il est mû par la main ; la pierre ne se meut que parce qu'elle est mue par le bâton. Le bâton est une cause instrumentale, subordonnée à la main qui le meut ; la pierre est l'objet dont le mouvement constitue l'effet de cette action. Cette analyse conduit Thomas à affirmer qu'une régression infinie de causes instrumentales est impossible. Si chaque cause dans la série ne fait que transmettre une causalité qu'elle reçoit d'une autre, et qu'aucune ne possède par elle-même le pouvoir d'agir, alors rien ne se produira jamais. On se trouve devant une chaîne de transmission sans rien à transmettre. Il faut donc nécessairement une cause première qui possède en elle-même, de manière non dérivée, l'efficacité causale. Cette première cause, que Thomas identifie à Dieu, sera caractérisée dans sa métaphysique comme l'être même subsistant (''ipsum esse subsistens''), qui confère l'existence à toutes les créatures<ref>Wippel, J. F. (2000). ''The Metaphysical Thought of Thomas Aquinas: From Finite Being to Uncreated Being'', Washington, Catholic University of America Press.</ref>. L'argument thomiste contre la régression infinie a connu un prolongement dans la métaphysique récente. Alexander Pruss défend ce qu'il nomme le ''finitisme causal'', la thèse selon laquelle rien ne peut avoir une histoire causale infinie. Son appui n'est plus théologique mais logique : autoriser des chaînes causales infinies engendre, montre-t-il, des paradoxes irrecevables, tel celui des « Faucheuses » (''Grim Reapers'') : chaque Faucheuse doit agir si aucune ne l'a fait avant elle, mais la série n'a pas de premier terme, en sorte que l'effet devrait avoir été produit alors qu'aucun agent ne peut l'avoir produit. Pruss distingue d'ailleurs plusieurs types de régressions et de coopérations causales infinies, et son argument ne vise pas les seules chaînes temporelles. Si l'argument tient, une limite s'impose aux séries causales, indépendamment de toute prémisse religieuse<ref>Pruss, A. R. (2018). ''Infinity, Causation, and Paradox'', Oxford, Oxford University Press, chap. 1 et 3.</ref>. La causalité divine, selon Thomas, ne se limite pas à un acte de création initial situé au commencement du temps. Elle constitue une causalité conservatrice permanente : à chaque instant, Dieu maintient ses créatures dans l'être. Si cette action causale divine cessait ne serait-ce qu'un moment, les créatures retomberaient immédiatement dans le néant dont elles ont été tirées. La nécessité causale revêt ici une dimension métaphysique : l'existence même des choses contingentes dépend nécessairement, à chaque instant, de la causalité divine qui les maintient dans l'être. ====Leibniz et le principe de raison suffisante==== Au XVII{{e}}&nbsp;siècle, Gottfried Wilhelm Leibniz systématise la conception de la causalité nécessaire en formulant explicitement le principe de raison suffisante. Ce principe, qu'il considère comme l'un des deux piliers de toute connaissance rationnelle (l'autre étant le principe de contradiction), énonce que rien n'existe et rien n'arrive sans qu'il y ait une raison suffisante pour laquelle c'est ainsi et non autrement<ref>Leibniz, G. W., ''Monadologie'', §32</ref>. Dans la ''Théodicée'', Leibniz nomme ce second pilier le « principe de la raison déterminante » : jamais rien n'arrive sans une cause, ou du moins sans une raison qui permette de rendre raison ''a priori'' de ce qui existe plutôt que d'autre chose<ref>Leibniz, G. W., ''Théodicée'', I, §44</ref>. Le principe de raison suffisante ne se contente pas d'affirmer que tout a une cause, il précise la nature de cette causalité. Une raison suffisante ne se confond pas avec une cause efficiente : la notion de raison est plus large, car elle rend compte aussi bien de la vérité d'une proposition, du choix divin d'un monde ou de l'existence d'une chose, et peut revêtir une forme causale, conceptuelle ou finale. Lorsqu'il s'agit de l'existence d'une chose, cette raison rassemble l'ensemble complet des conditions qui, une fois posées, la rendent inévitable. Leibniz emploie le terme de « réquisit » pour désigner ces conditions nécessaires : un réquisit est ce sans quoi une chose ne peut exister. Lorsque tous les réquisits d'une chose sont réunis, ils forment ensemble sa raison suffisante, et la chose existe nécessairement<ref>Melamed, Y. & Lin, M. (2016). « The Principle of Sufficient Reason », dans ''Stanford Encyclopedia of Philosophy''</ref>. Cette conception de la raison suffisante s'articule étroitement avec la théorie leibnizienne de la vérité. Pour Leibniz, toute proposition vraie est analytique : le prédicat est contenu dans le sujet. Dans les vérités nécessaires (comme les vérités mathématiques), cette inclusion peut être démontrée en un nombre fini d'étapes par l'analyse des concepts. Dans les vérités contingentes (les vérités de fait concernant le monde existant), l'analyse se poursuit à l'infini, mais Dieu, dans son entendement infini, voit d'un seul regard l'inclusion du prédicat dans le sujet. Cette théorie implique que toutes les propriétés et tous les états d'une substance sont contenus dans son concept complet. Le concept individuel de Jules César contient ''a priori'' tous les prédicats qui lui seront effectivement attribués, y compris « franchir le Rubicon »<ref>Leibniz, G. W., ''Discours de métaphysique'', §13</ref>. Il s'ensuit que tout ce qui arrive à une substance est compris dans son concept complet et se produit avec certitude dans le monde que Dieu a choisi. Cette détermination relève cependant d'une nécessité hypothétique, non absolue : elle suppose le choix divin de ce monde et ne transforme pas les vérités contingentes en vérités dont le contraire impliquerait contradiction. La causalité apparente entre substances distinctes se réduit en réalité au développement déterminé de leurs états conformément à leurs concepts individuels, coordonné par l'harmonie préétablie que Dieu a instaurée entre toutes les substances. Lorsque je veux lever mon bras et que mon bras se lève, il n'y a pas de causalité transitive entre mon âme et mon corps ; plutôt, Dieu a préétabli une harmonie telle que les états de mon âme et les mouvements de mon corps se correspondent parfaitement, chacun se déployant selon sa propre loi interne<ref>Leibniz, G. W., ''Système nouveau de la nature et de la communication des substances'', §14</ref>. Cette doctrine conduit Leibniz au bord d'un nécessitarisme absolu : si tout ce qui arrive possède une raison suffisante qui le rend inévitable, comment préserver la contingence du monde et la liberté divine dans le choix de créer tel monde plutôt que tel autre ? Leibniz tente de résoudre cette difficulté en distinguant la nécessité métaphysique, ou logique, de la nécessité morale. On prendra garde à ne pas confondre cette nécessité morale, qui tient au choix du meilleur par Dieu, avec la nécessité hypothétique, plus générale, qui désigne ce qui suit une fois certaines hypothèses admises. Une vérité est métaphysiquement nécessaire si son contraire implique contradiction ; elle est moralement nécessaire si, bien que son contraire ne soit pas contradictoire, elle découle des perfections de Dieu qui choisit toujours le meilleur. Le monde existant est contingent au sens métaphysique (Dieu aurait pu créer d'autres mondes sans contradiction), mais nécessaire au sens moral (Dieu, étant parfait, devait nécessairement choisir le meilleur des mondes possibles). Cette subtile distinction a été jugée peu convaincante par nombre de critiques, qui y voient une distinction verbale masquant mal un déterminisme complet<ref>Adams, R. M. (1994). ''Leibniz: Determinist, Theist, Idealist'', Oxford, Oxford University Press.</ref>. ====Spinoza et la nécessité absolue de la nature==== C'est Baruch Spinoza qui tire les conclusions les plus intransigeantes de la conception de la causalité comme production nécessaire. Dans l{{'}}''Éthique démontrée selon l'ordre géométrique'', il construit un système philosophique où la nécessité causale règne sans exception ni restriction. Dès l'axiome 3 de la première partie, Spinoza pose que « d'une cause déterminée donnée suit nécessairement un effet » ; et, réciproquement, là où ne se rencontre aucune cause déterminée, aucun effet ne saurait suivre<ref>Spinoza, B., ''Éthique'', I, axiome 3</ref>. Cette formulation épurée exprime l'essence même de la causalité spinoziste : le lien entre cause et effet constitue une nécessité absolue, non une simple régularité empirique. Pour Spinoza, comprendre quelque chose, c'est en saisir la cause. L'axiome 4 de la première partie affirme : « La connaissance de l'effet dépend de la connaissance de la cause et l'enveloppe »<ref>Spinoza, B., ''Éthique'', I, axiome 4</ref>. Cette formule est d'abord épistémologique : nous devons connaître la cause pour connaître l'effet. Dans le cadre général du système spinoziste, cet axiome traduit aussi une dépendance ontologique de l'effet à l'égard de sa cause, sans que cette lecture se réduise à une simple paraphrase de l'énoncé. La relation causale s'apparente ainsi à une relation d'inhérence logique : l'effet est dans la cause comme la conclusion est dans les prémisses d'un raisonnement déductif. Spinoza identifie explicitement causalité et rationalité dans la formule ''causa sive ratio'', la cause ou raison<ref>Spinoza, B., ''Éthique'', I, proposition 11, démonstration</ref>. Expliquer causalement un phénomène et en rendre raison constituent une seule et même opération intellectuelle. Cette identification repose sur une conception génétique de la définition : une définition vraie doit être génétique, c'est-à-dire qu'elle doit exprimer la cause productrice de la chose définie. Par exemple, la définition du cercle comme « la figure décrite par une ligne dont une extrémité est fixe et l'autre mobile » constitue une définition génétique qui montre comment le cercle peut être engendré. De cette définition, on peut déduire toutes les propriétés essentielles du cercle. La connaissance vraie procède ainsi par déduction causale : on part de la définition génétique (la cause) et on en déduit les propriétés (les effets). Le système spinoziste repose sur la démonstration qu'il existe une seule substance, Dieu ou la Nature (''Deus sive Natura''), qui existe nécessairement et dont tout le reste découle nécessairement. La proposition 16 de la première partie affirme que « de la nécessité de la nature divine doivent suivre une infinité de choses », en une infinité de modes, soit tout ce qui peut tomber sous un entendement infini<ref>Spinoza, B., ''Éthique'', I, proposition 16</ref>. La démonstration recourt à une analogie mathématique : de même que l'entendement infère d'une définition donnée un nombre indéfini de propriétés qui suivent nécessairement de l'essence de la chose définie, de même de la nature divine, qui possède une infinité d'attributs exprimant chacun une essence infinie, doivent suivre nécessairement une infinité de choses en une infinité de modes. Cette proposition établit que tout ce qui existe découle nécessairement de la nature de Dieu. Spinoza en tire la conséquence que « dans la Nature, il n'y a rien de contingent » : tout y est déterminé par la nécessité de la nature divine à exister et à opérer d'une manière définie (proposition 29)<ref>Spinoza, B., ''Éthique'', I, proposition 29</ref>. Le contingent, entendu comme ce qui pourrait ne pas être, n'existe donc pas dans la réalité. Ce que nous appelons contingent n'est tel que relativement à notre ignorance des causes : si nous connaissions parfaitement la chaîne causale complète qui produit un événement, nous verrions qu'il ne pouvait pas ne pas se produire. La contingence est un défaut de connaissance, non une propriété ontologique. Ce nécessitarisme absolu soulève évidemment la question de la liberté divine. Si tout suit nécessairement de la nature de Dieu, Dieu lui-même est-il libre ? Spinoza répond en redéfinissant la liberté. Est libre, selon lui, « ce qui existe par la seule nécessité de sa nature » et se détermine soi-même à agir<ref>Spinoza, B., ''Éthique'', I, définition 7</ref>. Dieu est libre en ce sens suprême : il n'est contraint par aucune cause extérieure (puisqu'il est la seule substance), et il agit selon la nécessité de sa propre nature. Cette liberté s'oppose à la nécessité de contrainte (être forcé par une cause externe), non à la nécessité tout court. Spinoza critique vigoureusement la conception vulgaire de la liberté divine comme libre arbitre, comme si Dieu pouvait choisir de créer ou non, de créer tel monde plutôt que tel autre. Une telle conception anthropomorphique projette sur Dieu les imperfections de la volonté humaine. La causalité spinoziste présente une autre caractéristique essentielle : elle est immanente et non transeunte, c'est-à-dire qu'elle ne s'exerce pas sur une réalité extérieure à Dieu. Dieu n'est pas une cause transeunte qui produirait le monde comme l'artisan produit un objet distinct de lui. Il est cause immanente : les choses finies (les modes) sont des manières d'être de la substance divine elle-même<ref>Spinoza, B., ''Éthique'', I, proposition 18</ref>. Cette conception s'oppose au théisme créationniste traditionnel, qui conçoit Dieu comme transcendant et le monde comme une réalité distincte, créée ''ex nihilo'' par un acte de volonté divine libre. Pour Spinoza, au contraire, Dieu et la Nature ne font qu'un, et le monde découle éternellement de la nature divine avec la même nécessité que les propriétés du triangle découlent de sa définition. L'essentialisme causal de Spinoza implique que chaque chose possède une essence qui détermine ses pouvoirs causaux. Les effets « suivent » de l'essence des choses comme les propriétés géométriques suivent des définitions. Cette approche fait de la causalité non pas une relation contingente entre événements séparés, mais l'expression nécessaire de la nature des choses<ref>Viljanen, V. (2008). « Spinoza's Essentialist Model of Causation », ''Inquiry'', vol. 51, n° 4, p. 412-437</ref>. La connaissance adéquate consiste précisément à saisir ces connexions causales nécessaires, à comprendre comment les modes finis s'enchaînent les uns aux autres selon des lois déterminées qui découlent de la nature divine. ====Enjeux et limites de la conception nécessitariste==== La conception de la causalité comme production nécessaire, qui culmine dans le système spinoziste, repose sur plusieurs présupposés qu'il convient d'examiner. Premier présupposé : l'intelligibilité du réel exige que tout ait une raison d'être. Sans le principe de raison suffisante, le monde serait un chaos incompréhensible où les choses arriveraient sans cause, arbitrairement. Ce présupposé exprime un optimisme rationaliste : le réel est rationnel, et la raison peut en principe rendre compte de tout ce qui existe. Deuxième présupposé : la causalité ne se réduit pas à une succession régulière d'événements, mais implique une connexion nécessaire, un lien ontologique qui fait que l'effet ne peut pas ne pas suivre de la cause. Ce présupposé distingue la métaphysique rationaliste de l'empirisme humien qui réduira la causalité à la régularité. Ces présupposés comportent des implications de grande portée. Si tout est déterminé par des causes nécessaires, quelle place reste-t-il pour la liberté humaine ? Spinoza affronte cette difficulté en niant le libre arbitre : les hommes se croient libres parce qu'ils sont conscients de leurs désirs et de leurs actions, mais ignorants des causes qui les déterminent. La liberté réelle ne consiste pas dans un pouvoir de choisir indifféremment entre des contraires (ce qui est une illusion), mais dans la compréhension adéquate de la nécessité qui nous détermine. En comprenant les causes qui nous font agir, nous cessons d'être passivement ballottés par des affects dont nous ignorons l'origine, et nous devenons actifs dans la mesure où nos actions découlent de notre propre nature comprise adéquatement<ref>Spinoza, B., ''Éthique'', III, proposition 2, scolie ; IV, proposition 66-73</ref>. Cette solution soulève toutefois des difficultés. Si tout est nécessaire, les notions morales de responsabilité, de mérite et de faute semblent perdre leur sens. Comment blâmer quelqu'un pour une action qu'il ne pouvait pas ne pas accomplir ? Spinoza répond que le blâme et la louange conservent une efficacité causale : ils constituent eux-mêmes des causes qui influencent le comportement futur, non pas en vertu d'une liberté métaphysique inexistante, mais en modifiant les affects et les représentations qui déterminent causalement les actions. La morale spinoziste ne repose pas sur l'imputation de fautes à une volonté libre, mais sur la compréhension des passions humaines et la recherche rationnelle de ce qui est réellement utile à la conservation et au perfectionnement de notre être. Un recul critique invite à distinguer plusieurs sens de la nécessité causale. La nécessité logique, ce dont le contraire implique contradiction, ne se confond pas avec la nécessité nomologique, ce qui découle des lois de la nature. Un point de partage entre les interprétations tient au statut de ces lois : faut-il les tenir pour des vérités éternelles et immuables, sur le modèle des vérités mathématiques, ou pour des régularités qui pourraient elles-mêmes avoir une histoire ? On a pu reprocher aux rationalistes du XVII{{e}}&nbsp;siècle d'avoir rabattu la nécessité naturelle sur le paradigme de la déduction mathématique, effaçant cette différence. La question rejaillit sur le statut des lois de la nature. Pour une tradition héritée de Hume, ces lois ne sont que les régularités les plus générales, et elles restent contingentes : elles pourraient être autres, et rien dans les choses ne les rend nécessaires. David Armstrong y oppose une nécessitation entre universaux, relation de second ordre censée expliquer pourquoi les régularités tiennent. Les tenants d'une essence dispositionnelle, tel Alexander Bird, vont plus loin : si les propriétés sont par nature des pouvoirs, les lois qu'elles fondent deviennent métaphysiquement nécessaires : dans les conditions appropriées et en l'absence d'empêchement, le sel ne pourrait pas ne pas manifester sa disposition à se dissoudre dans l'eau. Selon la voie choisie, la nécessité causale sera tenue pour une projection de nos attentes, pour un fait de structure entre universaux, ou pour l'expression de pouvoirs inscrits dans l'essence des choses<ref>Armstrong, D. M. (1983). ''What Is a Law of Nature?'', Cambridge, Cambridge University Press.</ref><ref>Bird, A. (2007). ''Nature's Metaphysics: Laws and Properties'', Oxford, Oxford University Press.</ref>. ===La pluralité des causes : Aristote et les quatre causes=== Avant même de s'interroger sur la nécessité du lien causal, Aristote pose une question plus essentielle qui transforme la compréhension même de ce que signifie expliquer par les causes. Pour lui, chercher la cause d'un phénomène, c'est chercher le « pourquoi » (''to dia ti'' en grec), et cette recherche du pourquoi ne se satisfait pas d'une réponse unique. L'explication causale complète d'une chose exige de répondre à quatre questions distinctes, correspondant à quatre modes différents de causalité. Cette doctrine des quatre causes, exposée principalement dans la ''Physique'' (livre II, chapitres 3 à 9) et la ''Métaphysique'' (livre Delta, chapitre 2), constitue l'un des apports les plus durables d'Aristote à la philosophie<ref>Aristote, ''Physique'', II, 3, 194b16-195b30 ; ''Métaphysique'', Δ, 2, 1013a24-1013b28</ref>. ====Le cadre conceptuel : causalité et explication==== Pour comprendre la doctrine aristotélicienne, il faut d'abord saisir que le terme grec ''aitia'', que nous traduisons par « cause », possède un sens plus large que notre notion moderne. ''Aitia'' désigne à l'origine une responsabilité, une accusation, une culpabilité. Aristote en fait un terme technique de la philosophie pour désigner ce qui est responsable de quelque chose, ce dont dépend l'existence ou le devenir d'une chose<ref>Natali, C. (2013). « AITIA in Plato and Aristotle. From Everyday Language to Technical Vocabulary », ''Méthexis'', vol. 26, p. 3-25</ref>. L'innovation aristotélicienne consiste à reconnaître que cette dépendance peut s'exercer de plusieurs manières différentes, irréductibles les unes aux autres. Dans la ''Physique'', Aristote affirme que nous ne pensons connaître une chose qu'une fois « saisi le pourquoi de chacune, c'est-à-dire sa cause »<ref>Aristote, ''Physique'', II, 3, 194b17-19</ref>. La connaissance scientifique (''epistémè'') ne se contente pas de constater qu'un phénomène se produit ; elle exige de comprendre pourquoi il se produit, quelle est sa raison d'être. Cette exigence explicative conduit Aristote à identifier quatre types de réponses à la question « pourquoi ? », correspondant à quatre types de causes. ====La cause matérielle : ce dont une chose est faite==== La cause matérielle (''hylè aitia'') désigne la matière dont une chose est constituée, le substrat à partir duquel elle est formée. Aristote la définit comme « ce de quoi une chose est faite en tant que constituant immanent »<ref>Aristote, ''Métaphysique'', Δ, 2, 1013a24-25</ref>. L'exemple classique est celui de la statue : l'airain ou le marbre constitue la cause matérielle de la statue. De même, les lettres sont la cause matérielle de la syllabe, et le bois est la cause matérielle de la table. Toutefois, il faut prendre garde à ne pas comprendre la cause matérielle de manière trop restrictive. La matière n'est pas nécessairement un substrat physique tangible. Dans certains cas, elle peut être de nature plus abstraite. Aristote précise que A et B sont la cause matérielle de la syllabe BA : les éléments dont quelque chose est composé en forment la cause matérielle, même si ces éléments ne sont pas à proprement parler des objets matériels au sens physique<ref>Aristote, ''Physique'', II, 3, 195a16-17</ref>. La cause matérielle répond donc à la question : de quoi est faite cette chose ? Quelle est sa composition ? Cette cause explique certaines propriétés de la chose : la lourdeur de la statue s'explique par sa matière de bronze, sa durabilité par la solidité du marbre. Mais la cause matérielle seule ne suffit pas à expliquer pleinement la chose. Savoir qu'une maison est faite de briques et de bois ne nous dit pas encore ce qu'est une maison, ni pourquoi ces matériaux ont été assemblés de cette manière particulière. Il faut donc recourir aux autres causes. ====La cause formelle : l'essence et la définition==== La cause formelle (''eidos aitia'' ou ''morphè aitia'') désigne la forme, la structure ou l'essence qui fait qu'une chose est ce qu'elle est. Aristote la définit comme « la forme et le modèle, c'est-à-dire la définition de l'essence »<ref>Aristote, ''Métaphysique'', Δ, 2, 1013a26-27</ref>. La cause formelle répond à la question : qu'est-ce que cette chose ? Quelle est sa nature essentielle ? Pour comprendre cette notion, prenons l'exemple de la statue. La cause formelle de telle statue n'est pas le marbre dont elle est faite (cause matérielle), mais la forme de David, c'est-à-dire cette configuration particulière qui fait que ce bloc de marbre sculpté représente David et non une autre figure. La forme est ce qui confère à la matière son intelligibilité : sans forme, la matière reste indéterminée, pure potentialité sans actualité définie. Dans la théorie aristotélicienne de l'hylémorphisme (du grec ''hylè'', matière, et ''morphè'', forme), toute substance matérielle est un composé de matière et de forme. La forme n'est pas une entité séparée existant dans un monde intelligible, comme chez Platon, mais un principe structurant immanent à la chose elle-même. Elle constitue son principe d'identité et d'intelligibilité. Connaître la cause formelle d'une chose, c'est pouvoir la définir, dire ce qu'elle est essentiellement. Aristote souligne que la cause formelle joue un rôle explicatif central. Dans la ''Métaphysique'', il écrit que « la forme est l'essence, et l'essence est la cause première de l'être »<ref>Aristote, ''Métaphysique'', Z, 7, 1032b1-2</ref>. Ce qui fait qu'une chose est telle chose déterminée, ce n'est pas seulement sa matière (qui pourrait recevoir d'autres formes), mais sa forme qui actualise la matière de manière spécifique. Dans le cas des êtres vivants, la forme est l'âme (''psychè''), principe vital qui organise la matière corporelle et lui confère ses fonctions caractéristiques<ref>Aristote, ''De l'âme'', II, 1, 412a19-28</ref>. ====La cause efficiente : le principe du mouvement==== La cause efficiente ou cause motrice (''to kinoun'' ou ''to poioun'') désigne ce qui produit le changement, l'agent qui fait passer une chose de la puissance à l'acte. Aristote la définit comme « le principe premier du changement ou du repos »<ref>Aristote, ''Métaphysique'', Δ, 2, 1013a29-30</ref>. Cette cause répond à la question : d'où vient le changement ? Qui ou quoi a produit cette chose ? Les exemples qu'Aristote propose sont parlants : le père est la cause efficiente de l'enfant, le sculpteur est la cause efficiente de la statue, celui qui délibère est la cause efficiente de son action<ref>Aristote, ''Physique'', II, 3, 194b29-32</ref>. Dans chaque cas, la cause efficiente est ce qui initie le processus, ce qui met en mouvement ou transforme. Sans cause efficiente, rien ne passerait de la puissance à l'acte, la matière informée resterait à l'état de simple possibilité. La cause efficiente correspond assez étroitement à ce que la philosophie et la science modernes entendent par « cause ». C'est elle qui établit une relation de production temporelle : la cause efficiente précède temporellement son effet (le sculpteur commence à sculpter avant que la statue n'existe), et elle le produit par son action. Toutefois, Aristote précise que cause et effet peuvent aussi être simultanés dans certains cas : au moment où le médecin soigne, la guérison commence ; au moment où le bâtisseur construit, la maison s'édifie<ref>Aristote, ''Physique'', II, 3, 195b16-21</ref>. Il importe de noter qu'Aristote distingue la cause efficiente principale de la cause efficiente instrumentale. Le sculpteur est la cause principale, le ciseau est la cause instrumentale. La cause principale possède en elle-même le pouvoir d'agir, tandis que la cause instrumentale n'agit qu'en étant mue par la cause principale. Cette distinction sera reprise et développée par la scolastique médiévale dans la théorie de la causalité divine et des causes secondes. ====La cause finale : le but et la téléologie==== La cause finale (''to telos'' ou ''to hou heneka'') désigne le but, la fin en vue de laquelle quelque chose existe ou se produit. Aristote la définit comme « ce en vue de quoi une chose est »<ref>Aristote, ''Métaphysique'', Δ, 2, 1013a32-33</ref>. La cause finale répond à la question : dans quel but ? Pour quelle fin ? L'exemple aristotélicien classique est celui de la promenade : la santé est la cause finale de la promenade. On ne se promène pas sans raison ; on se promène en vue d'un bien, en l'occurrence la santé. De même, la cause finale d'une maison est d'abriter ses habitants ; la cause finale d'une statue peut être de commémorer un personnage illustre. Dans les productions artisanales et les actions humaines, la cause finale coïncide souvent avec l'intention ou le projet de l'agent. Mais Aristote étend la causalité finale bien au-delà des productions humaines intentionnelles. Il affirme que la nature elle-même agit en vue d'une fin : « la nature ne fait rien en vain », mais vise toujours le meilleur parmi les possibles<ref>Aristote, ''Marche des animaux'', 2, 704b15-17</ref>. Les processus naturels, notamment dans les êtres vivants, manifestent une finalité immanente. L'arbre pousse en vue de sa forme adulte, l'œil existe en vue de la vision, les organes se développent en vue de leurs fonctions caractéristiques. Cette téléologie naturelle ne suppose pas une conscience ou une intention dans la nature, mais simplement que les processus naturels sont orientés vers des fins déterminées qui correspondent au bien ou à la perfection de chaque être<ref>Aristote, ''Physique'', II, 8, 198b10-199b33</ref>. La cause finale occupe une place privilégiée dans la doctrine aristotélicienne. Aristote lui accorde une primauté, en ce sens que c'est elle qui rend compte de toutes les autres : la tradition scolastique résumera ce rang dans la formule « cause des causes » (''causa causarum''). Pourquoi telle matière a-t-elle été choisie ? Pourquoi telle forme a-t-elle été réalisée ? Pourquoi tel agent a-t-il agi ? La réponse ultime fait appel à la fin : en vue de tel but. La cause finale confère son intelligibilité complète au processus causal : elle explique non seulement que quelque chose s'est produit, mais pourquoi il devait se produire ainsi plutôt qu'autrement<ref>Falcon, A. (2019). ''Aristotle on Causality'', dans ''Stanford Encyclopedia of Philosophy''</ref>. ====L'interdépendance des quatre causes==== Un point essentiel de la doctrine aristotélicienne est que les quatre causes ne sont pas indépendantes les unes des autres ; elles collaborent à l'explication complète d'un même phénomène. Aristote insiste sur le fait qu'une explication adéquate requiert souvent de mobiliser plusieurs causes simultanément, voire les quatre. Prenons l'exemple de la statue de bronze représentant un discobole. La cause matérielle est le bronze ; la cause formelle est la configuration qui représente un athlète lançant le disque ; la cause efficiente est le sculpteur qui a façonné le bronze ; la cause finale peut être de célébrer la beauté athlétique ou de commémorer une victoire olympique. Ces quatre causes ne s'excluent pas mutuellement ; elles offrent quatre perspectives complémentaires sur la même réalité. Chacune répond à une question différente sur la statue, et c'est seulement en les combinant que nous obtenons une compréhension complète. Aristote note également que dans certains cas, plusieurs causes peuvent coïncider. La forme et la fin tendent souvent à se confondre : la forme adulte de l'arbre est à la fois la cause formelle (ce qu'est l'arbre dans sa maturité) et la cause finale (ce vers quoi tend sa croissance). De même, la cause efficiente et la cause formelle peuvent coïncider lorsqu'un artisan réalise une œuvre : la forme de la maison existe d'abord dans l'esprit de l'architecte (cause formelle) qui est aussi celui qui dirige la construction (cause efficiente)<ref>Aristote, ''Métaphysique'', Δ, 2, 1013b5-9</ref>. Cette interdépendance manifeste la complexité de la réalité naturelle et artificielle. Les choses ne se réduisent pas à une seule dimension causale ; elles requièrent une approche multidimensionnelle qui prenne en compte leur composition matérielle, leur structure formelle, leur origine productive et leur orientation téléologique. C'est cette vision holistique de la causalité qui distingue Aristote des penseurs présocratiques qui tendaient à privilégier un seul type d'explication (généralement matérielle). ====La postérité et les transformations de la doctrine==== La théorie aristotélicienne des quatre causes exercera une influence durable sur toute la tradition philosophique occidentale. La scolastique médiévale, en particulier chez Thomas d'Aquin, reprend intégralement cette classification en l'adaptant au cadre de la théologie chrétienne. Thomas distingue entre causes intrinsèques (matérielle et formelle, qui sont des principes constitutifs de la chose) et causes extrinsèques (efficiente et finale, qui agissent de l'extérieur), et il établit une hiérarchie entre elles : la cause finale est la plus importante, suivie de la cause efficiente, puis de la cause formelle et enfin de la cause matérielle<ref>Thomas d'Aquin, ''Somme théologique'', I-II, q. 1, a. 2</ref><ref>Reece, B. C. (2019). « Aristotle's Four Causes of Action », ''Australasian Journal of Philosophy'', vol. 97, n° 2, p. 213-227</ref>. Thomas intègre également Dieu dans ce schéma causal : Dieu est la cause efficiente première de toute chose (en tant que créateur), la cause finale ultime (en tant que bien suprême vers lequel tout tend), et dans un certain sens la cause formelle exemplaire (en tant que modèle archétypal de toute perfection). Cette intégration de la causalité divine avec la causalité naturelle aboutit à la doctrine complexe de la coopération entre cause première (Dieu) et causes secondes (les créatures)<ref>Silva, I. (2015). « A Cause Among Causes ? God Acting in the Natural World », ''European Journal for Philosophy of Religion'', vol. 7, n° 4, p. 99-114</ref>. Entre Aristote et la scolastique, l'Antiquité tardive avait déjà remodelé la notion de cause. Les néoplatoniciens, Plotin en tête, pensent la production du monde sur le modèle de l'émanation : le multiple procède de l'Un sans que celui-ci se divise ni ne se transforme, à la manière dont la lumière rayonne de sa source sans s'appauvrir. Les penseurs chrétiens, eux, forgent la notion de création ''ex nihilo'', une causalité sans matériau préalable qui n'a pas d'équivalent dans le vocabulaire grec ; Jean Philopon, au VI{{e}}&nbsp;siècle, s'en sert pour contester l'éternité aristotélicienne du monde. Ces débats déplacent la question : il ne s'agit plus seulement de savoir par quelles causes une chose devient ce qu'elle est, mais d'où elle tient son existence même<ref>Marmodoro, A. & Prince, B. D. (dir.) (2015). ''Causation and Creation in Late Antiquity'', Cambridge, Cambridge University Press, chap. 2-4.</ref>. Cependant, la modernité scientifique, à partir du XVII{{e}}&nbsp;siècle, opère une rupture avec cette conception quadripartite. La révolution scientifique moderne privilégie la cause efficiente comme seul type de causalité proprement scientifique. Francis Bacon relègue les causes finales hors de l'enquête physique, où il les juge stériles, tandis que René Descartes refuse de prétendre connaître les fins que Dieu poursuivrait dans la nature. Ni l'un ni l'autre ne réduit la nature à un pur mécanisme sans fin, mais tous deux écartent la finalité des explications physiques, au profit de lois qui relient des causes efficientes à leurs effets. La cause formelle est progressivement abandonnée ou réduite à la structure mathématique des lois naturelles. Quant à la cause matérielle, elle est intégrée dans une conception mécaniste où la matière possède des propriétés quantifiables (masse, étendue, mouvement) qui suffisent à rendre compte des phénomènes. Cette réduction de la causalité à la seule causalité efficiente mécaniste domine la pensée scientifique moderne. Toutefois, certains domaines, notamment la biologie et les sciences humaines, continuent d'utiliser des explications fonctionnelles ou téléologiques qui s'apparentent aux causes finales aristotéliciennes, bien que sous une forme sécularisée et naturaliste. La question de savoir si l'on peut se passer entièrement de la téléologie dans l'explication des phénomènes vivants et des actions humaines reste débattue<ref>Charles, D. (2012). « Teleological Causation », dans C. Shields (éd.), ''The Oxford Handbook of Aristotle'', Oxford, Oxford University Press, p. 227-266</ref>. ====Enjeux philosophiques et critiques contemporaines==== D'un point de vue critique, plusieurs objections peuvent être adressées à la théorie aristotélicienne. Premièrement, la distinction entre les quatre causes n'est peut-être pas aussi nette qu'Aristote le suppose. Dans certains cas, il est difficile de séparer clairement la cause formelle de la cause finale, ou la cause efficiente de la cause matérielle. Cette porosité des frontières entre les types de causes suggère que la classification quadripartite pourrait être en partie artificielle. Deuxièmement, la généralisation de la causalité finale à toute la nature pose problème. Attribuer des fins aux processus naturels inanimés paraît anthropomorphique. Si l'on peut admettre que les êtres vivants manifestent une sorte de finalité (même si celle-ci peut être expliquée en termes évolutionnistes sans recourir à un dessein intelligent), il est plus difficile de voir en quoi un caillou qui tombe ou un fleuve qui coule agiraient « en vue d'une fin ». La science moderne a largement développé des explications ne faisant pas appel à une finalité intentionnelle, au profit de lois causales efficientes ; la biologie continue toutefois d'employer des explications fonctionnelles, même naturalisées par la sélection. Troisièmement, la théorie aristotélicienne ne problématise pas suffisamment la nature du lien entre cause et effet. Aristote reconnaît certes le hasard et les régularités qui ne valent que « la plupart du temps », de sorte qu'il ne fait pas des causes des nécessitants sans exception ; mais il n'interroge ni ce qui, dans une cause, la relie à son effet, ni la modalité de ce lien. C'est cette lacune que la critique humienne mettra en lumière : qu'est-ce qui garantit que de la même cause suivra toujours le même effet ? La réponse aristotélicienne, parce que telle est la nature de la chose, ne satisfait plus une pensée empiriste qui exige de fonder la connaissance sur l'observation. Malgré ces limites, la doctrine aristotélicienne des quatre causes conserve une valeur philosophique. Elle rappelle que l'explication causale ne se réduit pas à un seul modèle, mais peut prendre des formes multiples selon le type de question que l'on pose et le domaine de réalité que l'on étudie. Elle invite à une approche pluraliste de la causalité, reconnaissant que différents types d'explications peuvent coexister sans nécessairement se contredire. Cette leçon reste pertinente pour la philosophie contemporaine des sciences, qui s'interroge sur la diversité des modèles explicatifs utilisés dans différentes disciplines<ref>Stein, N. (2012). « Causality and Causal Explanation in Aristotle », ''Philosophy Compass'', vol. 7, n° 10, p. 699-711</ref>. ==La critique humienne et le problème de la connexion nécessaire== ===Hume et la déconstruction de la nécessité causale=== David Hume opère une rupture majeure dans la pensée de la causalité en soumettant cette notion à une critique empiriste serrée. Son analyse part d'une question apparemment simple : d'où vient notre idée de causalité, et que pouvons-nous légitimement affirmer sur les relations causales ? La réponse de Hume ébranle la conception traditionnelle : nous ne pouvons jamais observer directement une connexion nécessaire entre une cause et son effet<ref>Hume, D. (1748). ''Enquête sur l'entendement humain'', section VII</ref>. Lorsque nous observons un événement A suivi d'un événement B, que percevons-nous exactement ? Nous observons trois choses : la contiguïté spatiale (A et B sont proches dans l'espace), la succession temporelle (A précède B dans le temps), et, si nous répétons l'observation, la conjonction constante (chaque fois que A se produit, B suit). Mais nous ne percevons jamais la prétendue « connexion nécessaire » qui ferait que A ''doit'' produire B. Cette connexion nécessaire n'est pas une impression sensible ; elle ne peut donc pas fonder une connaissance légitime selon les critères empiristes de Hume. D'où vient alors notre conviction que les causes produisent nécessairement leurs effets ? Hume répond : de l'habitude. Après avoir observé la conjonction répétée de A et B, notre esprit s'habitue à cette séquence et développe une attente psychologique : lorsque A se produit, nous nous attendons à ce que B suive. Cette attente n'est pas le résultat d'un raisonnement, mais d'un mécanisme psychologique, d'une « coutume »<ref>Hume, D. (1739-1740). ''Traité de la nature humaine'', I, III, §14</ref>. Sur la lecture traditionnelle, la nécessité causale n'est donc pas dans les choses, mais dans notre esprit : elle serait subjective plutôt qu'objective. Hume propose ainsi une double définition de la cause. La première, objective, ramène la cause à un objet suivi d'un autre, tel que tous les objets semblables au premier soient suivis d'objets semblables au second : la causalité s'y réduit à la régularité. La seconde, subjective, fait de la cause « un objet suivi d'un autre, et dont l'apparition conduit toujours la pensée à cet autre »<ref>Hume, D. (1748). ''Enquête sur l'entendement humain'', section VII, partie 2</ref> : elle la psychologise en habitude mentale. On observera, avec les commentateurs récents, que ces deux « définitions » disent moins ce qu'est la causalité dans les choses que la façon dont nous en venons à porter des jugements causaux ; Hume n'est pas si aisément le régulariste naïf qu'on a voulu voir en lui<ref>Beebee, H. (2006). ''Hume on Causation'', Londres, Routledge, chap. 4 et 5.</ref>. Ces nuances ont nourri une querelle d'interprétation. Selon la lecture traditionnelle, Hume réduit la causalité à la conjonction constante et verse dans un scepticisme inductif sans retour. Les lectures projectivistes y voient plutôt une projection sur le monde de nos habitudes inférentielles : nos jugements causaux n'enregistrent pas une nécessité observée, ils expriment une disposition de l'esprit. Les lectures réalistes sceptiques, enfin, admettent que Hume laisse place à des pouvoirs inconnus dans les choses, sans prétendre que nous en ayons une idée adéquate. Helen Beebee conteste ainsi trois attributions reçues : la théorie naïve de la régularité, l'image d'un monde fait d'événements entièrement disjoints, et le scepticisme inductif au sens ordinaire<ref>Beebee, H. (2006). ''Hume on Causation'', Londres, Routledge, chap. 1 et 6.</ref>. ===Le problème de l'induction et la justification des inférences causales=== La critique humienne de la causalité conduit directement au célèbre problème de l'induction. Dans l'interprétation traditionnelle, si la causalité se réduit à la conjonction constante, aucune démonstration rationnelle ne garantit que nous puissions inférer du passé au futur. Autrement dit, pourquoi le fait que A ait toujours été suivi de B par le passé nous autorise-t-il à croire que A sera suivi de B dans le futur ? Hume montre qu'une telle inférence suppose un principe qu'il appelle le « principe d'uniformité de la nature » : la nature continue de fonctionner de la même manière, les mêmes causes produiront les mêmes effets. Mais ce principe lui-même ne peut être justifié ni par la raison (car sa négation n'est pas contradictoire), ni par l'expérience (car invoquer l'expérience passée pour justifier les inférences futures serait circulaire)<ref>Hume, D. (1748). ''Enquête sur l'entendement humain'', section IV, partie 2</ref>. Sur cette lecture, le résultat est un [[Dictionnaire de philosophie/Scepticisme|scepticisme]] inductif : aucune justification rationnelle ne fonderait nos croyances causales les plus ordinaires. Nous croyons que le soleil se lèvera demain, que le pain nous nourrira, que le feu brûlera, mais ces croyances reposeraient sur l'habitude, non sur la raison. Hume n'en tire pas l'abandon de nos croyances dans la pratique, qui serait impossible ; il en explique plutôt la formation par l'habitude. Des lectures contemporaines, comme celle d'Helen Beebee, soulignent que son projet porte d'abord sur cette genèse psychologique des croyances et se refusent à faire de lui un sceptique inductif au sens ordinaire<ref>Dimech, D. K. (2019). « Quasi-Realism and Inductive Scepticism in Hume's Theory of Causation », ''Australasian Journal of Philosophy'', 97(4), p. 637-650</ref><ref>Beebee, H. (2006). ''Hume on Causation'', Londres, Routledge, chap. 7.</ref>. Cette analyse humienne a eu des conséquences majeures. D'une part, elle a inspiré les théories régularistes de la causalité qui rejettent toute notion de connexion nécessaire. D'autre part, elle a posé un défi que la philosophie ultérieure n'a cessé de tenter de relever : comment fonder rationnellement nos inférences causales ? ==La réponse kantienne : la causalité comme catégorie de l'entendement== ===La causalité comme condition a priori de l'expérience=== Face au scepticisme humien, Kant propose une solution originale qui bouleverse le statut de la causalité. Loin de chercher à dériver l'idée de causalité de l'expérience (comme le font les empiristes) ou de la traiter comme une propriété objective des choses en soi, Kant fait de la causalité une catégorie a priori de l'entendement, c'est-à-dire une structure conceptuelle que l'esprit impose nécessairement à l'expérience pour la rendre intelligible<ref>Kant, I. (1781/1787). ''Critique de la raison pure'', Analytique transcendantale, Analogies de l'expérience</ref>. Pour Kant, Hume a raison sur un point : nous ne pouvons pas tirer le concept de causalité de l'expérience par simple généralisation. Mais il a tort d'en conclure que la causalité n'est qu'une habitude subjective. En réalité, la causalité est une condition de possibilité de l'expérience objective elle-même. Sans le concept de cause, nous ne pourrions pas distinguer une succession objective d'événements (où A cause réellement B) d'une simple succession subjective de nos perceptions (où nous percevons d'abord A puis B, sans que l'un cause l'autre). L'argument de Kant, développé dans la « Deuxième Analogie de l'expérience », peut être résumé ainsi : pour qu'il y ait expérience objective (connaissance d'objets dans le temps), il faut que nous puissions déterminer un ordre temporel objectif des événements. Or, cet ordre ne peut être déterminé que si nous supposons que les événements sont liés par des relations causales nécessaires. Donc, le principe de causalité (« tout changement a une cause ») est une condition nécessaire de l'expérience objective<ref>Kant, I. (1781/1787). ''Critique de la raison pure'', B232-256</ref>. Prenons l'exemple kantien célèbre du bateau qui descend le fleuve. Lorsque je perçois d'abord le bateau en amont puis en aval, cet ordre de mes perceptions est irréversible : je ne peux pas percevoir le bateau d'abord en aval puis en amont. Cette irréversibilité objective de la séquence perceptive indique que je perçois un événement objectif (le mouvement du bateau), et non une simple succession arbitraire de mes représentations. Mais pour distinguer cette succession objective d'une succession purement subjective, je dois supposer que le bateau est causalement déterminé à se déplacer d'amont en aval<ref>Kannisto, T. (2017). « Kant on the Necessity of Causal Relations », ''Kant-Studien'', 108(4), p. 495-516</ref>. ===Faiblesse et force du principe causal kantien=== Kant défend une version relativement faible du principe de causalité, ce que les commentateurs appellent le « principe causal faible » (Weak Causal Principle). Ce principe affirme que tout événement a ''une'' cause, mais ne précise pas que les mêmes types de causes produisent toujours les mêmes types d'effets. Autrement dit, Kant démontre dans la Deuxième Analogie que chaque événement particulier doit avoir une cause, mais pas qu'il existe des lois causales universelles reliant des types d'événements<ref>Kannisto, T. (2017). « Kant on the Necessity of Causal Relations », ''Kant-Studien'', 108(4), p. 495-516</ref>. La version forte du principe de causalité (Strong Causal Principle), qui affirme que les mêmes causes produisent toujours les mêmes effets, n'est selon certains interprètes démontrée par Kant que dans les « Postulats de la pensée empirique », où il traite de la nécessité modale. C'est seulement là que Kant établirait que les relations causales ne sont pas seulement nécessaires dans chaque cas particulier, mais obéissent à des lois constantes qui permettent la prédiction<ref>Kannisto, T. (2017). « Kant on the Necessity of Causal Relations », ''Kant-Studien'', 108(4), p. 495-516</ref>. Cette subtilité est importante : elle montre que même pour Kant, qui défend la nécessité de la causalité, il existe différents degrés de nécessité causale. La causalité comme condition de l'expérience objective n'implique pas automatiquement l'existence de lois causales strictement universelles et sans exception. Un autre aspect essentiel de la théorie kantienne est que la causalité n'est pas une propriété des choses en soi, mais seulement des phénomènes, c'est-à-dire des choses telles qu'elles nous apparaissent dans l'expérience. Nous ne pouvons rien savoir de la causalité dans le monde nouménal. Cette limitation aura des conséquences importantes pour la philosophie ultérieure, notamment pour penser la liberté humaine dans un monde où règne le [[Dictionnaire de philosophie/Déterminisme|déterminisme]] causal phénoménal. ==L'occasionnalisme et la causalité divine== ===Le problème cartésien de l'interaction âme-corps=== La philosophie cartésienne, en instituant une séparation tranchée entre deux substances hétérogènes, la substance pensante (''res cogitans'') et la substance étendue (''res extensa''), crée un problème théorique majeur : comment ces deux substances peuvent-elles interagir causalement ? Comment ma volonté (immatérielle) peut-elle causer le mouvement de mon bras (matériel) ? Comment la piqûre d'une épine (matérielle) peut-elle causer ma douleur (immatérielle) ? Descartes lui-même défend le plus souvent une interaction réelle entre l'âme et le corps, même si la manière dont l'immatériel agit sur l'étendue reste chez lui obscure ; l'article 41 des ''Passions de l'âme'' décrit une action mutuelle, non une simple occasion<ref>Descartes, R. (1649). ''Les Passions de l'âme'', art. 41</ref>. Ce sont plutôt certains traits du cartésianisme, la séparation des deux substances et l'inertie propre de la matière, qui ont facilité, chez La Forge, Cordemoy puis Malebranche, le passage à des théories où Dieu devient l'unique cause efficace. On prendra donc garde à ne pas prêter à Descartes l'occasionnalisme que ses héritiers ont construit. ===Malebranche et l'occasionnalisme systématique=== Nicolas Malebranche pousse la logique cartésienne jusqu'à ses conséquences ultimes en développant la doctrine de l'occasionnalisme. Selon cette théorie, les causes naturelles (qu'il s'agisse de l'interaction âme-corps ou de l'action d'un corps sur un autre) ne sont pas des causes efficientes au sens propre, mais seulement des causes occasionnelles qui donnent à Dieu l'occasion d'exercer sa causalité. Seul Dieu est la cause efficiente réelle de tout ce qui se produit dans le monde<ref>Malebranche, N. (1674-1675). ''De la recherche de la vérité'', livre VI, partie II, chapitre III</ref>. L'argument principal de Malebranche repose sur l'idée qu'une cause digne de ce nom doit avoir une connexion nécessaire avec son effet. Or, nous ne concevons aucune connexion nécessaire entre les prétendues causes naturelles et leurs effets. Nous ne voyons aucune liaison nécessaire entre ma volonté de lever le bras et le mouvement effectif de mon bras ; nous ne voyons aucune liaison nécessaire entre le choc d'une boule de billard contre une autre et le mouvement de la seconde. Seul Dieu, dont la volonté toute-puissante ne peut être empêchée, possède une efficacité causale réelle<ref>Malebranche, N. (1674-1675). ''De la recherche de la vérité'', Éclaircissement XV</ref>. Cette position a des conséquences théologiques et métaphysiques importantes. Elle fait de Dieu non pas seulement le créateur initial du monde, mais l'agent perpétuel de tout changement. Chaque mouvement, chaque pensée, chaque sensation est l'effet direct de la volonté divine. Les lois de la nature deviennent des lois que Dieu s'est données à lui-même, des régularités dans sa manière d'agir. L'occasionnalisme affirme ainsi une dépendance causale absolue de la création vis-à-vis du créateur. ===Critiques et héritage de l'occasionnalisme=== L'occasionnalisme a suscité de nombreuses objections. Leibniz critique cette doctrine en arguant qu'elle fait de Dieu un « Deus ex machina » qui intervient continuellement dans la nature, ce qui est indigne de sa perfection. Pour Leibniz, Dieu a créé le monde de telle sorte que les substances créées possèdent de réelles forces actives et peuvent agir par elles-mêmes, selon l'harmonie préétablie<ref>Leibniz, G. W. (1695). ''Système nouveau de la nature et de la communication des substances''</ref>. Fontenelle, dans ses ''Doutes sur le système physique des causes occasionnelles'', critique l'occasionnalisme d'un point de vue épistémologique en soulignant qu'il compromet l'autonomie explicative des causes naturelles : si Dieu est la seule cause réelle, à quoi bon rapporter les phénomènes aux corps ? Une science des régularités reste pourtant possible, puisqu'elle décrit les lois selon lesquelles Dieu agit à l'occasion des états créés ; ce que l'occasionnalisme retire, c'est l'interprétation de ces régularités comme l'exercice de pouvoirs propres aux choses naturelles<ref>Rioux-Beaulne, M. (2018). « Fontenelle, Malebranche et les limites de la causalité », ''Revue philosophique de la France et de l'étranger'', 143(3), p. 365-388</ref>. Paradoxalement, en niant toute causalité naturelle, l'occasionnalisme a préparé le terrain pour la critique humienne. En montrant qu'aucune connexion nécessaire n'est observable entre les événements naturels, Malebranche a sapé les fondements de la causalité efficiente. L'occasionnalisme constitue ainsi l'un des antécédents historiques de la critique humienne : il avait déjà mis au premier plan l'impossibilité d'apercevoir une connexion nécessaire entre les événements naturels. Hume fera de cette difficulté le point de départ de son enquête sur l'origine de notre idée de nécessité causale, sans que son engagement métaphysique ultime puisse être fixé sans controverse<ref>Le Ru, V. (2005). « La réception occasionaliste de Descartes », ''Recherches sur Diderot et sur l'Encyclopédie'', 38, p. 83-100</ref>. ==Les théories régularistes et la causalité comme loi== ===Mill et l'analyse des conditions multiples=== John Stuart Mill développe une analyse sophistiquée de la causalité qui prend acte de la critique humienne tout en cherchant à la dépasser. Pour Mill, Hume a raison de lier causalité et régularité, mais sa conception est trop simple. La causalité ne se réduit pas à la succession constante de deux événements isolés ; elle implique un ensemble complexe de conditions<ref>Mill, J. S. (1843). ''A System of Logic'', livre III, chapitre V</ref>. Mill introduit la distinction cruciale entre la cause totale d'un phénomène et les causes partielles qui la composent. La cause totale est l'ensemble complet des conditions positives et négatives qui, conjointement, sont suffisantes pour produire l'effet. Prenons l'exemple de l'incendie d'une maison : nous disons ordinairement que c'est l'allumette qui a causé l'incendie, mais en réalité, l'allumette n'est qu'une partie de la cause totale, qui inclut aussi la présence d'oxygène, l'inflammabilité du matériau, l'absence de système d'extinction automatique, etc. Cette analyse conduit Mill à définir la cause comme « l'antécédent invariable et inconditionnel d'un phénomène ». Par « invariable », il entend que la cause est toujours suivie de l'effet ; par « inconditionnel », que cet antécédent n'est lui-même subordonné à aucune condition supplémentaire, parce qu'il rassemble déjà l'ensemble complet des conditions requises ; l'antécédent inconditionnel n'est donc pas l'un des facteurs agissant indépendamment du contexte, mais la totalité des circonstances qui suffit à l'effet. Cette définition préserve l'idée humienne de régularité tout en la complexifiant pour tenir compte de la pluralité des facteurs causaux. Ce raffinement répond à une objection adressée à toute théorie de la régularité : certaines successions sont constantes sans être causales. Le jour succède invariablement à la nuit sans en être l'effet ; les deux dépendent d'une cause commune, la rotation terrestre. En exigeant que la cause soit un antécédent ''inconditionnel'', et non simplement invariable, Mill cherche à écarter ces régularités accidentelles, difficulté que les régularistes n'ont cessé de retravailler depuis<ref>Psillos, S. (2002). ''Causation and Explanation'', Chesham, Acumen, § 2.2 et 2.6.</ref>. Mill développe également des méthodes d'enquête expérimentale (les fameuses « méthodes de Mill ») pour découvrir les relations causales. La méthode de concordance consiste à rechercher ce qui est commun à tous les cas où l'effet se produit. La méthode de différence cherche ce qui distingue les cas où l'effet se produit des cas où il ne se produit pas. La méthode conjointe de concordance et de différence combine les deux approches. La méthode des variations concomitantes examine si les variations de l'effet suivent celles de la cause supposée. Enfin, la méthode des résidus consiste à soustraire les effets des causes connues pour isoler l'effet d'une cause encore inconnue<ref>Mill, J. S. (1843). ''A System of Logic'', livre III, chapitre VIII</ref>. ===Les conditions INUS et la complexité causale=== L'analyse millienne a été raffinée au XX{{e}}&nbsp;siècle par John Mackie avec sa théorie des conditions INUS. INUS est l'acronyme de « Insufficient but Necessary part of a condition which is Unnecessary but Sufficient » (partie insuffisante mais nécessaire d'une condition qui n'est pas nécessaire mais suffisante)<ref>Mackie, J. L. (1974). ''The Cement of the Universe'', Oxford, Clarendon Press</ref>. Prenons à nouveau l'exemple de l'incendie. L'allumette enflammée (A) n'est pas à elle seule suffisante pour causer l'incendie : elle doit être accompagnée d'autres conditions comme la présence d'oxygène (B), l'inflammabilité du matériau (C), etc. L'ensemble {A, B, C} forme une condition suffisante pour l'incendie. Mais cette condition n'est pas nécessaire car l'incendie pourrait aussi être causé par un court-circuit {D, E, F} ou par un incendie criminel {G, H, I}. Ainsi, A est une condition INUS : elle est insuffisante seule (elle a besoin de B et C), mais nécessaire au sein de l'ensemble {A, B, C} ; cet ensemble est suffisant pour l'incendie, mais pas nécessaire (car {D, E, F} serait également suffisant). Cette analyse montre la complexité réelle des situations causales : rarement une cause unique produit un effet, et rarement un effet ne peut être produit que d'une seule manière. La causalité est presque toujours plurielle (plusieurs facteurs concourent à l'effet) et contingente (l'effet pourrait être produit par d'autres combinaisons de facteurs). Cette vision contraste avec l'image simplifiée de la causalité comme relation binaire entre une cause et un effet. Le droit a affiné cette analyse pour ses propres besoins. Le juriste doit décider si tel acte a « causé » tel dommage, alors que d'innombrables conditions y ont concouru, de l'oxygène de l'air au geste de l'incendiaire. Le test habituel, dit de la ''condition sine qua non'' (sans l'acte, le dommage aurait-il eu lieu ?), échoue précisément dans les cas de surdétermination que rencontrait déjà Lewis. Aussi Richard Wright a-t-il proposé le test ''NESS'' : un facteur est cause s'il est un élément nécessaire d'un ensemble de conditions lui-même suffisant au résultat, ce qui reformule, dans le vocabulaire du droit, les conditions INUS de Mackie. Michael Moore examine longuement cette analyse, mais il en critique la prétention à fournir une théorie générale satisfaisante de la causalité, tout en rappelant que la contribution causale admet des degrés, là où l'imputation juridique exige un seuil<ref>Moore, M. S. (2009). ''Causation and Responsibility: An Essay in Law, Morals, and Metaphysics'', Oxford, Oxford University Press, chap. 19.</ref>. ==Les approches contrefactuelles de la causalité== ===Lewis et la dépendance contrefactuelle=== David Lewis propose au début des années 1970 une théorie influente qui renouvelle l'approche de la causalité en la fondant sur les contrefactuels (counterfactuals). L'idée de base est que nous pensons qu'un événement C a causé un événement E si et seulement si, dans la situation contrefactuelle où C ne se serait pas produit, E ne se serait pas produit non plus<ref>Lewis, D. (1973). « Causation », ''Journal of Philosophy'', 70(17), p. 556-567</ref>. Pour évaluer ces contrefactuels, Lewis utilise une sémantique des mondes possibles. Un contrefactuel « Si C n'avait pas eu lieu, E n'aurait pas eu lieu » est vrai dans le monde actuel si et seulement si, dans les mondes possibles les plus proches du monde actuel où C ne se produit pas, E ne se produit pas non plus. La « proximité » ou « similarité » entre mondes possibles se mesure selon plusieurs critères : concordance des lois naturelles, similitude des faits particuliers, absence de « miracles » (violations localisées des lois), etc.<ref>Lewis, D. (1979). « Counterfactual Dependence and Time's Arrow », ''Noûs'', 13(4), p. 455-476</ref>. Lewis distingue ensuite la dépendance causale de la causation elle-même. Deux événements distincts E et C présentent une dépendance causale si et seulement si : (1) si C s'était produit, E se serait produit ; et (2) si C ne s'était pas produit, E ne se serait pas produit. La causation est alors définie comme l'ancestrale de la dépendance causale : C cause E s'il existe une chaîne d'événements intermédiaires reliés par des relations de dépendance causale. Cette distinction entre dépendance causale et causation est nécessaire pour préserver la transitivité de la relation causale. La dépendance contrefactuelle directe, en effet, n'est pas toujours transitive : E peut dépendre de D et D de C sans que E dépende directement de C. Lewis pose alors que C cause E dès qu'une chaîne d'événements relie C à E, chaque maillon successif dépendant contrefactuellement du précédent, même lorsque les deux extrémités de la chaîne ne présentent pas cette dépendance directe. ===Problèmes et raffinements : préemption et surdétermination=== La théorie de Lewis fait face à des contre-exemples célèbres, notamment les cas de préemption (preemption) et de surdétermination causale (overdetermination). Dans un cas de préemption, deux causes potentielles sont en concurrence, mais une seule aboutit effectivement : Suzy et Billy lancent chacun une pierre vers une bouteille ; la pierre de Suzy arrive en premier et brise la bouteille ; celle de Billy arrive une fraction de seconde plus tard et ne rencontre que des éclats de verre. Intuitivement, c'est le lancer de Suzy qui a causé le bris de la bouteille. Pourtant, le bris ne dépend pas causalement du lancer de Suzy au sens de Lewis, puisque si Suzy n'avait pas lancé sa pierre, Billy aurait brisé la bouteille<ref>Collins, J., Hall, N., & Paul, L. A. (2004). ''Causation and Counterfactuals'', Cambridge (Mass.), MIT Press</ref>. Face à ces difficultés, Lewis a proposé plusieurs révisions de sa théorie. Dans sa version tardive, il développe une théorie de l'influence causale (causal influence) fondée non plus sur la simple dépendance « si oui ou non » (whether-whether dependence), mais sur une dépendance plus fine portant sur la manière dont les événements se produisent (whether-when-how dependence). C'est la théorie de la « covariation contrefactuelle » : il y a influence causale de C sur E s'il existe une gamme de variations contrefactuelles de C qui correspondraient à des variations de E<ref>Lewis, D. (2000). « Causation as Influence », ''Journal of Philosophy'', 97(4), p. 182-197</ref>. Ces mêmes difficultés ont aussi porté l'analyse contrefactuelle vers un cadre plus formel, celui des équations structurelles, où l'on évalue ce qu'un événement serait devenu sous diverses configurations d'un modèle causal. Christopher Hitchcock et James Woodward y rattachent la notion de cause effective<ref>Hitchcock, C. (2001). « The Intransitivity of Causation Revealed in Equations and Graphs », ''Journal of Philosophy'', vol. 98, n° 6, p. 273-299</ref><ref>Woodward, J. (2003). ''Making Things Happen: A Theory of Causal Explanation'', Oxford, Oxford University Press.</ref> ; Joseph Halpern et Judea Pearl en proposent des définitions qui permettent de formaliser des cas de préemption et de surdétermination rebelles à l'analyse contrefactuelle élémentaire. Leurs verdicts restent toutefois sensibles à la construction du modèle, au choix des variables et des équations, et aucune définition de la causalité effective ne fait à ce jour l'unanimité, celles de Halpern et Pearl ayant elles-mêmes connu plusieurs révisions. Jonathan Schaffer suggère, pour sa part, de tenir la causalité pour contrastive : ce n'est pas ''c'' qui cause ''e'', mais ''c'' plutôt qu'une alternative déterminée qui cause ''e'' plutôt qu'une autre, précision qui dissout plusieurs paradoxes et éclaire l'usage du droit<ref>Halpern, J. Y. (2016). ''Actual Causality'', Cambridge (Mass.), MIT Press.</ref><ref>Schaffer, J. (2005). « Contrastive Causation », ''The Philosophical Review'', vol. 114, n° 3, p. 327-358.</ref>. Malgré ces raffinements, les théories contrefactuelles restent controversées. Certains philosophes estiment qu'elles présupposent ce qu'elles prétendent expliquer (puisque la notion de « monde possible proche » fait appel à des intuitions causales), d'autres qu'elles ne peuvent rendre compte de tous les jugements causaux ordinaires, notamment en cas d'absence causale (quand c'est l'absence d'un événement qui cause un effet). ==La causalité et la physique moderne== ===L'argument de Russell : la causalité exclue de la physique première=== En 1913, Bertrand Russell publie un article provocateur intitulé « On the Notion of Cause » dans lequel il soutient que la notion de cause n'a aucune place dans la physique moderne et devrait être abandonnée par la philosophie<ref>Russell, B. (1913). « On the Notion of Cause », ''Proceedings of the Aristotelian Society'', 13, p. 1-26</ref>. Selon Russell, la physique mathématisée ne fait appel qu'à des équations différentielles exprimant des relations fonctionnelles entre grandeurs, et non à des « causes » qui « produiraient » leurs « effets ». L'argument de Russell repose sur plusieurs observations. Premièrement, le mot « cause » n'apparaît jamais dans les équations de base de la physique (comme F=ma). Deuxièmement, les lois physiques sont globales : elles mettent en relation l'état complet de l'univers (ou d'une grande région de l'espace-temps) à un instant avec son état à un autre instant, et non des événements locaux isolés comme le voudrait notre concept ordinaire de cause. Troisièmement, les lois physiques premières sont symétriques dans le temps : elles permettent de prédire l'avenir à partir du présent, mais aussi de « rétrodire » le passé à partir du présent. Or, la causalité est asymétrique : les causes précèdent leurs effets, pas l'inverse<ref>Blanchard, T. (2016). « Physics and Causation », ''Philosophy Compass'', 11(5), p. 256-266</ref>. Russell conclut que la « loi de causalité », selon laquelle tout événement a une cause, n'est qu'« une relique d'une ère révolue » : elle ne survivrait, comme la monarchie, que parce qu'on la suppose à tort inoffensive. La physique moderne nous montrerait un univers de relations fonctionnelles mathématiques, non un univers de causes et d'effets. ===Réponses et controverses=== L'argument de Russell a suscité un débat qui continue aujourd'hui. Certains philosophes, comme John Norton, Huw Price ou Hartry Field, défendent une position néo-russellienne : la causalité n'appartient pas au niveau ontologique premier révélé par la physique, mais relève au mieux d'un usage commode aux échelles supérieures. Encore ces auteurs divergent-ils entre eux : là où Norton tient la cause pour une « science populaire » utile mais dispensable au niveau premier, Huw Price y voit une catégorie perspectiviste, solidaire du point de vue de l'agent qui délibère et agit, indispensable peut-être, mais construite par nous plutôt que lue dans la physique<ref>Field, H. (2003). « Causation in a Physical World », dans M. Loux & D. Zimmerman (dir.), ''The Oxford Handbook of Metaphysics'', Oxford, Oxford University Press, p. 435-460</ref><ref>Norton, J. D. (2003). « Causation as Folk Science », ''Philosophers' Imprint'', vol. 3, n° 4, p. 1-22</ref><ref>Price, H. & Corry, R. (dir.) (2007). ''Causation, Physics, and the Constitution of Reality: Russell's Republic Revisited'', Oxford, Oxford University Press, introduction.</ref>. D'autres philosophes résistent à cette conclusion. Ils font valoir que même si le vocabulaire causal n'apparaît pas explicitement dans les équations physiques, les physiciens utilisent constamment des notions causales dans leur pratique : ils parlent d'interactions causales, de propagation de signaux, d'effets d'une force, etc. De plus, certaines structures de la physique moderne peuvent être interprétées en termes causaux : par exemple, la relativité restreinte avec son cône de lumière établit des contraintes sur les relations causales possibles (seuls les événements dans le cône de lumière passé d'un événement peuvent l'influencer causalement)<ref>Frisch, M. (2020). « Causation in Physics », ''Stanford Encyclopedia of Philosophy''</ref>. Une position médiane consiste à distinguer différents niveaux d'analyse : la physique première décrirait des structures non causales (ou pré-causales), tandis que les sciences spéciales et le sens commun utiliseraient légitimement des concepts causaux pour décrire des régularités à des échelles supérieures. La causalité serait alors une notion [[Dictionnaire de philosophie/Émergence|émergente]] ou contextuelle, dérivée mais non moins réelle pour autant. Douglas Kutach a donné à cette idée une forme précise. Il distingue une causalité première, inscrite dans les structures des lois physiques, et une causalité dérivée, celle de la vie ordinaire et des sciences spéciales, qui n'est autre que la relation consistant à « faire une différence ». La seconde ne flotte pas au-dessus de la première : elle se définit à partir de la façon dont les lois premières propagent les petites différences d'un état à l'autre. La leçon de Russell s'en trouve retournée. La physique n'élimine pas la cause ; elle en fournit le soubassement, à charge pour l'analyse de montrer comment nos jugements causaux courants émergent de ce socle<ref>Kutach, D. (2013). ''Causation and Its Basis in Fundamental Physics'', Oxford, Oxford University Press, chap. 1 et 4.</ref>. Tous ne consentent pas à reléguer la cause hors du niveau premier. Christopher Weaver soutient au contraire que la causalité appartient à l'ontologie de nos meilleures théories physiques et qu'on ne saurait l'en retrancher sans mutiler la pratique de la physique expérimentale : le physicien qui prépare un dispositif, isole une variable et lit un résultat manie sans cesse des relations de production, non de simples corrélations. Prenant appui sur des cas précis, tel l'effet photoélectrique, Weaver défend un réalisme causal doublé d'un anti-réductionnisme : loin d'éliminer la cause, les théories les mieux confirmées la présupposent<ref>Weaver, C. G. (2025). ''Causation in Physics'', Cambridge, Cambridge University Press (Elements in the Philosophy of Physics), sect. 1-3.</ref>. ===Causalité et mécanique quantique=== La mécanique quantique soulève des questions spécifiques sur la causalité. Sur ses interprétations orthodoxes, certains processus, comme la désintégration d'un atome radioactif, paraissent dépourvus de cause qui en fixe l'instant : rien, dans l'état antérieur, ne déterminerait le moment précis de l'événement. Ce constat semble contredire le principe traditionnel selon lequel tout événement a une cause déterminante. La prudence s'impose toutefois : l'indéterminisme n'est pas une lecture imposée du formalisme, puisque des interprétations déterministes de la mécanique quantique restent disponibles ; savoir si la nature est ''en soi'' indéterministe demeure une question ouverte<ref>Glennan, S. (2017). ''Causation: The Basics'', Londres, Routledge, chapitre « Causation, Probability, and Chance ».</ref>. Un second trait déroute l'intuition causale : l'intrication (''entanglement''). Deux particules intriquées présentent des corrélations qu'aucune variable locale ne peut reproduire, ainsi que l'établit le théorème de Bell. On dit parfois que la mesure de l'une agit instantanément sur l'état de l'autre, si distante soit-elle ; la formule est trompeuse. Ces corrélations ne transportent aucun signal utilisable et ne permettent de transmettre aucune information plus vite que la lumière, en vertu du théorème dit de non-signalement. Faut-il y voir une relation causale d'un genre inédit, ou l'indice que la notion ordinaire de cause n'a plus cours à cette échelle ? La philosophie de la physique n'a pas tranché<ref>Frisch, M. (2020). « Causation in Physics », ''Stanford Encyclopedia of Philosophy''.</ref>. ==Théories contemporaines de la causalité== ===Théories probabilistes=== Les théories probabilistes de la causalité cherchent à capturer l'idée que les causes ne nécessitent pas toujours leurs effets, mais les rendent plus probables. Patrick Suppes a développé une approche probabiliste selon laquelle un événement C est une cause prima facie d'un événement E si et seulement si : (1) C précède E dans le temps ; (2) la probabilité de C est supérieure à zéro ; (3) la probabilité de E sachant C est supérieure à la probabilité de E seul : P(E|C) > P(E)<ref>Suppes, P. (1970). ''A Probabilistic Theory of Causality'', Amsterdam : North-Holland Publishing Company</ref>. Cette approche permet de traiter les cas de causalité indéterministe (où une cause peut produire ou non son effet) et s'applique bien aux sciences qui utilisent des méthodes statistiques, comme l'épidémiologie ou les sciences sociales. Cependant, elle fait face à des difficultés : notamment, comment distinguer les corrélations dues à une cause commune des relations causales authentiques ? Suppes introduit la notion de cause totale pour répondre à ce problème : C est la cause totale de E s'il n'existe aucune autre variable qui, conditionnellement à C, modifie la probabilité de E<ref>Reiss, J. (2016). « Suppes' Probabilistic Theory of Causality and Causal Inference in Economics », ''Journal of Economic Methodology'', 23(3), p. 289-304</ref>. Le point sensible de toute théorie probabiliste est de démêler la causalité de la simple corrélation. Deux effets d'une même cause varient ensemble sans que l'un cause l'autre : le baromètre qui chute et la tempête qui vient dépendent tous deux de la pression atmosphérique. Hans Reichenbach en a tiré un principe, dit de la cause commune : lorsqu'une corrélation ne s'explique pas par un lien direct entre ses deux termes, on doit lui chercher une cause antérieure commune, qui les rend indépendants une fois prise en compte. La difficulté se corse avec des renversements comme le paradoxe de Simpson, où une association vaut dans chaque sous-population et s'inverse dans l'ensemble, selon la manière dont on regroupe les données. Ces embarras ont conduit, après Suppes, à porter l'analyse probabiliste vers les modèles graphiques, où les relations d'indépendance conditionnelle se lisent sur une structure explicite<ref>Reichenbach, H. (1956). ''The Direction of Time'', Berkeley, University of California Press, §19.</ref>. ===Théories mécanistes et pouvoirs causaux=== Les théories mécanistes de la causalité, développées notamment par Wesley Salmon, Stuart Glennan et Peter Machamer, proposent de comprendre la causalité en termes de processus causaux et de mécanismes. Ces étiquettes recouvrent des projets distincts : les théories des processus, chez le premier Salmon, misent sur une marque transmissible<ref>Salmon, W. C. (1984). ''Scientific Explanation and the Causal Structure of the World'', Princeton, Princeton University Press.</ref> ; les théories des quantités conservées, notamment chez Phil Dowe, sur le transport d'une grandeur physique<ref>Dowe, P. (2000). ''Physical Causation'', Cambridge, Cambridge University Press.</ref> ; les théories néomécanistes de Glennan, Machamer, Darden et Craver, sur des systèmes organisés d'entités et d'activités. Un processus causal est un processus physique continu capable de transmettre une « marque » ou une quantité conservée (comme l'énergie ou la quantité de mouvement). Un mécanisme causal est un système organisé d'entités et d'activités qui produisent régulièrement un certain type d'effet<ref>Glennan, S. (1996). « Mechanisms and the Nature of Causation », ''Erkenntnis'', 44(1), p. 49-71</ref><ref>Machamer, P., Darden, L., & Craver, C. F. (2000). « Thinking about Mechanisms », ''Philosophy of Science'', 67(1), p. 1-25</ref>. Max Kistler prolonge cette intuition en proposant une théorie de la causalité comme transmission. Deux événements sont causalement liés, selon lui, lorsqu'une quantité conservée par les lois physiques, énergie, quantité de mouvement ou charge, passe de l'un à l'autre. La relation causale se ramène ainsi au transfert effectif d'une grandeur, ce qui la sépare nettement d'une simple corrélation. L'asymétrie de la cause et de l'effet ne se réduit pas, chez lui, à une simple antériorité temporelle qui serait incluse dans la définition de la causalité. Elle ne tient pas davantage à une prétendue irréversibilité intrinsèque du transfert, car tous les transferts ne sont pas irréversibles : elle dérive de l'existence de processus physiquement asymétriques, thermodynamiques notamment, et de l'orientation commune qu'ils confèrent au réseau causal, dont les autres relations héritent ensuite. Cette orientation est un fait contingent de notre univers, non une vérité contenue dans le concept même de cause<ref>Kistler, M. (2006). ''Causation and Laws of Nature'', Londres, Routledge, chap. 1.</ref>. Parallèlement, les théories des pouvoirs causaux (ou dispositions) soutiennent que les objets possèdent des pouvoirs intrinsèques qui sont activés dans certaines circonstances. La causalité ne serait pas une simple régularité entre événements distincts, mais l'exercice de ces pouvoirs. Cette approche, qui remonte à Aristote et a été défendue par Harré, Madden, Cartwright et Mumford, propose de concevoir les causes comme « disposant vers » leurs effets plutôt que les nécessitant strictement<ref>Mumford, S. & Anjum, R. L. (2011). « A Powerful Theory of Causation », dans ''Getting Causes from Powers'', Oxford, Oxford University Press</ref>. Mumford et Anjum précisent en quoi cette production dispositionnelle diffère de la nécessitation. Leur argument est celui de l'interférence additive : quelle que soit la complétude d'une cause, on peut toujours imaginer un facteur supplémentaire qui, ajouté à la situation, empêcherait l'effet de se produire ; comme la liste de ces empêcheurs possibles ne peut être close, la cause ne garantit jamais son effet au sens strict. La causalité se tiendrait ainsi « en deçà de la nécessité mais au-delà de la pure contingence », comme une tendance orientée vers un type de résultat. La même approche conduit ces auteurs à défendre une thèse réputée contre-intuitive, celle de la simultanéité de la cause et de l'effet, le poids agissant sur le coussin tant qu'il y repose, position que Kant lui-même jugeait recevable<ref>Mumford, S. & Anjum, R. L. (2013). ''Causation: A Very Short Introduction'', Oxford, Oxford University Press, chap. 3, 5 et 6.</ref>. Ce refus d'identifier la cause à ce qui nécessite a un précédent notable. Dans une conférence de 1971, Elizabeth Anscombe conteste l'équation, héritée des modernes, entre causalité et détermination nécessaire : rien n'oblige à tenir qu'une cause fixe son effet de façon univoque, et nombre de nos meilleures explications, en physique comme en biologie, s'appuient sur des lois seulement probabilistes. La causalité, selon elle, se rencontre d'abord au singulier, dans tel processus concret, avant toute subsomption sous une loi. Anscombe adresse par là une objection frontale à Hume : nous n'observerions jamais, disait-il, que succession et contiguïté ; mais nous voyons bel et bien un couteau couper, une flamme consumer, un corps en pousser un autre, et les verbes causaux ordinaires décrivent, soutient-elle, des faits perçus plutôt qu'une régularité inférée<ref>Anscombe, G. E. M. (1971). « Causality and Determination », repris dans E. Sosa & M. Tooley (dir.), ''Causation'', Oxford, Oxford University Press, 1993, chap. V.</ref>. Les théories des pouvoirs prolongent ce double geste : rendre la cause à sa singularité, la soustraire au règne de la nécessité stricte. Ces approches mécanistes et dispositionnalistes cherchent à réintroduire une notion robuste de causalité en ontologie, contre les approches réductionnistes ou éliminativistes. Elles mettent l'accent sur la production causale réelle plutôt que sur la simple régularité ou dépendance contrefactuelle. L'ambition réaliste trouve sa formulation la plus systématique chez Robert Koons, qui entreprend d'en donner une théorie exacte, c'est-à-dire formalisée. Là où les héritiers de Russell tiennent la cause pour une commodité de surface, Koons en fait une relation primitive, interne, qu'aucune analyse par la régularité ou la dépendance ne saurait réduire. À partir de cette seule relation, articulée à une logique des situations, il reconstruit ce que la modernité avait écarté : une notion de finalité, définie comme causalité d'ordre supérieur, et jusqu'à un argument en faveur d'une cause première nécessaire. Il suffit selon lui qu'existe une seule situation contingente, par exemple le nombre pair ou impair des molécules d'un crayon à cet instant, pour que l'ensemble des faits contingents du cosmos réclame une cause qui, elle, ne l'est pas, non spatiale et hors du temps. On reconnaît là, sous une forme logique inédite, la question thomiste de la cause première et l'exigence aristotélicienne d'une fin ; le geste déflationniste se trouve ainsi contesté au moyen des outils mêmes de la logique formelle<ref>Koons, R. C. (2000). ''Realism Regained: An Exact Theory of Causation, Teleology, and the Mind'', Oxford, Oxford University Press, chap. 3-4, 8 et 11-12.</ref>. Un cas limite met ces théories à l'épreuve : la causalité par omission. Le jardinier qui néglige d'arroser laisse mourir la plante, et son inaction compte pour la cause de la perte. Mais une absence n'est le siège d'aucun processus ni d'aucun transfert : les théories de la production peinent à l'admettre comme cause, là où les théories de la dépendance l'accueillent sans peine, puisque, l'arrosage eût-il eu lieu, la plante aurait vécu. Les uns y trouvent une raison de tenir deux concepts distincts ; les autres cherchent à étendre la production aux cas négatifs. Le problème déborde la métaphysique, car le droit et la morale tiennent les personnes pour responsables de ce qu'elles se sont abstenues de faire<ref>Collins, J., Hall, N. & Paul, L. A. (dir.) (2004). ''Causation and Counterfactuals'', Cambridge (Mass.), MIT Press.</ref><ref>Paul, L. A. & Hall, N. (2013). ''Causation: A User's Guide'', Oxford, Oxford University Press.</ref>. ===L'approche interventionniste : causalité et manipulation=== Une autre famille d'analyses, aujourd'hui influente en philosophie des sciences, part d'une observation de bon sens : nous nous soucions des causes parce qu'elles nous donnent prise sur le monde. Connaître la cause d'un phénomène, c'est savoir sur quoi agir pour le produire, l'empêcher ou l'infléchir. James Woodward a systématisé cette intuition en une théorie interventionniste, ou manipulationniste : dire que ''C'' cause ''E'', c'est dire qu'une intervention idéale sur ''C'', une manipulation ciblée qui n'atteindrait ''E'' que par l'entremise de ''C'', s'accompagnerait d'un changement de ''E''<ref>Woodward, J. (2003). ''Making Things Happen: A Theory of Causal Explanation'', Oxford, Oxford University Press.</ref>. La relation causale se lit alors dans un réseau de variables où l'on peut, en pensée ou en laboratoire, tourner un bouton et regarder ce qui bouge en aval. Cette lecture donne son sens à l'expérimentation, dont l'assignation aléatoire des sujets à des groupes est la forme rigoureuse, et elle rejoint les modèles causaux que les statisticiens formalisent sous forme de graphes orientés. On objectera que faire dépendre la causalité de nos manipulations la rendrait anthropocentrique, voire subjective. Woodward récuse la conséquence : que nos intérêts d'agents expliquent pourquoi le concept de cause nous importe ne rend pas subjectif le fait que manipuler ''C'' changerait ''E''. Ce fait vaut indépendamment de nous, et la notion d'intervention se définit sans supposer d'agent humain, par de simples conditions portant sur les variables. L'approche éclaire aussi pourquoi certaines relations, quoique régulières, ne sont pas causales : on a beau faire varier la lecture d'un baromètre, on ne commande pas la tempête, car nulle intervention sur l'aiguille n'atteint le temps qu'il fait. Ce critère interventionniste retrouve d'ailleurs ses limites dans la psychologie de la causalité, où l'on verra plus bas qu'il ne s'applique pas sans reste à la causalité mentale singulière<ref>Woodward, J. (2021). ''Causation with a Human Face: Normative Theory and Descriptive Psychology'', Oxford, Oxford University Press, introduction et chap. 1.</ref>. ===Graphes causaux et découverte de la causalité=== L'intuition interventionniste a reçu une traduction mathématique qui a transformé la pratique des sciences empiriques. On y représente un domaine causal par un graphe orienté : chaque variable est un sommet, chaque flèche marque une dépendance causale directe. La lecture d'un tel graphe repose sur la distinction de la cause directe et de la cause indirecte, toujours relative à l'ensemble des variables retenues. Frotter une allumette cause son inflammation ; qu'on intercale l'échauffement du soufre, et l'allumette ne cause plus directement la flamme, mais l'échauffement, qui cause la flamme. Les causes directes « écrantent » les indirectes : une fois l'enfant contaminé par le virus de la varicelle, que l'éruption paraisse ou non ne tient plus à la manière dont il fut exposé<ref>Spirtes, P., Glymour, C. & Scheines, R. (2001). ''Causation, Prediction, and Search'', 2{{e}}&nbsp;éd., Cambridge (Mass.), MIT Press, chap. 3.</ref>. Deux principes relient ces graphes aux probabilités mesurées. Le premier, la condition de Markov causale, veut qu'une variable, une fois connues ses causes directes, soit indépendante de toutes les autres variables hormis ses effets, c'est-à-dire de tout ce qui n'en descend pas dans le graphe. Le second, la condition de fidélité, exige que les seules indépendances présentes dans la distribution de la population soient celles qu'impose le graphe, aucune coïncidence numérique ne venant effacer un lien réel. Sous ces hypothèses, l'ossature causale se laisse lire dans la statistique : bien interrogées, les associations trahissent la structure qui les engendre<ref>Spirtes, P., Glymour, C. & Scheines, R. (2001). ''Causation, Prediction, and Search'', 2{{e}}&nbsp;éd., Cambridge (Mass.), MIT Press, chap. 3.</ref>. De là un gain que le sens commun pressent sans le formuler : la différence entre observer et intervenir. La proportion de cancers parmi ceux qui fument de leur propre gré n'est pas celle qu'on obtiendrait en interdisant à tous de fumer, car observer un fumeur, c'est hériter aussi des causes qui l'ont porté à fumer, tandis qu'imposer l'abstinence rompt ces causes. La distribution observée ne suffit généralement pas, à elle seule, à identifier l'effet d'une politique ; interprétée à l'aide d'une structure causale et d'hypothèses d'identification, elle le calcule. Ce résultat, que ces auteurs nomment théorème de la manipulation, précise à quelles conditions et par quel calcul on peut prévoir ce qu'une intervention produirait, à partir de ce qu'on a seulement constaté<ref>Spirtes, P., Glymour, C. & Scheines, R. (2001). ''Causation, Prediction, and Search'', 2{{e}}&nbsp;éd., Cambridge (Mass.), MIT Press, chap. 1 et 3.</ref>. Judea Pearl a donné à ce calcul une forme algébrique répandue, en distinguant l'observation, notée par le conditionnement ordinaire, et l'intervention, notée par un opérateur ''do''(·) qui fixe la valeur d'une variable en coupant ses propres causes ; les équations structurelles y représentent chaque variable comme une fonction de ses causes directes<ref>Pearl, J. (2009). ''Causality: Models, Reasoning, and Inference'', 2{{e}}&nbsp;éd., Cambridge, Cambridge University Press, chap. 1 et 3.</ref>. Reste le pas le plus délicat : remonter des données à la structure elle-même. Des algorithmes de découverte, tel l'algorithme PC, inspectent les indépendances conditionnelles d'un jeu de données et en dégagent la famille des graphes compatibles, souvent sans qu'on puisse trancher entre des orientations statistiquement équivalentes. L'entreprise renverse le mot d'ordre de Karl Pearson, qui voulait remplacer la cause par la corrélation, et l'ironie de Russell tenant la causalité pour prescientifique : ici la corrélation, encadrée par des hypothèses explicites, devient une voie vers la cause. Ces algorithmes reposent sur des hypothèses précises : acyclicité du graphe, conditions de Markov et de fidélité, et, dans leur forme élémentaire, absence de causes communes latentes ; lorsqu'on soupçonne de telles causes cachées, on recourt à des procédures adaptées, tel l'algorithme FCI. Que l'une de ces hypothèses vienne à manquer, et les conclusions vacillent : la méthode livre des candidats, non des certitudes<ref>Spirtes, P., Glymour, C. & Scheines, R. (2001). ''Causation, Prediction, and Search'', 2{{e}}&nbsp;éd., Cambridge (Mass.), MIT Press, chap. 1, 5 et 6.</ref>. Cette fragilité, Rani Lill Anjum et Stephen Mumford en font le cœur d'une mise en garde. L'évidence de la causalité n'est pas la causalité : chaque méthode, du questionnaire à l'expérience contrôlée, ne saisit qu'un trait supposé de la cause, en sorte que notre épistémologie doit s'accorder à notre ontologie, sans jamais confondre la statistique ou l'essai clinique avec le fait causal lui-même. Ils contestent au passage les interprétations régularistes fortes de ces méthodes et rappellent que les relations statistiques de population ne suffisent pas à décrire l'action située de pouvoirs causaux : presque aucune liaison réelle n'est sans exception, car une interférence reste toujours concevable. On mesure alors la limite des essais randomisés, promus en étalon de la preuve : ce qui vaut dans une population d'essai ne se transporte pas sans reste à tel individu, puisque les pouvoirs causaux n'agissent qu'en situation<ref>Anjum, R. L. & Mumford, S. (2018). ''Causation in Science and the Methods of Scientific Discovery'', Oxford, Oxford University Press, chap. 3, 5 et 22-23.</ref>. Nancy Cartwright a systématisé une mise en garde voisine. Nul modèle causal ne se tire des seules données : il faut déjà y injecter des hypothèses causales, faute de quoi rien de causal n'en sort. Ce que les régularités et les probabilités manifestent, ce sont selon elle des ''capacités'' stables des choses, plus premières que les lois qui les résument. De là une conséquence pour l'action publique : l'essai contrôlé randomisé, si rigoureux soit-il, établit qu'une intervention a marché ''ici'', sur telle population, sans garantir qu'elle marchera ''là'' ; passer de la preuve à la décision réclame une connaissance des capacités en jeu et des conditions locales de leur exercice<ref>Cartwright, N. (2007). ''Hunting Causes and Using Them: Approaches in Philosophy and Economics'', Cambridge, Cambridge University Press.</ref><ref>Cartwright, N. & Hardie, J. (2012). ''Evidence-Based Policy: A Practical Guide to Doing It Better'', Oxford, Oxford University Press.</ref>. ===Causalité mentale et le monisme anomal de Davidson=== Un problème spécifique de la causalité se pose dans le domaine de la causalité mentale : comment les états mentaux (croyances, désirs, intentions) peuvent-ils causer des événements physiques (comme des actions corporelles) ? Donald Davidson propose une solution avec sa théorie du monisme anomal. Selon cette théorie, les événements mentaux sont identiques aux événements physiques (monisme), mais ils ne peuvent être subsumés sous des lois strictes reliant le mental et le physique (anomalisme). Les événements mentaux causent des événements physiques en vertu de leur identité avec des événements physiques qui tombent sous des lois physiques, mais ils ne peuvent être expliqués par des lois psychophysiques<ref>Davidson, D. (1970). « Mental Events », dans ''Essays on Actions and Events'', Oxford, Clarendon Press, 1980</ref>. Cette position a été largement critiquée. Si les événements mentaux ne causent qu'en tant qu'ils sont identiques à des événements physiques tombant sous des lois physiques, leurs propriétés spécifiquement mentales semblent causalement inertes : c'est le problème de l'épiphénoménalisme. Pour Davidson, les relata de la causalité sont les événements eux-mêmes, non les descriptions sous lesquelles nous les désignons ; un même événement, décrit en termes mentaux, peut causer un événement physique parce que ces événements admettent aussi des descriptions physiques sous lesquelles ils tombent sous une loi stricte. Cette solution garantit l'efficacité causale des événements mentaux en tant qu'événements physiques, mais elle laisse ouverte la question de savoir si leurs propriétés spécifiquement mentales jouent un rôle causal. C'est précisément sur ce point que porte l'objection d'épiphénoménalisme reprise par Jaegwon Kim<ref>De Pinedo, M. (2006). « Anomalous Monism : Oscillating between Dogmas », ''Synthese'', 148, p. 79-97</ref>. La difficulté que Davidson espérait contourner a été reformulée par Jaegwon Kim en un argument resté célèbre, celui de l'exclusion causale. Il repose sur un principe de clôture causale du physique : si l'on remonte ou descend la chaîne causale d'un événement physique, on ne quitte jamais le domaine physique ; tout événement physique qui a une cause a une cause physique<ref>Kim, J. (1998). ''Mind in a Physical World'', Cambridge (Mass.), MIT Press, chap. 2.</ref>. Supposons alors qu'un événement mental ''m'' cause un événement physique ''p''. Ou bien ''p'' n'a pas d'autre cause, et l'on viole la clôture, retombant dans l'interactionnisme cartésien ; ou bien ''p'' possède aussi une cause physique suffisante, et l'on demande ce qui reste à faire à ''m''. La cause physique menace d'exclure la cause mentale. L'identité par occurrences, objecte Kim, ne suffit pas à lever ce dilemme, car la question porte sur l'efficace des ''propriétés'' mentales, que l'anti-réductionnisme interdit précisément d'identifier à des propriétés physiques. Le réaliste du mental doit dès lors choisir entre trois issues, toutes coûteuses : réduire le mental au physique, admettre que ses propriétés sont épiphénoménales, ou postuler que chaque conduite est systématiquement surdéterminée par deux causes complètes. Ce problème de l'exclusion demeure l'aiguillon des débats sur la causalité mentale. ===Causalité, libre arbitre et responsabilité=== La question de la causalité rejoint celle de la liberté sur un point précis : sommes-nous responsables de nos actes parce que nous aurions pu agir autrement, ou parce que nos actes procèdent des bonnes causes ? La philosophie contemporaine du libre arbitre a vu s'affirmer des théories dites « de la séquence actuelle », qui déplacent l'accent des possibilités alternatives vers l'histoire causale réelle de l'action. Carolina Sartorio soutient ainsi que la liberté d'un agent tient à ce qui cause effectivement son comportement, en particulier à sa sensibilité aux raisons, et non à l'existence de chemins qu'il n'a pas empruntés. Selon elle, la liberté dépend exclusivement de l'histoire causale actuelle de l'action ; cette histoire doit notamment manifester la sensibilité de l'agent aux raisons, que Sartorio tient pour une condition nécessaire sans soutenir qu'elle suffise à elle seule<ref>Sartorio, C. (2016). ''Causation and Free Will'', Oxford, Oxford University Press, chap. 1, 3 et 4.</ref>. On retrouve là, sous une forme laïcisée et affinée, l'intuition compatibiliste déjà présente chez Spinoza : ce n'est pas l'absence de causes qui rend libre, mais la nature des causes dont procède l'action. Cette approche fait de la relation causale singulière, celle qui lie tel motif à tel geste ici et maintenant, le cœur de notre vie morale et pratique. John Campbell soutient que l'approche interventionniste, si elle convient pour établir des relations causales générales entre variables psychologiques au sein d'une population, ne suffit pas à saisir la causalité mentale singulière, celle qui relie les états mentaux d'une personne particulière. On ne manipule pas une croyance isolée comme on fixe la valeur d'une variable physique ; suivre le cours d'un processus mental singulier relève, selon Campbell, d'une compréhension imaginative sensible aux raisons, plutôt que de la seule inspection d'un réseau de variables<ref>Campbell, J. (2020). ''Causation in Psychology'', Cambridge (Mass.), Harvard University Press, introduction et chap. 2.</ref>. ==Conclusion== La causalité demeure une notion philosophiquement problématique malgré son omniprésence dans la pensée scientifique et ordinaire. Du questionnement aristotélicien sur la pluralité des causes à la critique humienne de la connexion nécessaire, de la tentative kantienne de sauver la causalité comme catégorie a priori aux débats contemporains sur la place de la causalité en physique première, l'histoire de la philosophie témoigne de la difficulté persistante à comprendre ce que signifie qu'une chose en cause une autre. Aucune théorie ne s'est imposée comme définitive. Les approches régularistes, contrefactuelles, probabilistes, mécanistes et dispositionnalistes offrent chacune des éclairages différents sur des aspects distincts de la causalité. Cette pluralité théorique reflète peut-être la pluralité des usages du concept de cause dans différents contextes : la causalité en physique première n'est peut-être pas la même que la causalité en biologie, en sciences sociales ou dans le sens commun. Plutôt qu'une notion univoque, la causalité apparaît comme un ensemble de notions apparentées mais distinctes, unifiées par l'idée générale de « faire une différence » ou de « production ». Cette dualité a reçu une formulation nette chez Ned Hall, qui distingue deux concepts irréductibles : la dépendance, proche de la dépendance contrefactuelle, et la production, relation locale et intrinsèque qui refuse toute action à distance et se rapproche des conditions INUS de Mackie. Aucune analyse unique, soutient-il, ne rend justice aux deux à la fois ; la tension se dénoue si l'on admet qu'ils nomment deux choses, non une seule<ref>Hall, N. (2004). « Two Concepts of Causation », dans J. Collins, N. Hall & L. A. Paul (dir.), ''Causation and Counterfactuals'', Cambridge (Mass.), MIT Press, chap. 9.</ref>. Comprendre la causalité exige donc non pas de trouver une définition unique et universelle, mais d'analyser les différentes formes que prend la relation causale dans différents domaines et de clarifier leurs présuppositions méthodologiques et ontologiques respectives. La causalité reste ainsi un concept central mais pluriel, irréductible à une formule simple mais indispensable pour penser le changement, l'action et l'explication dans le monde. == Notes et références == {{references|colonnes=2}} ==Bibliographie== ; Sources primaires classiques * Aristote. ''Physique'', livre II, trad. P. Pellegrin, Paris, Flammarion, 2002. * Aristote. ''Métaphysique'', livre Δ, trad. M.-P. Duminil et A. Jaulin, Paris, Flammarion, 2008. * Thomas d'Aquin. ''Somme théologique'', Paris, Cerf, 1984. * Descartes, René. ''Les Passions de l'âme'' (1649), dans ''Œuvres'', éd. Adam-Tannery, Paris, Vrin, 1996. * Spinoza, Baruch. ''Éthique'' (1677), trad. B. Pautrat, Paris, Seuil, 1988. * Leibniz, Gottfried Wilhelm. ''Discours de métaphysique'' (1686), Paris, GF-Flammarion. * Leibniz, Gottfried Wilhelm. ''Système nouveau de la nature et de la communication des substances'' (1695), Paris, GF-Flammarion. * Leibniz, Gottfried Wilhelm. ''Théodicée'' (1710), Paris, Flammarion, 1969. * Leibniz, Gottfried Wilhelm. ''Monadologie'' (1714), Paris, GF-Flammarion. * Malebranche, Nicolas. ''De la recherche de la vérité'' (1674-1675), dans ''Œuvres complètes'', éd. A. Robinet, Paris, Vrin, 1958-1984. * Hume, David. ''Traité de la nature humaine'' (1739-1740), livre I, partie III, trad. Ph. Saltel, Paris, Flammarion, 1995. * Hume, David. ''Enquête sur l'entendement humain'' (1748), section VII, trad. A. Leroy, Paris, Flammarion, 2006. * Kant, Immanuel. ''Critique de la raison pure'' (1781/1787), trad. A. Tremesaygues et B. Pacaud, Paris, PUF, 1993. * Mill, John Stuart. ''A System of Logic'' (1843), livre III, Londres, Longmans, 1961. ; Littérature secondaire contemporaine * Adams, Robert M. (1994). ''Leibniz: Determinist, Theist, Idealist'', Oxford, Oxford University Press. * Anjum, Rani Lill & Mumford, Stephen (2018). ''Causation in Science and the Methods of Scientific Discovery'', Oxford, Oxford University Press. * Anscombe, G. E. M. (1971). « Causality and Determination », repris dans E. Sosa & M. Tooley (dir.), ''Causation'', Oxford, Oxford University Press, 1993, chap. V. * Armstrong, David M. (1983). ''What Is a Law of Nature?'', Cambridge, Cambridge University Press. * Beebee, Helen (2006). ''Hume on Causation'', Londres, Routledge. * Bird, Alexander (2007). ''Nature's Metaphysics: Laws and Properties'', Oxford, Oxford University Press. * Blanchard, Thomas (2016). « Physics and Causation », ''Philosophy Compass'', vol. 11, n° 5, p. 256-266. * Campbell, John (2020). ''Causation in Psychology'', Cambridge (Mass.), Harvard University Press. * Cartwright, Nancy (2007). ''Hunting Causes and Using Them: Approaches in Philosophy and Economics'', Cambridge, Cambridge University Press. * Cartwright, Nancy & Hardie, Jeremy (2012). ''Evidence-Based Policy: A Practical Guide to Doing It Better'', Oxford, Oxford University Press. * Charles, David (2012). « Teleological Causation », dans C. Shields (dir.), ''The Oxford Handbook of Aristotle'', Oxford, Oxford University Press, p. 227-266. * Collins, John, Hall, Ned, & Paul, L. A. (dir.) (2004). ''Causation and Counterfactuals'', Cambridge (Mass.), MIT Press. * Davidson, Donald (1970). « Mental Events », dans ''Essays on Actions and Events'', Oxford, Clarendon Press, 1980, p. 207-225. * De Pinedo, Manuel (2006). « Anomalous Monism : Oscillating between Dogmas », ''Synthese'', vol. 148, p. 79-97. * Dimech, Dominic K. (2019). « Quasi-Realism and Inductive Scepticism in Hume's Theory of Causation », ''Australasian Journal of Philosophy'', vol. 97, n° 4, p. 637-650. * Dowe, Phil (2000). ''Physical Causation'', Cambridge, Cambridge University Press. * Falcon, Andrea (2019). « Aristotle on Causality », ''Stanford Encyclopedia of Philosophy'', [https://plato.stanford.edu/entries/aristotle-causality/ en ligne]. * Field, Hartry (2003). « Causation in a Physical World », dans Michael Loux & Dean Zimmerman (dir.), ''The Oxford Handbook of Metaphysics'', Oxford, Oxford University Press, p. 435-460. * Frisch, Mathias (2020). « Causation in Physics », ''Stanford Encyclopedia of Philosophy'', [https://plato.stanford.edu/entries/causation-physics/ en ligne]. * Glennan, Stuart (1996). « Mechanisms and the Nature of Causation », ''Erkenntnis'', vol. 44, n° 1, p. 49-71. * Glennan, Stuart (2017). ''Causation: The Basics'', Londres, Routledge. * Hall, Ned (2004). « Two Concepts of Causation », dans John Collins, Ned Hall & L. A. Paul (dir.), ''Causation and Counterfactuals'', Cambridge (Mass.), MIT Press, chap. 9, p. 225-276. * Halpern, Joseph Y. (2016). ''Actual Causality'', Cambridge (Mass.), MIT Press. * Hitchcock, Christopher (2001). « The Intransitivity of Causation Revealed in Equations and Graphs », ''Journal of Philosophy'', vol. 98, n° 6, p. 273-299. * Kannisto, Toni (2017). « Kant on the Necessity of Causal Relations », ''Kant-Studien'', vol. 108, n° 4, p. 495-516. * Kim, Jaegwon (1998). ''Mind in a Physical World: An Essay on the Mind-Body Problem and Mental Causation'', Cambridge (Mass.), MIT Press. * Kistler, Max (2006). ''Causation and Laws of Nature'', Londres, Routledge. * Koons, Robert C. (2000). ''Realism Regained: An Exact Theory of Causation, Teleology, and the Mind'', Oxford, Oxford University Press. * Kutach, Douglas (2013). ''Causation and Its Basis in Fundamental Physics'', Oxford, Oxford University Press. * Le Ru, Véronique (2005). « La réception occasionaliste de Descartes : des Malebranchistes à l'Encyclopédie », ''Recherches sur Diderot et sur l'Encyclopédie'', n° 38, p. 83-100. * Lewis, David (1973). « Causation », ''Journal of Philosophy'', vol. 70, n° 17, p. 556-567. * Lewis, David (1979). « Counterfactual Dependence and Time's Arrow », ''Noûs'', vol. 13, n° 4, p. 455-476. * Lewis, David (2000). « Causation as Influence », ''Journal of Philosophy'', vol. 97, n° 4, p. 182-197. * Lin, Martin (2014). « Efficient Causation in Spinoza and Leibniz », dans Michael Della Rocca (dir.), ''The Oxford Handbook of Spinoza'', Oxford, Oxford University Press, p. 167-193. * Machamer, Peter, Darden, Lindley, & Craver, Carl F. (2000). « Thinking about Mechanisms », ''Philosophy of Science'', vol. 67, n° 1, p. 1-25. * Mackie, John L. (1974). ''The Cement of the Universe : A Study of Causation'', Oxford, Clarendon Press. * Marmodoro, Anna & Prince, Brian D. (dir.) (2015). ''Causation and Creation in Late Antiquity'', Cambridge, Cambridge University Press. * Melamed, Yitzhak & Lin, Martin (2016). « The Principle of Sufficient Reason », ''Stanford Encyclopedia of Philosophy'', [https://plato.stanford.edu/entries/sufficient-reason/ en ligne]. * Menzies, Peter (2001). « Counterfactual Theories of Causation », ''Stanford Encyclopedia of Philosophy'', [https://plato.stanford.edu/entries/causation-counterfactual/ en ligne]. * Moore, Michael S. (2009). ''Causation and Responsibility: An Essay in Law, Morals, and Metaphysics'', Oxford, Oxford University Press. * Mumford, Stephen & Anjum, Rani Lill (2011). ''Getting Causes from Powers'', Oxford, Oxford University Press. * Mumford, Stephen & Anjum, Rani Lill (2013). ''Causation : A Very Short Introduction'', Oxford, Oxford University Press. * Natali, Carlo (2013). « AITIA in Plato and Aristotle. From Everyday Language to Technical Vocabulary », ''Méthexis'', vol. 26, p. 3-25. * Norton, John D. (2003). « Causation as Folk Science », ''Philosophers' Imprint'', vol. 3, n° 4, p. 1-22. * Paul, L. A. & Hall, Ned (2013). ''Causation: A User's Guide'', Oxford, Oxford University Press. * Pearl, Judea (2009). ''Causality: Models, Reasoning, and Inference'', 2{{e}}&nbsp;éd., Cambridge, Cambridge University Press. * Price, Huw & Corry, Richard (dir.) (2007). ''Causation, Physics, and the Constitution of Reality: Russell's Republic Revisited'', Oxford, Oxford University Press. * Pruss, Alexander R. (2018). ''Infinity, Causation, and Paradox'', Oxford, Oxford University Press. * Psillos, Stathis (2002). ''Causation and Explanation'', Chesham, Acumen. * Reece, Bryan C. (2019). « Aristotle's Four Causes of Action », ''Australasian Journal of Philosophy'', vol. 97, n° 2, p. 213-227. * Reichenbach, Hans (1956). ''The Direction of Time'', Berkeley, University of California Press. * Reiss, Julian (2016). « Suppes' Probabilistic Theory of Causality and Causal Inference in Economics », ''Journal of Economic Methodology'', vol. 23, n° 3, p. 289-304. * Rioux-Beaulne, Mitia (2018). « Fontenelle, Malebranche et les limites de la causalité », ''Revue philosophique de la France et de l'étranger'', vol. 143, n° 3, p. 365-388. * Ross, Don & Spurrett, David (2007). « Notions of Cause : Russell's Thesis Revisited », ''British Journal for the Philosophy of Science'', vol. 58, n° 1, p. 45-76. * Russell, Bertrand (1913). « On the Notion of Cause », ''Proceedings of the Aristotelian Society'', vol. 13, p. 1-26. * Salmon, Wesley C. (1984). ''Scientific Explanation and the Causal Structure of the World'', Princeton, Princeton University Press. * Sartorio, Carolina (2016). ''Causation and Free Will'', Oxford, Oxford University Press. * Schaffer, Jonathan (2005). « Contrastive Causation », ''The Philosophical Review'', vol. 114, n° 3, p. 327-358. * Silva, Ignacio (2015). « A Cause Among Causes? God Acting in the Natural World », ''European Journal for Philosophy of Religion'', vol. 7, n° 4, p. 99-114. * Spirtes, Peter, Glymour, Clark & Scheines, Richard (2001). ''Causation, Prediction, and Search'', 2{{e}}&nbsp;éd., Cambridge (Mass.), MIT Press. * Stein, Nathanael (2012). « Causality and Causal Explanation in Aristotle », ''Philosophy Compass'', vol. 7, n° 10, p. 699-711. * Suppes, Patrick (1970). ''A Probabilistic Theory of Causality'', Amsterdam, North-Holland Publishing Company. * Viljanen, Valtteri (2008). « Spinoza's Essentialist Model of Causation », ''Inquiry'', vol. 51, n° 4, p. 412-437. * Weaver, Christopher Gregory (2025). ''Causation in Physics'', Cambridge, Cambridge University Press (Elements in the Philosophy of Physics). * Wippel, John F. (2000). ''The Metaphysical Thought of Thomas Aquinas: From Finite Being to Uncreated Being'', Washington, Catholic University of America Press. * Woodward, James (2003). ''Making Things Happen: A Theory of Causal Explanation'', Oxford, Oxford University Press. * Woodward, James (2021). ''Causation with a Human Face: Normative Theory and Descriptive Psychology'', Oxford, Oxford University Press. * Yalowitz, Steven (2005). « Anomalous Monism », ''Stanford Encyclopedia of Philosophy'', [https://plato.stanford.edu/entries/anomalous-monism/ en ligne]. == Articles connexes == * Déterminisme * Nécessité * Contingence * Hasard * Loi de la nature * Explication * Induction * Finalité * Libre arbitre * Responsabilité morale * Mécanique quantique {{DEFAULTSORT:Causalité}} [[Catégorie:Métaphysique]] [[Catégorie:Épistémologie]] {{AutoCat}} qrvuwe9xstxfndr12qc246z54rcufuc Discussion Wikilivres:Le Bistro/2026 5 83406 769630 769489 2026-07-21T05:46:39Z MediaWiki message delivery 36013 /* Actualités techniques n° 2026-30 */ nouvelle section 769630 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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/03|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[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 &mdash; 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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/05|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/07|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/08|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/10|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/14|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/15|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/17|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/18|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/19|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/20|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/21|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/22|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/23|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/24|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/25|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/26|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/27|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/28|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/29|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/30|Traduire]]&nbsp;• [[m:Tech|Obtenir de l’aide]]&nbsp;• [[m:Talk:Tech/News|Donner son avis]]&nbsp;• [[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 --> g6bbvbvmknuh0y14gm129bdnuq5i0l4 Mathc matrices/0a2 0 84080 769611 2026-07-20T12:26:39Z Xhungab 23827 news 769611 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = sin(x) h(x) = cos(x) Le produit scalaire choisi sera : (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonals * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ........................ : [[Mathc matrices/0a3| c0a1.c ]] * <f(x),h(x)> ........................ : [[Mathc matrices/0a4| c0a2.c ]] * <g(x),h(x)> ........................ : [[Mathc matrices/0a5| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| ........................ : [[Mathc matrices/0a6| c1a1.c ]] * ||g(x)|| ........................ : [[Mathc matrices/0a7| c1a2.c ]] * ||h(x)|| ........................ : [[Mathc matrices/0a8| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ........................ : [[Mathc matrices/0a9| c2a1.c ]] * g(x) ........................ : [[Mathc matrices/0aa| c2a2.c ]] * h(x) ........................ : [[Mathc matrices/0ab| c2a3.c ]] {{AutoCat}} mgkkocztpma2psyzgxwc04tzkyjawsd 769625 769611 2026-07-20T20:42:30Z Xhungab 23827 769625 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = sin(x) h(x) = cos(x) Le produit scalaire choisi sera : (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI Copier la bibliothèque dans votre répertoire de travail : * [[Mathc matrices/0ad|hfile.h ............ Déclaration des fichiers h]] * [[Mathc matrices/0ae|hdx.h ............. Intégrale simple]] * [[Mathc matrices/0af|fa.h ................ Les fonctions]] {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonals * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ........................ : [[Mathc matrices/0a3| c0a1.c ]] * <f(x),h(x)> ........................ : [[Mathc matrices/0a4| c0a2.c ]] * <g(x),h(x)> ........................ : [[Mathc matrices/0a5| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| ........................ : [[Mathc matrices/0a6| c1a1.c ]] * ||g(x)|| ........................ : [[Mathc matrices/0a7| c1a2.c ]] * ||h(x)|| ........................ : [[Mathc matrices/0a8| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ........................ : [[Mathc matrices/0a9| c2a1.c ]] * g(x) ........................ : [[Mathc matrices/0aa| c2a2.c ]] * h(x) ........................ : [[Mathc matrices/0ab| c2a3.c ]] {{AutoCat}} oxw5cwu7f3uoqr7yxufa3ycoc71sy9d 769629 769625 2026-07-20T20:47:38Z Xhungab 23827 769629 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = sin(x) h(x) = cos(x) Le produit scalaire choisi sera : (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0ad|hfile.h ............ Déclaration des fichiers h]] * [[Mathc matrices/0ae|hdx.h ............. Intégrale simple]] * [[Mathc matrices/0af|fa.h ................ Les fonctions]] {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonals * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ........................ : [[Mathc matrices/0a3| c0a1.c ]] * <f(x),h(x)> ........................ : [[Mathc matrices/0a4| c0a2.c ]] * <g(x),h(x)> ........................ : [[Mathc matrices/0a5| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| ........................ : [[Mathc matrices/0a6| c1a1.c ]] * ||g(x)|| ........................ : [[Mathc matrices/0a7| c1a2.c ]] * ||h(x)|| ........................ : [[Mathc matrices/0a8| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ........................ : [[Mathc matrices/0a9| c2a1.c ]] * g(x) ........................ : [[Mathc matrices/0aa| c2a2.c ]] * h(x) ........................ : [[Mathc matrices/0ab| c2a3.c ]] {{AutoCat}} hlp06g86nijnku1pgr0k9cnqer7baw4 769633 769629 2026-07-21T09:39:21Z Xhungab 23827 769633 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = sin(x) h(x) = cos(x) Le produit scalaire choisi sera : (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0ad|hfile.h ............ Déclaration des fichiers h]] * [[Mathc matrices/0ae|hdx.h ............. Intégrale simple]] * [[Mathc matrices/0af|fa.h ................ Les fonctions]] {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonals * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ......... : [[Mathc matrices/0a3| c0a1.c ]] * <f(x),h(x)> ......... : [[Mathc matrices/0a4| c0a2.c ]] * <g(x),h(x)> ......... : [[Mathc matrices/0a5| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| .................. : [[Mathc matrices/0a6| c1a1.c ]] * ||g(x)|| .................. : [[Mathc matrices/0a7| c1a2.c ]] * ||h(x)|| .................. : [[Mathc matrices/0a8| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ..................... : [[Mathc matrices/0a9| c2a1.c ]] * g(x) ..................... : [[Mathc matrices/0aa| c2a2.c ]] * h(x) ..................... : [[Mathc matrices/0ab| c2a3.c ]] {{Partie{{{type|}}}| Calculer la distance entre deux vecteurs :}} * d(f(x),g(x)) ......... : [[Mathc matrices/0ag| c3a1.c ]] * d(f(x),h(x)) ......... : [[Mathc matrices/0ah| c3a2.c ]] * d(g(x),h(x)) ......... : [[Mathc matrices/0ai| c3a3.c ]] {{AutoCat}} 9jvjgy8tu4c99fc554wgrq11mk4a01t 769658 769633 2026-07-21T11:31:19Z Xhungab 23827 769658 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x) (1)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = sin(x) h(x) = cos(x) Le produit scalaire choisi sera : (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0ad|hfile.h ............ Déclaration des fichiers h]] * [[Mathc matrices/0ae|hdx.h ............. Intégrale simple]] * [[Mathc matrices/0af|fa.h ................ Les fonctions]] {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonals * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ......... : [[Mathc matrices/0a3| c0a1.c ]] * <f(x),h(x)> ......... : [[Mathc matrices/0a4| c0a2.c ]] * <g(x),h(x)> ......... : [[Mathc matrices/0a5| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| .................. : [[Mathc matrices/0a6| c1a1.c ]] * ||g(x)|| .................. : [[Mathc matrices/0a7| c1a2.c ]] * ||h(x)|| .................. : [[Mathc matrices/0a8| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ..................... : [[Mathc matrices/0a9| c2a1.c ]] * g(x) ..................... : [[Mathc matrices/0aa| c2a2.c ]] * h(x) ..................... : [[Mathc matrices/0ab| c2a3.c ]] {{Partie{{{type|}}}| Calculer la distance entre deux vecteurs :}} * d(f(x),g(x)) ......... : [[Mathc matrices/0ag| c3a1.c ]] * d(f(x),h(x)) ......... : [[Mathc matrices/0ah| c3a2.c ]] * d(g(x),h(x)) ......... : [[Mathc matrices/0ai| c3a3.c ]] {{AutoCat}} 3hfonldwjyp45w8975p4684gy2kefn7 769659 769658 2026-07-21T13:46:26Z Xhungab 23827 769659 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x) (1)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = sin(x) h(x) = cos(x) Le produit scalaire choisi sera : (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0ad|hfile.h ............ Déclaration des fichiers h]] * [[Mathc matrices/0ae|hdx.h ............. Intégrale simple]] * [[Mathc matrices/0af|fa.h ................ Les fonctions]] {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonaux * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ......... : [[Mathc matrices/0a3| c0a1.c ]] * <f(x),h(x)> ......... : [[Mathc matrices/0a4| c0a2.c ]] * <g(x),h(x)> ......... : [[Mathc matrices/0a5| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| .................. : [[Mathc matrices/0a6| c1a1.c ]] * ||g(x)|| .................. : [[Mathc matrices/0a7| c1a2.c ]] * ||h(x)|| .................. : [[Mathc matrices/0a8| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ..................... : [[Mathc matrices/0a9| c2a1.c ]] * g(x) ..................... : [[Mathc matrices/0aa| c2a2.c ]] * h(x) ..................... : [[Mathc matrices/0ab| c2a3.c ]] {{Partie{{{type|}}}| Calculer la distance entre deux vecteurs :}} * d(f(x),g(x)) ......... : [[Mathc matrices/0ag| c3a1.c ]] * d(f(x),h(x)) ......... : [[Mathc matrices/0ah| c3a2.c ]] * d(g(x),h(x)) ......... : [[Mathc matrices/0ai| c3a3.c ]] {{AutoCat}} 8zhvelijikt7zxovksdygjzwtsgw1s0 Mathc matrices/0a3 0 84081 769616 2026-07-20T20:24:59Z Xhungab 23827 news 769616 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+PI \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-PI \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " f(x) = %s\n" " g(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", feq,geq, b, fgeq, simpson(fg,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : f(x) = 1 g(x) = sin(x) (+3.142 int( (f(x) g(x)) dx = 0.000000 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} ltb6731nuthuklvfjv2i3c7harl6reo Mathc matrices/0a4 0 84082 769617 2026-07-20T20:26:20Z Xhungab 23827 news 769617 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+PI \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-PI \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " f(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", feq,heq, b, fheq, simpson(fh,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : f(x) = 1 h(x) = cos(x) (+3.142 int( (f(x) h(x)) dx = -0.000000 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} 63nxvjpzhlpw2yi27xcod4jr39vmn65 Mathc matrices/0a5 0 84083 769618 2026-07-20T20:27:31Z Xhungab 23827 news 769618 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+PI \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-PI \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " g(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", geq,heq, b, vweq, simpson(gh,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : g(x) = sin(x) h(x) = cos(x) (+3.142 int( (g(x) h(x)) dx = -0.000000 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} md38ck8s9342es8idqugl4m2nxrx28m 769631 769618 2026-07-21T08:53:39Z Xhungab 23827 769631 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+PI \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-PI \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " g(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", geq,heq, b, gheq, simpson(gh,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : g(x) = sin(x) h(x) = cos(x) (+3.142 int( (g(x) h(x)) dx = -0.000000 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} mh2ch3csq9m3drh4e84qcietelhifnm Mathc matrices/0a6 0 84084 769619 2026-07-20T20:29:23Z Xhungab 23827 news 769619 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c1a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c1a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the norm in the space of function.\n\n" " (+PI \n" " (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] \n" " (-PI \n\n"); printf(" With :\n\n" " f(x) = %s\n\n" " (%+.3f\n" " ||f(x)|| = sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", feq, b, ffeq, sqrt(simpson(ff,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the norm in the space of function. (+PI (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] (-PI With : f(x) = 1 (+3.142 ||f(x)|| = sqrt[int( (f(x) f(x)) dx] = 2.506628275 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} 19juxbpl2l3uqiygiorld50attfkhid Mathc matrices/0a7 0 84085 769620 2026-07-20T20:30:48Z Xhungab 23827 news 769620 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c1a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c1a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the norm in the space of function.\n\n" " (+PI \n" " (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] \n" " (-PI \n\n"); printf(" With :\n\n" " g(x) = %s\n\n" " (%+.3f\n" " ||g(x)|| = sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", geq, b, ggeq, sqrt(simpson(gg,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the norm in the space of function. (+PI (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] (-PI With : g(x) = sin(x) (+3.142 ||g(x)|| = sqrt[int( (g(x) g(x)) dx] = 1.772453851 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} kupaez0dpufq0no5nc3vze9ojhezjb4 Mathc matrices/0a8 0 84086 769621 2026-07-20T20:32:12Z Xhungab 23827 news 769621 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c1a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c1a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the norm in the space of function.\n\n" " (+PI \n" " (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] \n" " (-PI \n\n"); printf(" With :\n\n" " h(x) = %s\n\n" " (%+.3f\n" " ||h(x)|| = sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", heq, b, hheq, sqrt(simpson(hh,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the norm in the space of function. (+PI (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] (-PI With : h(x) = cos(x) (+3.142 ||h(x)|| = sqrt[int( (h(x) h(x)) dx] = 1.772453851 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} 0ro20qazm9sletpeyxnb2frjj4u6p7z Mathc matrices/0a9 0 84087 769622 2026-07-20T20:33:31Z Xhungab 23827 news 769622 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c2a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c2a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Calculate the norm of a normalized function. [f(x)/||f(x)||]\n\n" " (+PI \n" " sqrt[ int( [f(x)/||f(x)||] [f(x)/||f(x)||] dx ] \n" " (-PI \n\n"); printf(" With :\n\n" " f(x) = %s\n\n" " ||f(x)|| see the file c1a1.c \n\n" " (%+.3f\n" " sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", feq, b, Nfeq, sqrt(simpson(Nf,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Calculate the norm of a normalized function. [f(x)/||f(x)||] (+PI sqrt[ int( [f(x)/||f(x)||] [f(x)/||f(x)||] dx ] (-PI With : f(x) = 1 ||f(x)|| see the file c1a1.c (+3.142 sqrt[int( ([f(x) (1/2.5066)] [f(x) (1/2.5066)]) dx] = 1.000000000 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} i91udsaplfdsi8lier9ibyh3rrvplj2 Mathc matrices/0aa 0 84088 769623 2026-07-20T20:34:51Z Xhungab 23827 news 769623 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c2a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c2a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Calculate the norm of a normalized function. [g(x)/||g(x)||]\n\n" " (+PI \n" " sqrt[ int( [g(x)/||g(x)||] [g(x)/||g(x)||] dx ] \n" " (-PI \n\n"); printf(" With :\n\n" " g(x) = %s\n\n" " ||g(x)|| see the file c1a2.c \n\n" " (%+.3f\n" " sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", geq, b, Ngeq, (simpson(Ng,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Calculate the norm of a normalized function. [g(x)/||g(x)||] (+PI sqrt[ int( [g(x)/||g(x)||] [g(x)/||g(x)||] dx ] (-PI With : g(x) = sin(x) ||g(x)|| see the file c1a2.c (+3.142 sqrt[int( ([g(x) (1/1.772)] [g(x) (1/1.772)]) dx] = 1.000000000 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} h374d6mdvj91kq9nblshbj15yw5yt6k Mathc matrices/0ab 0 84089 769624 2026-07-20T20:36:30Z Xhungab 23827 news 769624 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c2a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c2a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Calculate the norm of a normalized function. [h(x)/||h(x)||]\n\n" " (+PI \n" " sqrt[ int( [h(x)/||h(x)||] [h(x)/||h(x)||] dx ] \n" " (-PI \n\n"); printf(" With :\n\n" " h(x) = %s\n\n" " ||h(x)|| see the file c1a3.c \n\n" " (%+.3f\n" " sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", heq, b, Nheq, (simpson(Nh,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Calculate the norm of a normalized function. [h(x)/||h(x)||] (+PI sqrt[ int( [h(x)/||h(x)||] [h(x)/||h(x)||] dx ] (-PI With : h(x) = cos(x) ||h(x)|| see the file c1a3.c (+3.142 sqrt[int( ([h(x) (1/1.7724)] [h(x) (1/1.7724)]) dx] = 1.000000000 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} pxqk5phl7uirkqc5rl9e0gwcn2rfnqk Mathc matrices/0ad 0 84090 769626 2026-07-20T20:44:10Z Xhungab 23827 news 769626 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|hfile.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as hfile.h */ /* ---------------------------------- */ #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <time.h> #include <math.h> #include <string.h> /* ---------------------------------- */ #include "z_s.h" #include "z_d.h" #include "hdx.h" /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> {{AutoCat}} pqgvsm16cszmweoyhapdazor38nquxy 769640 769626 2026-07-21T11:05:24Z Xhungab 23827 769640 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|hfile.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as hfile.h */ /* ---------------------------------- */ #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <time.h> #include <math.h> #include <string.h> /* ---------------------------------- */ #include "z_s.h" #include "z_d.h" #include "hdx.h" /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> [[Mathc matrices/c21r|.]] {{AutoCat}} 8qam2iu2qhf2l3gc3in6w9azkf2ucjk Mathc matrices/0ae 0 84091 769627 2026-07-20T20:44:58Z Xhungab 23827 news 769627 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|hdx.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as hdx.h */ /* ---------------------------------- */ double simpson( double (*P_f)(double x), double a, double b, int n ) { int i = 0; double m = 0.; double M = 0.; for(i = 0; i <= n; i++) { if(i ==0 || i== n){m = 1.;} else if(fmod(i,2) == 0){m = 2.;} else {m = 4.;} M += m * (*P_f)(a + i*(b-a)/n); } return( ((b -a)*M) / (3*n) ); } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> {{AutoCat}} cxg7gl1b6sqeuhjdhgtk1qne9k6kt12 769641 769627 2026-07-21T11:05:58Z Xhungab 23827 769641 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|hdx.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as hdx.h */ /* ---------------------------------- */ double simpson( double (*P_f)(double x), double a, double b, int n ) { int i = 0; double m = 0.; double M = 0.; for(i = 0; i <= n; i++) { if(i ==0 || i== n){m = 1.;} else if(fmod(i,2) == 0){m = 2.;} else {m = 4.;} M += m * (*P_f)(a + i*(b-a)/n); } return( ((b -a)*M) / (3*n) ); } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> [[Mathc matrices/c21r|.]] {{AutoCat}} nomo6uddsmbjswbzfw0zlgobuaa16lb Mathc matrices/0af 0 84092 769628 2026-07-20T20:47:08Z Xhungab 23827 news 769628 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|fa.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as fa.h */ /* ---------------------------------- */ double f( double x) { return((1)); } char feq[] = "1"; /* ---------------------------------- */ double g( double x) { return(sin(x)); } char geq[] = "sin(x)"; /* ---------------------------------- */ double h( double x) { return(cos(x)); } char heq[] = "cos(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double fg( double x) { return( f(x)*g(x)); } char fgeq[] = "f(x) g(x)"; /* ---------------------------------- */ double fh( double x) { return( f(x)*h(x)); } char fheq[] = "f(x) h(x)"; /* ---------------------------------- */ double gh( double x) { return( g(x)*h(x)); } char vweq[] = "g(x) h(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double ff( double x) { return( f(x)*f(x)); } char ffeq[] = "f(x) f(x)"; /* ---------------------------------- */ double gg( double x) { return( g(x)*g(x)); } char ggeq[] = "g(x) g(x)"; /* ---------------------------------- */ double hh( double x) { return( h(x)*h(x)); } char hheq[] = "h(x) h(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double Nf( double x) { return( f(x)*(1/2.506628275)* f(x)*(1/2.506628275)); } char Nfeq[] = "[f(x) (1/2.5066)] [f(x) (1/2.5066)]"; /* ---------------------------------- */ double Ng( double x) { return( g(x)*(1/1.772453851)* g(x)*(1/1.772453851)); } char Ngeq[] = "[g(x) (1/1.772)] [g(x) (1/1.772)]"; /* ---------------------------------- */ double Nh( double x) { return( h(x)*(1/1.772453851)* h(x)*(1/1.772453851)); } char Nheq[] = "[h(x) (1/1.7724)] [h(x) (1/1.7724)]"; /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> {{AutoCat}} 47dj9mmtjekg6hfdp9mc694070yl4ue 769632 769628 2026-07-21T08:54:13Z Xhungab 23827 769632 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|fa.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as fa.h */ /* ---------------------------------- */ double f( double x) { return((1)); } char feq[] = "1"; /* ---------------------------------- */ double g( double x) { return(sin(x)); } char geq[] = "sin(x)"; /* ---------------------------------- */ double h( double x) { return(cos(x)); } char heq[] = "cos(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double fg( double x) { return( f(x)*g(x)); } char fgeq[] = "f(x) g(x)"; /* ---------------------------------- */ double fh( double x) { return( f(x)*h(x)); } char fheq[] = "f(x) h(x)"; /* ---------------------------------- */ double gh( double x) { return( g(x)*h(x)); } char gheq[] = "g(x) h(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double ff( double x) { return( f(x)*f(x)); } char ffeq[] = "f(x) f(x)"; /* ---------------------------------- */ double gg( double x) { return( g(x)*g(x)); } char ggeq[] = "g(x) g(x)"; /* ---------------------------------- */ double hh( double x) { return( h(x)*h(x)); } char hheq[] = "h(x) h(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double Nf( double x) { return( f(x)*(1/2.506628275)* f(x)*(1/2.506628275)); } char Nfeq[] = "[f(x) (1/2.5066)] [f(x) (1/2.5066)]"; /* ---------------------------------- */ double Ng( double x) { return( g(x)*(1/1.772453851)* g(x)*(1/1.772453851)); } char Ngeq[] = "[g(x) (1/1.772)] [g(x) (1/1.772)]"; /* ---------------------------------- */ double Nh( double x) { return( h(x)*(1/1.772453851)* h(x)*(1/1.772453851)); } char Nheq[] = "[h(x) (1/1.7724)] [h(x) (1/1.7724)]"; /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> {{AutoCat}} ij92pmjmocljxf0wneojku78cwcm9s9 769637 769632 2026-07-21T09:54:05Z Xhungab 23827 769637 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|fa.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as fa.h */ /* ---------------------------------- */ double f( double x) { return((1)); } char feq[] = "1"; /* ---------------------------------- */ double g( double x) { return(sin(x)); } char geq[] = "sin(x)"; /* ---------------------------------- */ double h( double x) { return(cos(x)); } char heq[] = "cos(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double fg( double x) { return( f(x)*g(x)); } char fgeq[] = "f(x) g(x)"; /* ---------------------------------- */ double fh( double x) { return( f(x)*h(x)); } char fheq[] = "f(x) h(x)"; /* ---------------------------------- */ double gh( double x) { return( g(x)*h(x)); } char gheq[] = "g(x) h(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double ff( double x) { return( f(x)*f(x)); } char ffeq[] = "f(x) f(x)"; /* ---------------------------------- */ double gg( double x) { return( g(x)*g(x)); } char ggeq[] = "g(x) g(x)"; /* ---------------------------------- */ double hh( double x) { return( h(x)*h(x)); } char hheq[] = "h(x) h(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double Nf( double x) { return( f(x)*(1/2.506628275)* f(x)*(1/2.506628275)); } char Nfeq[] = "[f(x) (1/2.5066)] [f(x) (1/2.5066)]"; /* ---------------------------------- */ double Ng( double x) { return( g(x)*(1/1.772453851)* g(x)*(1/1.772453851)); } char Ngeq[] = "[g(x) (1/1.772)] [g(x) (1/1.772)]"; /* ---------------------------------- */ double Nh( double x) { return( h(x)*(1/1.772453851)* h(x)*(1/1.772453851)); } char Nheq[] = "[h(x) (1/1.7724)] [h(x) (1/1.7724)]"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double dfg( double x) { return( (f(x)-g(x))*(f(x)-g(x))); } char dfgeq[] = "(f(x)-g(x)) (f(x)-g(x))"; /* ---------------------------------- */ double dfh( double x) { return( (f(x)-h(x))*(f(x)-h(x))); } char dfheq[] = "(f(x)-h(x)) (f(x)-h(x))"; /* ---------------------------------- */ double dgh( double x) { return( (g(x)-h(x))*(g(x)-h(x))); } char dgheq[] = "(g(x)-h(x)) (g(x)-h(x))"; /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> {{AutoCat}} k6til23lbegoynpecriwf6dhaaifsa1 Mathc matrices/0ag 0 84093 769634 2026-07-21T09:41:42Z Xhungab 23827 news 769634 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c3a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c3a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the distance in the inner product" " in the space of function.\n\n" " (+PI \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-PI \n\n" " d(f(x),g(x)) = ||f(x)-g(x)|| = <f(x)-g(x),f(x)-g(x)>^1/2 \n\n"); printf(" With :\n\n" " f(x) = %s\n" " g(x) = %s\n\n" " (%+.3f\n" " sqrt( int( (%s) dx ) = %.6f\n" " (%+.3f\n\n\n\n", feq,geq, b, dfgeq, sqrt(simpson(dfg,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the distance in the inner product in the space of function. (+PI <f(x),g(x)> = int( f(x) g(x) dx (-PI d(f(x),g(x)) = ||f(x)-g(x)|| = <f(x)-g(x),f(x)-g(x)>^1/2 With : f(x) = 1 g(x) = sin(x) (+3.142 sqrt( int( ((f(x)-g(x)) (f(x)-g(x))) dx ) = 3.069980 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} 2pbrrp8kd2ebf17xtuuoeiq46wg5cj9 Mathc matrices/0ah 0 84094 769635 2026-07-21T09:43:38Z Xhungab 23827 news 769635 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c3a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c3a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the distance in the inner product" " in the space of function.\n\n" " (+PI \n" " <f(x),h(x)> = int( f(x) h(x) dx \n" " (-PI \n\n" " d(f(x),h(x)) = ||f(x)-h(x)|| = <f(x)-h(x),f(x)-h(x)>^1/2 \n\n"); printf(" With :\n\n" " f(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " sqrt( int( (%s) dx ) = %.6f\n" " (%+.3f\n\n\n\n", feq,heq, b, dfheq, sqrt(simpson(dfh,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the distance in the inner product in the space of function. (+PI <f(x),h(x)> = int( f(x) h(x) dx (-PI d(f(x),h(x)) = ||f(x)-h(x)|| = <f(x)-h(x),f(x)-h(x)>^1/2 With : f(x) = 1 h(x) = cos(x) (+3.142 sqrt( int( ((f(x)-h(x)) (f(x)-h(x))) dx ) = 3.069980 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} e8rifwtzshaahhug24d4ut22m9gr1u7 Mathc matrices/0ai 0 84095 769636 2026-07-21T09:50:29Z Xhungab 23827 news 769636 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c3a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c3a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -PI; double b = +PI; clrscrn(); printf(" Compute the distance in the inner product" " in the space of function.\n\n" " (+PI \n" " <g(x),h(x)> = int( g(x) h(x) dx \n" " (-PI \n\n" " d(g(x),h(x)) = ||g(x)-h(x)|| = <g(x)-h(x),g(x)-h(x)>^1/2 \n\n"); printf(" With :\n\n" " g(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " sqrt( int( (%s) dx ) = %.6f\n" " (%+.3f\n\n\n\n", geq,heq, b, dgheq, sqrt(simpson(dgh,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the distance in the inner product in the space of function. (+PI <g(x),h(x)> = int( g(x) h(x) dx (-PI d(g(x),h(x)) = ||g(x)-h(x)|| = <g(x)-h(x),g(x)-h(x)>^1/2 With : g(x) = sin(x) h(x) = cos(x) (+3.142 sqrt( int( ((g(x)-h(x)) (g(x)-h(x))) dx ) = 2.506628 (-3.142 Press return to continue. </syntaxhighlight> {{AutoCat}} t0oqbul5xfoi2890bgvu4xcibcag906 Mathc matrices/0aw 0 84096 769639 2026-07-21T11:01:19Z Xhungab 23827 news 769639 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = x h(x) = x**2 Le produit scalaire choisi sera : (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0ad|hfile.h ............ Déclaration des fichiers h]] * [[Mathc matrices/0ae|hdx.h ............. Intégrale simple]] * [[Mathc matrices/0aj|fa.h ................ Les fonctions]] {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonals * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ......... : [[Mathc matrices/0ak| c0a1.c ]] * <f(x),h(x)> ......... : [[Mathc matrices/0al| c0a2.c ]] * <g(x),h(x)> ......... : [[Mathc matrices/0am| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| .................. : [[Mathc matrices/0an| c1a1.c ]] * ||g(x)|| .................. : [[Mathc matrices/0ao| c1a2.c ]] * ||h(x)|| .................. : [[Mathc matrices/0ap| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ..................... : [[Mathc matrices/0aq| c2a1.c ]] * g(x) ..................... : [[Mathc matrices/0ar| c2a2.c ]] * h(x) ..................... : [[Mathc matrices/0as| c2a3.c ]] {{Partie{{{type|}}}| Calculer la distance entre deux vecteurs :}} * d(f(x),g(x)) ......... : [[Mathc matrices/0at| c3a1.c ]] * d(f(x),h(x)) ......... : [[Mathc matrices/0au| c3a2.c ]] * d(g(x),h(x)) ......... : [[Mathc matrices/0av| c3a3.c ]] {{AutoCat}} rd2delq7sx96iyo13k03acp3yoj3exk 769657 769639 2026-07-21T11:30:39Z Xhungab 23827 769657 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x) (2)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = x h(x) = x**2 Le produit scalaire choisi sera : (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0ad|hfile.h ............ Déclaration des fichiers h]] * [[Mathc matrices/0ae|hdx.h ............. Intégrale simple]] * [[Mathc matrices/0aj|fa.h ................ Les fonctions]] {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonals * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ......... : [[Mathc matrices/0ak| c0a1.c ]] * <f(x),h(x)> ......... : [[Mathc matrices/0al| c0a2.c ]] * <g(x),h(x)> ......... : [[Mathc matrices/0am| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| .................. : [[Mathc matrices/0an| c1a1.c ]] * ||g(x)|| .................. : [[Mathc matrices/0ao| c1a2.c ]] * ||h(x)|| .................. : [[Mathc matrices/0ap| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ..................... : [[Mathc matrices/0aq| c2a1.c ]] * g(x) ..................... : [[Mathc matrices/0ar| c2a2.c ]] * h(x) ..................... : [[Mathc matrices/0as| c2a3.c ]] {{Partie{{{type|}}}| Calculer la distance entre deux vecteurs :}} * d(f(x),g(x)) ......... : [[Mathc matrices/0at| c3a1.c ]] * d(f(x),h(x)) ......... : [[Mathc matrices/0au| c3a2.c ]] * d(g(x),h(x)) ......... : [[Mathc matrices/0av| c3a3.c ]] {{AutoCat}} bnj58u5c55t24dhsj78kghe8duk7gf1 769660 769657 2026-07-21T13:47:05Z Xhungab 23827 769660 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produits scalaires dans f(x) (2)}} Un espace euclidien est un espace vectoriel de dimension finie muni d’un produit scalaire. Nous allons ici introduire un produit scalaire sur trois fonctions (vecteurs). f(x) = 1 g(x) = x h(x) = x**2 Le produit scalaire choisi sera : (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0ad|hfile.h ............ Déclaration des fichiers h]] * [[Mathc matrices/0ae|hdx.h ............. Intégrale simple]] * [[Mathc matrices/0aj|fa.h ................ Les fonctions]] {{Partie{{{type|}}}| Produit Scalaire :}} '''Nous allons commencer par calculer les produits scalaires, ce qui nous permettra de déterminer les angles qu'ils existent entre ces fonctions (vecteurs).''' * si <f(x),g(x)> = 0 : f(x) et g(x) sont orthogonaux * if <f(x),g(x)> > 0 : f(x) et g(x) forme un angle aigu (< ) * if <f(x),g(x)> < 0 : f(x) et g(x) forme un angle obtu (\\_) * <f(x),g(x)> ......... : [[Mathc matrices/0ak| c0a1.c ]] * <f(x),h(x)> ......... : [[Mathc matrices/0al| c0a2.c ]] * <g(x),h(x)> ......... : [[Mathc matrices/0am| c0a3.c ]] {{Partie{{{type|}}}| La norme :}} '''Nous allons calculer les normes des trois fonctions (vecteurs). Cela nous donnera leurs longueurs.''' * ||f(x)|| .................. : [[Mathc matrices/0an| c1a1.c ]] * ||g(x)|| .................. : [[Mathc matrices/0ao| c1a2.c ]] * ||h(x)|| .................. : [[Mathc matrices/0ap| c1a3.c ]] {{Partie{{{type|}}}| Normaliser un vecteur :}} '''Nous allons utiliser le calcul précédent pour normaliser nos trois vecteurs. Nous vérifierons que ces vecteurs normalisés on bien une norme égale à 1.''' * f(x) ..................... : [[Mathc matrices/0aq| c2a1.c ]] * g(x) ..................... : [[Mathc matrices/0ar| c2a2.c ]] * h(x) ..................... : [[Mathc matrices/0as| c2a3.c ]] {{Partie{{{type|}}}| Calculer la distance entre deux vecteurs :}} * d(f(x),g(x)) ......... : [[Mathc matrices/0at| c3a1.c ]] * d(f(x),h(x)) ......... : [[Mathc matrices/0au| c3a2.c ]] * d(g(x),h(x)) ......... : [[Mathc matrices/0av| c3a3.c ]] {{AutoCat}} ic604e13x4yedkysro2x12d2ao0qoqp Mathc matrices/0aj 0 84097 769642 2026-07-21T11:09:17Z Xhungab 23827 news 769642 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|fa.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as fa.h */ /* ---------------------------------- */ double f( double x) { return((1)); } char feq[] = "1"; /* ---------------------------------- */ double g( double x) { return(x); } char geq[] = "x"; /* ---------------------------------- */ double h( double x) { return(x*x); } char heq[] = "x^2"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double fg( double x) { return( f(x)*g(x)); } char fgeq[] = "f(x) g(x)"; /* ---------------------------------- */ double fh( double x) { return( f(x)*h(x)); } char fheq[] = "f(x) h(x)"; /* ---------------------------------- */ double gh( double x) { return( g(x)*h(x)); } char gheq[] = "g(x) h(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double ff( double x) { return( f(x)*f(x)); } char ffeq[] = "f(x) f(x)"; /* ---------------------------------- */ double gg( double x) { return( g(x)*g(x)); } char ggeq[] = "g(x) g(x)"; /* ---------------------------------- */ double hh( double x) { return( h(x)*h(x)); } char hheq[] = "h(x) h(x)"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double Nf( double x) { return( f(x)*(1/1.414213562)* f(x)*(1/1.414213562)); } char Nfeq[] = "[f(x) (1/1.4142)] [f(x) (1/1.4142)]"; /* ---------------------------------- */ double Ng( double x) { return( g(x)*(1/0.816496581)* g(x)*(1/0.816496581)); } char Ngeq[] = "[g(x) (1/0.8164)] [g(x) (1/0.8164)]"; /* ---------------------------------- */ double Nh( double x) { return( h(x)*(1/0.632455532)* h(x)*(1/0.632455532)); } char Nheq[] = "[h(x) (1/0.6324)] [h(x) (1/0.6324)]"; /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ /* ---------------------------------- */ double dfg( double x) { return( (f(x)-g(x))*(f(x)-g(x))); } char dfgeq[] = "(f(x)-g(x)) (f(x)-g(x))"; /* ---------------------------------- */ double dfh( double x) { return( (f(x)-h(x))*(f(x)-h(x))); } char dfheq[] = "(f(x)-h(x)) (f(x)-h(x))"; /* ---------------------------------- */ double dgh( double x) { return( (g(x)-h(x))*(g(x)-h(x))); } char dgheq[] = "(g(x)-h(x)) (g(x)-h(x))"; /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> {{AutoCat}} pw9lps21ruwz50m4nguhvifffg8gk1q Mathc matrices/0ak 0 84098 769643 2026-07-21T11:11:21Z Xhungab 23827 news 769643 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+1 \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-1 \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " f(x) = %s\n" " g(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", feq,geq, b, fgeq, simpson(fg,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : f(x) = 1 g(x) = x (+1.000 int( (f(x) g(x)) dx = -0.000000 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} oifbyr9rql2lwy4rfiyzvr6xmw3dn43 769645 769643 2026-07-21T11:13:59Z Xhungab 23827 769645 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+1 \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-1 \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " f(x) = %s\n" " g(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", feq,geq, b, fgeq, simpson(fg,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : f(x) = 1 g(x) = x (+1.000 int( (f(x) g(x)) dx = -0.000000 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} ayvttentarbhcvmjuk5nnrgtxlo6yny Mathc matrices/0al 0 84099 769644 2026-07-21T11:13:28Z Xhungab 23827 news 769644 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0a2| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+1 \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-1 \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " f(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", feq,heq, b, fheq, simpson(fh,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : f(x) = 1 h(x) = x^2 (+1.000 int( (f(x) h(x)) dx = 0.666667 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} ni61fdnz98u6wld8uccfdliwcw80iz8 769646 769644 2026-07-21T11:14:18Z Xhungab 23827 769646 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+1 \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-1 \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " f(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", feq,heq, b, fheq, simpson(fh,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : f(x) = 1 h(x) = x^2 (+1.000 int( (f(x) h(x)) dx = 0.666667 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} 11k34zq11il2jz1kya5iz1y3lu8s190 Mathc matrices/0am 0 84100 769647 2026-07-21T11:16:28Z Xhungab 23827 news 769647 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c0a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c0a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the inner product in the space of function.\n\n" " (+1 \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-1 \n\n" " if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal\n" " if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< )\n" " if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\\_)\n\n\n"); printf(" With :\n\n" " g(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " int( (%s) dx = %.6f\n" " (%+.3f\n\n\n\n", geq,heq, b, gheq, simpson(gh,a,b,n), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the inner product in the space of function. (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 if <f(x),g(x)> = 0 : f(x) and g(x) are orthogonal if <f(x),g(x)> > 0 : f(x) and g(x) form the shape of an acute angle (< ) if <f(x),g(x)> < 0 : f(x) and g(x) form the shape of an obtuse angle (\_) With : g(x) = x h(x) = x^2 (+1.000 int( (g(x) h(x)) dx = -0.000000 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} ken5sw9xvx7so77ky8t1bz890rrhf9q Mathc matrices/0an 0 84101 769648 2026-07-21T11:17:45Z Xhungab 23827 news 769648 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c1a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c1a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the norm in the space of function.\n\n" " (+1 \n" " (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] \n" " (-1 \n\n"); printf(" With :\n\n" " f(x) = %s\n\n" " (%+.3f\n" " ||f(x)|| = sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", feq, b, ffeq, sqrt(simpson(ff,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the norm in the space of function. (+1 (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] (-1 With : f(x) = 1 (+1.000 ||f(x)|| = sqrt[int( (f(x) f(x)) dx] = 1.414213562 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} 48ldxagkvmzwf7maifo1wsk8gvejl2x Mathc matrices/0ao 0 84102 769649 2026-07-21T11:19:31Z Xhungab 23827 news 769649 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c1a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c1a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the norm in the space of function.\n\n" " (+1 \n" " (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] \n" " (-1 \n\n"); printf(" With :\n\n" " g(x) = %s\n\n" " (%+.3f\n" " ||g(x)|| = sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", geq, b, ggeq, sqrt(simpson(gg,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the norm in the space of function. (+1 (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] (-1 With : g(x) = x (+1.000 ||g(x)|| = sqrt[int( (g(x) g(x)) dx] = 0.816496581 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} dw2nlo2hpd58c1e8atojb4o4gftv4wd Mathc matrices/0ap 0 84103 769650 2026-07-21T11:20:52Z Xhungab 23827 news 769650 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c1a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c1a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the norm in the space of function.\n\n" " (+1 \n" " (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] \n" " (-1 \n\n"); printf(" With :\n\n" " h(x) = %s\n\n" " (%+.3f\n" " ||h(x)|| = sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", heq, b, hheq, sqrt(simpson(hh,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the norm in the space of function. (+1 (<f(x),f(x)>)^(1/2) = sqrt[ int( f(x) f(x) dx ] (-1 With : h(x) = x^2 (+1.000 ||h(x)|| = sqrt[int( (h(x) h(x)) dx] = 0.632455532 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} en4839x6igphovk2yx9lkj8tmdq5ck8 Mathc matrices/0aq 0 84104 769651 2026-07-21T11:22:27Z Xhungab 23827 news 769651 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c2a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c2a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Calculate the norm of a normalized function. [f(x)/||f(x)||]\n\n" " (+1 \n" " sqrt[ int( [f(x)/||f(x)||] [f(x)/||f(x)||] dx ] \n" " (-1 \n\n"); printf(" With :\n\n" " f(x) = %s\n\n" " ||f(x)|| see the file c1a1.c \n\n" " (%+.3f\n" " sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", feq, b, Nfeq, sqrt(simpson(Nf,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Calculate the norm of a normalized function. [f(x)/||f(x)||] (+1 sqrt[ int( [f(x)/||f(x)||] [f(x)/||f(x)||] dx ] (-1 With : f(x) = 1 ||f(x)|| see the file c1a1.c (+1.000 sqrt[int( ([f(x) (1/1.4142)] [f(x) (1/1.4142)]) dx] = 1.000000000 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} aw3b1pci9fis7u4iho5vrnv0ot3poi4 Mathc matrices/0ar 0 84105 769652 2026-07-21T11:23:46Z Xhungab 23827 news 769652 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c2a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c2a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Calculate the norm of a normalized function. [g(x)/||g(x)||]\n\n" " (+1 \n" " sqrt[ int( [g(x)/||g(x)||] [g(x)/||g(x)||] dx ] \n" " (-1 \n\n"); printf(" With :\n\n" " g(x) = %s\n\n" " ||g(x)|| see the file c1a2.c \n\n" " (%+.3f\n" " sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", geq, b, Ngeq, (simpson(Ng,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Calculate the norm of a normalized function. [g(x)/||g(x)||] (+1 sqrt[ int( [g(x)/||g(x)||] [g(x)/||g(x)||] dx ] (-1 With : g(x) = x ||g(x)|| see the file c1a2.c (+1.000 sqrt[int( ([g(x) (1/0.8164)] [g(x) (1/0.8164)]) dx] = 1.000000000 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} teu5sa8s7kah4bl4j53uf8r2zsn9r38 Mathc matrices/0as 0 84106 769653 2026-07-21T11:25:48Z Xhungab 23827 news 769653 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c2a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c2a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Calculate the norm of a normalized function. [h(x)/||h(x)||]\n\n" " (+1 \n" " sqrt[ int( [h(x)/||h(x)||] [h(x)/||h(x)||] dx ] \n" " (-1 \n\n"); printf(" With :\n\n" " h(x) = %s\n\n" " ||h(x)|| see the file c1a3.c \n\n" " (%+.3f\n" " sqrt[int( (%s) dx] = %.9f\n" " (%+.3f\n\n\n\n", heq, b, Nheq, (simpson(Nh,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Calculate the norm of a normalized function. [h(x)/||h(x)||] (+1 sqrt[ int( [h(x)/||h(x)||] [h(x)/||h(x)||] dx ] (-1 With : h(x) = x^2 ||h(x)|| see the file c1a3.c (+1.000 sqrt[int( ([h(x) (1/0.6324)] [h(x) (1/0.6324)]) dx] = 1.000000000 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} 5ws05ltsdzmk1mldao38e6tr5rfj9ce Mathc matrices/0at 0 84107 769654 2026-07-21T11:27:33Z Xhungab 23827 news 769654 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c3a1.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c3a1.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the distance in the inner product" " in the space of function.\n\n" " (+1 \n" " <f(x),g(x)> = int( f(x) g(x) dx \n" " (-1 \n\n" " d(f(x),g(x)) = ||f(x)-g(x)|| = <f(x)-g(x),f(x)-g(x)>^1/2 \n\n"); printf(" With :\n\n" " f(x) = %s\n" " g(x) = %s\n\n" " (%+.3f\n" " sqrt( int( (%s) dx ) = %.6f\n" " (%+.3f\n\n\n\n", feq,geq, b, dfgeq, sqrt(simpson(dfg,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the distance in the inner product in the space of function. (+1 <f(x),g(x)> = int( f(x) g(x) dx (-1 d(f(x),g(x)) = ||f(x)-g(x)|| = <f(x)-g(x),f(x)-g(x)>^1/2 With : f(x) = 1 g(x) = x (+1.000 sqrt( int( ((f(x)-g(x)) (f(x)-g(x))) dx ) = 1.632993 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} gw6owzp7h2rk2w5hlq6g5wsfx1vm5m2 Mathc matrices/0au 0 84108 769655 2026-07-21T11:28:52Z Xhungab 23827 news 769655 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c3a2.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c3a2.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the distance in the inner product" " in the space of function.\n\n" " (+1 \n" " <f(x),h(x)> = int( f(x) h(x) dx \n" " (-1 \n\n" " d(f(x),h(x)) = ||f(x)-h(x)|| = <f(x)-h(x),f(x)-h(x)>^1/2 \n\n"); printf(" With :\n\n" " f(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " sqrt( int( (%s) dx ) = %.6f\n" " (%+.3f\n\n\n\n", feq,heq, b, dfheq, sqrt(simpson(dfh,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the distance in the inner product in the space of function. (+1 <f(x),h(x)> = int( f(x) h(x) dx (-1 d(f(x),h(x)) = ||f(x)-h(x)|| = <f(x)-h(x),f(x)-h(x)>^1/2 With : f(x) = 1 h(x) = x^2 (+1.000 sqrt( int( ((f(x)-h(x)) (f(x)-h(x))) dx ) = 1.032796 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} e1imy7aqyivdf4a0i2itg8rqgxjynh4 Mathc matrices/0av 0 84109 769656 2026-07-21T11:30:17Z Xhungab 23827 news 769656 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0aw| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c3a3.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ---------------------------------- */ /* save as c3a3.c */ /* ---------------------------------- */ #include "hfile.h" #include "fa.h" /* ---------------------------------- */ int main(void) { int n = 2*500; double a = -1; double b = +1; clrscrn(); printf(" Compute the distance in the inner product" " in the space of function.\n\n" " (+1 \n" " <g(x),h(x)> = int( g(x) h(x) dx \n" " (-1 \n\n" " d(g(x),h(x)) = ||g(x)-h(x)|| = <g(x)-h(x),g(x)-h(x)>^1/2 \n\n"); printf(" With :\n\n" " g(x) = %s\n" " h(x) = %s\n\n" " (%+.3f\n" " sqrt( int( (%s) dx ) = %.6f\n" " (%+.3f\n\n\n\n", geq,heq, b, dgheq, sqrt(simpson(dgh,a,b,n)), a); stop(); return 0; } /* ---------------------------------- */ /* ---------------------------------- */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> Compute the distance in the inner product in the space of function. (+1 <g(x),h(x)> = int( g(x) h(x) dx (-1 d(g(x),h(x)) = ||g(x)-h(x)|| = <g(x)-h(x),g(x)-h(x)>^1/2 With : g(x) = x h(x) = x^2 (+1.000 sqrt( int( ((g(x)-h(x)) (g(x)-h(x))) dx ) = 1.032796 (-1.000 Press return to continue. </syntaxhighlight> {{AutoCat}} e2q61noktyrvrwlxsippxt5dr0srfmp Mathc matrices/0b7 0 84111 769668 2026-07-22T21:21:05Z Xhungab 23827 news 769668 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produit scalaire avec poids}} * Vecteur avec poids ............................... : [[Mathc matrices/0ax|c00a.c ]] * Le produit scalaire avec poids .............. : [[Mathc matrices/0ay|c00b.c ]] * Calculer la norme .................................. : [[Mathc matrices/0az|c00d.c ]] * Normaliser un vecteur .......................... : [[Mathc matrices/0b0|c00e.c ]] * La distance entre deux vecteurs ........... : [[Mathc matrices/0b1|c00f.c ]] * Le projeté de u sur v ............................. : [[Mathc matrices/0b2|c00g.c ]] * Propriétés de (u - projuv) ...................... : [[Mathc matrices/0b3|c00h.c ]] * Orthogonaliser la matrice U ................... : [[Mathc matrices/0b4| c00i.c ]] * Normaliser la matrice U .......................... : [[Mathc matrices/0b5|c00j.c]] * La factorisation QR avec poids ................ : [[Mathc matrices/0b6| c00j.c]] {{AutoCat}} raiembdhss8gl75d0mxleaqaar1o7fm 769680 769668 2026-07-22T22:05:34Z Xhungab 23827 769680 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produit scalaire avec poids}} * Vecteur avec poids ............................... : [[Mathc matrices/0ax|c00a.c ]] * Le produit scalaire avec poids .............. : [[Mathc matrices/0ay|c00b.c ]] * Calculer la norme .................................. : [[Mathc matrices/0az|c00d.c ]] * Normaliser un vecteur .......................... : [[Mathc matrices/0b0|c00e.c ]] * La distance entre deux vecteurs ........... : [[Mathc matrices/0b1|c00f.c ]] * Le projeté de u sur v ............................. : [[Mathc matrices/0b2|c00g.c ]] * Propriétés de (u - projuv) ...................... : [[Mathc matrices/0b3|c00h.c ]] * Orthogonaliser la matrice U ................... : [[Mathc matrices/0b4| c00i.c ]] * Normaliser la matrice U .......................... : [[Mathc matrices/0b5|c00j.c]] * La factorisation QR avec poids ............... : [[Mathc matrices/0b6| c00j.c]] {{AutoCat}} bdcxeu8pydje9lf77ikjehjb21kqqs3 769681 769680 2026-07-22T22:05:50Z Xhungab 23827 769681 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produit scalaire avec poids}} * Vecteur avec poids ............................... : [[Mathc matrices/0ax|c00a.c ]] * Le produit scalaire avec poids .............. : [[Mathc matrices/0ay|c00b.c ]] * Calculer la norme .................................. : [[Mathc matrices/0az|c00d.c ]] * Normaliser un vecteur .......................... : [[Mathc matrices/0b0|c00e.c ]] * La distance entre deux vecteurs ........... : [[Mathc matrices/0b1|c00f.c ]] * Le projeté de u sur v ............................. : [[Mathc matrices/0b2|c00g.c ]] * Propriétés de (u - projuv) ...................... : [[Mathc matrices/0b3|c00h.c ]] * Orthogonaliser la matrice U ................... : [[Mathc matrices/0b4| c00i.c ]] * Normaliser la matrice U .......................... : [[Mathc matrices/0b5|c00j.c]] * La factorisation QR avec poids ............... : [[Mathc matrices/0b6| c00k.c]] {{AutoCat}} trhl6kh5wawjwad39czvn8q3mwdd9gy 769682 769681 2026-07-22T22:12:07Z Xhungab 23827 769682 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produit scalaire avec poids}} '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0b8|fwdot.h ............ Les fonctions]] * Vecteur avec poids ............................... : [[Mathc matrices/0ax|c00a.c ]] * Le produit scalaire avec poids .............. : [[Mathc matrices/0ay|c00b.c ]] * Calculer la norme .................................. : [[Mathc matrices/0az|c00d.c ]] * Normaliser un vecteur .......................... : [[Mathc matrices/0b0|c00e.c ]] * La distance entre deux vecteurs ........... : [[Mathc matrices/0b1|c00f.c ]] * Le projeté de u sur v ............................. : [[Mathc matrices/0b2|c00g.c ]] * Propriétés de (u - projuv) ...................... : [[Mathc matrices/0b3|c00h.c ]] * Orthogonaliser la matrice U ................... : [[Mathc matrices/0b4| c00i.c ]] * Normaliser la matrice U .......................... : [[Mathc matrices/0b5|c00j.c]] * La factorisation QR avec poids ............... : [[Mathc matrices/0b6| c00k.c]] {{AutoCat}} qin0m2vduseol9gvg0ij3xrxc5h9v7e 769684 769682 2026-07-23T08:49:43Z Xhungab 23827 769684 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produit scalaire avec poids}} '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0b8|fwdot.h ............ Les fonctions]] * Vecteur avec poids ............................... : [[Mathc matrices/0ax|c00a.c ]] * Le produit scalaire avec poids .............. : [[Mathc matrices/0ay|c00b.c ]] ... ... ... [[Mathc matrices/0b9|Étude du code : dot_R(); ]] * Calculer la norme .................................. : [[Mathc matrices/0az|c00d.c ]] ... ... ... [[Mathc matrices/0ba|Étude du code : dot_R(); ]] * Normaliser un vecteur .......................... : [[Mathc matrices/0b0|c00e.c ]] ... ... ... [[Mathc matrices/0bb|Étude du code : dot_R(); ]] * La distance entre deux vecteurs ........... : [[Mathc matrices/0b1|c00f.c ]] ... ... ... [[Mathc matrices/0bc|Étude du code : dot_R(); ]] * Le projeté de u sur v ............................. : [[Mathc matrices/0b2|c00g.c ]] ... ... ... [[Mathc matrices/0bd|Étude du code : dot_R(); ]] * Propriétés de (u - projuv) ...................... : [[Mathc matrices/0b3|c00h.c ]] ... ... ... [[Mathc matrices/0be|Étude du code : dot_R(); ]] * Orthogonaliser la matrice U ................... : [[Mathc matrices/0b4| c00i.c ]] ... ... ... [[Mathc matrices/0bf|Étude du code : dot_R(); ]] * Normaliser la matrice U .......................... : [[Mathc matrices/0b5|c00j.c]] ... ... ... [[Mathc matrices/0bg|Étude du code : dot_R(); ]] * La factorisation QR avec poids ............... : [[Mathc matrices/0b6| c00k.c]] ... ... ... [[Mathc matrices/0bh|Étude du code : dot_R(); ]] {{AutoCat}} hgg2ra42164lebw5e5cxhrhuainj3jy 769694 769684 2026-07-23T09:33:44Z Xhungab 23827 769694 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produit scalaire avec poids}} '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0b8|fwdot.h ............ Les fonctions]] * Vecteur avec poids ............................... : [[Mathc matrices/0ax|c00a.c ]] * Le produit scalaire avec poids .............. : [[Mathc matrices/0ay|c00b.c ]] ... ... ... [[Mathc matrices/0b9|Étude du code : wdot_R(); ]] * Calculer la norme .................................. : [[Mathc matrices/0az|c00d.c ]] ... ... ... [[Mathc matrices/0ba|Étude du code : wnorm_R(); ]] * Normaliser un vecteur .......................... : [[Mathc matrices/0b0|c00e.c ]] * La distance entre deux vecteurs ........... : [[Mathc matrices/0b1|c00f.c ]] ... ... ... [[Mathc matrices/0bc|Étude du code : wdist_R(); ]] * Le projeté de u sur v ............................. : [[Mathc matrices/0b2|c00g.c ]] ... ... ... [[Mathc matrices/0bd|Étude du code : wproj_mR();(); ]] * Propriétés de (u - projuv) ...................... : [[Mathc matrices/0b3|c00h.c ]] * Orthogonaliser la matrice U ................... : [[Mathc matrices/0b4| c00i.c ]] ... ... ... [[Mathc matrices/0bf|Étude du code : worth_mR(); ]] * Normaliser la matrice U ......................... : [[Mathc matrices/0b5|c00j.c]] ... ... ... [[Mathc matrices/0bg|Étude du code : wNormalize_mR(); ]] * La factorisation QR avec poids ............... : [[Mathc matrices/0b6| c00k.c]] ... ... ... [[Mathc matrices/0bh|Étude du code : wmul_mR(); ... ... ... wQR_mR(); ]] {{AutoCat}} 4365wf849jv8wwow3k1bcxdlkzsi5c6 769695 769694 2026-07-23T09:36:15Z Xhungab 23827 769695 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produit scalaire avec poids}} '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0b8|fwdot.h ............ Les fonctions]] * Vecteur avec poids ............................... : [[Mathc matrices/0ax|c00a.c ]] * Le produit scalaire avec poids .............. : [[Mathc matrices/0ay|c00b.c ]] ... ... ... [[Mathc matrices/0b9|wdot_R(); ]] * Calculer la norme .................................. : [[Mathc matrices/0az|c00d.c ]] ... ... ... [[Mathc matrices/0ba|wnorm_R(); ]] * Normaliser un vecteur .......................... : [[Mathc matrices/0b0|c00e.c ]] * La distance entre deux vecteurs ........... : [[Mathc matrices/0b1|c00f.c ]] ... ... ... [[Mathc matrices/0bc|wdist_R(); ]] * Le projeté de u sur v ............................. : [[Mathc matrices/0b2|c00g.c ]] ... ... ... [[Mathc matrices/0bd|wproj_mR();(); ]] * Propriétés de (u - projuv) ...................... : [[Mathc matrices/0b3|c00h.c ]] * Orthogonaliser la matrice U ................... : [[Mathc matrices/0b4| c00i.c ]] ... ... ... [[Mathc matrices/0bf|worth_mR(); ]] * Normaliser la matrice U ......................... : [[Mathc matrices/0b5|c00j.c]] ... ... ... [[Mathc matrices/0bg|wNormalize_mR(); ]] * La factorisation QR avec poids ............... : [[Mathc matrices/0b6| c00k.c]] ... ... ... [[Mathc matrices/0bh|wmul_mR(); ... ... ... wQR_mR(); ]] {{AutoCat}} fxsypt92iixov8h49dcb58vpde37zv1 769696 769695 2026-07-23T09:40:49Z Xhungab 23827 769696 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc_matrices/Sommaire| Sommaire]] {{Partie{{{type|}}}| Produit scalaire avec poids}} '''Pour simplifier la bibliothèque, j'ai choisi de ne pas introduire cette version du produit scalaire dans la bibliothèque. Il faudra donc introduire le fichier ''fwdot.h'' dans votre répertoire de travail, et le supprimer après la fin de votre étude.''' '''Copier la bibliothèque dans votre répertoire de travail :''' * [[Mathc matrices/0b8|fwdot.h ............ Les fonctions]] * Vecteur avec poids ............................... : [[Mathc matrices/0ax|c00a.c ]] * Le produit scalaire avec poids .............. : [[Mathc matrices/0ay|c00b.c ]] ... ... ... [[Mathc matrices/0b9|wdot_R(); ]] * Calculer la norme .................................. : [[Mathc matrices/0az|c00d.c ]] ... ... ... [[Mathc matrices/0ba|wnorm_R(); ]] * Normaliser un vecteur .......................... : [[Mathc matrices/0b0|c00e.c ]] * La distance entre deux vecteurs ........... : [[Mathc matrices/0b1|c00f.c ]] ... ... ... [[Mathc matrices/0bc|wdist_R(); ]] * Le projeté de u sur v ............................. : [[Mathc matrices/0b2|c00g.c ]] ... ... ... [[Mathc matrices/0bd|wproj_mR();(); ]] * Propriétés de (u - projuv) ...................... : [[Mathc matrices/0b3|c00h.c ]] * Orthogonaliser la matrice U ................... : [[Mathc matrices/0b4| c00i.c ]] ... ... ... [[Mathc matrices/0bf|worth_mR(); ]] * Normaliser la matrice U ......................... : [[Mathc matrices/0b5|c00j.c]] ... ... ... [[Mathc matrices/0bg|wNormalize_mR(); ]] * La factorisation QR avec poids ............... : [[Mathc matrices/0b6| c00k.c]] ... ... ... [[Mathc matrices/0bh|wmul_mR(); ... ... ... wQR_mR(); ]] {{AutoCat}} op3ttq355qabjsqxqp5ua0v1xtmj139 Mathc matrices/0ax 0 84112 769669 2026-07-22T21:33:39Z Xhungab 23827 news 769669 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00a.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00a.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r ),9.); double **u = r_mR( i_mR(r,C1),9.); double **Du = mul_mR(D,u, i_mR(r,C1)); clrscrn(); printf(" You can eighting each term differently.\n\n" " D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" u :"); p_mR(u,S3,P0, C6); printf(" D u :"); p_mR(Du,S3,P0, C6); f_mR(D); f_mR(u); f_mR(Du); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R2)+R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> You can eighting each term differently. D : d_i > 0 +8 +0 +0 +0 +0 +5 +0 +0 +0 +0 +4 +0 +0 +0 +0 +2 u : -8 +1 +6 +6 D u : -64 +5 +24 +12 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} qyth2z7g64wgbxxaiczli2eolycq8h5 Mathc matrices/0ay 0 84113 769670 2026-07-22T21:36:04Z Xhungab 23827 news 769670 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00b.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00b.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r ),9.); double **u = r_mR( i_mR(r,C1),9.); double **v = r_mR( i_mR(r,C1),9.); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" u :"); p_mR(u,S3,P0, C6); printf(" v :"); p_mR(v,S3,P0, C6); stop(); clrscrn(); printf(" <u,v> = v^t D u \t <v,u> = u^t D v\n"); printf(" <u,v> = %+.0f \t <v,u> = %+.0f\n\n\n", wdot_R(D,u,v), wdot_R(D,v,u)); printf( " if <u,v> = 0 : u and v are orthogonal\n" " if <u,v> > 0 : u and v form the shape of an acute angle (< )\n" " if <u,v> < 0 : u and v form the shape of an obtuse angle (\\_)\n\n" ); f_mR(D); f_mR(u); f_mR(v); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R3)+R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +3 +0 +0 +0 +0 +4 +0 +0 +0 +0 +2 +0 +0 +0 +0 +1 u : +9 -4 +7 -7 v : -7 +5 +4 +9 Press return to continue. <u,v> = v^t D u <v,u> = u^t D v <u,v> = -276 <v,u> = -276 if <u,v> = 0 : u and v are orthogonal if <u,v> > 0 : u and v form the shape of an acute angle (< ) if <u,v> < 0 : u and v form the shape of an obtuse angle (\_) Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} 244k01tulpr0oa3dnnvotquj8ol243i Mathc matrices/0az 0 84114 769671 2026-07-22T21:38:31Z Xhungab 23827 news 769671 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00d.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00d.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r ),9.); double **u = r_mR( i_mR(r,C1),9.); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" u :"); p_mR(u,S3,P0, C6); printf(" Compute the norm:\n\n" " <u,u> = ||u||^2 (u^t D u)\n\n" " (<u,u>)^(1/2) = %.3f \n", pow(wdot_R(D,u,u),(1./2.))); printf(" ||u|| = %.3f \n\n", wnorm_R(D,u)); f_mR(D); f_mR(u); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R3)+R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +8 +0 +0 +0 +0 +2 +0 +0 +0 +0 +4 +0 +0 +0 +0 +3 u : -9 -2 +6 +1 Compute the norm: <u,u> = ||u||^2 (u^t D u) (<u,u>)^(1/2) = 28.337 ||u|| = 28.337 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} d0lw5mg0ociblq8imqnc83vcj9e10xr Mathc matrices/0b0 0 84115 769672 2026-07-22T21:41:19Z Xhungab 23827 news 769672 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00e.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00e.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r ),9.); double **u = r_mR( i_mR(r,C1),9.); double **n_u = i_mR(r,C1); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" u :"); p_mR(u,S3,P0, C6); smul_mR(1./wnorm_R(D,u),u,n_u); printf(" Normalise a vector:\n\n" " n_u = (1/||u||) u :"); p_mR(n_u,S3,P6, C6); printf(" ||n_u|| = %.6f \n\n", wnorm_R(D,n_u)); f_mR(D); f_mR(u); f_mR(n_u); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R2)+R1); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +7 +0 +0 +0 +5 +0 +0 +0 +7 u : -4 +4 -6 Normalise a vector: n_u = (1/||u||) u : -0.189832 +0.189832 -0.284747 ||n_u|| = 1.000000 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} qnr0x569bamk1k1w25yt6otdxucfpx9 Mathc matrices/0b1 0 84116 769673 2026-07-22T21:45:07Z Xhungab 23827 news 769673 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00f.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00f.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r ),9.); double **u = r_mR( i_mR(r,C1),9.); double **v = r_mR( i_mR(r,C1),9.); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" u :"); p_mR(u,S3,P0, C6); printf(" v :"); p_mR(v,S3,P0, C6); stop(); clrscrn(); printf(" d(u,v) = ||u-v|| = (<u-v,u-v>)^1/2 \n\n"); printf(" d(u,v) = %.3f \n", wdist_R(D,u,v)); printf(" d(v,u) = %.3f \n\n", wdist_R(D,v,u)); f_mR(D); f_mR(u); f_mR(v); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R3)+R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +9 +0 +0 +0 +0 +1 +0 +0 +0 +0 +7 +0 +0 +0 +0 +1 u : -5 -8 +7 +4 v : +9 -7 -8 -1 Press return to continue. d(u,v) = ||u-v|| = (<u-v,u-v>)^1/2 d(u,v) = 58.009 d(v,u) = 58.009 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} 4qwipri2uoxbzbistefowy7alpa81r4 Mathc matrices/0b2 0 84117 769674 2026-07-22T21:55:03Z Xhungab 23827 news 769674 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00f.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00g.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r ),9.); double **u = r_mR( i_mR(r,C1),9.); double **v = r_mR( i_mR(r,C1),9.); double **projuv = i_mR(r,C1); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" u :"); p_mR(u,S3,P0, C6); printf(" v :"); p_mR(v,S3,P0, C6); stop(); clrscrn(); wproj_mR(D,u,v,projuv); printf(" vector component of u along v \n\n"); printf(" projuv :"); p_mR(projuv,S3,P0, C6); f_mR(D); f_mR(u); f_mR(v); f_mR(projuv); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R3)+R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +6 +0 +0 +0 +0 +0 +4 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +8 +0 +0 +0 +0 +0 +7 u : -7 -6 -7 -6 -2 v : -2 -7 -1 +5 +8 Press return to continue. vector component of u along v projuv : +0 +1 +0 -1 -1 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} s0tzhpd6ijjmwxt4cn7d1275681qeyf 769675 769674 2026-07-22T21:55:20Z Xhungab 23827 769675 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00g.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00g.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r ),9.); double **u = r_mR( i_mR(r,C1),9.); double **v = r_mR( i_mR(r,C1),9.); double **projuv = i_mR(r,C1); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" u :"); p_mR(u,S3,P0, C6); printf(" v :"); p_mR(v,S3,P0, C6); stop(); clrscrn(); wproj_mR(D,u,v,projuv); printf(" vector component of u along v \n\n"); printf(" projuv :"); p_mR(projuv,S3,P0, C6); f_mR(D); f_mR(u); f_mR(v); f_mR(projuv); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R3)+R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +6 +0 +0 +0 +0 +0 +4 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +8 +0 +0 +0 +0 +0 +7 u : -7 -6 -7 -6 -2 v : -2 -7 -1 +5 +8 Press return to continue. vector component of u along v projuv : +0 +1 +0 -1 -1 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} 51ei3k0apwrdw497hcn9g4lqpexguzm Mathc matrices/0b3 0 84118 769676 2026-07-22T21:57:25Z Xhungab 23827 news 769676 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00h.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00h.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r ),9.); double **u = r_mR( i_mR(r,C1),9.); double **v = r_mR( i_mR(r,C1),9.); double **projuv = i_mR(r,C1); double **umnsprojuv = i_mR(r,C1); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" u :"); p_mR(u,S3,P0, C6); printf(" v :"); p_mR(v,S3,P0, C6); stop(); clrscrn(); wproj_mR(D,u,v,projuv); printf(" vector component of u along v \n\n"); printf(" projuv :"); p_mR(projuv,S3,P0, C6); stop(); clrscrn(); printf(" vector component of u orthogonal to v \n\n"); printf(" u - projuv :"); sub_mR(u,projuv,umnsprojuv); p_mR(umnsprojuv,3,0,6); printf(" <v,u - projuv> = %.12f \n\n", wdot_R(D,v,umnsprojuv)); f_mR(D); f_mR(u); f_mR(v); f_mR(projuv); f_mR(umnsprojuv); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R3)+R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +3 +0 +0 +0 +0 +0 +6 +0 +0 +0 +0 +0 +4 +0 +0 +0 +0 +0 +3 +0 +0 +0 +0 +0 +3 u : -8 +7 -4 -3 +6 v : -6 +1 -8 +5 +6 Press return to continue. vector component of u along v projuv : -4 +1 -5 +3 +4 Press return to continue. vector component of u orthogonal to v u - projuv : -4 +6 +1 -6 +2 <v,u - projuv> = -0.000000000000 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} 8ag2a55y6czfmmwuo34ihkbsvyts9l1 Mathc matrices/0b4 0 84119 769677 2026-07-22T21:59:30Z Xhungab 23827 news 769677 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00i.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00i.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r),9.); double **U = r_mR( i_mR(r,r),9.); double **Orth = i_mR(r,r); double **UU = i_mR(r,r); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" U :"); p_mR(U,S3,P0, C6); worth_mR(D,U,Orth); printf(" Orth : Orthogonalize U"); p_mR(Orth,S3,P0, C6); wmul_mR(D,Orth,Orth,UU); printf(" U U :"); p_mR(UU,S9,P0, C6); f_mR(D); f_mR(U); f_mR(Orth); f_mR(UU); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R2)+R1); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +8 +0 +0 +0 +4 +0 +0 +0 +4 U : -2 -2 +8 +3 -2 +7 +7 -8 +2 Orth : Orthogonalize U -2 -4 +1 +3 +0 +8 +7 -2 -3 U U : +264 +0 +0 +0 +127 +0 +0 +0 +278 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} 225lrw2hwdwvc4a2szxr5qktqlw7sse Mathc matrices/0b5 0 84120 769678 2026-07-22T22:02:33Z Xhungab 23827 news 769678 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00j.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00j.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r) { double **D = rpdiag_mR( i_mR(r,r),9.); double **U = r_mR( i_mR(r,r),9.); double **Orth = i_mR(r,r); double **UU = i_mR(r,r); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P0, C6); printf(" U :"); p_mR(U,S3,P0, C6); stop(); clrscrn(); worth_mR(D,U,Orth); printf(" Orth : Orthogonalize U"); p_mR(Orth,S6,P3, C6); wNormalize_mR(D,Orth); printf(" U : Normalise Orth"); p_mR(Orth,S6,P3, C6); wmul_mR(D,Orth,Orth,UU); printf(" U U :"); p_mR(UU,S9,P0, C6); f_mR(D); f_mR(U); f_mR(Orth); f_mR(UU); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(3)+R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +6 +0 +0 +0 +0 +0 +6 +0 +0 +0 +0 +0 +9 +0 +0 +0 +0 +0 +4 +0 +0 +0 +0 +0 +9 U : -9 +7 +6 -7 -9 +1 +4 -6 -7 +3 +8 +3 -3 +9 +3 +5 +2 +7 +1 +6 +3 +2 -9 +4 -6 Press return to continue. Orth : Orthogonalize U -9.000 +6.683 +2.426 +2.186 -0.043 +1.000 +4.035 -4.660 -6.914 +0.867 +8.000 +3.282 +1.997 +2.419 +1.403 +5.000 +2.176 +10.148 -3.478 -2.898 +3.000 +2.106 -6.953 +2.036 -1.874 U : Normalise Orth -0.255 +0.293 +0.075 +0.103 -0.005 +0.028 +0.177 -0.144 -0.325 +0.093 +0.226 +0.144 +0.062 +0.114 +0.150 +0.141 +0.095 +0.313 -0.163 -0.310 +0.085 +0.092 -0.215 +0.096 -0.200 U U : +1 -0 +0 -0 -0 -0 +1 -0 -0 -0 +0 -0 +1 +0 -0 -0 -0 +0 +1 -0 -0 -0 -0 -0 +1 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} nv33iatsiolrgswh2uxqn0cm9qnnxp5 Mathc matrices/0b6 0 84121 769679 2026-07-22T22:04:42Z Xhungab 23827 news 769679 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] Installer et compiler ces fichiers dans votre répertoire de travail. {{Fichier|c00k.c|largeur=70%|info=|icon=Crystal128-source-c.svg}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : c00k.c */ /* ------------------------------------ */ #include "v_a.h" #include "fwdot.h" /* ------------------------------------ */ void fun(int r,int rn) { double **D = rpdiag_mR( i_mR(r+rn,r+rn),9.); double **U = r_mR( i_mR(r+rn,r),9.); double **Q = i_mR(r+rn,r); double **R = i_mR(r,r); double **T = i_mR(r+rn,r); clrscrn(); printf(" D : d_i > 0"); p_mR(D,S3,P3, C8); printf(" U :"); p_mR(U,S3,P3, C6); stop(); clrscrn(); wQR_mR(D,U,Q,R); printf(" Q :"); p_mR(Q,S3,P5, C6); printf(" R :"); p_mR(R,S10,P5, C6); stop(); clrscrn(); printf(" U :"); p_mR(U,S3,P3, C6); printf(" U = Q * R :"); mul_mR(Q,R, T); p_mR(T,S3,P3, C6); f_mR(D); f_mR(U); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R3)+R2,rp_I(R3)); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> '''Exemple de sortie écran :''' <syntaxhighlight lang="c"> D : d_i > 0 +2.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +8.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +6.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +8.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +3.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +3.000 U : +6.000 +1.000 +4.000 -7.000 +4.000 -5.000 -1.000 +8.000 +2.000 +3.000 -3.000 +8.000 -1.000 -8.000 -7.000 -6.000 +8.000 +2.000 +3.000 -1.000 -6.000 +9.000 -1.000 +2.000 Press return to continue. Q : +0.26013 +0.09060 +0.07536 -0.32320 +0.17342 -0.12120 -0.00725 +0.23252 +0.08671 +0.11566 -0.32506 +0.08481 -0.04336 -0.26614 -0.17077 -0.14360 +0.34684 +0.14217 -0.06490 -0.22294 -0.26013 +0.22987 -0.18999 +0.02101 R : +23.06513 -7.02359 +5.46279 +11.09901 +0.00000 +31.20367 +15.10618 +10.25376 +0.00000 -0.00000 +16.06117 -9.87019 +0.00000 -0.00000 -0.00000 +31.16491 Press return to continue. U : +6.000 +1.000 +4.000 -7.000 +4.000 -5.000 -1.000 +8.000 +2.000 +3.000 -3.000 +8.000 -1.000 -8.000 -7.000 -6.000 +8.000 +2.000 +3.000 -1.000 -6.000 +9.000 -1.000 +2.000 U = Q * R : +6.000 +1.000 +4.000 -7.000 +4.000 -5.000 -1.000 +8.000 +2.000 +3.000 -3.000 +8.000 -1.000 -8.000 -7.000 -6.000 +8.000 +2.000 +3.000 -1.000 -6.000 +9.000 -1.000 +2.000 Press return to continue Press X return to stop </syntaxhighlight> {{AutoCat}} 5j4c1l3u85s1yqctay3jer96z7pfpn8 Mathc matrices/0b8 0 84122 769683 2026-07-22T22:13:00Z Xhungab 23827 news 769683 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|fwdot.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : fwdot.h */ /* ------------------------------------ */ /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double wdot_R( double **D, double **u, double **v ) { double **vt = transpose_mR(v, i_mR(R1,rsize_R(v))); double **vtD = mul_mR(vt,D, i_mR(R1,rsize_R(v))); double **vtDu = mul_mR(vtD,u, i_mR(R1,C1 )); double wdot = vtDu[R1][C1]; f_mR(vt); f_mR(vtD); f_mR(vtDu); return (wdot); } /* ------------------------------------ */ /* ------ ||u|| = <u.u>^(1/2) ------- */ /* ------------------------------------ */ double wnorm_R( double **D, double **u ) { return ( pow( wdot_R(D,u,u),(1./2.)) ); } /* ------------------------------------ */ /* ------ d(u,v) = ||u-v||^(1/2) ------- */ /* ------------------------------------ */ double wdist_R( double **D, double **u, double **v ) { double **umnsv = i_mR(rsize_R(v),csize_R(v)); double d; sub_mR(u,v,umnsv); /* d(u,v) = ||u-v||^(1/2) */ d = wnorm_R(D,umnsv); f_mR(umnsv); return (d); } /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double **wproj_mR( double **D, double **u, double **v, double **projuv ) { /* <u,v> / ||v||^2 */ double s = wdot_R(D,u,v) / wdot_R(D,v,v); /* (<u,v>/||v||^2) v */ smul_mR(s,v,projuv); return(projuv); } /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double **worth_mR( double **D, double **U, double **Orth ) { double **Vect_U = i_mR(rsize_R(U),C1); double **Vect_T = i_mR(rsize_R(U),C1); double **Vect_Orth = i_mR(rsize_R(U),C1); double **Vect_projuv = i_mR(rsize_R(U),C1); int c_U; int c_Orth; c_c_mR(U,C1, Orth,C1); for( c_U = C2; c_U < U[C_SIZE][C0]; c_U++) { c_c_mR(U,c_U, Vect_U,C1); c_c_mR(U,c_U, Vect_T,C1); for( c_Orth = C1; c_Orth < c_U; c_Orth++) { c_c_mR(Orth,c_Orth, Vect_Orth,C1); wproj_mR(D,Vect_U,Vect_Orth,Vect_projuv); sub_mR(Vect_T,Vect_projuv,Vect_Orth); c_mR(Vect_Orth,Vect_T); } c_c_mR(Vect_T,C1, Orth,c_Orth); } f_mR(Vect_U); f_mR(Vect_T); f_mR(Vect_Orth); f_mR(Vect_projuv); return(Orth); } /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double **wNormalize_mR( double **D, double **Orth ) { double **u = i_mR(rsize_R(Orth),C1); double **Nu = i_mR(rsize_R(Orth),C1); int c_Orth = csize_R(Orth); int c; for( c = C1; c <= c_Orth; c++) { c_c_mR(Orth,c, u,C1); smul_mR(1./wnorm_R(D,u),u,Nu); c_c_mR(Nu,C1, Orth,c); } f_mR(u); f_mR(Nu); return(Orth); } /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double **wmul_mR( double **D, double **U, double **V, double **UV ) { double **u = i_mR(rsize_R(U),C1); double **v = i_mR(rsize_R(U),C1); int c1; int c2; for ( c1=C1; c1<U[C_SIZE][C0]; c1++) for ( c2=C1; c2<U[C_SIZE][C0]; c2++) { c_c_mR(U,c1, u,C1); c_c_mR(V,c2, v,C1); UV[c1][c2] = wdot_R(D,u,v); } f_mR(u); f_mR(v); return(UV); } /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ void wQR_mR( double **D, double **U, double **Q, double **R) { worth_mR(D,U,Q); wNormalize_mR(D,Q); wmul_mR(D,Q,U,R); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} c8rdken4neyu1ja7q0ib8jghbh4vmrn 769703 769683 2026-07-23T09:46:01Z Xhungab 23827 769703 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Application''']] '''Ce fichier est spécifique pour ce travail. Il ne doit pas être conservé avec la bibliothèque.''' Installer ces fichiers dans votre répertoire de travail. {{Fichier|fwdot.h|largeur=70%|info=|icon=Crystal Clear mimetype source h.png}} <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : fwdot.h */ /* ------------------------------------ */ /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double wdot_R( double **D, double **u, double **v ) { double **vt = transpose_mR(v, i_mR(R1,rsize_R(v))); double **vtD = mul_mR(vt,D, i_mR(R1,rsize_R(v))); double **vtDu = mul_mR(vtD,u, i_mR(R1,C1 )); double wdot = vtDu[R1][C1]; f_mR(vt); f_mR(vtD); f_mR(vtDu); return (wdot); } /* ------------------------------------ */ /* ------ ||u|| = <u.u>^(1/2) ------- */ /* ------------------------------------ */ double wnorm_R( double **D, double **u ) { return ( pow( wdot_R(D,u,u),(1./2.)) ); } /* ------------------------------------ */ /* ------ d(u,v) = ||u-v||^(1/2) ------- */ /* ------------------------------------ */ double wdist_R( double **D, double **u, double **v ) { double **umnsv = i_mR(rsize_R(v),csize_R(v)); double d; sub_mR(u,v,umnsv); /* d(u,v) = ||u-v||^(1/2) */ d = wnorm_R(D,umnsv); f_mR(umnsv); return (d); } /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **wproj_mR( double **D, double **u, double **v, double **projuv ) { /* <u,v> / ||v||^2 */ double s = wdot_R(D,u,v) / wdot_R(D,v,v); /* (<u,v>/||v||^2) v */ smul_mR(s,v,projuv); return(projuv); } /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **worth_mR( double **D, double **U, double **Orth ) { double **Vect_U = i_mR(rsize_R(U),C1); double **Vect_T = i_mR(rsize_R(U),C1); double **Vect_Orth = i_mR(rsize_R(U),C1); double **Vect_projuv = i_mR(rsize_R(U),C1); int c_U; int c_Orth; c_c_mR(U,C1, Orth,C1); for( c_U = C2; c_U < U[C_SIZE][C0]; c_U++) { c_c_mR(U,c_U, Vect_U,C1); c_c_mR(U,c_U, Vect_T,C1); for( c_Orth = C1; c_Orth < c_U; c_Orth++) { c_c_mR(Orth,c_Orth, Vect_Orth,C1); wproj_mR(D,Vect_U,Vect_Orth,Vect_projuv); sub_mR(Vect_T,Vect_projuv,Vect_Orth); c_mR(Vect_Orth,Vect_T); } c_c_mR(Vect_T,C1, Orth,c_Orth); } f_mR(Vect_U); f_mR(Vect_T); f_mR(Vect_Orth); f_mR(Vect_projuv); return(Orth); } /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **wNormalize_mR( double **D, double **Orth ) { double **u = i_mR(rsize_R(Orth),C1); double **Nu = i_mR(rsize_R(Orth),C1); int c_Orth = csize_R(Orth); int c; for( c = C1; c <= c_Orth; c++) { c_c_mR(Orth,c, u,C1); smul_mR(1./wnorm_R(D,u),u,Nu); c_c_mR(Nu,C1, Orth,c); } f_mR(u); f_mR(Nu); return(Orth); } /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **wmul_mR( double **D, double **U, double **V, double **UV ) { double **u = i_mR(rsize_R(U),C1); double **v = i_mR(rsize_R(U),C1); int c1; int c2; for ( c1=C1; c1<U[C_SIZE][C0]; c1++) for ( c2=C1; c2<U[C_SIZE][C0]; c2++) { c_c_mR(U,c1, u,C1); c_c_mR(V,c2, v,C1); UV[c1][c2] = wdot_R(D,u,v); } f_mR(u); f_mR(v); return(UV); } /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ void wQR_mR( double **D, double **U, double **Q, double **R) { worth_mR(D,U,Q); wNormalize_mR(D,Q); wmul_mR(D,Q,U,R); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} h4fgzjw8uawqim7iv72qg5m73rdqbfn Mathc matrices/0b9 0 84123 769685 2026-07-23T08:51:45Z Xhungab 23827 news 769685 wikitext text/x-wiki Mathc matrices/0b8 [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wdot_R();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double wdot_R( double **D, double **u, double **v ) { double **vt = transpose_mR(v, i_mR(R1,rsize_R(v))); double **vtD = mul_mR(vt,D, i_mR(R1,rsize_R(v))); double **vtDu = mul_mR(vtD,u, i_mR(R1,C1 )); double wdot = vtDu[R1][C1]; f_mR(vt); f_mR(vtD); f_mR(vtDu); return (wdot); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} o5crpreyii03hy67pteobdpqtkk4c1g 769686 769685 2026-07-23T08:52:15Z Xhungab 23827 769686 wikitext text/x-wiki [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wdot_R();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double wdot_R( double **D, double **u, double **v ) { double **vt = transpose_mR(v, i_mR(R1,rsize_R(v))); double **vtD = mul_mR(vt,D, i_mR(R1,rsize_R(v))); double **vtDu = mul_mR(vtD,u, i_mR(R1,C1 )); double wdot = vtDu[R1][C1]; f_mR(vt); f_mR(vtD); f_mR(vtDu); return (wdot); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} bjdzebjzc7jbq2kr4b4qizupwa152ux 769687 769686 2026-07-23T08:53:08Z Xhungab 23827 769687 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wdot_R();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double wdot_R( double **D, double **u, double **v ) { double **vt = transpose_mR(v, i_mR(R1,rsize_R(v))); double **vtD = mul_mR(vt,D, i_mR(R1,rsize_R(v))); double **vtDu = mul_mR(vtD,u, i_mR(R1,C1 )); double wdot = vtDu[R1][C1]; f_mR(vt); f_mR(vtD); f_mR(vtDu); return (wdot); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} njiqndtxazokofc5zqi8l3gz1jh9gip 769697 769687 2026-07-23T09:43:03Z Xhungab 23827 769697 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wdot_R();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double wdot_R( double **D, double **u, double **v ) { double **vt = transpose_mR(v, i_mR(R1,rsize_R(v))); double **vtD = mul_mR(vt,D, i_mR(R1,rsize_R(v))); double **vtDu = mul_mR(vtD,u, i_mR(R1,C1 )); double wdot = vtDu[R1][C1]; f_mR(vt); f_mR(vtD); f_mR(vtDu); return (wdot); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} eery7dfj50cpblrkjk80fkgybbaa8of Mathc matrices/0ba 0 84124 769688 2026-07-23T09:14:48Z Xhungab 23827 news 769688 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wnorm_R();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------ ||u|| = <u.u>^(1/2) ------- */ /* ------------------------------------ */ double wnorm_R( double **D, double **u ) { return ( pow( wdot_R(D,u,u),(1./2.)) ); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} hkj7bcp6f99ghfjtvuu6gdp89fvnvvs Mathc matrices/0bc 0 84125 769689 2026-07-23T09:16:49Z Xhungab 23827 news 769689 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wdist_R();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------ d(u,v) = ||u-v||^(1/2) ------- */ /* ------------------------------------ */ double wdist_R( double **D, double **u, double **v ) { double **umnsv = i_mR(rsize_R(v),csize_R(v)); double d; sub_mR(u,v,umnsv); /* d(u,v) = ||u-v||^(1/2) */ d = wnorm_R(D,umnsv); f_mR(umnsv); return (d); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} fc2bj0ug2snuazxdelz60nhls8zw3cb Mathc matrices/0bd 0 84126 769690 2026-07-23T09:18:11Z Xhungab 23827 news 769690 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wproj_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double **wproj_mR( double **D, double **u, double **v, double **projuv ) { /* <u,v> / ||v||^2 */ double s = wdot_R(D,u,v) / wdot_R(D,v,v); /* (<u,v>/||v||^2) v */ smul_mR(s,v,projuv); return(projuv); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} nll65ralznx3rho7fut1siqcea7qcv8 769698 769690 2026-07-23T09:43:41Z Xhungab 23827 769698 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wproj_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **wproj_mR( double **D, double **u, double **v, double **projuv ) { /* <u,v> / ||v||^2 */ double s = wdot_R(D,u,v) / wdot_R(D,v,v); /* (<u,v>/||v||^2) v */ smul_mR(s,v,projuv); return(projuv); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} 527p9hvsjkigkglgpsp4qqlkwjsaja5 Mathc matrices/0bf 0 84127 769691 2026-07-23T09:19:26Z Xhungab 23827 news 769691 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : worth_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double **worth_mR( double **D, double **U, double **Orth ) { double **Vect_U = i_mR(rsize_R(U),C1); double **Vect_T = i_mR(rsize_R(U),C1); double **Vect_Orth = i_mR(rsize_R(U),C1); double **Vect_projuv = i_mR(rsize_R(U),C1); int c_U; int c_Orth; c_c_mR(U,C1, Orth,C1); for( c_U = C2; c_U < U[C_SIZE][C0]; c_U++) { c_c_mR(U,c_U, Vect_U,C1); c_c_mR(U,c_U, Vect_T,C1); for( c_Orth = C1; c_Orth < c_U; c_Orth++) { c_c_mR(Orth,c_Orth, Vect_Orth,C1); wproj_mR(D,Vect_U,Vect_Orth,Vect_projuv); sub_mR(Vect_T,Vect_projuv,Vect_Orth); c_mR(Vect_Orth,Vect_T); } c_c_mR(Vect_T,C1, Orth,c_Orth); } f_mR(Vect_U); f_mR(Vect_T); f_mR(Vect_Orth); f_mR(Vect_projuv); return(Orth); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} sciu0jkeflm5h34tw2q7cwhlmgciqgl 769699 769691 2026-07-23T09:44:04Z Xhungab 23827 769699 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : worth_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **worth_mR( double **D, double **U, double **Orth ) { double **Vect_U = i_mR(rsize_R(U),C1); double **Vect_T = i_mR(rsize_R(U),C1); double **Vect_Orth = i_mR(rsize_R(U),C1); double **Vect_projuv = i_mR(rsize_R(U),C1); int c_U; int c_Orth; c_c_mR(U,C1, Orth,C1); for( c_U = C2; c_U < U[C_SIZE][C0]; c_U++) { c_c_mR(U,c_U, Vect_U,C1); c_c_mR(U,c_U, Vect_T,C1); for( c_Orth = C1; c_Orth < c_U; c_Orth++) { c_c_mR(Orth,c_Orth, Vect_Orth,C1); wproj_mR(D,Vect_U,Vect_Orth,Vect_projuv); sub_mR(Vect_T,Vect_projuv,Vect_Orth); c_mR(Vect_Orth,Vect_T); } c_c_mR(Vect_T,C1, Orth,c_Orth); } f_mR(Vect_U); f_mR(Vect_T); f_mR(Vect_Orth); f_mR(Vect_projuv); return(Orth); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} gtdgxpz2kwnbgfx1owpsake6wdgcgj1 Mathc matrices/0bg 0 84128 769692 2026-07-23T09:20:49Z Xhungab 23827 news 769692 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wNormalize_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double **wNormalize_mR( double **D, double **Orth ) { double **u = i_mR(rsize_R(Orth),C1); double **Nu = i_mR(rsize_R(Orth),C1); int c_Orth = csize_R(Orth); int c; for( c = C1; c <= c_Orth; c++) { c_c_mR(Orth,c, u,C1); smul_mR(1./wnorm_R(D,u),u,Nu); c_c_mR(Nu,C1, Orth,c); } f_mR(u); f_mR(Nu); return(Orth); } </syntaxhighlight> {{AutoCat}} 45u5m1gbb4oqblgn5q0fylhr0sq4aaq 769700 769692 2026-07-23T09:44:26Z Xhungab 23827 769700 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wNormalize_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **wNormalize_mR( double **D, double **Orth ) { double **u = i_mR(rsize_R(Orth),C1); double **Nu = i_mR(rsize_R(Orth),C1); int c_Orth = csize_R(Orth); int c; for( c = C1; c <= c_Orth; c++) { c_c_mR(Orth,c, u,C1); smul_mR(1./wnorm_R(D,u),u,Nu); c_c_mR(Nu,C1, Orth,c); } f_mR(u); f_mR(Nu); return(Orth); } </syntaxhighlight> {{AutoCat}} 4i81fi6plg21fzu6rvq2zhnht2l4rm5 Mathc matrices/0bh 0 84129 769693 2026-07-23T09:25:01Z Xhungab 23827 news 769693 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wmul_mR(); ... ... ... wQR_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ double **wmul_mR( double **D, double **U, double **V, double **UV ) { double **u = i_mR(rsize_R(U),C1); double **v = i_mR(rsize_R(U),C1); int c1; int c2; for ( c1=C1; c1<U[C_SIZE][C0]; c1++) for ( c2=C1; c2<U[C_SIZE][C0]; c2++) { c_c_mR(U,c1, u,C1); c_c_mR(V,c2, v,C1); UV[c1][c2] = wdot_R(D,u,v); } f_mR(u); f_mR(v); return(UV); } /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ void wQR_mR( double **D, double **U, double **Q, double **R) { worth_mR(D,U,Q); wNormalize_mR(D,Q); wmul_mR(D,Q,U,R); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} 93u7dt5w86bw8tfoqslp0iwzv98lq8k 769701 769693 2026-07-23T09:44:53Z Xhungab 23827 769701 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wmul_mR(); ... ... ... wQR_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **wmul_mR( double **D, double **U, double **V, double **UV ) { double **u = i_mR(rsize_R(U),C1); double **v = i_mR(rsize_R(U),C1); int c1; int c2; for ( c1=C1; c1<U[C_SIZE][C0]; c1++) for ( c2=C1; c2<U[C_SIZE][C0]; c2++) { c_c_mR(U,c1, u,C1); c_c_mR(V,c2, v,C1); UV[c1][c2] = wdot_R(D,u,v); } f_mR(u); f_mR(v); return(UV); } /* ------------------------------------ */ /* ------- <u.v> = v^t D^t u ------- */ /* ------------------------------------ */ void wQR_mR( double **D, double **U, double **Q, double **R) { worth_mR(D,U,Q); wNormalize_mR(D,Q); wmul_mR(D,Q,U,R); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} 6jzd0xcfshngapraoanq3zg2q8k5yoc 769702 769701 2026-07-23T09:45:13Z Xhungab 23827 769702 wikitext text/x-wiki __NOTOC__ [[Catégorie:Mathc matrices (livre)]] [[Mathc matrices/0b7| '''Applications''']] == '''Étude du code : wmul_mR(); ... ... ... wQR_mR();''' == <syntaxhighlight lang="c"> /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ double **wmul_mR( double **D, double **U, double **V, double **UV ) { double **u = i_mR(rsize_R(U),C1); double **v = i_mR(rsize_R(U),C1); int c1; int c2; for ( c1=C1; c1<U[C_SIZE][C0]; c1++) for ( c2=C1; c2<U[C_SIZE][C0]; c2++) { c_c_mR(U,c1, u,C1); c_c_mR(V,c2, v,C1); UV[c1][c2] = wdot_R(D,u,v); } f_mR(u); f_mR(v); return(UV); } /* ------------------------------------ */ /* ------- <u.v> = v^t D u ------- */ /* ------------------------------------ */ void wQR_mR( double **D, double **U, double **Q, double **R) { worth_mR(D,U,Q); wNormalize_mR(D,Q); wmul_mR(D,Q,U,R); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{AutoCat}} 63pslyrvf9vht1658eve3v457ppzrv1