diff --git a/infotro/README.md b/infotro/README.md
index 8fc7b3b..59fb085 100644
--- a/infotro/README.md
+++ b/infotro/README.md
@@ -13,6 +13,8 @@
- [IOT Technologies](/infotro/SDi/iot_technologies.md)
- [Protocol development](/infotro/SDi/protocol_development.md)
- [Bluetooth](/infotro/SDi/bluetooth.md)
+- [Database](/infotro/SDi/database.md)
+- [Information Security](/infotro/SDi/security.md)
## [Eln - Électronique](/infotro/Eln/)
- [AD/DA](/infotro/Eln/ADDA)
diff --git a/infotro/SDi/README.md b/infotro/SDi/README.md
index 70b8805..0fdf078 100644
--- a/infotro/SDi/README.md
+++ b/infotro/SDi/README.md
@@ -5,4 +5,6 @@ SDi - Système Distribué
- [Transmission process](/infotro/SDi/transmission_process.md)
- [IOT Technologies](/infotro/SDi/iot_technologies.md)
- [Protocol development](/infotro/SDi/protocol_development.md)
-- [Bluetooth](/infotro/SDi/bluetooth.md)
\ No newline at end of file
+- [Bluetooth](/infotro/SDi/bluetooth.md)
+- [Database](/infotro/SDi/database.md)
+- [Information Security](/infotro/SDi/security.md)
\ No newline at end of file
diff --git a/infotro/SDi/cipher_modes.png b/infotro/SDi/cipher_modes.png
new file mode 100644
index 0000000..2881350
Binary files /dev/null and b/infotro/SDi/cipher_modes.png differ
diff --git a/infotro/SDi/database.md b/infotro/SDi/database.md
new file mode 100644
index 0000000..085ca83
--- /dev/null
+++ b/infotro/SDi/database.md
@@ -0,0 +1,30 @@
+
+
+[Lab about databases and SQL](/infotro/SDi/labs/database/README.md).
+
+# Relational database
+Lorsque l'on fait une database, on peut représenter des objets de 3 manières différentes :
+1. Avec des valeurs `NULL`:
+ - Une table pour tous les attributs de la classe parents et tous les enfants.
+ - Les attributs des enfants qui ne sont pas dans la table sont `NULL`.
+

+2. En style Orienté Objet:
+ - Une table pour chaque classe.
+ - Chaque table a seulement ces attributs spécifiques.
+ - Les tables sont liées par des clés étrangères.
+

+3. En style Relationnel:
+ - Une table pour chaque classe.
+ - Chaque table à tous les attributs de la classe parente et de l'enfant.
+

