Skip to content

Commit 96dd739

Browse files
authored
docs: sync French docs with English (php#1475)
* docs: update configuration options for frankenphp and add file watching details * docs: add classic mode usage in french documentation Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: add French metrics documentation Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: improve formatting and clarity in configuration documentation Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: update contributing guide with build instructions and debugging tips Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: fix link formatting in classic mode documentation Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: enhance Docker documentation with tag pattern for FrankenPHP image and usage details Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: enhance embed documentation with PHP extensions customization Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: add static binary packaging steps Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: add troubleshooting for TLS/SSL issues with static binaries Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: add max_threads and try_files configuration details to performance documentation Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: update Docker run command syntax for clarity Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: add optional dependencies and build tags for Brotli and file watcher features Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: enhance static binary documentation with build instructions and performance tips Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: add file change watch and manual worker restart instructions to worker documentation Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: typo * docs: remove english text in french doc * docs: last missing translations for worker failures * docs: typo * docs: typo * docs: fix lint errors * docs: add max_wait_time configuration details and clarify thread scaling Signed-off-by: Romain Bastide <romain.bastide@orange.com> * docs: add missing translations for thread pool and max_threads configuration Signed-off-by: Romain Bastide <romain.bastide@orange.com> --------- Signed-off-by: Romain Bastide <romain.bastide@orange.com>
1 parent 729cf9b commit 96dd739

13 files changed

Lines changed: 606 additions & 95 deletions

‎docs/fr/CONTRIBUTING.md‎

Lines changed: 50 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Construire Caddy avec le module FrankenPHP :
3838

3939
```console
4040
cd caddy/frankenphp/
41-
go build
41+
go build -tags watcher,brotli,nobadger,nomysql,nopgx
4242
cd ../../
4343
```
4444

@@ -49,10 +49,14 @@ cd testdata/
4949
../caddy/frankenphp/frankenphp run
5050
```
5151

52-
Le serveur est configuré pour écouter à l'adresse `127.0.0.1:8080`:
52+
Le serveur est configuré pour écouter à l'adresse `127.0.0.1:80`:
53+
54+
> [!NOTE]
55+
>
56+
> Si vous utilisez Docker, vous devrez soit lier le port 80 du conteneur, soit exécuter depuis l'intérieur du conteneur.
5357
5458
```console
55-
curl -vk https://localhost/phpinfo.php
59+
curl -vk http://127.0.0.1/phpinfo.php
5660
```
5761

5862
## Serveur de test minimal
@@ -104,6 +108,32 @@ Construire à partir de zéro les images FrankenPHP pour arm64 & amd64 et les po
104108
docker buildx bake -f docker-bake.hcl --pull --no-cache --push
105109
```
106110

111+
## Déboguer les erreurs de segmentation avec les builds statiques
112+
113+
1. Téléchargez la version de débogage du binaire FrankenPHP depuis GitHub ou créez votre propre build statique incluant des symboles de débogage :
114+
115+
```console
116+
docker buildx bake \
117+
--load \
118+
--set static-builder.args.DEBUG_SYMBOLS=1 \
119+
--set "static-builder.platform=linux/amd64" \
120+
static-builder
121+
docker cp $(docker create --name static-builder-musl dunglas/frankenphp:static-builder-musl):/go/src/app/dist/frankenphp-linux-$(uname -m) frankenphp
122+
```
123+
124+
2. Remplacez votre version actuelle de `frankenphp` par l'exécutable de débogage de FrankenPHP.
125+
3. Démarrez FrankenPHP comme d'habitude (alternativement, vous pouvez directement démarrer FrankenPHP avec GDB : `gdb --args frankenphp run`).
126+
4. Attachez-vous au processus avec GDB :
127+
128+
```console
129+
gdb -p `pidof frankenphp`
130+
```
131+
132+
5. Si nécessaire, tapez `continue` dans le shell GDB
133+
6. Faites planter FrankenPHP.
134+
7. Tapez `bt` dans le shell GDB
135+
8. Copiez la sortie
136+
107137
## Déboguer les erreurs de segmentation dans GitHub Actions
108138

109139
1. Ouvrir `.github/workflows/tests.yml`
@@ -120,16 +150,13 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push
120150
3. Activer `tmate` pour se connecter au conteneur
121151

122152
```patch
123-
-
124-
name: Set CGO flags
153+
- name: Set CGO flags
125154
run: echo "CGO_CFLAGS=$(php-config --includes)" >> "$GITHUB_ENV"
126-
+ -
127-
+ run: |
155+
+ - run: |
128156
+ sudo apt install gdb
129157
+ mkdir -p /home/runner/.config/gdb/
130158
+ printf "set auto-load safe-path /\nhandle SIG34 nostop noprint pass" > /home/runner/.config/gdb/gdbinit
131-
+ -
132-
+ uses: mxschmitt/action-tmate@v3
159+
+ - uses: mxschmitt/action-tmate@v3
133160
```
134161

135162
4. Se connecter au conteneur
@@ -149,7 +176,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push
149176
gdb --args frankenphp.test -test.run ^MyTest$
150177
```
151178

152-
9. Quand le bug est corrigé, annulez tous les changements
179+
9. Quand le bug est corrigé, annulez tous les changements.
153180

154181
## Ressources Diverses pour le Développement
155182

@@ -174,3 +201,16 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push
174201
apk add strace util-linux gdb
175202
strace -e 'trace=!futex,epoll_ctl,epoll_pwait,tgkill,rt_sigreturn' -p 1
176203
```
204+
205+
## Traduire la documentation
206+
207+
Pour traduire la documentation et le site dans une nouvelle langue, procédez comme suit :
208+
209+
1. Créez un nouveau répertoire nommé avec le code ISO à 2 caractÚres de la langue dans le répertoire `docs/` de ce dépÎt
210+
2. Copiez tous les fichiers `.md` à la racine du répertoire `docs/` dans le nouveau répertoire (utilisez toujours la version anglaise comme source de traduction, car elle est toujours à jour).
211+
3. Copiez les fichiers `README.md` et `CONTRIBUTING.md` du répertoire racine vers le nouveau répertoire.
212+
4. Traduisez le contenu des fichiers, mais ne changez pas les noms de fichiers, ne traduisez pas non plus les chaßnes commençant par `> [!` (c'est un balisage spécial pour GitHub).
213+
5. Créez une Pull Request avec les traductions
214+
6. Dans le [référentiel du site](https://github.com/dunglas/frankenphp-website/tree/main), copiez et traduisez les fichiers de traduction dans les répertoires `content/`, `data/` et `i18n/`.
215+
7. Traduire les valeurs dans le fichier YAML créé.
216+
8. Ouvrir une Pull Request sur le dépÎt du site.

‎docs/fr/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ frankenphp php-cli /path/to/your/script.php
5353
Des [images Docker](https://frankenphp.dev/docs/fr/docker/) sont également disponibles :
5454

5555
```console
56-
docker run -v $PWD:/app/public \
56+
docker run -v .:/app/public \
5757
-p 80:80 -p 443:443 -p 443:443/udp \
5858
dunglas/frankenphp
5959
```

‎docs/fr/classic.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Utilisation du mode classique
2+
3+
Sans aucune configuration additionnelle, FrankenPHP fonctionne en mode classique. Dans ce mode, FrankenPHP fonctionne comme un serveur PHP traditionnel, en servant directement les fichiers PHP. Cela en fait un remplaçant parfait à PHP-FPM ou Apache avec mod_php.
4+
5+
Comme Caddy, FrankenPHP accepte un nombre illimité de connexions et utilise un [nombre fixe de threads](config.md#configuration-du-caddyfile) pour les servir. Le nombre de connexions acceptées et en attente n'est limité que par les ressources systÚme disponibles.
6+
Le pool de threads PHP fonctionne avec un nombre fixe de threads initialisés au démarrage, comparable au mode statique de PHP-FPM. Il est également possible de laisser les threads [s'adapter automatiquement à l'exécution](performance.md#max_threads), comme dans le mode dynamique de PHP-FPM.
7+
8+
Les connexions en file d'attente attendront indĂ©finiment jusqu'Ă  ce qu'un thread PHP soit disponible pour les servir. Pour Ă©viter cela, vous pouvez utiliser la [configuration](config.md#configuration-du-caddyfile) `max_wait_time` pour limiter la durĂ©e pendant laquelle une requĂȘte peut attendre un thread PHP libre avant d'ĂȘtre rejetĂ©e.
9+
En outre, vous pouvez définir un [délai d'écriture dans Caddy](https://caddyserver.com/docs/caddyfile/options#timeouts) raisonnable.
10+
11+
Chaque instance de Caddy n'utilisera qu'un seul pool de threads FrankenPHP, qui sera partagé par tous les blocs `php_server`.

‎docs/fr/compile.md‎

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Les options de configuration suivantes sont nécessaires pour la compilation, ma
3535
Utilisez le gestionnaire de paquets [Homebrew](https://brew.sh/) pour installer `libiconv`, `bison`, `re2c` et `pkg-config` :
3636

3737
```console
38-
brew install libiconv bison re2c pkg-config
38+
brew install libiconv bison brotli re2c pkg-config
3939
echo 'export PATH="/opt/homebrew/opt/bison/bin:$PATH"' >> ~/.zshrc
4040
```
4141

@@ -61,14 +61,24 @@ make -j"$(getconf _NPROCESSORS_ONLN)"
6161
sudo make install
6262
```
6363

64+
## Installez les dépendances optionnelles
65+
66+
Certaines fonctionnalitĂ©s de FrankenPHP nĂ©cessitent des dĂ©pendances optionnelles qui doivent ĂȘtre installĂ©es.
67+
Ces fonctionnalitĂ©s peuvent Ă©galement ĂȘtre dĂ©sactivĂ©es en passant des balises de compilation au compilateur Go.
68+
69+
| Fonctionnalité | Dépendance | Balise de compilation pour la désactiver |
70+
|---------------------------------------------------------|-----------------------------------------------------------------------|------------------------------------------|
71+
| Compression Brotli | [Brotli](https://github.com/google/brotli) | nobrotli |
72+
| Redémarrage des workers en cas de changement de fichier | [Watcher C](https://github.com/e-dant/watcher/tree/release/watcher-c) | nowatcher |
73+
6474
## Compiler l'application Go
6575

6676
Vous pouvez maintenant compiler FrankenPHP :
6777

6878
```console
6979
curl -L https://github.com/dunglas/frankenphp/archive/refs/heads/main.tar.gz | tar xz
7080
cd frankenphp-main/caddy/frankenphp
71-
CGO_CFLAGS=$(php-config --includes) CGO_LDFLAGS="$(php-config --ldflags) $(php-config --libs)" go build
81+
CGO_CFLAGS=$(php-config --includes) CGO_LDFLAGS="$(php-config --ldflags) $(php-config --libs)" go build -tags=nobadger,nomysql,nopgx
7282
```
7383

7484
### Utiliser xcaddy
@@ -77,7 +87,9 @@ Alternativement, vous pouvez utiliser [xcaddy](https://github.com/caddyserver/xc
7787

7888
```console
7989
CGO_ENABLED=1 \
80-
XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'" \
90+
XCADDY_GO_BUILD_FLAGS="-ldflags='-w -s' -tags=nobadger,nomysql,nopgx" \
91+
CGO_CFLAGS=$(php-config --includes) \
92+
CGO_LDFLAGS="$(php-config --ldflags) $(php-config --libs)" \
8193
xcaddy build \
8294
--output frankenphp \
8395
--with github.com/dunglas/frankenphp/caddy \

0 commit comments

Comments
 (0)