diff --git a/src/main/java/fil/sr2/flopbox/FTPResource.java b/src/main/java/fil/sr2/flopbox/FTPResource.java
index bfa68832520680b05312a37fa4c268b91a2e7399..66019ab5d831799fbab95f36b717be27ea211527 100644
--- a/src/main/java/fil/sr2/flopbox/FTPResource.java
+++ b/src/main/java/fil/sr2/flopbox/FTPResource.java
@@ -174,22 +174,73 @@ public class FTPResource {
         }
     }
 
+    /*
+     * @POST
+     * 
+     * @Path("/{alias}/{path: .+}")
+     * public Response createDirectory(
+     * 
+     * @PathParam("alias") String alias,
+     * 
+     * @PathParam("path") String path,
+     * 
+     * @HeaderParam("X-FTP-User") String user,
+     * 
+     * @HeaderParam("X-FTP-Pass") String pass) throws SocketException, IOException {
+     * 
+     * System.out.println("createFirectory()");
+     * FTPClient ftp = new FTPClient();
+     * try {
+     * FTPServerConfig config = FTPServerRepository.getInstance().getServer(alias);
+     * ftp.connect(config.getHost(), config.getPort());
+     * ftp.login(user, pass);
+     * return ftp.makeDirectory(path) ? Response.created(URI.create(path)).build()
+     * : Response.status(Response.Status.BAD_REQUEST).build();
+     * } finally {
+     * try {
+     * if (ftp.isConnected()) {
+     * ftp.logout();
+     * ftp.disconnect();
+     * }
+     * } catch (IOException e) {
+     * e.printStackTrace();
+     * }
+     * }
+     * }
+     */
     @POST
     @Path("/{alias}/{path: .+}")
-    public Response createDirectory(
+    @Consumes({ MediaType.APPLICATION_OCTET_STREAM, MediaType.TEXT_PLAIN }) // Accepter les fichiers
+    public Response createResource(
             @PathParam("alias") String alias,
             @PathParam("path") String path,
             @HeaderParam("X-FTP-User") String user,
-            @HeaderParam("X-FTP-Pass") String pass) throws SocketException, IOException {
+            @HeaderParam("X-FTP-Pass") String pass,
+            InputStream inputStream) { // Contenu optionnel
 
-        System.out.println("createFirectory()");
         FTPClient ftp = new FTPClient();
         try {
             FTPServerConfig config = FTPServerRepository.getInstance().getServer(alias);
             ftp.connect(config.getHost(), config.getPort());
             ftp.login(user, pass);
-            return ftp.makeDirectory(path) ? Response.created(URI.create(path)).build()
-                    : Response.status(Response.Status.BAD_REQUEST).build();
+
+            // Si le flux est vide (0 octet), créer un répertoire
+            if (inputStream.available() == 0) {
+                boolean dirCreated = ftp.makeDirectory(path);
+                return dirCreated
+                        ? Response.created(URI.create(path)).build()
+                        : Response.status(400).entity("Erreur création répertoire").build();
+            }
+            // Sinon, créer un fichier
+            else {
+                boolean fileCreated = ftp.storeFile(path, inputStream);
+                return fileCreated
+                        ? Response.created(URI.create(path)).build()
+                        : Response.status(400).entity("Erreur création fichier").build();
+            }
+
+        } catch (IOException e) {
+            return Response.serverError().entity("Erreur FTP: " + e.getMessage()).build();
         } finally {
             try {
                 if (ftp.isConnected()) {