From b0765e8aacb701fffa8933e7735f709b7d6067b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Tue, 10 Jun 2025 21:17:33 +0200 Subject: [PATCH] swagger deployed at /swagger --- laravel/.buildcomplete | 0 laravel/.editorconfig | 0 laravel/.env.example | 0 laravel/.gitattributes | 0 laravel/.gitignore | 0 laravel/.spdx-laravel.spdx | 0 laravel/README.md | 0 .../app/Http/Controllers/BilletController.php | 0 .../Controllers/CommentaireController.php | 0 laravel/app/Http/Controllers/Controller.php | 0 .../app/Http/Controllers/UserController.php | 0 .../app/Http/Requests/StoreBilletRequest.php | 0 .../Requests/StoreCommentairesRequest.php | 0 .../app/Http/Requests/UpdateBilletRequest.php | 0 .../Requests/UpdateCommentairesRequest.php | 0 laravel/app/Http/Resources/BilletResource.php | 0 .../app/Http/Resources/BilletsResource.php | 0 .../Http/Resources/CommentaireResource.php | 0 laravel/app/Http/Resources/UserResource.php | 0 laravel/app/Models/Billet.php | 0 laravel/app/Models/Commentaire.php | 0 laravel/app/Models/User.php | 0 laravel/app/Policies/BilletPolicy.php | 0 laravel/app/Policies/CommentairesPolicy.php | 0 laravel/app/Providers/AppServiceProvider.php | 0 .../Providers/SwaggerUiServiceProvider.php | 18 + laravel/bootstrap/app.php | 0 laravel/bootstrap/cache/.gitignore | 0 laravel/bootstrap/providers.php | 0 laravel/composer.json | 3 +- laravel/composer.lock | 71 ++- laravel/config/app.php | 0 laravel/config/auth.php | 0 laravel/config/cache.php | 0 laravel/config/database.php | 0 laravel/config/filesystems.php | 0 laravel/config/logging.php | 0 laravel/config/mail.php | 0 laravel/config/queue.php | 0 laravel/config/sanctum.php | 0 laravel/config/services.php | 0 laravel/config/session.php | 0 laravel/config/swagger-ui.php | 72 +++ laravel/database/.gitignore | 0 laravel/database/factories/BilletFactory.php | 0 .../database/factories/CommentaireFactory.php | 0 laravel/database/factories/UserFactory.php | 0 .../0001_01_01_000000_create_users_table.php | 0 .../0001_01_01_000001_create_cache_table.php | 0 .../0001_01_01_000002_create_jobs_table.php | 0 ...18_create_personal_access_tokens_table.php | 0 ...2025_06_04_062336_create_billets_table.php | 0 ...06_04_063420_create_commentaires_table.php | 0 laravel/database/seeders/BilletSeeder.php | 0 .../database/seeders/CommentaireSeeder.php | 0 laravel/database/seeders/DatabaseSeeder.php | 0 laravel/database/seeders/UserSeeder.php | 0 laravel/licenses/laravel-12.0.3.txt | 0 laravel/log/laravel.log | 0 laravel/package.json | 0 laravel/phpunit.xml | 0 laravel/public/.htaccess | 0 laravel/public/favicon.ico | 0 laravel/public/index.php | 0 laravel/public/robots.txt | 0 laravel/resources/css/app.css | 0 laravel/resources/js/app.js | 0 laravel/resources/js/bootstrap.js | 0 laravel/resources/swagger/openapi.json | 432 ++++++++++++++++++ .../swagger/openapi.yml} | 0 laravel/resources/views/welcome.blade.php | 0 laravel/routes/console.php | 0 laravel/routes/web.php | 0 laravel/storage/app/.gitignore | 0 laravel/storage/app/private/.gitignore | 0 laravel/storage/app/public/.gitignore | 0 laravel/storage/framework/.gitignore | 0 laravel/storage/framework/cache/.gitignore | 0 .../storage/framework/cache/data/.gitignore | 0 laravel/storage/framework/sessions/.gitignore | 0 laravel/storage/framework/testing/.gitignore | 0 laravel/storage/framework/views/.gitignore | 0 laravel/storage/logs/.gitignore | 0 laravel/tests/Feature/ExampleTest.php | 0 laravel/tests/TestCase.php | 0 laravel/tests/Unit/ExampleTest.php | 0 laravel/vite.config.js | 0 87 files changed, 594 insertions(+), 2 deletions(-) mode change 100644 => 100755 laravel/.buildcomplete mode change 100644 => 100755 laravel/.editorconfig mode change 100644 => 100755 laravel/.env.example mode change 100644 => 100755 laravel/.gitattributes mode change 100644 => 100755 laravel/.gitignore mode change 100644 => 100755 laravel/.spdx-laravel.spdx mode change 100644 => 100755 laravel/README.md mode change 100644 => 100755 laravel/app/Http/Controllers/BilletController.php mode change 100644 => 100755 laravel/app/Http/Controllers/CommentaireController.php mode change 100644 => 100755 laravel/app/Http/Controllers/Controller.php mode change 100644 => 100755 laravel/app/Http/Controllers/UserController.php mode change 100644 => 100755 laravel/app/Http/Requests/StoreBilletRequest.php mode change 100644 => 100755 laravel/app/Http/Requests/StoreCommentairesRequest.php mode change 100644 => 100755 laravel/app/Http/Requests/UpdateBilletRequest.php mode change 100644 => 100755 laravel/app/Http/Requests/UpdateCommentairesRequest.php mode change 100644 => 100755 laravel/app/Http/Resources/BilletResource.php mode change 100644 => 100755 laravel/app/Http/Resources/BilletsResource.php mode change 100644 => 100755 laravel/app/Http/Resources/CommentaireResource.php mode change 100644 => 100755 laravel/app/Http/Resources/UserResource.php mode change 100644 => 100755 laravel/app/Models/Billet.php mode change 100644 => 100755 laravel/app/Models/Commentaire.php mode change 100644 => 100755 laravel/app/Models/User.php mode change 100644 => 100755 laravel/app/Policies/BilletPolicy.php mode change 100644 => 100755 laravel/app/Policies/CommentairesPolicy.php mode change 100644 => 100755 laravel/app/Providers/AppServiceProvider.php create mode 100755 laravel/app/Providers/SwaggerUiServiceProvider.php mode change 100644 => 100755 laravel/bootstrap/app.php mode change 100644 => 100755 laravel/bootstrap/cache/.gitignore mode change 100644 => 100755 laravel/bootstrap/providers.php mode change 100644 => 100755 laravel/composer.json mode change 100644 => 100755 laravel/composer.lock mode change 100644 => 100755 laravel/config/app.php mode change 100644 => 100755 laravel/config/auth.php mode change 100644 => 100755 laravel/config/cache.php mode change 100644 => 100755 laravel/config/database.php mode change 100644 => 100755 laravel/config/filesystems.php mode change 100644 => 100755 laravel/config/logging.php mode change 100644 => 100755 laravel/config/mail.php mode change 100644 => 100755 laravel/config/queue.php mode change 100644 => 100755 laravel/config/sanctum.php mode change 100644 => 100755 laravel/config/services.php mode change 100644 => 100755 laravel/config/session.php create mode 100755 laravel/config/swagger-ui.php mode change 100644 => 100755 laravel/database/.gitignore mode change 100644 => 100755 laravel/database/factories/BilletFactory.php mode change 100644 => 100755 laravel/database/factories/CommentaireFactory.php mode change 100644 => 100755 laravel/database/factories/UserFactory.php mode change 100644 => 100755 laravel/database/migrations/0001_01_01_000000_create_users_table.php mode change 100644 => 100755 laravel/database/migrations/0001_01_01_000001_create_cache_table.php mode change 100644 => 100755 laravel/database/migrations/0001_01_01_000002_create_jobs_table.php mode change 100644 => 100755 laravel/database/migrations/2025_06_04_062118_create_personal_access_tokens_table.php mode change 100644 => 100755 laravel/database/migrations/2025_06_04_062336_create_billets_table.php mode change 100644 => 100755 laravel/database/migrations/2025_06_04_063420_create_commentaires_table.php mode change 100644 => 100755 laravel/database/seeders/BilletSeeder.php mode change 100644 => 100755 laravel/database/seeders/CommentaireSeeder.php mode change 100644 => 100755 laravel/database/seeders/DatabaseSeeder.php mode change 100644 => 100755 laravel/database/seeders/UserSeeder.php mode change 100644 => 100755 laravel/licenses/laravel-12.0.3.txt mode change 100644 => 100755 laravel/log/laravel.log mode change 100644 => 100755 laravel/package.json mode change 100644 => 100755 laravel/phpunit.xml mode change 100644 => 100755 laravel/public/.htaccess mode change 100644 => 100755 laravel/public/favicon.ico mode change 100644 => 100755 laravel/public/index.php mode change 100644 => 100755 laravel/public/robots.txt mode change 100644 => 100755 laravel/resources/css/app.css mode change 100644 => 100755 laravel/resources/js/app.js mode change 100644 => 100755 laravel/resources/js/bootstrap.js create mode 100644 laravel/resources/swagger/openapi.json rename laravel/{openapi-swagger.yml => resources/swagger/openapi.yml} (100%) mode change 100644 => 100755 mode change 100644 => 100755 laravel/resources/views/welcome.blade.php mode change 100644 => 100755 laravel/routes/console.php mode change 100644 => 100755 laravel/routes/web.php mode change 100644 => 100755 laravel/storage/app/.gitignore mode change 100644 => 100755 laravel/storage/app/private/.gitignore mode change 100644 => 100755 laravel/storage/app/public/.gitignore mode change 100644 => 100755 laravel/storage/framework/.gitignore mode change 100644 => 100755 laravel/storage/framework/cache/.gitignore mode change 100644 => 100755 laravel/storage/framework/cache/data/.gitignore mode change 100644 => 100755 laravel/storage/framework/sessions/.gitignore mode change 100644 => 100755 laravel/storage/framework/testing/.gitignore mode change 100644 => 100755 laravel/storage/framework/views/.gitignore mode change 100644 => 100755 laravel/storage/logs/.gitignore mode change 100644 => 100755 laravel/tests/Feature/ExampleTest.php mode change 100644 => 100755 laravel/tests/TestCase.php mode change 100644 => 100755 laravel/tests/Unit/ExampleTest.php mode change 100644 => 100755 laravel/vite.config.js diff --git a/laravel/.buildcomplete b/laravel/.buildcomplete old mode 100644 new mode 100755 diff --git a/laravel/.editorconfig b/laravel/.editorconfig old mode 100644 new mode 100755 diff --git a/laravel/.env.example b/laravel/.env.example old mode 100644 new mode 100755 diff --git a/laravel/.gitattributes b/laravel/.gitattributes old mode 100644 new mode 100755 diff --git a/laravel/.gitignore b/laravel/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/.spdx-laravel.spdx b/laravel/.spdx-laravel.spdx old mode 100644 new mode 100755 diff --git a/laravel/README.md b/laravel/README.md old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Controllers/BilletController.php b/laravel/app/Http/Controllers/BilletController.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Controllers/CommentaireController.php b/laravel/app/Http/Controllers/CommentaireController.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Controllers/Controller.php b/laravel/app/Http/Controllers/Controller.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Controllers/UserController.php b/laravel/app/Http/Controllers/UserController.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Requests/StoreBilletRequest.php b/laravel/app/Http/Requests/StoreBilletRequest.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Requests/StoreCommentairesRequest.php b/laravel/app/Http/Requests/StoreCommentairesRequest.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Requests/UpdateBilletRequest.php b/laravel/app/Http/Requests/UpdateBilletRequest.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Requests/UpdateCommentairesRequest.php b/laravel/app/Http/Requests/UpdateCommentairesRequest.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Resources/BilletResource.php b/laravel/app/Http/Resources/BilletResource.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Resources/BilletsResource.php b/laravel/app/Http/Resources/BilletsResource.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Resources/CommentaireResource.php b/laravel/app/Http/Resources/CommentaireResource.php old mode 100644 new mode 100755 diff --git a/laravel/app/Http/Resources/UserResource.php b/laravel/app/Http/Resources/UserResource.php old mode 100644 new mode 100755 diff --git a/laravel/app/Models/Billet.php b/laravel/app/Models/Billet.php old mode 100644 new mode 100755 diff --git a/laravel/app/Models/Commentaire.php b/laravel/app/Models/Commentaire.php old mode 100644 new mode 100755 diff --git a/laravel/app/Models/User.php b/laravel/app/Models/User.php old mode 100644 new mode 100755 diff --git a/laravel/app/Policies/BilletPolicy.php b/laravel/app/Policies/BilletPolicy.php old mode 100644 new mode 100755 diff --git a/laravel/app/Policies/CommentairesPolicy.php b/laravel/app/Policies/CommentairesPolicy.php old mode 100644 new mode 100755 diff --git a/laravel/app/Providers/AppServiceProvider.php b/laravel/app/Providers/AppServiceProvider.php old mode 100644 new mode 100755 diff --git a/laravel/app/Providers/SwaggerUiServiceProvider.php b/laravel/app/Providers/SwaggerUiServiceProvider.php new file mode 100755 index 0000000..10738d8 --- /dev/null +++ b/laravel/app/Providers/SwaggerUiServiceProvider.php @@ -0,0 +1,18 @@ +email, [ + // + ]); + }); + } +} diff --git a/laravel/bootstrap/app.php b/laravel/bootstrap/app.php old mode 100644 new mode 100755 diff --git a/laravel/bootstrap/cache/.gitignore b/laravel/bootstrap/cache/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/bootstrap/providers.php b/laravel/bootstrap/providers.php old mode 100644 new mode 100755 diff --git a/laravel/composer.json b/laravel/composer.json old mode 100644 new mode 100755 index 87430b8..9e471e1 --- a/laravel/composer.json +++ b/laravel/composer.json @@ -9,7 +9,8 @@ "php": "^8.2", "laravel/framework": "^12.0", "laravel/sanctum": "^4.0", - "laravel/tinker": "^2.10.1" + "laravel/tinker": "^2.10.1", + "wotz/laravel-swagger-ui": "^1.2" }, "require-dev": { "fakerphp/faker": "^1.23", diff --git a/laravel/composer.lock b/laravel/composer.lock old mode 100644 new mode 100755 index a6cce71..798a7ff --- a/laravel/composer.lock +++ b/laravel/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "85c1d2065f70e38b0d6bf66559fb13c5", + "content-hash": "9ab0c2699b085b8f930df0cbb271b9a3", "packages": [ { "name": "brick/math", @@ -5842,6 +5842,75 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" + }, + { + "name": "wotz/laravel-swagger-ui", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/wotzebra/laravel-swagger-ui.git", + "reference": "f63430e96179c919c521ebb76fc4dddcc8b3dfae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wotzebra/laravel-swagger-ui/zipball/f63430e96179c919c521ebb76fc4dddcc8b3dfae", + "reference": "f63430e96179c919c521ebb76fc4dddcc8b3dfae", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel/framework": "^9.0|^10.0|^11.0|^12.0", + "php": "^8.1|^8.2|^8.3|^8.4" + }, + "require-dev": { + "adamwojs/php-cs-fixer-phpdoc-force-fqcn": "^2.0", + "friendsofphp/php-cs-fixer": "^3.0", + "guzzlehttp/guzzle": "^7.5", + "jasonmccreary/laravel-test-assertions": "^2.3", + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "phpunit/phpunit": "^9.5|^10.0|^11.5.3", + "squizlabs/php_codesniffer": "^3.6" + }, + "suggest": { + "ext-yaml": "*" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Wotz\\SwaggerUi\\SwaggerUiServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Wotz\\SwaggerUi\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Günther Debrauwer", + "email": "gunther.debrauwer@whoownsthezebra.be", + "role": "Developer" + } + ], + "description": "Add Swagger UI to a Laravel application.", + "homepage": "https://github.com/wotzebra/laravel-swagger-ui", + "keywords": [ + "laravel", + "openapi", + "swagger", + "swagger-ui" + ], + "support": { + "issues": "https://github.com/wotzebra/laravel-swagger-ui/issues", + "source": "https://github.com/wotzebra/laravel-swagger-ui/tree/1.2.0" + }, + "time": "2025-03-05T09:26:18+00:00" } ], "packages-dev": [ diff --git a/laravel/config/app.php b/laravel/config/app.php old mode 100644 new mode 100755 diff --git a/laravel/config/auth.php b/laravel/config/auth.php old mode 100644 new mode 100755 diff --git a/laravel/config/cache.php b/laravel/config/cache.php old mode 100644 new mode 100755 diff --git a/laravel/config/database.php b/laravel/config/database.php old mode 100644 new mode 100755 diff --git a/laravel/config/filesystems.php b/laravel/config/filesystems.php old mode 100644 new mode 100755 diff --git a/laravel/config/logging.php b/laravel/config/logging.php old mode 100644 new mode 100755 diff --git a/laravel/config/mail.php b/laravel/config/mail.php old mode 100644 new mode 100755 diff --git a/laravel/config/queue.php b/laravel/config/queue.php old mode 100644 new mode 100755 diff --git a/laravel/config/sanctum.php b/laravel/config/sanctum.php old mode 100644 new mode 100755 diff --git a/laravel/config/services.php b/laravel/config/services.php old mode 100644 new mode 100755 diff --git a/laravel/config/session.php b/laravel/config/session.php old mode 100644 new mode 100755 diff --git a/laravel/config/swagger-ui.php b/laravel/config/swagger-ui.php new file mode 100755 index 0000000..8238d85 --- /dev/null +++ b/laravel/config/swagger-ui.php @@ -0,0 +1,72 @@ + [ + [ + /* + * The path where the swagger file is served. + */ + 'path' => 'swagger', + + /* + * The title of the page where the swagger file is served. + */ + 'title' => env('APP_NAME') . ' - Swagger', + + /* + * The versions of the swagger file. The key is the version name and the value is the path to the file. + */ + 'versions' => [ + 'v1' => resource_path('/swagger/openapi.json'), + ], + + /* + * The default version that is loaded when the route is accessed. + */ + 'default' => 'v1', + + /* + * The middleware that is applied to the route. + */ + 'middleware' => [ + 'web', + EnsureUserIsAuthorized::class, + ], + + /* + * Specify the validator URL. Set to false to disable validation. + */ + 'validator_url' => false, + + /* + * If enabled the file will be modified to set the server url and oauth urls. + */ + 'modify_file' => true, + + /* + * The server URL configuration for the swagger file. + */ + 'server_url' => env('APP_URL'), + + /* + * The oauth configuration for the swagger file. + */ + 'oauth' => [ + 'token_path' => 'oauth/token', + 'refresh_path' => 'oauth/token', + 'authorization_path' => 'oauth/authorize', + + 'client_id' => env('SWAGGER_UI_OAUTH_CLIENT_ID'), + 'client_secret' => env('SWAGGER_UI_OAUTH_CLIENT_SECRET'), + ], + + /* + * Path to a custom stylesheet file if you want to customize the look and feel of swagger-ui. + * The content of the file will be read and added into a style-tag on the swagger-ui page. + */ + 'stylesheet' => null, + ], + ], +]; diff --git a/laravel/database/.gitignore b/laravel/database/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/database/factories/BilletFactory.php b/laravel/database/factories/BilletFactory.php old mode 100644 new mode 100755 diff --git a/laravel/database/factories/CommentaireFactory.php b/laravel/database/factories/CommentaireFactory.php old mode 100644 new mode 100755 diff --git a/laravel/database/factories/UserFactory.php b/laravel/database/factories/UserFactory.php old mode 100644 new mode 100755 diff --git a/laravel/database/migrations/0001_01_01_000000_create_users_table.php b/laravel/database/migrations/0001_01_01_000000_create_users_table.php old mode 100644 new mode 100755 diff --git a/laravel/database/migrations/0001_01_01_000001_create_cache_table.php b/laravel/database/migrations/0001_01_01_000001_create_cache_table.php old mode 100644 new mode 100755 diff --git a/laravel/database/migrations/0001_01_01_000002_create_jobs_table.php b/laravel/database/migrations/0001_01_01_000002_create_jobs_table.php old mode 100644 new mode 100755 diff --git a/laravel/database/migrations/2025_06_04_062118_create_personal_access_tokens_table.php b/laravel/database/migrations/2025_06_04_062118_create_personal_access_tokens_table.php old mode 100644 new mode 100755 diff --git a/laravel/database/migrations/2025_06_04_062336_create_billets_table.php b/laravel/database/migrations/2025_06_04_062336_create_billets_table.php old mode 100644 new mode 100755 diff --git a/laravel/database/migrations/2025_06_04_063420_create_commentaires_table.php b/laravel/database/migrations/2025_06_04_063420_create_commentaires_table.php old mode 100644 new mode 100755 diff --git a/laravel/database/seeders/BilletSeeder.php b/laravel/database/seeders/BilletSeeder.php old mode 100644 new mode 100755 diff --git a/laravel/database/seeders/CommentaireSeeder.php b/laravel/database/seeders/CommentaireSeeder.php old mode 100644 new mode 100755 diff --git a/laravel/database/seeders/DatabaseSeeder.php b/laravel/database/seeders/DatabaseSeeder.php old mode 100644 new mode 100755 diff --git a/laravel/database/seeders/UserSeeder.php b/laravel/database/seeders/UserSeeder.php old mode 100644 new mode 100755 diff --git a/laravel/licenses/laravel-12.0.3.txt b/laravel/licenses/laravel-12.0.3.txt old mode 100644 new mode 100755 diff --git a/laravel/log/laravel.log b/laravel/log/laravel.log old mode 100644 new mode 100755 diff --git a/laravel/package.json b/laravel/package.json old mode 100644 new mode 100755 diff --git a/laravel/phpunit.xml b/laravel/phpunit.xml old mode 100644 new mode 100755 diff --git a/laravel/public/.htaccess b/laravel/public/.htaccess old mode 100644 new mode 100755 diff --git a/laravel/public/favicon.ico b/laravel/public/favicon.ico old mode 100644 new mode 100755 diff --git a/laravel/public/index.php b/laravel/public/index.php old mode 100644 new mode 100755 diff --git a/laravel/public/robots.txt b/laravel/public/robots.txt old mode 100644 new mode 100755 diff --git a/laravel/resources/css/app.css b/laravel/resources/css/app.css old mode 100644 new mode 100755 diff --git a/laravel/resources/js/app.js b/laravel/resources/js/app.js old mode 100644 new mode 100755 diff --git a/laravel/resources/js/bootstrap.js b/laravel/resources/js/bootstrap.js old mode 100644 new mode 100755 diff --git a/laravel/resources/swagger/openapi.json b/laravel/resources/swagger/openapi.json new file mode 100644 index 0000000..bfd0917 --- /dev/null +++ b/laravel/resources/swagger/openapi.json @@ -0,0 +1,432 @@ +{ + "openapi": "3.0.4", + "info": { + "title": "Blog API", + "description": "Projet Laravel avec Sanctum pour l'authentification", + "license": { + "name": "Creative Commons 4.0", + "url": "https://creativecommons.org/licenses/by/4.0/" + }, + "version": "1.0.0" + }, + "servers": [ + { + "url": "https://isi2.ale-pri.com/api/", + "description": "Serveur de production" + }, + { + "url": "http://localhost:8000/api/", + "description": "Serveur de développement local" + } + ], + "tags": [ + { + "name": "billets", + "description": "Opérations sur les billets" + }, + { + "name": "commentaires", + "description": "Operations sur les commentaires" + }, + { + "name": "user", + "description": "Operations about user" + } + ], + "paths": { + "/billets": { + "get": { + "tags": [ + "billets" + ], + "summary": "Liste des billets", + "operationId": "getBillets", + "responses": { + "200": { + "description": "Liste des billets", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Billet" + } + } + } + } + } + } + } + } + } + }, + "/login": { + "post": { + "responses": { + "200": { + "description": "Authentification réussie", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + }, + "401": { + "description": "Authentification échouée" + } + }, + "tags": [ + "user" + ], + "summary": "Authentification de l'utilisateur", + "operationId": "loginUser", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginRequest" + } + } + } + } + } + }, + "/register": { + "post": { + "responses": { + "201": { + "description": "Utilisateur créé avec succès", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + }, + "422": { + "description": "Erreur de validation" + } + }, + "tags": [ + "user" + ], + "summary": "Enregistrement d'un nouvel utilisateur", + "operationId": "registerUser", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterRequest" + } + } + } + } + } + }, + "/user": { + "get": { + "security": [ + { + "sanctum": [] + } + ], + "tags": [ + "user" + ], + "summary": "Récupérer les informations de l'utilisateur connecté", + "operationId": "getUser", + "responses": { + "200": { + "description": "Informations de l'utilisateur", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "401": { + "description": "Non autorisé" + } + } + } + }, + "/user/logout": { + "post": { + "security": [ + { + "sanctum": [] + } + ], + "tags": [ + "user" + ], + "summary": "Déconnexion de l'utilisateur", + "operationId": "logoutUser", + "responses": { + "204": { + "description": "Déconnexion réussie" + }, + "401": { + "description": "Non autorisé" + } + } + } + }, + "/billets/{id}": { + "get": { + "security": [ + { + "sanctum": [] + } + ], + "tags": [ + "billets" + ], + "summary": "Détails d'un billet", + "operationId": "getBilletById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "description": "ID du billet" + } + ], + "responses": { + "200": { + "description": "Détails du billet", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BilletWithComments" + } + } + } + }, + "404": { + "description": "Billet non trouvé" + } + } + } + }, + "/commentaires": { + "post": { + "security": [ + { + "sanctum": [] + } + ], + "tags": [ + "commentaires" + ], + "summary": "Ajouter un commentaire à un billet", + "operationId": "addComment", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommentaireRequest" + } + } + } + }, + "responses": { + "201": { + "description": "Commentaire ajouté avec succès", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Commentaire" + } + } + } + }, + "422": { + "description": "Erreur de validation" + } + } + } + } + }, + "components": { + "schemas": { + "Billet": { + "type": "object", + "properties": { + "Date": { + "type": "string", + "format": "date-time", + "example": "2023-10-01" + }, + "Titre": { + "type": "string", + "example": "Billet 1" + }, + "Contenu": { + "type": "string", + "example": "Lorem ipsum dolor sit amet." + } + } + }, + "BilletWithComments": { + "type": "object", + "properties": { + "Date": { + "type": "string", + "format": "date-time", + "example": "2023-10-01" + }, + "Titre": { + "type": "string", + "example": "Billet 1" + }, + "Contenu": { + "type": "string", + "example": "Lorem ipsum dolor sit amet." + }, + "Commentaires": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Commentaire" + } + } + } + }, + "Commentaire": { + "type": "object", + "properties": { + "COM_DATE": { + "type": "string", + "format": "date-time", + "example": "2023-10-01" + }, + "COM_AUTEUR": { + "type": "string", + "example": "John Doe" + }, + "COM_CONTENU": { + "type": "string", + "example": "Lorem ipsum dolor sit amet." + }, + "billet_id": { + "type": "integer", + "example": 1 + }, + "user_id": { + "type": "integer", + "example": 1 + } + } + }, + "CommentaireRequest": { + "type": "object", + "properties": { + "COM_DATE": { + "type": "string", + "format": "date-time", + "example": "2023-10-01" + }, + "COM_CONTENU": { + "type": "string", + "example": "Lorem ipsum dolor sit amet." + }, + "billet_id": { + "type": "integer", + "example": 1 + }, + "user_id": { + "type": "integer", + "example": 1 + } + } + }, + "LoginRequest": { + "type": "object", + "properties": { + "email": { + "type": "string", + "format": "email", + "example": "au@secou.rs" + }, + "password": { + "type": "string", + "format": "password", + "example": "secret123" + } + } + }, + "TokenResponse": { + "type": "object", + "properties": { + "token": { + "type": "string", + "example": "1|a2b3c4d5e6f7g8h9i0j" + }, + "type": { + "type": "string", + "example": "Bearer" + } + } + }, + "RegisterRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "John Doe" + }, + "email": { + "type": "string", + "format": "email", + "example": "au@secou.rs" + }, + "password": { + "type": "string", + "format": "password", + "example": "secret123" + } + } + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1 + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "email": { + "type": "string", + "format": "email", + "example": "au@secou.rs" + } + } + } + }, + "securitySchemes": { + "sanctum": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "Bearer", + "description": "Utiliser le token Bearer pour l'authentification" + } + } + } +} \ No newline at end of file diff --git a/laravel/openapi-swagger.yml b/laravel/resources/swagger/openapi.yml old mode 100644 new mode 100755 similarity index 100% rename from laravel/openapi-swagger.yml rename to laravel/resources/swagger/openapi.yml diff --git a/laravel/resources/views/welcome.blade.php b/laravel/resources/views/welcome.blade.php old mode 100644 new mode 100755 diff --git a/laravel/routes/console.php b/laravel/routes/console.php old mode 100644 new mode 100755 diff --git a/laravel/routes/web.php b/laravel/routes/web.php old mode 100644 new mode 100755 diff --git a/laravel/storage/app/.gitignore b/laravel/storage/app/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/app/private/.gitignore b/laravel/storage/app/private/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/app/public/.gitignore b/laravel/storage/app/public/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/framework/.gitignore b/laravel/storage/framework/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/framework/cache/.gitignore b/laravel/storage/framework/cache/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/framework/cache/data/.gitignore b/laravel/storage/framework/cache/data/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/framework/sessions/.gitignore b/laravel/storage/framework/sessions/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/framework/testing/.gitignore b/laravel/storage/framework/testing/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/framework/views/.gitignore b/laravel/storage/framework/views/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/storage/logs/.gitignore b/laravel/storage/logs/.gitignore old mode 100644 new mode 100755 diff --git a/laravel/tests/Feature/ExampleTest.php b/laravel/tests/Feature/ExampleTest.php old mode 100644 new mode 100755 diff --git a/laravel/tests/TestCase.php b/laravel/tests/TestCase.php old mode 100644 new mode 100755 diff --git a/laravel/tests/Unit/ExampleTest.php b/laravel/tests/Unit/ExampleTest.php old mode 100644 new mode 100755 diff --git a/laravel/vite.config.js b/laravel/vite.config.js old mode 100644 new mode 100755