diff --git a/Dockerfile b/Dockerfile
index c1d43499522152aa10a0a11300c536d684a9b21f..efc8569c361cfd02710aaf6a62d6d7fb80933eaf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -64,9 +64,16 @@ RUN $HOME/.yarn/bin/yarn encore dev
 EXPOSE 80
 EXPOSE 8081
 
+
+
+RUN useradd -ms /bin/bash www-data
+RUN addgroup www-data root
+
+
 RUN mkdir -p /tmp/socket/
 RUN cp php7.4-fpm.sock /tmp/socket/php7.4-fpm.sock
-RUN chmod g+rwx /tmp/socket/php7.4-fpm.sock
+RUN chown www-data  /tmp/socket/php7.4-fpm.sock
+
 
 RUN ls -alh
 RUN rm /etc/nginx/sites-available/default
diff --git a/tms/src/Controller/CommandeController.php b/tms/src/Controller/CommandeController.php
new file mode 100644
index 0000000000000000000000000000000000000000..db31a9a8e1b5f7e78a192cb3446371df90f8abd0
--- /dev/null
+++ b/tms/src/Controller/CommandeController.php
@@ -0,0 +1,162 @@
+<?php
+
+
+namespace App\Controller;
+use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\Routing\Annotation\Route;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
+use App\Entity\Commande;
+
+class CommandeController extends AbstractController
+{
+    /**
+     * @Route("/listCommandes",name="show_Commandes")
+     */
+    public function listCommandes(Request $request)
+    {
+       
+        $Commandes = $this->getDoctrine()
+            ->getRepository(Commande::class)
+            ->findAll();
+
+
+
+        return $this->render('tapes/main.html.twig', array('Commandes' => $Commandes));
+
+
+    }
+
+
+
+    /**
+     * @Route("/addCommande", name="add_Commande")
+     */
+    public function addCommande(Request $request){
+        $nom=$request->request->get('nom');        
+        $fabricant=$request->request->get('fabricant');
+        $capacite=$request->request->get('capacite');
+        $longueur=$request->request->get('longueur');
+        
+        $em = $this->getDoctrine()->getManager();
+
+        /** @var TYPE_NAME $exception */
+        try {
+
+            $entityManager = $this->getDoctrine()->getManager();
+
+            $Commande=new TapeCommandee();
+            $Commande->setNom($nom);
+            $Commande->setFabricant($fabricant);
+            $Commande->setCapacite($capacite);
+            $Commande->setLongueur($longueur);
+            $Commande->setDatecreation(new \DateTime());
+            $entityManager->persist($Commande);
+            $entityManager->flush();
+
+            $response = new Response(json_encode(array(
+                'status' => '200',
+                'message' => 'Base de données mise à jour'
+            )));
+
+        }
+        catch (DBALException $e) {
+
+            $response = new Response(json_encode(array(
+                'status' => '500',
+                'message' => $e
+            )));
+        }
+
+
+        $response->headers->set('Content-Type', 'application/json');
+        return $response;
+
+    }
+
+    /**
+     * @Route("/editCommande", name="edit_Commande")
+     */
+    public function editCommande(Request $request){
+
+        $id=$request->request->get('id');
+        $nom=$request->request->get('nom');
+        $fabricant=$request->request->get('fabricant');
+        $capacite=$request->request->get('capacite');
+        $longueur=$request->request->get('longueur');
+
+        $em = $this->getDoctrine()->getManager();
+
+        /** @var TYPE_NAME $exception */
+        try {
+
+            $id=$request->request->get('id');
+            $em = $this->getDoctrine()->getManager();
+
+            $Commande=$this->getDoctrine()
+                ->getRepository(TapeCommandee::class)->find($id);
+            $Commande->setNom($nom);
+            $Commande->setFabricant($fabricant);
+            $Commande->setCapacite($capacite);
+            $Commande->setLongueur($longueur);
+
+            $em->persist($Commande);
+            $em->flush();
+
+            $response = new Response(json_encode(array(
+                'status' => '200',
+                'message' => 'Base de données mise à jour'
+            )));
+
+        }
+        catch (DBALException $e) {
+
+            $response = new Response(json_encode(array(
+                'status' => '500',
+                'message' => $e
+            )));
+        }
+
+
+        $response->headers->set('Content-Type', 'application/json');
+        return $response;
+
+    }
+
+    /**
+     * @Route("/removeCommande", name="remove_Commande")
+     */
+    public function removeCommande(Request $request){
+        $id=$request->request->get('id');
+        $em = $this->getDoctrine()->getManager();
+
+        /** @var TYPE_NAME $exception */
+        try {
+            $Commande=$this->getDoctrine()
+                ->getRepository(TapeCommandee::class)->find($id);
+
+            $em->remove($Commande);
+            $em->flush($Commande);
+
+
+            $response = new Response(json_encode(array(
+                'status' => '200',
+                'message' => 'Base de données mise à jour'
+            )));
+
+        }
+        catch (DBALException $e) {
+
+            $response = new Response(json_encode(array(
+                'status' => '500',
+                'message' => $e
+            )));
+        }
+
+
+        $response->headers->set('Content-Type', 'application/json');
+        return $response;
+
+    }
+
+}
\ No newline at end of file