diff --git a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
index 81f9f26607efd4e97a0c3698e21dd40dd461c258..46d2adb26882290ab22304fb66da79a1d2f2a8c4 100644
--- a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
+++ b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
@@ -1,14 +1,14 @@
 <div class="container">
     <p class="title">Join a quiz</p>
-    <form [formGroup]="form" (ngSubmit)="submitForm()">
+    <form [formGroup]="formGroup">
         <div class="form-group">
-            <input type="text" class="inputRecherche" placeholder="code..." formControlName="code" />
+            <input type="text" formControlName="id" class="inputRecherche" placeholder="code..." />
         </div>
     </form>
     <div class="quiz-info">
         <div class="quiz-title">
             <p class="quiz-info-title">Quiz information</p>
-            <hr>
+            <hr />
         </div>
         <div class="quiz-info-content">
             <p class="quiz-info-content-value">{{ quiz.category }}</p>
@@ -24,6 +24,6 @@
     </div>
 
     <div class="new-quiz">
-        <button class="blueButton" (click)="joinQuiz()">Go !</button>
+        <button class="blueButton" (click)="playQuiz()">Go !</button>
     </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.ts b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.ts
index 0e091bd7636c3ea057fbd76d9151599cbcb3530f..f5325dd6e57ca202bdd77be5b5523ef4630e718f 100644
--- a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.ts
+++ b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.ts
@@ -1,54 +1,30 @@
-import { Component } from '@angular/core';
-import { FormBuilder, Validators } from '@angular/forms';
-import { FormQuizService } from '../../../../services/form-quiz.service';
+import { Component, OnInit } from '@angular/core';
+import { FormBuilder, Validators, FormGroup } from '@angular/forms';
 import { Router } from '@angular/router';
 
 @Component({
-  selector: 'app-form-start-quiz',
-  templateUrl: './form-start-quiz.component.html',
-  styleUrl: './form-start-quiz.component.css'
+    selector: 'app-form-start-quiz',
+    templateUrl: './form-start-quiz.component.html',
+    styleUrl: './form-start-quiz.component.css',
 })
