diff --git a/index.md b/index.md
index a1fc94235fa0b8042f85d972a9dd52dcf0576a83..90bf3fd20a73431c488af69e94e93ebbaad51538 100644
--- a/index.md
+++ b/index.md
@@ -154,6 +154,19 @@ Note:
   Doctrine, Doctrine utilise de la réflection ou de la désérialisation pour
 hydrater les entités.
 
+---
+## Les UUID
+
+- Universally unique
+- Indevinables
+- Ne nécessitent pas de base de données
+- `ramsey/uuid` à la rescousse
+
+Notes:
+- Idéalement, prendre une clé naturelle.
+- Doctrine a un type `guid` qui correspond au type `uuid` dans Postgres,
+  jetez-y un oeil.
+
 ---
 ## Les value objects
 
@@ -241,12 +254,6 @@ Note:
   l'hydratation. Si ça crashe, c'est qu'il manque des migrations.
 - La méthode `getName()` fait doublon avec le nom utilisé lors de
   l'enregistrement du type dans le registre de type, et disparaître dès Doctrine 3
-> - `ArticleId` devrait être une clé naturelle ou un UUID, le principal c'est de
->   pas avoir besoin de demander à la DB de le calculer, ça évite des attaques
-> pour cause d'ID devinables, et ça évite d'exposer le nombre d'entités présentes
-> dans une table. Ça évite aussi des collisions lorsque vous migrez des données
-> d'une base vers une autre, et que la nouvelle base peut elle aussi être
-> alimentée directement.
 
 ---
 ## Les embeddables