+
+## Clés
+- **Clé primaire** : identifie de manière unique une ligne dans une table (colonne unique ou combinaison unique).
+- **Clé étrangère** : référence sur une clé primaire d'une table.
+
+## Suppression
+- **NO ACTION** : empêche la suppression si des lignes sont liées.
+- **SET NULL** : met à `NULL` les valeurs liées.
+- **CASCADE** : supprime les lignes liées.
diff --git a/infotro/SDi/medias/TuxPenguinModes.jpeg b/infotro/SDi/medias/TuxPenguinModes.jpeg
new file mode 100644
index 0000000..2fe1173
Binary files /dev/null and b/infotro/SDi/medias/TuxPenguinModes.jpeg differ
diff --git a/infotro/SDi/medias/database-1_null.png b/infotro/SDi/medias/database-1_null.png
new file mode 100644
index 0000000..fa86488
Binary files /dev/null and b/infotro/SDi/medias/database-1_null.png differ
diff --git a/infotro/SDi/medias/database-2_object.png b/infotro/SDi/medias/database-2_object.png
new file mode 100644
index 0000000..23c7ce7
Binary files /dev/null and b/infotro/SDi/medias/database-2_object.png differ
diff --git a/infotro/SDi/medias/database-3_relation.png b/infotro/SDi/medias/database-3_relation.png
new file mode 100644
index 0000000..85b0b9e
Binary files /dev/null and b/infotro/SDi/medias/database-3_relation.png differ
diff --git a/infotro/SDi/medias/security-cbc.png b/infotro/SDi/medias/security-cbc.png
new file mode 100644
index 0000000..73a524c
Binary files /dev/null and b/infotro/SDi/medias/security-cbc.png differ
diff --git a/infotro/SDi/medias/security-diffie_hellman.png b/infotro/SDi/medias/security-diffie_hellman.png
new file mode 100644
index 0000000..9aa9d4b
Binary files /dev/null and b/infotro/SDi/medias/security-diffie_hellman.png differ
diff --git a/infotro/SDi/medias/security-diffie_hellman_color.png b/infotro/SDi/medias/security-diffie_hellman_color.png
new file mode 100644
index 0000000..e956f57
Binary files /dev/null and b/infotro/SDi/medias/security-diffie_hellman_color.png differ
diff --git a/infotro/SDi/medias/security-ecb.png b/infotro/SDi/medias/security-ecb.png
new file mode 100644
index 0000000..b4a912c
Binary files /dev/null and b/infotro/SDi/medias/security-ecb.png differ
diff --git a/infotro/SDi/security.md b/infotro/SDi/security.md
new file mode 100644
index 0000000..82d9409
--- /dev/null
+++ b/infotro/SDi/security.md
@@ -0,0 +1,49 @@
+
+
+[Labs about information security](/infotro/SDi/labs/SSL/README.md)
+
+# Clé sysmétrique
+Alice et Bob ont la même clé secrète pour chiffrer et déchiffrer les messages.
+On peut encrypter par bloc ou par flux.
+- Par bloc : on découpe le message en blocs de taille fixe et on chiffre chaque bloc.
+ On doit obligatoirement finir par un byte de padding.
+- Par flux : on chiffre le message en continu. (Convolution)
+
+Un cryptage ECB (Electronic Code Book) encrypt un message par bloc indépendant.
+Cela signifie que si deux blocs sont identiques, ils seront chiffrés de la même manière.
+Cela peut être dangereux si un attaquant peut deviner le contenu du message.
+
+
+
+Un cryptage CBC (Cipher Block Chaining) utilise un vecteur d'initialisation pour chiffrer le premier bloc.
+Le vecteur d'initialisation peut être public.
+Ensuite, on utilise le bloc chiffré précédent pour chiffrer le bloc suivant.
+Cela permet de ne pas avoir le même chiffrage pour deux blocs identiques.
+
+
+
+Sans utiliser de vecteur d'initialisation, un message bien qu'encrypté peut être deviné.
+Cela permet de trouver la clé secrète.
+Il vaut mieux utiliser un vecteur d'initialisation.
+
+
+
+
+
+
+# Échange de clé avec Diffie-Hellman
+Diffie-Hellman permet d'échanger une clé secrète sans que les deux parties se soient jamais rencontrées.
+- Alice et Bob se mettent d'accord sur un nombre premier p et un générateur g.
+- Alice choisit un nombre $a$ et Bob choisit un nombre $b$.
+- Alice envoie à Bob $g^a \mod p$ et Bob envoie à Alice $g^b \mod p$.
+- Alice calcule $(g^b)^a \mod p$ et Bob calcule $(g^a)^b \mod p$.
+
+Les deux calculs donnent la même clé secrète.
+
+
+
+
+# Clé asymétrique
+#RTFM
\ No newline at end of file
diff --git a/infotro/_navbar.md b/infotro/_navbar.md
index 8f0eb82..3ca973c 100644
--- a/infotro/_navbar.md
+++ b/infotro/_navbar.md
@@ -9,6 +9,8 @@
* [IOT Technologies](/infotro/SDi/iot_technologies.md)
* [Protocol development](/infotro/SDi/protocol_development.md)
* [Bluetooth](/infotro/SDi/bluetooth.md)
+ * [Database](/infotro/SDi/database.md)
+ * [Information Security](/infotro/SDi/security.md)
* [Eln - Électronique](/infotro/Eln/)
* [AD/DA](/infotro/Eln/ADDA)
* [Signaux et échantillonnage](/infotro/Eln/SignauxEtEchantillonnage)