Etape 6 : Client-side