summaryrefslogtreecommitdiffhomepage
path: root/fr-fr
diff options
context:
space:
mode:
Diffstat (limited to 'fr-fr')
-rw-r--r--fr-fr/asymptotic-notation-fr.html.markdown14
-rw-r--r--fr-fr/bash-fr.html.markdown2
-rw-r--r--fr-fr/c++-fr.html.markdown6
-rw-r--r--fr-fr/java-fr.html.markdown64
-rw-r--r--fr-fr/markdown-fr.html.markdown34
-rw-r--r--fr-fr/objective-c-fr.html.markdown4
-rw-r--r--fr-fr/set-theory-fr.html.markdown134
-rw-r--r--fr-fr/typescript-fr.html.markdown2
8 files changed, 197 insertions, 63 deletions
diff --git a/fr-fr/asymptotic-notation-fr.html.markdown b/fr-fr/asymptotic-notation-fr.html.markdown
index 491dc3c4..fb0a8220 100644
--- a/fr-fr/asymptotic-notation-fr.html.markdown
+++ b/fr-fr/asymptotic-notation-fr.html.markdown
@@ -67,21 +67,21 @@ f(n) = 3log n + 100
g(n) = log n
```
-Est-ce que `f(n)` O(g(n))?
-Est-ce que `3 log n + 100` O(log n)?
+Est-ce que `f(n)` est égal à O(g(n))?
+Est-ce que `3 log n + 100` est égal à O(log n)?
Regardons maintenant la définition de Big-O.
```
3log n + 100 <= c * log n
```
-Existe t-il une paire de constantes c, n<sub>0</sub> qui satisfait cela pour tout n > <sub>0</sub>?
+Existe t-il une paire de constantes c, n<sub>0</sub> qui satisfait cela pour tout n > n<sub>0</sub>?
```
3log n + 100 <= 150 * log n, n > 2 (Indéfini avec n = 1)
```
-Oui ! La définition de Big-O a été satisfaite, donc `f(n)` is O(g(n)).
+Oui ! La définition de Big-O a été satisfaite, donc `f(n)` est égal à O(g(n)).
*Exemple 2*
@@ -90,15 +90,15 @@ f(n) = 3*n^2
g(n) = n
```
-Est-ce que `f(n)` O(g(n))?
-Est-ce que `3 * n^2` O(n)?
+Est-ce que `f(n)` est égal à O(g(n))?
+Est-ce que `3 * n^2` est égal à O(n)?
Regardons de nouveau la définition de Big-O.
```
3 * n^2 <= c * n
```
-Existe t-il une paire de constantes c, n<sub>0</sub> qui satisfait cela pour tout n > <sub>0</sub>?
+Existe t-il une paire de constantes c, n<sub>0</sub> qui satisfait cela pour tout n > n<sub>0</sub>?
Non, il n'en existe pas. `f(n)` n'est pas égal à O(g(n)).
### Big-Omega
diff --git a/fr-fr/bash-fr.html.markdown b/fr-fr/bash-fr.html.markdown
index 0e764d7d..58d01e6a 100644
--- a/fr-fr/bash-fr.html.markdown
+++ b/fr-fr/bash-fr.html.markdown
@@ -17,7 +17,7 @@ lang: fr-fr
---
Bash est le nom du shell UNIX, qui était aussi distribué avec le système
-d’exploitation GNU et est le shell par défaut sur Linux et Mac OS X.
+d’exploitation GNU et est le shell par défaut sur Linux et macOS.
Presque tous les exemples ci-dessous peuvent être écrits dans un script shell
ou exécutés directement dans le terminal.
diff --git a/fr-fr/c++-fr.html.markdown b/fr-fr/c++-fr.html.markdown
index 863162f7..c8603756 100644
--- a/fr-fr/c++-fr.html.markdown
+++ b/fr-fr/c++-fr.html.markdown
@@ -69,11 +69,11 @@ void func(); // fonction qui ne prend aucun argument
// En C
void func(); // fonction qui peut prendre n'importe quel nombre d'arguments
-// Utilise nullptr au lieu de NULL in C++
+// Utilise nullptr au lieu de NULL en C++
int* ip = nullptr;
// Les en-têtes standards du C sont disponibles en C++,
-// mais son préfixés avec "c" et n'ont pas de suffixe .h
+// mais sont préfixés avec "c" et n'ont pas de suffixe .h
#include <cstdio>
int main()
@@ -722,7 +722,7 @@ catch (...)
// gestion d'un fichier C :
void faireQuelqueChoseAvecUnFichier(const char* nomDuFichier)
{
- // Pour commencer, supposns que rien ne peut échouer.
+ // Pour commencer, supposons que rien ne peut échouer.
FILE* fh = fopen(nomDuFichier, "r"); // Ouvre le fichier en lecture
diff --git a/fr-fr/java-fr.html.markdown b/fr-fr/java-fr.html.markdown
index d6c68343..b72200d6 100644
--- a/fr-fr/java-fr.html.markdown
+++ b/fr-fr/java-fr.html.markdown
@@ -31,7 +31,7 @@ Les commentaires sur plusieurs lignes ressemblent à ceci.
/**
* Les commentaires de la JavaDoc ressemblent à ceci. Ils sont utilisés pour
* décrire la classe et ses différents attributs.
- * Attributs principaux:
+ * Attributs principaux :
*
* @author Nom (et information de contact comme l'email) de(s) auteur(s).
* @version Version actuelle du programme.
@@ -82,7 +82,7 @@ public class JavaFr {
*/
// Utilisez Scanner pour lire l'entrée
- // Nécessite: import java.util.Scanner;
+ // Nécessite : import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
// Lire une chaîne de caractères
@@ -160,7 +160,7 @@ public class JavaFr {
// L est utilisé pour indiquer que la variable est de type long;
// le nombre serait traité comme un int sans le L
- // Note: byte, short, int et long sont signés. Ils peuvent avoir des
+ // Note : byte, short, int et long sont signés. Ils peuvent avoir des
// valeurs positives et négatives.
// Il n'existe pas de variantes non-signées.
// char, toutefois, est non-signé sur 16 bits
@@ -203,7 +203,7 @@ public class JavaFr {
// BigDecimal - entier immuable et positif de taille arbitraire
//
- // BigDecimal comprend deux parties: une entier de taille arbitraire
+ // BigDecimal comprend deux parties : une entier de taille arbitraire
// (BigInteger) et un entier de 32 bits représantant la position de la
// virgule.
//
@@ -240,13 +240,13 @@ public class JavaFr {
// C'est la manière la plus simple et optimisé par le compilateur
String plusConcatenated = "Strings can " + "be concatenated " + "via + operator.";
System.out.println(plusConcatenated);
- // Affiche: Strings can be concatenated via + operator.
+ // Affiche : Strings can be concatenated via + operator.
// #2 - avec StringBuilder
// Cette méthode ne nécessite pas d'objet String intermédiaire. Elle
// stocke juste les différentes chaînes de caractères et les assemble
// lorsque la méthode toString() est appelée.
- // Attention: Cette classe n'est pas thread-safe (l'objet ne peut pas être partagé
+ // Attention : Cette classe n'est pas thread-safe (l'objet ne peut pas être partagé
// entre les threads). Une alternative
// (avec un impact sur les performances) thread-safe est d'utiliser la
// classe StringBuffer.
@@ -255,7 +255,7 @@ public class JavaFr {
builderConcatenated.append("can use ");
builderConcatenated.append("the StringBuilder class.");
System.out.println(builderConcatenated.toString()); // only now is the string built
- // Affiche: You can use the StringBuilder class.
+ // Affiche : You can use the StringBuilder class.
// StringBuffer est efficace quand la chaîne de caractères n'est pas
// utilisée avec la fin de sa construction.
@@ -276,7 +276,7 @@ public class JavaFr {
// #3 - avec la méthode format() de la classe String.
// Une autre alternative. Rapide et lisible.
String.format("%s may prefer %s.", "Or you", "String.format()");
- // Affiche: Or you may prefer String.format().
+ // Affiche : Or you may prefer String.format().
// Tableau
// La taille du tableau doit être précisée à l'instantiation
@@ -419,7 +419,7 @@ public class JavaFr {
System.out.println("fooFor Value: " + fooFor);
// Fin d'une boucle for avec un label
- outer:
+ outer :
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i == 5 && j ==5) {
@@ -433,9 +433,9 @@ public class JavaFr {
// La boucle for est également capable d'itérer aussi bien sur un
// tableau que sur des objets qui implémentent l'interface Iterable.
int[] fooList = {1, 2, 3, 4, 5, 6, 7, 8, 9};
- // De la forme: for (<object> : <iterable>)
- // Lu comme: "Pour chaque élément du tableau"
- // note: le type doit correspondre à celui de l'objet itérable
+ // De la forme : for (<object> : <iterable>)
+ // Lu comme : "Pour chaque élément du tableau"
+ // note : le type doit correspondre à celui de l'objet itérable
for (int bar : fooList) {
System.out.println(bar);
//Itère 9 fois et affiche les chiffres de 1 à 9
@@ -511,7 +511,7 @@ public class JavaFr {
// Convert Integer To String
Integer.toString(123); // retourne un object String correspondant à"123"
- // Pour les autres conversions, référer vous aux classes suivantes:
+ // Pour les autres conversions, référer vous aux classes suivantes :
// Double
// Long
// String
@@ -537,7 +537,7 @@ public class JavaFr {
// Initialisation avec double accolades
// Le langage Java ne permet pas de créer des collections statiques d'une
- // manière simple. Généralement, on utilise la forme suivante:
+ // manière simple. Généralement, on utilise la forme suivante :
private static final Set<String> COUNTRIES = new HashSet<String>();
static {
COUNTRIES.add("DENMARK");
@@ -566,7 +566,7 @@ public class JavaFr {
// Cependant, il est préférable de séparer les
// classes dans des fichiers différents.
-// Syntaxe de déclaration des classes:
+// Syntaxe de déclaration des classes :
// <public/private/protected> class <Nom de la classe> {
// // Les attributs, les constructeurs et les méthodes de la classe vont ici.
// // Les functions de classes sont appelées méthode.
@@ -575,11 +575,11 @@ public class JavaFr {
class Bicycle {
// Attributs et variables de la classe Bicycle
- public int cadence; // Public: Peut être accesible depuis n'importe où
- private int speed; // Private: Accisible depuis la classe
- protected int gear; // Protected: Accisible depuis la classe et ses sous-
+ public int cadence; // Public : Peut être accesible depuis n'importe où
+ private int speed; // Private : Accisible depuis la classe
+ protected int gear; // Protected : Accisible depuis la classe et ses sous-
// classes
- String name; // default: Uniquement accesible depuis ce package
+ String name; // default : Uniquement accesible depuis ce package
static String className; // Variable de classe static
// Bloc static
@@ -595,7 +595,7 @@ class Bicycle {
// Ceci est le constructeur de la classe Bicycle
public Bicycle() {
// Vous pouvez aussie appeler un autre constructeur. Par exemple en
- // appelant le constructeur de la classe mère (voir héritage):
+ // appelant le constructeur de la classe mère (voir héritage) :
// this(1, 50, 5, "Bontrager");
gear = 1;
cadence = 50;
@@ -665,7 +665,7 @@ class PennyFarthing extends Bicycle {
// Ici nous modifions la méthode setGear() de la classe mère. Il faut donc
// utiliser l'annotation @Overide. Pour en savoir plus sur les annotations,
// consulter la documention officiel (en anglais) :
- // out: http://docs.oracle.com/javase/tutorial/java/annotations/
+ // out : http://docs.oracle.com/javase/tutorial/java/annotations/
@Override
public void setGear(int gear) {
this.gear = 0;
@@ -719,7 +719,7 @@ public class Fruit implements Edible, Digestible {
}
// En Java, on peut hériter uniquement d'une classe mais on peut implémenter
-// plusieurs interfaces:
+// plusieurs interfaces :
public class ExampleClass extends ExampleClassParent implements InterfaceOne,
InterfaceTwo {
@Override
@@ -734,7 +734,7 @@ public class ExampleClass extends ExampleClassParent implements InterfaceOne,
// Classes abstraites
-// Syntaxe de déclaration:
+// Syntaxe de déclaration :
// <niveau d'accès> abstract class <nom de la classe abstraite> extends <nom de la
// classe mère abstraite> {
// // Constantes et variables
@@ -758,7 +758,7 @@ public abstract class Animal
public void eat()
{
System.out.println("I am an animal and I am Eating.");
- // Note: On peut accéder à une variable privée ici.
+ // Note : On peut accéder à une variable privée ici.
age = 30;
}
@@ -790,7 +790,7 @@ class Dog extends Animal
// age = 30; ==> ERREUR! age est privé et n'est pas accesible.
}
- // NOTE: Vous obtiendrez une erreur si vous utilisé l'annotation @Override
+ // NOTE : Vous obtiendrez une erreur si vous utilisé l'annotation @Override
// ici car Java n'autorise pas la surcharge de méthodes statiques. Ce qui ce
// passe est appelé "method hiding". Si vous voulez en savoir plus,
// consultez cette discussion (en anglais) :
@@ -828,7 +828,7 @@ public final class SaberToothedCat extends Animal
// Méthodes final
public abstract class Mammal()
{
- // Syntaxe:
+ // Syntaxe :
// <niveau d'accès> final <type de retour> <nom de la fonction>(<arguments>)
// Les méthodes déclarées comme final ne peuvent pas être surchargées par
@@ -846,13 +846,13 @@ public abstract class Mammal()
// des valeurs pédéfinies pour celle-ci. En Java, les variables constantes sont
// notées en majuscules.
// On définie un type enum en utilisant le mot clé enum. Par exemple pour les
-// jours de l'année:
+// jours de la semaine :
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
-// On l'utilise ainsi:
+// On l'utilise ainsi :
public class EnumTest {
// On utilise notre énumération
Day day;
@@ -889,7 +889,7 @@ public class EnumTest {
// Le type enum permet de faire bien plus que ce qui est montré ici. Il ne se
// limite pas à une liste de constante mais peut inclure des champs et méthodes.
-// Vous pouvez en savoir plus ici (en anglais):
+// Vous pouvez en savoir plus ici (en anglais) :
//https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
```
@@ -899,7 +899,7 @@ public class EnumTest {
Les liens ci-dessous sont données si vous souhaitez approfondir sur le sujet,
n'hésitez pas à consulter Google pour trouver des exemples spécifiques.
-**Guides officiels d'Oracle**:
+**Guides officiels d'Oracle** :
* [Java Tutorial Trail from Sun / Oracle](https://docs.oracle.com/javase/tutorial/index.html)
@@ -918,7 +918,7 @@ n'hésitez pas à consulter Google pour trouver des exemples spécifiques.
* [Java Code Conventions](https://www.oracle.com/technetwork/java/codeconvtoc-136057.html)
-* Nouvelles fonctionnalités Java 8:
+* Nouvelles fonctionnalités Java 8 :
* [Lambda expressions (functional programming)](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html)
* [Date and time API (java.time package)](http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html)
@@ -928,7 +928,7 @@ n'hésitez pas à consulter Google pour trouver des exemples spécifiques.
* [Codingbat.com](http://codingbat.com/java)
-**Livres**:
+**Livres** :
* [Head First Java](http://www.headfirstlabs.com/books/hfjava/)
diff --git a/fr-fr/markdown-fr.html.markdown b/fr-fr/markdown-fr.html.markdown
index 26c2546a..1fd22883 100644
--- a/fr-fr/markdown-fr.html.markdown
+++ b/fr-fr/markdown-fr.html.markdown
@@ -178,8 +178,8 @@ Vous pouvez également utiliser des sous-listes.
1. Item un
2. Item deux
3. Item trois
-* Sub-item
-* Sub-item
+ * Sub-item
+ * Sub-item
4. Item quatre
```
@@ -230,7 +230,7 @@ En Markdown GitHub, vous pouvez utiliser des syntaxes spécifiques.
```
Pas besoin d'indentation pour le code juste au-dessus, de plus, GitHub
-va utiliser une coloration syntaxique pour le langage indiqué après les ```.
+va utiliser une coloration syntaxique pour le langage indiqué après les <code>```</code>.
## Ligne Horizontale
@@ -267,13 +267,13 @@ Markdown supporte aussi les liens relatifs.
Les liens de références sont eux aussi disponibles en Markdown.
-```md
-[Cliquez ici][link1] pour plus d'information!
-[Regardez aussi par ici][foobar] si vous voulez.
+<div class="highlight"><code><pre>
+[<span class="nv">Cliquez ici</span>][<span class="ss">link1</span>] pour plus d'information!
+[<span class="nv">Regardez aussi par ici</span>][<span class="ss">foobar</span>] si vous voulez.
-[link1]: http://test.com/ "Cool!"
-[foobar]: http://foobar.biz/ "Génial!"
-```
+[<span class="nv">link1</span>]: <span class="sx">http://test.com/</span> <span class="nn">"Cool!"</span>
+[<span class="nv">foobar</span>]: <span class="sx">http://foobar.biz/</span> <span class="nn">"Génial!"</span>
+</pre></code></div>
Le titre peut aussi être entouré de guillemets simples, ou de parenthèses, ou
absent. Les références peuvent être placées où vous voulez dans le document et
@@ -282,11 +282,11 @@ les identifiants peuvent être n'importe quoi tant qu'ils sont uniques.
Il y a également le nommage implicite qui transforme le texte du lien en
identifiant.
-```md
-[Ceci][] est un lien.
+<div class="highlight"><code><pre>
+[<span class="nv">Ceci</span>][] est un lien.
-[ceci]: http://ceciestunlien.com/
-```
+[<span class="nv">Ceci</span>]:<span class="sx">http://ceciestunlien.com/</span>
+</pre></code></div>
Mais ce n'est pas beaucoup utilisé.
@@ -302,11 +302,11 @@ d'un point d'exclamation!
Là aussi, on peut utiliser le mode "références".
-```md
-![Ceci est l'attribut ALT de l'image][monimage]
+<div class="highlight"><code><pre>
+![<span class="nv">Ceci est l'attribut ALT de l'image</span>][<span class="ss">monimage</span>]
-[monimage]: relative/urls/cool/image.jpg "si vous voulez un titre, c'est ici."
-```
+[<span class="nv">monimage</span>]: <span class="sx">relative/urls/cool/image.jpg</span> <span class="nn">"si vous voulez un titre, c'est ici."</span>
+</pre></code></div>
## Divers
diff --git a/fr-fr/objective-c-fr.html.markdown b/fr-fr/objective-c-fr.html.markdown
index fbe1741e..191cdfb6 100644
--- a/fr-fr/objective-c-fr.html.markdown
+++ b/fr-fr/objective-c-fr.html.markdown
@@ -10,7 +10,7 @@ filename: LearnObjectiveC-fr.m
lang: fr-fr
---
-L'Objective-C est un langage de programmation orienté objet réflexif principalement utilisé par Apple pour les systèmes d'exploitations Mac OS X et iOS et leurs frameworks respectifs, Cocoa et Cocoa Touch.
+L'Objective-C est un langage de programmation orienté objet réflexif principalement utilisé par Apple pour les systèmes d'exploitations macOS et iOS et leurs frameworks respectifs, Cocoa et Cocoa Touch.
```objective-c
// Les commentaires sur une seule ligne commencent par //
@@ -30,7 +30,7 @@ ceci
#import <Foundation/Foundation.h>
#import "MaClasse.h"
-// Si vous activez les modules dans les projets iOS >= 7 ou Mac OS X >= 10.9
+// Si vous activez les modules dans les projets iOS >= 7 ou OS X >= 10.9
// dans Xcode 5, vous pouvez importer les frameworks comme cela :
@import Foundation;
diff --git a/fr-fr/set-theory-fr.html.markdown b/fr-fr/set-theory-fr.html.markdown
new file mode 100644
index 00000000..50a4ea30
--- /dev/null
+++ b/fr-fr/set-theory-fr.html.markdown
@@ -0,0 +1,134 @@
+```
+---
+category: tool
+lang: fr-fr
+name: Set theory
+contributors:
+ - ["kieutrang", "https://github.com/kieutrang1729"]
+---
+La théorie des ensembles est une branche des mathématiques qui étudie les ensembles, leurs opérations et leurs propriétés.
+
+* Un ensemble est une collection d'éléments disjoints.
+
+## Symboles de base
+
+### Opérateurs
+* l'opérateur réunion, `∪`, signifie "ou" ;
+* l'opérateur intersection, `∩`, signifie "et" ;
+* l'opérateur différence, `\`, signifie "sans", (lire "A moins B") ;
+* l'opérateur complémentaire, `'`, signifie "le complémentaire de" ;
+* l'opérateur croix, `×`, signifie "le produit cartésien de".
+
+### Autres symboles
+* le symbole deux-points, `:`, signifie "tel que" ;
+* le symbole d'appartenance, `∈`, signifie "appartient à" ;
+* le symbole sous-ensemble, `⊆`, signifie "est un sous-ensemble de" ;
+* le symbole sous-ensemble propre, `⊂`, signifie "est un sous-ensemble de mais n'est pas égal à".
+
+### Ensembles importants
+* `∅`, l'ensemble vide, c'est-à-dire l'ensemble ne contenant aucun élément ;
+* `ℕ`, l'ensemble des nombres naturels ;
+* `ℤ`, l'ensemble des entiers ;
+* `ℚ`, l'ensemble des nombres rationnels ;
+* `ℝ`, l'ensemble des nombres réels.
+
+Quelques mise en gardes sur les ensembles definis ci-dessus:
+1. Même si l'ensemble vide ne contient aucun élément, il est lui-même un sous-ensemble de n'importe quel ensemble.
+2. Il n'y a pas d'accord général sur l'appartenance de zéro dans l'ensemble des nombres naturels, et les livres indiquent explicitment si l'auteur considère le zéro comme nombre naturel ou pas.
+
+
+### Cardinalité
+
+La cardinalité, ou taille, d'un ensemble est déterminée par le nombre d'éléments dans l'ensemble. L'opérateur de cardinalité s'écrit, `| ... |`.
+Par exemple, si `S = { 1, 2, 4 }`, alors `|S| = 3`.
+
+### L'ensemble vide
+* L'ensemble vide peut se définir en comprehension à l'aide d'une propriété qui n'est satisfaite par nul élément, e.g. `∅ = { x : x ≠ x }`, ou `∅ = { x : x ∈ N, x < 0 }`.
+* il n'y a qu'un seul ensemble vide.
+* l'ensemble vide est sous-ensemble de tout ensemble.
+* la cardinalité de l'ensemble vide est 0, ou `|∅| = 0`.
+
+## Notation ensembliste
+
+### Définition par extension
+
+Un ensemble peut être defini en extension par une liste de tous les éléments qui sont contenus dans l'ensemble. Par exemple, `S = { a, b, c, d }`.
+
+Quand le contexte est clair, on peut raccourcir la liste en utilisant des points de suspension. Par exemple, `E = { 2, 4, 6, 8, ... }` est clairement l'ensemble de tous les nombres pairs, contenant un nombre infini des éléments, même si on a explicitement écrit seulement les quatres premiers.
+
+### Définition par comprehension
+
+C'est une notation plus descriptif qui permet de définir un ensemble à l'aide d'un sujet et d'une propriété, et il est noté `S = { sujet : propriété }`. Par exemple,
+
+```
+A = { x : x est une voyelle } = { a, e, i, o, u, y}
+B = { x : x ∈ N, x < 10 } = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
+C = { x : x = 2k, k ∈ N } = { 0, 2, 4, 6, 8, ... }
+```
+
+On peut même appliquer une fonction au sujet, e.g.
+
+```
+D = { 2x : x ∈ N } = { 0, 2, 4, 6, 8, ... }
+```
+
+## Relations
+
+### Appartenance
+
+* Si l'élement `a` est dans l'ensemble `A`, on dit que `a` appartient à `A` et on le note `a ∈ A`.
+* Si l'élement `a` n'est pas dans l'ensemble `A`, on dit que `a` n'appartient pas à `A` et on le note `a ∉ A`.
+
+### Égalité
+
+* On dit que deux ensembles `A` et `B` sont égaux s'ils contiennent les mêmes éléments, et on le note `A = B`.
+* Les ensembles n'ont pas de notion d'ordre, par exemple `{ 1, 2, 3, 4 } = { 2, 3, 1, 4 }`.
+* Un élément ne peut apparaître qu'au plus une seule fois - il n'y a jamais de répétition, e.g. `{ 1, 2, 2, 3, 4, 3, 4, 2 } = { 1, 2, 3, 4 }`.
+* Deux ensembles `A` and `B` sont égaux si et seulement si `A ⊆ B` and `B ⊆ A`.
+
+## Ensemble puissance
+* L'ensemble puissance d'un ensemble `A` est l'ensemble contenant tous les sous-ensembles de `A`. Il est noté `P(A)`. Si la cardinalité d'`A` est `n`, la cardinalité de `P(A)` est `2^n`.
+
+```
+P(A) = { x : x ⊆ A }
+```
+
+## Opérations ensemblistes
+### Réunion
+La réunion de deux ensembles `A` et `B` est l'ensemble contenant tous les éléments qui appartient à `A` ou à `B`.
+
+```
+A ∪ B = { x : x ∈ A ∪ x ∈ B }
+```
+
+### Intersection
+L'intersection de deux ensembles `A` et `B` est l'ensemble contenant tous les éléments qui appartient à la fois à `A` et à `B`.
+
+```
+A ∩ B = { x : x ∈ A, x ∈ B }
+```
+
+### Différence
+La différence de deux ensembles `A` et `B` est l'ensemble contenant tous les éléments de l'ensemble `A` qui n'appartient pas à `B`.
+
+```
+A \ B = { x : x ∈ A, x ∉ B }
+```
+
+### Différence symétrique
+Le différence symétrique de deux ensembles `A` et `B` est l'ensemble contenant tous les éléments de `A` et `B` qui n'apparaissent pas dans leur intersection.
+
+```
+A △ B = { x : ((x ∈ A) ∩ (x ∉ B)) ∪ ((x ∈ B) ∩ (x ∉ A)) }
+
+A △ B = (A \ B) ∪ (B \ A)
+```
+
+### Produit cartésien
+Le produit cartésien de deux ensembles `A` et `B` est l'ensemble contenant tous les couples dont la première élément appartient à `A` et la deuxième à `B`.
+
+```
+A × B = { (x, y) | x ∈ A, y ∈ B }
+```
+
+```
diff --git a/fr-fr/typescript-fr.html.markdown b/fr-fr/typescript-fr.html.markdown
index 52d34650..8a761f61 100644
--- a/fr-fr/typescript-fr.html.markdown
+++ b/fr-fr/typescript-fr.html.markdown
@@ -12,7 +12,7 @@ TypeScript est un langage visant à faciliter le développement d'applications l
TypeScript ajoute des concepts classiques comme les classes, les modules, les interfaces, les génériques et le typage statique (optionnel) à JavaScript.
C'est une surcouche de JavaScript : tout le code JavaScript est valide en TypeScript ce qui permet de l'ajouter de façon transparente à n'importe quel projet. Le code TypeScript est transcompilé en JavaScript par le compilateur.
-Cet article se concentrera seulement sur la syntaxe supplémentaire de TypeScript, plutôt que celle de [JavaScript] (../javascript/).
+Cet article se concentrera seulement sur la syntaxe supplémentaire de TypeScript, plutôt que celle de [JavaScript] (../javascript-fr/).
Pour tester le compilateur de TypeScript, rendez-vous au [Playground] (http://www.typescriptlang.org/Playground) où vous pourrez coder, profiter d'une autocomplétion et accéder directement au rendu JavaScript.