diff --git a/docs/concept.mdx b/docs/concept.mdx index ec3b34f..60d4341 100644 --- a/docs/concept.mdx +++ b/docs/concept.mdx @@ -6,34 +6,132 @@ title: "đŸ‘šđŸœâ€đŸ’» Concept et Architecture" import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; import BugReportFeature from "@site/src/components/Partials/BugReportFeature"; -# Bow Framework +## Comprendre le cycle de vie d’une requĂȘte dans BowPHP - - - - +BowPHP est un framework PHP lĂ©ger, conçu pour offrir une structure claire et modulaire. Lorsqu’une requĂȘte arrive, elle suit un chemin bien dĂ©fini appelĂ© **cycle de vie d'une requĂȘte**. Ce cycle est organisĂ© pour sĂ©parer les responsabilitĂ©s, rendre le code facile Ă  maintenir et amĂ©liorer les performances. -Bow est un framework PHP, Ă©crit par **[Franck DAKIA](http://github.com/papac)** et autres contributeurs. +### Le cycle de vie d'une requĂȘte expliquĂ© -L'objectif est de permettre aux dĂ©butants qui souhaitent travailler sur un plus large projet et comprendre le fonctionnement du **dĂ©veloppement collaboratif** de s'y mettre avec aisance et faire de ce framework une rĂ©fĂ©rence dans la communautĂ© PHP. +Chaque requĂȘte passe par plusieurs Ă©tapes avant de gĂ©nĂ©rer une rĂ©ponse pour l'utilisateur. + +Voici les Ă©tapes principales : + +1. **RequĂȘte HTTP** : L'utilisateur envoie une requĂȘte via son navigateur ou une API. +2. **Request** : Le framework capture cette requĂȘte et extrait les donnĂ©es nĂ©cessaires (URL, paramĂštres, corps, etc.). +3. **Kernel** : Le Kernel est le cƓur du framework. Il : + - Charge les fichiers de configuration situĂ©s dans le dossier `config` (comme `config/database.php`). + - Initialise les modules nĂ©cessaires Ă  l'application. +4. **Application** : Elle dĂ©marre le Kernel et prĂ©pare l'environnement pour traiter la requĂȘte. +5. **Routeur** : + - Le routeur dĂ©tecte la route correspondant Ă  la requĂȘte (par exemple, `/users/42` ou `/api/login`). + - Il associe cette route Ă  un contrĂŽleur et une mĂ©thode spĂ©cifique, dĂ©finis directement dans le code des routes. + - Si des middlewares sont dĂ©finis pour cette route, ils sont exĂ©cutĂ©s avant d’appeler le contrĂŽleur. +6. **Middleware** : Les middlewares effectuent des traitements spĂ©cifiques, comme vĂ©rifier l'authentification ou valider les donnĂ©es. +7. **ContrĂŽleur** : Une fois la route validĂ©e, le contrĂŽleur exĂ©cute la logique mĂ©tier (par exemple, rĂ©cupĂ©rer des donnĂ©es ou effectuer une action). +8. **ModĂšle** : Si des donnĂ©es sont nĂ©cessaires, le modĂšle interagit avec la base de donnĂ©es pour les rĂ©cupĂ©rer ou les mettre Ă  jour. +9. **Vue** : Le contrĂŽleur renvoie les donnĂ©es rĂ©cupĂ©rĂ©es au composant Vue, qui gĂ©nĂšre le contenu final (HTML, JSON, etc.). +10. **RĂ©ponse HTTP** : La rĂ©ponse est envoyĂ©e Ă  l'utilisateur. + +### Le rĂŽle du routeur en dĂ©tail + +Le routeur est un composant clĂ© de BowPHP. Il agit comme une "boussole" qui oriente chaque requĂȘte vers le bon contrĂŽleur et la bonne mĂ©thode. + +#### DĂ©tection de la route +Le routeur examine l'URL de la requĂȘte et dĂ©termine quelle route correspond. Les routes sont dĂ©finies dans des fichiers dĂ©diĂ©s (souvent routes/web.php ou routes/api.php). + +Exemple de dĂ©finition de route : + +```php +$app->get('/users/{id}', 'UserController@show'); +$app->post('/api/login', 'AuthController@login'); +``` + +:::note +Ici : +La requĂȘte `GET /users/42` est associĂ©e Ă  la mĂ©thode show du contrĂŽleur UserController. +La requĂȘte `POST /api/login` est associĂ©e Ă  la mĂ©thode login du contrĂŽleur AuthController. +::: + +#### Association au contrĂŽleur + +Une fois la route dĂ©tectĂ©e, le routeur : + +- Valide les paramĂštres de l'URL (comme {id}). +- ExĂ©cute les middlewares dĂ©finis pour cette route (s'il y en a). +- Appelle le contrĂŽleur et la mĂ©thode associĂ©s Ă  la route. + +### Une architecture modulaire + +BowPHP repose sur une architecture modulaire. Chaque module est indĂ©pendant, possĂ©dant sa propre configuration et remplit un rĂŽle spĂ©cifique. Cela rend l’application facile Ă  gĂ©rer et Ă  Ă©tendre. Le routeur est un exemple de cette approche modulaire. Un autre exemple est le module Database, qui gĂšre les connexions Ă  la base de donnĂ©es. + +#### Exemple : Le module Database + +Prenons le cas du module **Database**, qui gĂšre les connexions Ă  la base de donnĂ©es : + +**Fichier de configuration : `config/database.php`** + +Ce fichier contient les paramĂštres nĂ©cessaires pour se connecter Ă  la base de donnĂ©es. Voici un exemple simple : + +```php title="config/database.php" +return [ + 'default' => 'mysql', + 'connections' => [ + 'mysql' => [ + 'driver' => 'mysql', + 'host' => '127.0.0.1', + 'port' => 3306, + 'database' => 'bowphp_app', + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + ], + ], +]; +``` + +#### **Classe `Bow\Database\DatabaseConfiguration`** +Cette classe est chargĂ©e de lire les paramĂštres du fichier `config/database.php` et d’établir une connexion Ă  la base de donnĂ©es. + +#### **RĂŽle du Kernel** +Au dĂ©marrage, le Kernel charge le fichier `config/database.php` Ă  l’aide de `DatabaseConfiguration` dĂ©fini dans `app/Kernel.php` et initialise une connexion Ă  la base de donnĂ©es, prĂȘte Ă  ĂȘtre utilisĂ©e par d’autres composants. + +### Visualisation avec un diagramme + +Voici une reprĂ©sentation visuelle pour mieux comprendre le cycle de vie d'une requĂȘte et l'intĂ©gration modulaire (exemple avec **Database**) : +Charge les configurations + +Voici un diagramme mis Ă  jour, mettant en Ă©vidence le rĂŽle du routeur et l’intĂ©gration modulaire (exemple avec Database) ```mermaid -graph TD - A[RequĂȘte HTTP] -->|EntrĂ©e utilisateur| B[Routeur] - B -->|Associe une route| C[ContrĂŽleur] - C -->|Appelle la logique mĂ©tier| D[ModĂšle] - D -->|Interaction| E[(Base de donnĂ©es)] - C -->|Retourne des donnĂ©es| F[Vue] - F -->|GĂ©nĂšre la rĂ©ponse HTML| G[RĂ©ponse HTTP] +graph TB + A[RequĂȘte HTTP] -->|EntrĂ©e utilisateur| B[Request] + B -->|Passe la requĂȘte| C[Kernel] + C -->|Charge les modules| D[Routeur] + D -->|VĂ©rifie la route et
appelle le contrĂŽleur| E[Middleware] + E -->|Valide la requĂȘte
et continue| F[ContrĂŽleur] + F -->|ExĂ©cute la logique mĂ©tier| G[ModĂšle] + G -->|Interaction avec| H[(Base de donnĂ©es)] + F -->|Retourne les donnĂ©es| I[Vue] + I -->|GĂ©nĂšre la rĂ©ponse HTML/JSON| J[RĂ©ponse HTTP] subgraph Framework BowPHP - B C D + E F + G + I end ``` +### RĂ©sumĂ© des points importants + +- **Cycle de vie structurĂ©** : Une requĂȘte suit un chemin prĂ©cis (Request → Kernel → Routeur → Middleware → ContrĂŽleur → ModĂšle → Vue → RĂ©ponse). +- **RĂŽle du routeur** : Le routeur dĂ©tecte la route correspondant Ă  la requĂȘte et appelle le contrĂŽleur et la mĂ©thode associĂ©s. +- **Kernel** : Orchestre le chargement des configurations depuis le dossier config et initialise les modules. +- **ModularitĂ©** : Chaque composant (routeur, base de donnĂ©es, etc.) est indĂ©pendant, ce qui simplifie la gestion et amĂ©liore la maintenabilitĂ©. + ## Contributing Merci d'avoir envisagĂ© de contribuer Ă  Bow Framework ! Le guide de contribution se trouve dans la documentation. @@ -41,10 +139,5 @@ Merci d'avoir envisagĂ© de contribuer Ă  Bow Framework ! Le guide de contributio - [Franck DAKIA](https://github.com/papac) - [Merci aux collaborateurs](https://github.com/bowphp/app/graphs/contributors) -## Contact - -- [Franck DAKIA](https://github.com/papac) -- [Thanks collaborators](https://github.com/bowphp/docs/graphs/contributors) - diff --git a/docs/service.mdx b/docs/service.mdx index 86a67a7..9950a59 100644 --- a/docs/service.mdx +++ b/docs/service.mdx @@ -7,12 +7,12 @@ import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; # Service -Les services sont des classes simple qui vous voulez injectĂ©es dans vos Controllers, dans d'autre services que peuvent nous permettre de dĂ©coupler les logiquees et donc optimisĂ© votre code source. -Vous pouvez aussi injectĂ©es des modĂšles dans vos services. +Les services sont des classes simples qui vous veulent injecter dans vos Controllers, dans d'autres services que peuvent nous permettre de dĂ©coupler la logique et donc optimisĂ© votre code source. +Vous pouvez aussi injecter des modĂšles dans vos services. ## Utilisation -Pour ajouter un service rien de plus simple que d'untilisĂ© la commande suivante : +Pour ajouter un service rien de plus simple que d'utilisĂ© la commande suivante : ```bash php bow add:service UserService @@ -36,7 +36,7 @@ class UserService ## Utilisation du service -Pour utiliser le service nous allons l'inject lĂ  ou nous voulons l'utiliser, dans notre cas dans un controller. +Pour utiliser le service, nous allons inject lĂ  ou nous voulons l'utiliser, dans notre cas dans un controller. Lancer la commande suivante pour crĂ©er un nouveau controller @@ -44,7 +44,7 @@ Lancer la commande suivante pour crĂ©er un nouveau controller php bow add:controller UserController ``` -Dans le controleur nous allons maintenant injecter le service: +Dans le controller, nous allons maintenant injecter le service : ```php class UserController extends Controller diff --git a/docs/structure.mdx b/docs/structure.mdx index 2ec7a9a..d11fe9f 100644 --- a/docs/structure.mdx +++ b/docs/structure.mdx @@ -42,7 +42,7 @@ Ici, vous retrouverez les dossiers suivants : - __Events__ : Dossier dans lequel sera sauvegardĂ© les events gĂ©nĂ©rĂ©s par Bow Console. - __Models__ : Dossier dans lequel sera sauvegardĂ©s les modĂšles de l'application. - __Validations__ : Dossier dans lequel sera sauvegardĂ©es les validations de l'application. -- __Exceptions__ : Dossier dans lequel sera sauvegardĂ©es les exceptions personnalisĂ©s de l'application. +- __Exceptions__ : Dossier dans lequel sera sauvegardĂ©es les exceptions personnalisĂ©es de l'application. - __Services__ : Dossier dans lequel sera sauvegardĂ©s les services gĂ©nĂ©rĂ©s par Bow Console. - __Producers__ : Dossier dans lequel sera sauvegardĂ©s les producers gĂ©nĂ©rĂ©s par Bow Console. - __Commandes__ : Dossier dans lequel sera sauvegardĂ©es les commandes gĂ©nĂ©rĂ©es par Bow Console. @@ -54,7 +54,7 @@ Vous trouverez aussi les fichiers suivants : ## Dossier frontend -C'est lĂ  que vous allez insĂ©rer tous les fichiers qui sont utilisĂ©s dans les vues de votre application. Vous y retrouverez les dossiers suivant: +C'est lĂ  que vous allez insĂ©rer tous les fichiers qui sont utilisĂ©s dans les vues de votre application. Vous y retrouverez les dossiers suivants : - __js__: Votre fichier `Javascript` seront sauvegardĂ©s ici. - __sass__: Votre ficher scss seront sauvegardĂ©s ici. @@ -68,19 +68,12 @@ C'est lĂ  que vous allez insĂ©rer tous les fichiers qui sont utilisĂ©s dans les ## Dossier var -Ici, Bow va stocker les fichiers de log et le cache de votre application. Vous y retrouverez les dossiers suivant: +Ici, Bow va stocker les fichiers de log et le cache de votre application. Vous y retrouverez les dossiers suivants : -- __storage__: Dossier dans lequel l'application sauvegarde les fichiers tĂ©lĂ©chargĂ© de l'application +- __storage__: Dossier dans lequel l'application sauvegarde les fichiers tĂ©lĂ©chargĂ©s de l'application - __logs__: Dossier dans lequel est sauvegardĂ©s les logs de l'application. - __session__: Dossier dans lequel est sauvegardĂ©s les fichiers de session de l'application. - __cache__: Dossier dans lequel l'application sauvegarde les caches de l'application - __view__: Dossier dans lequel l'application sauvegarde le cache de compilation des vues -## Dossier tests - -Ici, vous allez stocker vos fichiers de test unity. Et par souci de bien faire, nous avons : - -- __Http__: Vos sauvegarder vos fichiers de test Http seront ici -- __Unity__: Vos fichiers de test Unity seront ici - diff --git a/docs/upload.mdx b/docs/upload.mdx index a339362..e3d50e7 100644 --- a/docs/upload.mdx +++ b/docs/upload.mdx @@ -8,14 +8,14 @@ import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; - [Traiter les fichiers envoyĂ©s](#traiter-les-fichiers-envoyĂ©s) - [Determiner si un fichier existe](#determiner-si-un-fichier-existe) - [Validation des tĂ©lĂ©chargements rĂ©ussis](#validation-des-tĂ©lĂ©chargements-rĂ©ussis) -- [Savegarder le fichier](#savegarder-le-fichier) +- [Sauvegarder le fichier](#savegarder-le-fichier) - [Il manque quelque chose ?](#il-manque-quelque-chose-) ## Traiter les fichiers envoyĂ©s Souvent les requĂȘtes sont associĂ©s Ă  des fichiers envoyĂ©s par l'utilisateur, vous pouvez traiter ces fichiers sur [`Bow\Http\Request`](https://bowphp.com/api/master/Bow/Http/Request.html) les mĂ©thodes `file` et le helper du mĂȘme nom. -ConsidĂ©rons le formulaire suivant: +ConsidĂ©rons le formulaire suivant : ```html
@@ -40,7 +40,7 @@ $app->post('/upload', function(Request $request) { }); ``` -Le resultat de `debug` : +Le rĂ©sultat de `debug` : ```php // Debug output @@ -87,9 +87,9 @@ $file = $request->file('photo'); $file->moveTo("/path/to/your/store/directory", $filename = null); ``` -Si `$filename` est `null`, sa valeur sera le nom du fichier hasher avec la mĂ©thode [`getHashName`](https://bowphp.com/api/master/Bow/Http/UploadFile.html#method_getHashName). +Si `$filename` est `null`, sa valeur sera le nom du fichier hashĂ© avec la mĂ©thode [`getHashName`](https://bowphp.com/api/master/Bow/Http/UploadFile.html#method_getHashName). -Souvent dans le cas oĂč vous attendez des fichiers envoyĂ© via un formulaire dont le champs est sous la forme `photo[]`. la mĂ©thode `file` retourne une [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html): +Souvent dans le cas oĂč vous attendez des fichiers envoyĂ© via un formulaire dont les champs est sous la forme `photo[]`. La mĂ©thode `file` retourne une [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html): ```html @@ -99,7 +99,7 @@ Souvent dans le cas oĂč vous attendez des fichiers envoyĂ© via un formulaire don
``` -Dans cette exemple, la mĂ©thode `file` retournera une [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html) qui contiendra pour chaque oruccencre une instance de [`Bow\Http\UploadFile`](https://bowphp.com/api/master/Bow/Http/UploadFile.html). +Dans cet exemple, la mĂ©thode `file` retournera une [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html) qui contiendra pour chaque occurrence une instance de [`Bow\Http\UploadFile`](https://bowphp.com/api/master/Bow/Http/UploadFile.html). ```php use Bow\Http\Request; diff --git a/versioned_docs/version-4.x/concept.mdx b/versioned_docs/version-4.x/concept.mdx index f53645f..60d4341 100644 --- a/versioned_docs/version-4.x/concept.mdx +++ b/versioned_docs/version-4.x/concept.mdx @@ -4,34 +4,140 @@ title: "đŸ‘šđŸœâ€đŸ’» Concept et Architecture" --- import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; +import BugReportFeature from "@site/src/components/Partials/BugReportFeature"; - +## Comprendre le cycle de vie d’une requĂȘte dans BowPHP -## Bow Framework +BowPHP est un framework PHP lĂ©ger, conçu pour offrir une structure claire et modulaire. Lorsqu’une requĂȘte arrive, elle suit un chemin bien dĂ©fini appelĂ© **cycle de vie d'une requĂȘte**. Ce cycle est organisĂ© pour sĂ©parer les responsabilitĂ©s, rendre le code facile Ă  maintenir et amĂ©liorer les performances. - - - - +### Le cycle de vie d'une requĂȘte expliquĂ© -Bow est un framework PHP, Ă©crit par **[Franck DAKIA](http://github.com/papac)** et autres contributeurs. +Chaque requĂȘte passe par plusieurs Ă©tapes avant de gĂ©nĂ©rer une rĂ©ponse pour l'utilisateur. -L'objectif est de permettre aux dĂ©butants qui souhaitent travailler sur un plus large projet et comprendre le fonctionnement du **dĂ©veloppement collaboratif** de s'y mettre avec aisance et faire de ce framework une rĂ©fĂ©rence dans la communautĂ© PHP. +Voici les Ă©tapes principales : -**Faites-vous une idĂ©e en commençant par la [documentation](https://bowphp.com).** +1. **RequĂȘte HTTP** : L'utilisateur envoie une requĂȘte via son navigateur ou une API. +2. **Request** : Le framework capture cette requĂȘte et extrait les donnĂ©es nĂ©cessaires (URL, paramĂštres, corps, etc.). +3. **Kernel** : Le Kernel est le cƓur du framework. Il : + - Charge les fichiers de configuration situĂ©s dans le dossier `config` (comme `config/database.php`). + - Initialise les modules nĂ©cessaires Ă  l'application. +4. **Application** : Elle dĂ©marre le Kernel et prĂ©pare l'environnement pour traiter la requĂȘte. +5. **Routeur** : + - Le routeur dĂ©tecte la route correspondant Ă  la requĂȘte (par exemple, `/users/42` ou `/api/login`). + - Il associe cette route Ă  un contrĂŽleur et une mĂ©thode spĂ©cifique, dĂ©finis directement dans le code des routes. + - Si des middlewares sont dĂ©finis pour cette route, ils sont exĂ©cutĂ©s avant d’appeler le contrĂŽleur. +6. **Middleware** : Les middlewares effectuent des traitements spĂ©cifiques, comme vĂ©rifier l'authentification ou valider les donnĂ©es. +7. **ContrĂŽleur** : Une fois la route validĂ©e, le contrĂŽleur exĂ©cute la logique mĂ©tier (par exemple, rĂ©cupĂ©rer des donnĂ©es ou effectuer une action). +8. **ModĂšle** : Si des donnĂ©es sont nĂ©cessaires, le modĂšle interagit avec la base de donnĂ©es pour les rĂ©cupĂ©rer ou les mettre Ă  jour. +9. **Vue** : Le contrĂŽleur renvoie les donnĂ©es rĂ©cupĂ©rĂ©es au composant Vue, qui gĂ©nĂšre le contenu final (HTML, JSON, etc.). +10. **RĂ©ponse HTTP** : La rĂ©ponse est envoyĂ©e Ă  l'utilisateur. -## Contributing +### Le rĂŽle du routeur en dĂ©tail -Merci d'avoir envisagĂ© de contribuer Ă  Bow Framework! Le guide de contribution se trouve dans la documentation. +Le routeur est un composant clĂ© de BowPHP. Il agit comme une "boussole" qui oriente chaque requĂȘte vers le bon contrĂŽleur et la bonne mĂ©thode. -- [Franck DAKIA](https://github.com/papac) -- [Merci aux collaborateurs](https://github.com/bowphp/app/graphs/contributors) +#### DĂ©tection de la route +Le routeur examine l'URL de la requĂȘte et dĂ©termine quelle route correspond. Les routes sont dĂ©finies dans des fichiers dĂ©diĂ©s (souvent routes/web.php ou routes/api.php). -## Contact +Exemple de dĂ©finition de route : -- [Franck DAKIA](https://github.com/papac) -- [Thank's collaborators](https://github.com/bowphp/docs/graphs/contributors) +```php +$app->get('/users/{id}', 'UserController@show'); +$app->post('/api/login', 'AuthController@login'); +``` + +:::note +Ici : +La requĂȘte `GET /users/42` est associĂ©e Ă  la mĂ©thode show du contrĂŽleur UserController. +La requĂȘte `POST /api/login` est associĂ©e Ă  la mĂ©thode login du contrĂŽleur AuthController. +::: + +#### Association au contrĂŽleur + +Une fois la route dĂ©tectĂ©e, le routeur : + +- Valide les paramĂštres de l'URL (comme {id}). +- ExĂ©cute les middlewares dĂ©finis pour cette route (s'il y en a). +- Appelle le contrĂŽleur et la mĂ©thode associĂ©s Ă  la route. + +### Une architecture modulaire + +BowPHP repose sur une architecture modulaire. Chaque module est indĂ©pendant, possĂ©dant sa propre configuration et remplit un rĂŽle spĂ©cifique. Cela rend l’application facile Ă  gĂ©rer et Ă  Ă©tendre. Le routeur est un exemple de cette approche modulaire. Un autre exemple est le module Database, qui gĂšre les connexions Ă  la base de donnĂ©es. + +#### Exemple : Le module Database + +Prenons le cas du module **Database**, qui gĂšre les connexions Ă  la base de donnĂ©es : + +**Fichier de configuration : `config/database.php`** + +Ce fichier contient les paramĂštres nĂ©cessaires pour se connecter Ă  la base de donnĂ©es. Voici un exemple simple : + +```php title="config/database.php" +return [ + 'default' => 'mysql', + 'connections' => [ + 'mysql' => [ + 'driver' => 'mysql', + 'host' => '127.0.0.1', + 'port' => 3306, + 'database' => 'bowphp_app', + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + ], + ], +]; +``` -**S'il vous plaĂźt, s'il y a un bogue sur le projet s'il vous plaĂźt contactez-moi par courriel ou laissez-moi un message sur [slack](https://bowphp.slack.com) ou [rejoignez-nous sur slack](https://join.slack.com/t/bowphp/shared_invite/enQtNzMxOTQ0MTM2ODM5LTQ3MWQ3Mzc1NDFiNDYxMTAyNzBkNDJlMTgwNDJjM2QyMzA2YTk4NDYyN2NiMzM0YTZmNjU1YjBhNmJjZThiM2Q)** +#### **Classe `Bow\Database\DatabaseConfiguration`** +Cette classe est chargĂ©e de lire les paramĂštres du fichier `config/database.php` et d’établir une connexion Ă  la base de donnĂ©es. + +#### **RĂŽle du Kernel** +Au dĂ©marrage, le Kernel charge le fichier `config/database.php` Ă  l’aide de `DatabaseConfiguration` dĂ©fini dans `app/Kernel.php` et initialise une connexion Ă  la base de donnĂ©es, prĂȘte Ă  ĂȘtre utilisĂ©e par d’autres composants. + +### Visualisation avec un diagramme + +Voici une reprĂ©sentation visuelle pour mieux comprendre le cycle de vie d'une requĂȘte et l'intĂ©gration modulaire (exemple avec **Database**) : +Charge les configurations + +Voici un diagramme mis Ă  jour, mettant en Ă©vidence le rĂŽle du routeur et l’intĂ©gration modulaire (exemple avec Database) + +```mermaid +graph TB + A[RequĂȘte HTTP] -->|EntrĂ©e utilisateur| B[Request] + B -->|Passe la requĂȘte| C[Kernel] + C -->|Charge les modules| D[Routeur] + D -->|VĂ©rifie la route et
appelle le contrĂŽleur| E[Middleware] + E -->|Valide la requĂȘte
et continue| F[ContrĂŽleur] + F -->|ExĂ©cute la logique mĂ©tier| G[ModĂšle] + G -->|Interaction avec| H[(Base de donnĂ©es)] + F -->|Retourne les donnĂ©es| I[Vue] + I -->|GĂ©nĂšre la rĂ©ponse HTML/JSON| J[RĂ©ponse HTTP] + + subgraph Framework BowPHP + C + D + E + F + G + I + end +``` + +### RĂ©sumĂ© des points importants + +- **Cycle de vie structurĂ©** : Une requĂȘte suit un chemin prĂ©cis (Request → Kernel → Routeur → Middleware → ContrĂŽleur → ModĂšle → Vue → RĂ©ponse). +- **RĂŽle du routeur** : Le routeur dĂ©tecte la route correspondant Ă  la requĂȘte et appelle le contrĂŽleur et la mĂ©thode associĂ©s. +- **Kernel** : Orchestre le chargement des configurations depuis le dossier config et initialise les modules. +- **ModularitĂ©** : Chaque composant (routeur, base de donnĂ©es, etc.) est indĂ©pendant, ce qui simplifie la gestion et amĂ©liore la maintenabilitĂ©. + +## Contributing + +Merci d'avoir envisagĂ© de contribuer Ă  Bow Framework ! Le guide de contribution se trouve dans la documentation. + +- [Franck DAKIA](https://github.com/papac) +- [Merci aux collaborateurs](https://github.com/bowphp/app/graphs/contributors) + diff --git a/versioned_docs/version-5.x/concept.mdx b/versioned_docs/version-5.x/concept.mdx index 92be476..60d4341 100644 --- a/versioned_docs/version-5.x/concept.mdx +++ b/versioned_docs/version-5.x/concept.mdx @@ -6,18 +6,131 @@ title: "đŸ‘šđŸœâ€đŸ’» Concept et Architecture" import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; import BugReportFeature from "@site/src/components/Partials/BugReportFeature"; -# Bow Framework +## Comprendre le cycle de vie d’une requĂȘte dans BowPHP - - - - +BowPHP est un framework PHP lĂ©ger, conçu pour offrir une structure claire et modulaire. Lorsqu’une requĂȘte arrive, elle suit un chemin bien dĂ©fini appelĂ© **cycle de vie d'une requĂȘte**. Ce cycle est organisĂ© pour sĂ©parer les responsabilitĂ©s, rendre le code facile Ă  maintenir et amĂ©liorer les performances. -Bow est un framework PHP, Ă©crit par **[Franck DAKIA](http://github.com/papac)** et autres contributeurs. +### Le cycle de vie d'une requĂȘte expliquĂ© -L'objectif est de permettre aux dĂ©butants qui souhaitent travailler sur un plus large projet et comprendre le fonctionnement du **dĂ©veloppement collaboratif** de s'y mettre avec aisance et faire de ce framework une rĂ©fĂ©rence dans la communautĂ© PHP. +Chaque requĂȘte passe par plusieurs Ă©tapes avant de gĂ©nĂ©rer une rĂ©ponse pour l'utilisateur. -**Faites-vous une idĂ©e en commençant par la [documentation](https://bowphp.com).** +Voici les Ă©tapes principales : + +1. **RequĂȘte HTTP** : L'utilisateur envoie une requĂȘte via son navigateur ou une API. +2. **Request** : Le framework capture cette requĂȘte et extrait les donnĂ©es nĂ©cessaires (URL, paramĂštres, corps, etc.). +3. **Kernel** : Le Kernel est le cƓur du framework. Il : + - Charge les fichiers de configuration situĂ©s dans le dossier `config` (comme `config/database.php`). + - Initialise les modules nĂ©cessaires Ă  l'application. +4. **Application** : Elle dĂ©marre le Kernel et prĂ©pare l'environnement pour traiter la requĂȘte. +5. **Routeur** : + - Le routeur dĂ©tecte la route correspondant Ă  la requĂȘte (par exemple, `/users/42` ou `/api/login`). + - Il associe cette route Ă  un contrĂŽleur et une mĂ©thode spĂ©cifique, dĂ©finis directement dans le code des routes. + - Si des middlewares sont dĂ©finis pour cette route, ils sont exĂ©cutĂ©s avant d’appeler le contrĂŽleur. +6. **Middleware** : Les middlewares effectuent des traitements spĂ©cifiques, comme vĂ©rifier l'authentification ou valider les donnĂ©es. +7. **ContrĂŽleur** : Une fois la route validĂ©e, le contrĂŽleur exĂ©cute la logique mĂ©tier (par exemple, rĂ©cupĂ©rer des donnĂ©es ou effectuer une action). +8. **ModĂšle** : Si des donnĂ©es sont nĂ©cessaires, le modĂšle interagit avec la base de donnĂ©es pour les rĂ©cupĂ©rer ou les mettre Ă  jour. +9. **Vue** : Le contrĂŽleur renvoie les donnĂ©es rĂ©cupĂ©rĂ©es au composant Vue, qui gĂ©nĂšre le contenu final (HTML, JSON, etc.). +10. **RĂ©ponse HTTP** : La rĂ©ponse est envoyĂ©e Ă  l'utilisateur. + +### Le rĂŽle du routeur en dĂ©tail + +Le routeur est un composant clĂ© de BowPHP. Il agit comme une "boussole" qui oriente chaque requĂȘte vers le bon contrĂŽleur et la bonne mĂ©thode. + +#### DĂ©tection de la route +Le routeur examine l'URL de la requĂȘte et dĂ©termine quelle route correspond. Les routes sont dĂ©finies dans des fichiers dĂ©diĂ©s (souvent routes/web.php ou routes/api.php). + +Exemple de dĂ©finition de route : + +```php +$app->get('/users/{id}', 'UserController@show'); +$app->post('/api/login', 'AuthController@login'); +``` + +:::note +Ici : +La requĂȘte `GET /users/42` est associĂ©e Ă  la mĂ©thode show du contrĂŽleur UserController. +La requĂȘte `POST /api/login` est associĂ©e Ă  la mĂ©thode login du contrĂŽleur AuthController. +::: + +#### Association au contrĂŽleur + +Une fois la route dĂ©tectĂ©e, le routeur : + +- Valide les paramĂštres de l'URL (comme {id}). +- ExĂ©cute les middlewares dĂ©finis pour cette route (s'il y en a). +- Appelle le contrĂŽleur et la mĂ©thode associĂ©s Ă  la route. + +### Une architecture modulaire + +BowPHP repose sur une architecture modulaire. Chaque module est indĂ©pendant, possĂ©dant sa propre configuration et remplit un rĂŽle spĂ©cifique. Cela rend l’application facile Ă  gĂ©rer et Ă  Ă©tendre. Le routeur est un exemple de cette approche modulaire. Un autre exemple est le module Database, qui gĂšre les connexions Ă  la base de donnĂ©es. + +#### Exemple : Le module Database + +Prenons le cas du module **Database**, qui gĂšre les connexions Ă  la base de donnĂ©es : + +**Fichier de configuration : `config/database.php`** + +Ce fichier contient les paramĂštres nĂ©cessaires pour se connecter Ă  la base de donnĂ©es. Voici un exemple simple : + +```php title="config/database.php" +return [ + 'default' => 'mysql', + 'connections' => [ + 'mysql' => [ + 'driver' => 'mysql', + 'host' => '127.0.0.1', + 'port' => 3306, + 'database' => 'bowphp_app', + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + ], + ], +]; +``` + +#### **Classe `Bow\Database\DatabaseConfiguration`** +Cette classe est chargĂ©e de lire les paramĂštres du fichier `config/database.php` et d’établir une connexion Ă  la base de donnĂ©es. + +#### **RĂŽle du Kernel** +Au dĂ©marrage, le Kernel charge le fichier `config/database.php` Ă  l’aide de `DatabaseConfiguration` dĂ©fini dans `app/Kernel.php` et initialise une connexion Ă  la base de donnĂ©es, prĂȘte Ă  ĂȘtre utilisĂ©e par d’autres composants. + +### Visualisation avec un diagramme + +Voici une reprĂ©sentation visuelle pour mieux comprendre le cycle de vie d'une requĂȘte et l'intĂ©gration modulaire (exemple avec **Database**) : +Charge les configurations + +Voici un diagramme mis Ă  jour, mettant en Ă©vidence le rĂŽle du routeur et l’intĂ©gration modulaire (exemple avec Database) + +```mermaid +graph TB + A[RequĂȘte HTTP] -->|EntrĂ©e utilisateur| B[Request] + B -->|Passe la requĂȘte| C[Kernel] + C -->|Charge les modules| D[Routeur] + D -->|VĂ©rifie la route et
appelle le contrĂŽleur| E[Middleware] + E -->|Valide la requĂȘte
et continue| F[ContrĂŽleur] + F -->|ExĂ©cute la logique mĂ©tier| G[ModĂšle] + G -->|Interaction avec| H[(Base de donnĂ©es)] + F -->|Retourne les donnĂ©es| I[Vue] + I -->|GĂ©nĂšre la rĂ©ponse HTML/JSON| J[RĂ©ponse HTTP] + + subgraph Framework BowPHP + C + D + E + F + G + I + end +``` + +### RĂ©sumĂ© des points importants + +- **Cycle de vie structurĂ©** : Une requĂȘte suit un chemin prĂ©cis (Request → Kernel → Routeur → Middleware → ContrĂŽleur → ModĂšle → Vue → RĂ©ponse). +- **RĂŽle du routeur** : Le routeur dĂ©tecte la route correspondant Ă  la requĂȘte et appelle le contrĂŽleur et la mĂ©thode associĂ©s. +- **Kernel** : Orchestre le chargement des configurations depuis le dossier config et initialise les modules. +- **ModularitĂ©** : Chaque composant (routeur, base de donnĂ©es, etc.) est indĂ©pendant, ce qui simplifie la gestion et amĂ©liore la maintenabilitĂ©. ## Contributing @@ -26,10 +139,5 @@ Merci d'avoir envisagĂ© de contribuer Ă  Bow Framework ! Le guide de contributio - [Franck DAKIA](https://github.com/papac) - [Merci aux collaborateurs](https://github.com/bowphp/app/graphs/contributors) -## Contact - -- [Franck DAKIA](https://github.com/papac) -- [Thanks collaborators](https://github.com/bowphp/docs/graphs/contributors) - diff --git a/versioned_docs/version-5.x/console.mdx b/versioned_docs/version-5.x/console.mdx index bc725b1..4a6cfe3 100644 --- a/versioned_docs/version-5.x/console.mdx +++ b/versioned_docs/version-5.x/console.mdx @@ -1,6 +1,6 @@ --- id: console -title: "đŸ‘šđŸŸâ€đŸ’» Bow Console" +title: "đŸ‘šđŸŸâ€đŸ’» Console" --- import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; diff --git a/versioned_docs/version-5.x/package.mdx b/versioned_docs/version-5.x/package.mdx index bc4ced9..1b04470 100644 --- a/versioned_docs/version-5.x/package.mdx +++ b/versioned_docs/version-5.x/package.mdx @@ -1,6 +1,6 @@ --- id: package -title: "📩 Bow Package" +title: "📩 Package" --- import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; diff --git a/versioned_docs/version-5.x/responses.mdx b/versioned_docs/version-5.x/responses.mdx index a5bf277..f51284b 100644 --- a/versioned_docs/version-5.x/responses.mdx +++ b/versioned_docs/version-5.x/responses.mdx @@ -40,8 +40,7 @@ Tous les routes et contrĂŽleurs doivent retourner une rĂ©ponse Ă  renvoyer Ă  l' Une rĂ©ponse HTTP peut ĂȘtre une chaine de caractĂšre. ```php -$app->get('/', function () -{ +$app->get('/', function () { return "Hello, world"; }); ``` @@ -51,18 +50,15 @@ $app->get('/', function () Une rĂ©ponse HTTP peut ĂȘtre une instance de [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html). ```php -$app->get('/array', function () -{ +$app->get('/array', function () { return [10, 2, 12, 'name' => 'Dakia']; }); -$app->get('/collection', function () -{ +$app->get('/collection', function () { return collect([10, 2, 12]); }); -$app->get('/object', function () -{ +$app->get('/object', function () { return (object) ['name' => 'Dakia']; }); ``` @@ -74,8 +70,7 @@ La rĂ©ponse HTTP peut ĂȘtre un `Model` ou une `Collection` de modĂšle, Bow la co ```php use App\Models\User; -$app->get('/', function () -{ +$app->get('/', function () { $model = User::where('id', 1)->first(); return $model; @@ -91,8 +86,7 @@ Il est trĂšs important d'ajouter les codes d'erreurs Ă  votre rĂ©ponse HTTP si v ```php use App\Models\User; -$app->get('/', function () -{ +$app->get('/', function () { $response = response(); return $response->status(400); diff --git a/versioned_docs/version-5.x/service.mdx b/versioned_docs/version-5.x/service.mdx index 2e9aea1..9950a59 100644 --- a/versioned_docs/version-5.x/service.mdx +++ b/versioned_docs/version-5.x/service.mdx @@ -5,14 +5,14 @@ title: "🏱 Approche Service" import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; -## Service +# Service -Les services sont des classes simple qui vous voulez injectĂ©es dans vos Controllers, dans d'autre services que peuvent nous permettre de dĂ©coupler les logiquees et donc optimisĂ© votre code source. -Vous pouvez aussi injectĂ©es des modĂšles dans vos services. +Les services sont des classes simples qui vous veulent injecter dans vos Controllers, dans d'autres services que peuvent nous permettre de dĂ©coupler la logique et donc optimisĂ© votre code source. +Vous pouvez aussi injecter des modĂšles dans vos services. ## Utilisation -Pour ajouter un service rien de plus simple que d'untilisĂ© la commande suivante : +Pour ajouter un service rien de plus simple que d'utilisĂ© la commande suivante : ```bash php bow add:service UserService @@ -34,9 +34,9 @@ class UserService } ``` -# Utilisation du service +## Utilisation du service -Pour utiliser le service nous allons l'inject lĂ  ou nous voulons l'utiliser, dans notre cas dans un controller. +Pour utiliser le service, nous allons inject lĂ  ou nous voulons l'utiliser, dans notre cas dans un controller. Lancer la commande suivante pour crĂ©er un nouveau controller @@ -44,7 +44,7 @@ Lancer la commande suivante pour crĂ©er un nouveau controller php bow add:controller UserController ``` -Dans le controleur nous allons maintenant injecter le service: +Dans le controller, nous allons maintenant injecter le service : ```php class UserController extends Controller @@ -60,7 +60,6 @@ class UserController extends Controller // do something } } - ``` diff --git a/versioned_docs/version-5.x/soauth.mdx b/versioned_docs/version-5.x/soauth.mdx index 75bf6f9..6f80239 100644 --- a/versioned_docs/version-5.x/soauth.mdx +++ b/versioned_docs/version-5.x/soauth.mdx @@ -5,15 +5,10 @@ title: "🔐 Soauth" import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; -- [soauth](#soauth) -- [A propos](#a-props) - -# Soauth +- [Installation](#Installation) +- [] Package d'authentification via les rĂ©seaux sociaux pour Bow Framework. - -## À propos - Ce package utilise le package [`thephpleague/oauth2-client`](https://github.com/thephpleague/oauth2-client) pour faire un wrapper. Actuellement, il supporte le fournisseur suivant : @@ -33,11 +28,11 @@ Pour installer ce paquet, vous devez utiliser [composer](https://getcomposer.org composer require bowphp/soauth ``` -### Configuration +## Configuration AprĂšs l'installation Dans votre fichier `.env.json`, vous devez dĂ©finir les informations d'accĂšs au fournisseur comme suit: -#### Pour facebook +### Configuration facebook Vous pouvez crĂ©er la nouvelle application facebook Ă  l'adresse [https://developers.facebook.com/fr](https://developers.facebook.com/fr). @@ -47,7 +42,7 @@ FACEBOOK_CLIENT_SECRET=client_secret FACEBOOK_REDIRECT_URI=redirect_uri ``` -#### Pour gitlab : +### Configuration gitlab ```bash GITLAB_CLIENT_ID=client_id @@ -55,7 +50,7 @@ GITLAB_CLIENT_SECRET=client_secret GITLAB_REDIRECT_URI=redirect_uri ``` -#### Pour github : +### Configuration github ```bash GITHUB_CLIENT_ID=client_id @@ -63,9 +58,11 @@ GITHUB_CLIENT_SECRET=client_secret GITHUB_REDIRECT_URI=redirect_uri ``` +> Ainsi de suite, la configuration des autres providers suivent la mĂȘme approche. + ## Utilisation -Pour utiliser le package, vous devez importer la configuration du package: +Pour utiliser le package, vous devez importer la configuration du package : ```php return [ @@ -77,9 +74,7 @@ return [ Nous considĂ©rons le contrĂŽleur suivant : ```php -get('/oauth/:provider/redirect', 'SoauthController::redirect'); $app->get('/oauth/:provider/callback', 'SoauthController::handle'); ``` diff --git a/versioned_docs/version-5.x/structure.mdx b/versioned_docs/version-5.x/structure.mdx index 2ec7a9a..d11fe9f 100644 --- a/versioned_docs/version-5.x/structure.mdx +++ b/versioned_docs/version-5.x/structure.mdx @@ -42,7 +42,7 @@ Ici, vous retrouverez les dossiers suivants : - __Events__ : Dossier dans lequel sera sauvegardĂ© les events gĂ©nĂ©rĂ©s par Bow Console. - __Models__ : Dossier dans lequel sera sauvegardĂ©s les modĂšles de l'application. - __Validations__ : Dossier dans lequel sera sauvegardĂ©es les validations de l'application. -- __Exceptions__ : Dossier dans lequel sera sauvegardĂ©es les exceptions personnalisĂ©s de l'application. +- __Exceptions__ : Dossier dans lequel sera sauvegardĂ©es les exceptions personnalisĂ©es de l'application. - __Services__ : Dossier dans lequel sera sauvegardĂ©s les services gĂ©nĂ©rĂ©s par Bow Console. - __Producers__ : Dossier dans lequel sera sauvegardĂ©s les producers gĂ©nĂ©rĂ©s par Bow Console. - __Commandes__ : Dossier dans lequel sera sauvegardĂ©es les commandes gĂ©nĂ©rĂ©es par Bow Console. @@ -54,7 +54,7 @@ Vous trouverez aussi les fichiers suivants : ## Dossier frontend -C'est lĂ  que vous allez insĂ©rer tous les fichiers qui sont utilisĂ©s dans les vues de votre application. Vous y retrouverez les dossiers suivant: +C'est lĂ  que vous allez insĂ©rer tous les fichiers qui sont utilisĂ©s dans les vues de votre application. Vous y retrouverez les dossiers suivants : - __js__: Votre fichier `Javascript` seront sauvegardĂ©s ici. - __sass__: Votre ficher scss seront sauvegardĂ©s ici. @@ -68,19 +68,12 @@ C'est lĂ  que vous allez insĂ©rer tous les fichiers qui sont utilisĂ©s dans les ## Dossier var -Ici, Bow va stocker les fichiers de log et le cache de votre application. Vous y retrouverez les dossiers suivant: +Ici, Bow va stocker les fichiers de log et le cache de votre application. Vous y retrouverez les dossiers suivants : -- __storage__: Dossier dans lequel l'application sauvegarde les fichiers tĂ©lĂ©chargĂ© de l'application +- __storage__: Dossier dans lequel l'application sauvegarde les fichiers tĂ©lĂ©chargĂ©s de l'application - __logs__: Dossier dans lequel est sauvegardĂ©s les logs de l'application. - __session__: Dossier dans lequel est sauvegardĂ©s les fichiers de session de l'application. - __cache__: Dossier dans lequel l'application sauvegarde les caches de l'application - __view__: Dossier dans lequel l'application sauvegarde le cache de compilation des vues -## Dossier tests - -Ici, vous allez stocker vos fichiers de test unity. Et par souci de bien faire, nous avons : - -- __Http__: Vos sauvegarder vos fichiers de test Http seront ici -- __Unity__: Vos fichiers de test Unity seront ici - diff --git a/versioned_docs/version-5.x/upload.mdx b/versioned_docs/version-5.x/upload.mdx index a339362..e3d50e7 100644 --- a/versioned_docs/version-5.x/upload.mdx +++ b/versioned_docs/version-5.x/upload.mdx @@ -8,14 +8,14 @@ import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; - [Traiter les fichiers envoyĂ©s](#traiter-les-fichiers-envoyĂ©s) - [Determiner si un fichier existe](#determiner-si-un-fichier-existe) - [Validation des tĂ©lĂ©chargements rĂ©ussis](#validation-des-tĂ©lĂ©chargements-rĂ©ussis) -- [Savegarder le fichier](#savegarder-le-fichier) +- [Sauvegarder le fichier](#savegarder-le-fichier) - [Il manque quelque chose ?](#il-manque-quelque-chose-) ## Traiter les fichiers envoyĂ©s Souvent les requĂȘtes sont associĂ©s Ă  des fichiers envoyĂ©s par l'utilisateur, vous pouvez traiter ces fichiers sur [`Bow\Http\Request`](https://bowphp.com/api/master/Bow/Http/Request.html) les mĂ©thodes `file` et le helper du mĂȘme nom. -ConsidĂ©rons le formulaire suivant: +ConsidĂ©rons le formulaire suivant : ```html
@@ -40,7 +40,7 @@ $app->post('/upload', function(Request $request) { }); ``` -Le resultat de `debug` : +Le rĂ©sultat de `debug` : ```php // Debug output @@ -87,9 +87,9 @@ $file = $request->file('photo'); $file->moveTo("/path/to/your/store/directory", $filename = null); ``` -Si `$filename` est `null`, sa valeur sera le nom du fichier hasher avec la mĂ©thode [`getHashName`](https://bowphp.com/api/master/Bow/Http/UploadFile.html#method_getHashName). +Si `$filename` est `null`, sa valeur sera le nom du fichier hashĂ© avec la mĂ©thode [`getHashName`](https://bowphp.com/api/master/Bow/Http/UploadFile.html#method_getHashName). -Souvent dans le cas oĂč vous attendez des fichiers envoyĂ© via un formulaire dont le champs est sous la forme `photo[]`. la mĂ©thode `file` retourne une [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html): +Souvent dans le cas oĂč vous attendez des fichiers envoyĂ© via un formulaire dont les champs est sous la forme `photo[]`. La mĂ©thode `file` retourne une [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html): ```html @@ -99,7 +99,7 @@ Souvent dans le cas oĂč vous attendez des fichiers envoyĂ© via un formulaire don
``` -Dans cette exemple, la mĂ©thode `file` retournera une [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html) qui contiendra pour chaque oruccencre une instance de [`Bow\Http\UploadFile`](https://bowphp.com/api/master/Bow/Http/UploadFile.html). +Dans cet exemple, la mĂ©thode `file` retournera une [`Bow\Support\Collection`](https://bowphp.com/api/master/Bow/Support/Collection.html) qui contiendra pour chaque occurrence une instance de [`Bow\Http\UploadFile`](https://bowphp.com/api/master/Bow/Http/UploadFile.html). ```php use Bow\Http\Request; diff --git a/versioned_docs/version-5.x/what-is-new.mdx b/versioned_docs/version-5.x/what-is-new.mdx deleted file mode 100644 index 76062ec..0000000 --- a/versioned_docs/version-5.x/what-is-new.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -id: what-is-new -title: "🆕 Quoi de neuf" ---- - -import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; - - diff --git a/versioned_sidebars/version-4.x-sidebars.json b/versioned_sidebars/version-4.x-sidebars.json index afdc5b4..ceacd82 100644 --- a/versioned_sidebars/version-4.x-sidebars.json +++ b/versioned_sidebars/version-4.x-sidebars.json @@ -1,7 +1,7 @@ { "docs": { "DĂ©marrage": [ - "what-is-new", + "concept", "installation", "configuration", "structure", diff --git a/versioned_sidebars/version-5.x-sidebars.json b/versioned_sidebars/version-5.x-sidebars.json index 3978428..53f9019 100644 --- a/versioned_sidebars/version-5.x-sidebars.json +++ b/versioned_sidebars/version-5.x-sidebars.json @@ -1,7 +1,7 @@ { "docs": { "DĂ©marrage": [ - "what-is-new", + "concept", "installation", "configuration", "structure",