-export class FormStartQuizComponent {
-  themes: { id: number; name: string }[] = [];
-  quiz: any;
 
-  codeCtrl: any;
-  form: any;
-
-  constructor(private formQuizService: FormQuizService, private fb: FormBuilder, private router: Router) { }
-  categories: { id: number; name: string }[] = [];
-
-  ngOnInit(): void {
-    this.codeCtrl = this.fb.control(null, [Validators.required]);
-
-    this.form = this.fb.group({
-      code: this.codeCtrl,
-    });
-
-    this.quiz = {
-      category: "Math",
-      nbQuestion: 10,
-      difficulty: "easy",
+export class FormStartQuizComponent implements OnInit {
+    quiz: any;
+
+    constructor(private fb: FormBuilder, private router: Router) {}
+    formGroup: FormGroup = new FormGroup({});
+    ngOnInit(): void {
+        this.formGroup = new FormGroup({
+            id: this.fb.control('', [Validators.required]),
+        });
+
+        this.quiz = {
+          category: "Math",
+          nbQuestion: 10,
+          difficulty: "easy",
+        }
     }
-
-  }
-
-  submitForm(): void {
-    if (this.form?.valid) {
-      this.router.navigate([''/*submit to API*/], {
-        queryParams: {
-          code: this.form.value.code,
-        },
-      });
+    playQuiz() {
+        this.router.navigate(['/play-quiz'], { queryParams: { idQuiz: this.formGroup.value.id } });
     }
-  }
-
-  joinQuiz(): void {
-    this.router.navigate(['/play-quiz'], {
-      queryParams: {
-        code: this.form.value.code,
-      },
-    });
-  }
-
 }
diff --git a/src/app/modules/home/home-page/home-page.component.ts b/src/app/modules/home/home-page/home-page.component.ts
index 102748abfcca45325554fed8e9d887566c614d2a..d0974dce9de89642e1a43e0d9675352b7bed49e4 100644
--- a/src/app/modules/home/home-page/home-page.component.ts
+++ b/src/app/modules/home/home-page/home-page.component.ts
@@ -3,6 +3,8 @@ import { MatDialog } from '@angular/material/dialog';
 import { Router } from '@angular/router';
 import Swal from 'sweetalert2';
 import { FormCreateQuizComponent } from '../form-quiz/form-create-quiz/form-create-quiz.component';
+import { FormQuizService } from '../../../services/form-quiz.service';
+import { QuestionService } from '../../../services/question.service';
 
 @Component({
     selector: 'app-home-page',
@@ -13,7 +15,12 @@ export class HomePageComponent implements OnInit {
     showQuickGame: boolean = false;
     showPlayQuiz: boolean = false;
     showMyQuiz: boolean = false;
-    constructor(public router: Router, public dialog: MatDialog) {}
+    constructor(
+        private router: Router,
+        private dialog: MatDialog,
+        private formQuizService: FormQuizService,
+        private questionService: QuestionService
+    ) {}
     ngOnInit(): void {}
     startParty() {
         Swal.fire({
@@ -46,6 +53,20 @@ export class HomePageComponent implements OnInit {
         this.showQuickGame = true;
         this.showPlayQuiz = false;
         this.showMyQuiz = false;
+        this.formQuizService.getCategory().subscribe({
+            next: (data: any) => {
+                const categories = data.trivia_categories;
+                const difficulty = ['easy', 'medium', 'hard'];
+                const randomCategory = categories[Math.floor(Math.random() * categories.length)];
+                const randomDifficulty = difficulty[Math.floor(Math.random() * difficulty.length)];
+                const randomNbQuestion = Math.floor(Math.random() * (40 - 10 + 1)) + 10;
+                this.questionService.createQuiz(randomNbQuestion, randomCategory.id, randomDifficulty).subscribe({
+                    next: (data: any) => {
+                        this.router.navigate(['/play-quiz'], { queryParams: { idQuiz: data.id } });
+                    },
+                });
+            },
+        });
     }
 
     playQuiz() {
diff --git a/src/app/modules/home/play-quiz/play-quiz.component.html b/src/app/modules/home/play-quiz/play-quiz.component.html
index edf7be2c820741ba1a197b1b5980cacef1fdd9fe..1c4d412b677145a1fef93132af6e3e14b0983939 100644
--- a/src/app/modules/home/play-quiz/play-quiz.component.html
+++ b/src/app/modules/home/play-quiz/play-quiz.component.html
@@ -1,7 +1,7 @@
 <div *ngIf="!isLoading" class="main">
     <div class="header">
         <mat-icon (click)="goHome()">home</mat-icon>
-        <p>Category : {{ actualQuestion.category }}</p>
+        <p>Category : {{ actualQuestion.category.name }}</p>
         <div class="title">
             <h4>Question {{ actualQuestionIndex + 1 }}/{{ quiz.questions.length }}</h4>
             <h4>Score : {{ score }}</h4>
diff --git a/src/app/modules/home/play-quiz/play-quiz.component.ts b/src/app/modules/home/play-quiz/play-quiz.component.ts
index acea61f94e177cab6703f9455b35e0c11628c94e..bb1821c4736163b9caa9b4587c965f3f76711c90 100644
--- a/src/app/modules/home/play-quiz/play-quiz.component.ts
+++ b/src/app/modules/home/play-quiz/play-quiz.component.ts
@@ -25,13 +25,11 @@ export class PlayQuizComponent implements OnInit {
     ngOnInit(): void {
         this.isLoading = true;
         this.activatedRoute.queryParams.subscribe((params) => {
-            const nbQuestions = params['nbQuestions'];
-            const difficulty = params['difficulty'];
-            const category = params['category'];
-            this.questionSerivce.createQuiz(nbQuestions, category, difficulty).subscribe({
+            const idQuiz = params['idQuiz'];
+            this.questionSerivce.getQuiz(idQuiz).subscribe({
                 next: (data: any) => {
-                    console.log('data : ', data);
                     this.quiz = data;
+                    this.quiz.Question;
                     this.nextQuestion();
                     this.isLoading = false;
                 },
@@ -61,6 +59,7 @@ export class PlayQuizComponent implements OnInit {
         } else {
             this.actualQuestionIndex++;
             this.actualQuestion = this.quiz.questions[this.actualQuestionIndex];
+            this.randomArray(this.actualQuestion.answers);
             this.showNextQuestion = false;
         }
     }
@@ -101,10 +100,10 @@ export class PlayQuizComponent implements OnInit {
         });
     }
 
-    // randomArray(array: any[]): void {
-    //     for (let i = array.length - 1; i > 0; i--) {
-    //         const j = Math.floor(Math.random() * (i + 1));
-    //         [array[i], array[j]] = [array[j], array[i]];
-    //     }
-    // }
+    randomArray(array: any[]): void {
+        for (let i = array.length - 1; i > 0; i--) {
+            const j = Math.floor(Math.random() * (i + 1));
+            [array[i], array[j]] = [array[j], array[i]];
+        }
+    }
 }
diff --git a/src/app/services/question.service.ts b/src/app/services/question.service.ts
index d4d70a1f5ad95666122aa7544cdb03c460cccb77..b39bb73618d068c961934ec3a64c420ec2f76443 100644
--- a/src/app/services/question.service.ts
+++ b/src/app/services/question.service.ts
@@ -22,6 +22,10 @@ export class QuestionService {
         return this.http.post(`${this.apiUrl}/quiz/create`, body);
     }
 
+    getQuiz(idQuiz: string) {
+        return this.http.post(`${this.apiUrl}/quiz/remaining`, { id: idQuiz });
+    }
+
     getAnswer(codeQuiz: string, questionId: number, answerId: number) {
         return this.http.post(`${this.apiUrl}/quiz/answer`, {
             id: codeQuiz,