diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..bb50493
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "cSpell.language": "en,fr"
+}
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..37354d0
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,37 @@
+# Contributing to Code for IBM i
+
+We welcome all users to contribute. Whether it be to documentation, or code, we love it all. We use a typical PR system:
+
+1. You fork & clone
+2. Commit and push changes to your fork
+3. Make a pull request (PR)
+
+If you are making a pull request which fixes a bug, adds a feature or changes documentation, expect your PR to be reviewed. Be sure to read [Contributing to projects](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) on the GitHub documentation.
+
+If you want to help but you're unsure what to work on, here are two easy places to start:
+
+
+# Previous contributors
+
+Thanks so much to everyone [who has contributed](https://github.com/halcyon-tech/vscode-ibmi/graphs/contributors).
+
+* [@connorholyday](https://github.com/connorholyday)
+* [@worksofliam](https://github.com/worksofliam)
+* [@alanseiden](https://github.com/alanseiden)
+* [@richardschoen](https://github.com/richardschoen)
+* [@barrettotte](https://github.com/barrettotte)
+* [@thebeardedgeek](https://github.com/thebeardedgeek)
+* [@dferrand](https://github.com/dferrand)
+* [@dariocs](https://github.com/dariocs)
+* [@priceaj](https://github.com/priceaj)
+* [@sgi495](https://github.com/sgi495)
+* [@SJLennon](https://github.com/SJLennon)
+* [@onewheelonly](https://github.com/onewheelonly)
+* [@chrjorgensen](https://github.com/chrjorgensen)
+* [@szsascha](https://github.com/szsascha)
+* [@dman247](https://github.com/dman247)
+* [@EddieSmith](https://github.com/EddieSmith)
+* [@fathert](https://github.com/fathert)
+* [@Teqed](https://github.com/Teqed)
+* [@jwoehr](https://github.com/jwoehr)
+* [@Wright4i](https://github.com/Wright4i)
diff --git a/TRANSLATING.md b/TRANSLATING.md
new file mode 100644
index 0000000..1ab5e34
--- /dev/null
+++ b/TRANSLATING.md
@@ -0,0 +1,61 @@
+# Translating the Code for IBM i Documentation Web site.
+
+## Translating is Contributing !
+
+Translating the documentation Web site is contributing to Code For IBMI , so please read [CONTRIBUTING](CONTRIBUTING.md) before.
+
+## Docsify
+> A magical documentation site generator.
+
+Code for IBMi uses [Docsify](https://docsify.js.org/#/) to publish the Web site [code-for-ibmi Documentation](https://halcyon-tech.github.io/vscode-ibmi/#/).
+
+To sum it up , this tools transforms the **markdown** files stored in the [docs](./docs/) folder to a web site using [github pages](https://pages.github.com/).
+
+This site is in English by default but it's possible to add a new language to improve the learning curve of the none english's adopters.
+
+Please read above How to initiate or How to help in a new translating.
+
+**Add a new language** is to add a new folder under [docs](./docs/) folder with all docs's markdown files translated.
+To be meaningful we call this folder with the [ISO Language Code table](http://www.lingoes.net/en/translator/langcode.htm)
+
+So for french we used **fr-FR**.
+then the user switches between all the languages using the translations *navbar* in the right corner.
+
+## Process to add a new language
+We choose to use french translation as an example to explain the process.
+
+1. Contributing
+ 1. You fork and clone
+ 1. Create an new branch
+1. Translating
+ :eye_speech_bubble: To make me easier the translating,I'm using this useful extension [Vscode Google Translate](https://marketplace.visualstudio.com/items?itemName=funkyremi.vscode-google-translate)
+
+ 1. Add the new language in the [navbar](./docs/_navbar.md) using the [ISO Language Code table](http://www.lingoes.net/en/translator/langcode.htm).
+ 1. Copy the [docs](./docs/) folder as the [/docs/fr-FR](./docs/fr-FR/) folder.
+ 1. Remove the _navbar.md under the [/docs/fr-FR](./docs/fr-FR/) folder.
+ 1. Start translating the [side bar](./docs/fr-FR/_sidebar.md)
+ You have to change all the path to yours pages by adding the directory (/fr-FR/) in this case ..
+ ```
+ - [Code for IBM i](/)
+ - [Login](/pages/login.md)
+ ...
+ ```
+ to
+ ```
+ - [Code for IBM i](/fr-FR/)
+ - [Connexion](/fr-FR/pages/login.md)
+ ...
+ ```
+ 1. Then you can translate the [readme](./docs/fr-FR/README.md).
+ 1. Then you can test your job.
+ 1. And/or translate all the markdown files under your folder.
+1. Testing locally
+ 1. Open a terminal in VSC
+ 1. Type
+ `docsify serve docs`
+ 1. Open your navigator on the url proposed
+1. Testing Remotely
+ 1. Commit and push changes to your fork
+ 1. Deploy /docs of your fork to [github pages](https://docsify.js.org/#/deploy)
+3. :heavy_check_mark: Make a pull request (PR)
+
diff --git a/docs/_navbar.md b/docs/_navbar.md
new file mode 100644
index 0000000..7bdc156
--- /dev/null
+++ b/docs/_navbar.md
@@ -0,0 +1,4 @@
+
+- Translations
+ - [:uk: English](/)
+ - [:fr: Français](/fr-FR/)
diff --git a/docs/_sidebar.md b/docs/_sidebar.md
index 9bb2338..e7ba8ab 100644
--- a/docs/_sidebar.md
+++ b/docs/_sidebar.md
@@ -1,29 +1,30 @@
-- [Code for IBM i](./README.md)
- - [Login](pages/login.md)
+- [Code for IBM i](/)
+ - [Login](/pages/login.md)
- Developing
- - [Editing and compiling](pages/developing/editing-compiling.md)
- - [Actions](pages/developing/actions/index.md)
- - [Execution](pages/developing/actions/execution.md)
- - [Custom Variables](pages/developing/actions/custom-vars.md)
- - [ILEDocs](pages/developing/iledocs.md)
+ - [Editing and compiling](/pages/developing/editing-compiling.md)
+ - [Actions](/pages/developing/actions/index.md)
+ - [Execution](/pages/developing/actions/execution.md)
+ - [Custom Variables](/pages/developing/actions/custom-vars.md)
+ - [ILEDocs](/pages/developing/iledocs.md)
- Local Development
- - [Getting started](pages/developing/local/getting-started.md)
- - [Azure DevOps](pages/developing/local/azure.md)
+ - [Getting started](/pages/developing/local/getting-started.md)
+ - [Project Structure](pages/developing/local/structure.md)
+ - [Azure DevOps](/pages/developing/local/azure.md)
- Tips
- - [Quick Start](pages/tips/quickstart.md)
- - [Tricks](pages/tips/tricks.md)
- - [Terminals](pages/tips/terminals.md)
- - [CCSID](pages/tips/ccsid.md)
- - [Setup](pages/tips/setup.md)
-- [Browsers](pages/browsers/index.md)
- - [User Library List](pages/browsers/user-library-list.md)
- - [Object Browser](pages/browsers/object-browser.md)
- - [IFS Browser](pages/browsers/ifs-browser.md)
+ - [Quick Start](/pages/tips/quickstart.md)
+ - [Tricks](/pages/tips/tricks.md)
+ - [Terminals](/pages/tips/terminals.md)
+ - [CCSID](/pages/tips/ccsid.md)
+ - [Setup](/pages/tips/setup.md)
+- [Browsers](/pages/browsers/index.md)
+ - [User Library List](/pages/browsers/user-library-list.md)
+ - [Object Browser](/pages/browsers/object-browser.md)
+ - [IFS Browser](/pages/browsers/ifs-browser.md)
- Settings
- - [Profiles](pages/settings/profiles.md)
- - [Connection](pages/settings/connection.md)
- - [Global](pages/settings/global.md)
+ - [Profiles](/pages/settings/profiles.md)
+ - [Connection](/pages/settings/connection.md)
+ - [Global](/pages/settings/global.md)
- Extensions
- - [RPGLE language tools](pages/extensions/rpgle.md)
- - [Db2 for i](pages/extensions/db2i.md)
-- [Extending](pages/api/extending.md)
\ No newline at end of file
+ - [RPGLE language tools](/pages/extensions/rpgle.md)
+ - [Db2 for i](/pages/extensions/db2i.md)
+- [Extending](/pages/api/extending.md)
\ No newline at end of file
diff --git a/docs/fr-FR/.nojekyll b/docs/fr-FR/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/docs/fr-FR/README.md b/docs/fr-FR/README.md
new file mode 100644
index 0000000..f04c9ea
--- /dev/null
+++ b/docs/fr-FR/README.md
@@ -0,0 +1,42 @@
+# Code for IBM i
+
+## Développer sur l'IBM i avec VS Code
+
+Maintenez et Compilez vos RPGLE, CL, COBOL, C/CPP sur l'IBM i depuis Visual Studio Code.
+
+![intro_01.png](assets/intro_01.png)
+
+## Prérequis
+
+- Le Démon SSH doit être démarré sur l'IBM i.
+ - (Le programme sous license 5733-SC1 propose un support SSH.)
+ - `STRTCPSVR *SSHD` démarre le démon.
+ - L'utilisateur `QSSHD` est actif.
+- Une connaissance de base des concepts de VS Code. Une introduction se trouve [içi](https://code.visualstudio.com/docs/getstarted/introvideos).
+
+## Installation
+
+Depuis la "Marketplace" de Visual Studio Code: [Code for IBM i](https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.code-for-ibmi)
+
+Ou via l'icône des Extensions dans la barre d'activité (à gauche) :
+![assets/install_01,png](assets/install_01.png)
+
+### Extensions recommandées
+
+Il est recommandé d'installer également le [IBM i Development Pack](https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.ibm-i-development-pack), Un ensemble d'extensions construites avec ou pour ajouter de la valeur à Code for IBM I. Cela inclut des outils pour la base de données, RPGLE, COBOL , et bien plus.
+
+## Développement d'extension
+
+1. cloner le dépôt
+2. ```npm i```
+3. 'Run extension' depuis le débogage de VS Code.
+
+## Guide de démarrage
+
+Pour travailler sur cette documentation:
+
+- cloner le dépôt
+- installer "docsify" ```npm i docsify-cli -g```
+- lancer en local avec ```docsify serve docs/```
+- par défaut, cela se lance sur http://localhost:3000
+- Pour aller plus loin [Docsify](https://docsify.js.org/#/)
diff --git a/docs/fr-FR/_sidebar.md b/docs/fr-FR/_sidebar.md
new file mode 100644
index 0000000..148e5ff
--- /dev/null
+++ b/docs/fr-FR/_sidebar.md
@@ -0,0 +1,30 @@
+- [Code for IBM i](/fr-FR/)
+ - [Connexion](/fr-FR/pages/login.md)
+- Développement
+ - [Édition et compilation](/fr-FR/pages/developing/editing-compiling.md)
+ - [Actions](/fr-FR/pages/developing/actions/index.md)
+ - [Execution](/fr-FR/pages/developing/actions/execution.md)
+ - [Variables personnalisées](/fr-FR/pages/developing/actions/custom-vars.md)
+ - [ILEDocs](/fr-FR/pages/developing/iledocs.md)
+ - Développement local
+ - [Pour Démarrer](/fr-FR/pages/developing/local/getting-started.md)
+ - [Structure de projet](/fr-FR/pages/developing/local/structure.md)
+ - [Azure DevOps](/fr-FR/pages/developing/local/azure.md)
+- Astuces
+ - [Démarrage rapide](/fr-FR/pages/tips/quickstart.md)
+ - [Astuces](/fr-FR/pages/tips/tricks.md)
+ - [Terminaux](/fr-FR/pages/tips/terminals.md)
+ - [CCSID](/fr-FR/pages/tips/ccsid.md)
+ - [Configurer](/fr-FR/pages/tips/setup.md)
+- [Explorateurs](/fr-FR/pages/browsers/index.md)
+ - [Liste des bibliothèques utilisateur](/fr-FR/pages/browsers/user-library-list.md)
+ - [Explorateur d'objet](/fr-FR/pages/browsers/object-browser.md)
+ - [Explorateur IFS](/fr-FR/pages/browsers/ifs-browser.md)
+- Paramétrages
+ - [Profils](/fr-FR/pages/settings/profiles.md)
+ - [Connexions](/fr-FR/pages/settings/connection.md)
+ - [Généraux](/fr-FR/pages/settings/global.md)
+- Extensions
+ - [RPGLE language tools](/fr-FR/pages/extensions/rpgle.md)
+ - [Db2 for i](/fr-FR/pages/extensions/db2i.md)
+- [Créer une extension](/fr-FR/pages/api/extending.md)
\ No newline at end of file
diff --git a/docs/fr-FR/assets/BrowserIFS_01.png b/docs/fr-FR/assets/BrowserIFS_01.png
new file mode 100644
index 0000000..cf750e7
Binary files /dev/null and b/docs/fr-FR/assets/BrowserIFS_01.png differ
diff --git a/docs/fr-FR/assets/BrowserIFS_02.png b/docs/fr-FR/assets/BrowserIFS_02.png
new file mode 100644
index 0000000..10837c5
Binary files /dev/null and b/docs/fr-FR/assets/BrowserIFS_02.png differ
diff --git a/docs/fr-FR/assets/Browser_01.png b/docs/fr-FR/assets/Browser_01.png
new file mode 100644
index 0000000..56c8f4b
Binary files /dev/null and b/docs/fr-FR/assets/Browser_01.png differ
diff --git a/docs/fr-FR/assets/Browser_02.png b/docs/fr-FR/assets/Browser_02.png
new file mode 100644
index 0000000..e9fa022
Binary files /dev/null and b/docs/fr-FR/assets/Browser_02.png differ
diff --git a/docs/fr-FR/assets/Browser_03.png b/docs/fr-FR/assets/Browser_03.png
new file mode 100644
index 0000000..1dc892f
Binary files /dev/null and b/docs/fr-FR/assets/Browser_03.png differ
diff --git a/docs/fr-FR/assets/Browser_04.png b/docs/fr-FR/assets/Browser_04.png
new file mode 100644
index 0000000..a06c7f7
Binary files /dev/null and b/docs/fr-FR/assets/Browser_04.png differ
diff --git a/docs/fr-FR/assets/Browser_05.png b/docs/fr-FR/assets/Browser_05.png
new file mode 100644
index 0000000..f4b6f13
Binary files /dev/null and b/docs/fr-FR/assets/Browser_05.png differ
diff --git a/docs/fr-FR/assets/Browser_06.png b/docs/fr-FR/assets/Browser_06.png
new file mode 100644
index 0000000..edda606
Binary files /dev/null and b/docs/fr-FR/assets/Browser_06.png differ
diff --git a/docs/fr-FR/assets/Browser_07.png b/docs/fr-FR/assets/Browser_07.png
new file mode 100644
index 0000000..4ac4c02
Binary files /dev/null and b/docs/fr-FR/assets/Browser_07.png differ
diff --git a/docs/fr-FR/assets/Browser_08.png b/docs/fr-FR/assets/Browser_08.png
new file mode 100644
index 0000000..55720cd
Binary files /dev/null and b/docs/fr-FR/assets/Browser_08.png differ
diff --git a/docs/fr-FR/assets/Browser_09.png b/docs/fr-FR/assets/Browser_09.png
new file mode 100644
index 0000000..72fe0d8
Binary files /dev/null and b/docs/fr-FR/assets/Browser_09.png differ
diff --git a/docs/fr-FR/assets/Browser_10.png b/docs/fr-FR/assets/Browser_10.png
new file mode 100644
index 0000000..8f0d26b
Binary files /dev/null and b/docs/fr-FR/assets/Browser_10.png differ
diff --git a/docs/fr-FR/assets/Connect_Profile_Load_01.png b/docs/fr-FR/assets/Connect_Profile_Load_01.png
new file mode 100644
index 0000000..9d16b49
Binary files /dev/null and b/docs/fr-FR/assets/Connect_Profile_Load_01.png differ
diff --git a/docs/fr-FR/assets/Connect_Profile_Load_02.png b/docs/fr-FR/assets/Connect_Profile_Load_02.png
new file mode 100644
index 0000000..df0388a
Binary files /dev/null and b/docs/fr-FR/assets/Connect_Profile_Load_02.png differ
diff --git a/docs/fr-FR/assets/Connect_Profile_Save_01.png b/docs/fr-FR/assets/Connect_Profile_Save_01.png
new file mode 100644
index 0000000..5243a0a
Binary files /dev/null and b/docs/fr-FR/assets/Connect_Profile_Save_01.png differ
diff --git a/docs/fr-FR/assets/Connect_Profile_Setting_01.png b/docs/fr-FR/assets/Connect_Profile_Setting_01.png
new file mode 100644
index 0000000..3dea92f
Binary files /dev/null and b/docs/fr-FR/assets/Connect_Profile_Setting_01.png differ
diff --git a/docs/fr-FR/assets/EditComp-01.png b/docs/fr-FR/assets/EditComp-01.png
new file mode 100644
index 0000000..de18bac
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-01.png differ
diff --git a/docs/fr-FR/assets/EditComp-02.png b/docs/fr-FR/assets/EditComp-02.png
new file mode 100644
index 0000000..668e5fe
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-02.png differ
diff --git a/docs/fr-FR/assets/EditComp-03.png b/docs/fr-FR/assets/EditComp-03.png
new file mode 100644
index 0000000..95969bb
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-03.png differ
diff --git a/docs/fr-FR/assets/EditComp-04.png b/docs/fr-FR/assets/EditComp-04.png
new file mode 100644
index 0000000..8aadddf
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-04.png differ
diff --git a/docs/fr-FR/assets/EditComp-05.png b/docs/fr-FR/assets/EditComp-05.png
new file mode 100644
index 0000000..8ce5532
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-05.png differ
diff --git a/docs/fr-FR/assets/EditComp-05A.png b/docs/fr-FR/assets/EditComp-05A.png
new file mode 100644
index 0000000..8e420e7
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-05A.png differ
diff --git a/docs/fr-FR/assets/EditComp-06.png b/docs/fr-FR/assets/EditComp-06.png
new file mode 100644
index 0000000..0b23a7a
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-06.png differ
diff --git a/docs/fr-FR/assets/EditComp-07.png b/docs/fr-FR/assets/EditComp-07.png
new file mode 100644
index 0000000..4f904af
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-07.png differ
diff --git a/docs/fr-FR/assets/EditComp-08.png b/docs/fr-FR/assets/EditComp-08.png
new file mode 100644
index 0000000..fb389cc
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-08.png differ
diff --git a/docs/fr-FR/assets/EditComp-09.png b/docs/fr-FR/assets/EditComp-09.png
new file mode 100644
index 0000000..4ada834
Binary files /dev/null and b/docs/fr-FR/assets/EditComp-09.png differ
diff --git a/docs/fr-FR/assets/LogOutput_01.png b/docs/fr-FR/assets/LogOutput_01.png
new file mode 100644
index 0000000..efe7938
Binary files /dev/null and b/docs/fr-FR/assets/LogOutput_01.png differ
diff --git a/docs/fr-FR/assets/LogOutput_02.png b/docs/fr-FR/assets/LogOutput_02.png
new file mode 100644
index 0000000..0da83f1
Binary files /dev/null and b/docs/fr-FR/assets/LogOutput_02.png differ
diff --git a/docs/fr-FR/assets/Snippet_01.png b/docs/fr-FR/assets/Snippet_01.png
new file mode 100644
index 0000000..7513a63
Binary files /dev/null and b/docs/fr-FR/assets/Snippet_01.png differ
diff --git a/docs/fr-FR/assets/actions_01.png b/docs/fr-FR/assets/actions_01.png
new file mode 100644
index 0000000..585c771
Binary files /dev/null and b/docs/fr-FR/assets/actions_01.png differ
diff --git a/docs/fr-FR/assets/actions_02.png b/docs/fr-FR/assets/actions_02.png
new file mode 100644
index 0000000..9816dba
Binary files /dev/null and b/docs/fr-FR/assets/actions_02.png differ
diff --git a/docs/fr-FR/assets/actions_custom_01.png b/docs/fr-FR/assets/actions_custom_01.png
new file mode 100644
index 0000000..d7df14c
Binary files /dev/null and b/docs/fr-FR/assets/actions_custom_01.png differ
diff --git a/docs/fr-FR/assets/actions_custom_01a.png b/docs/fr-FR/assets/actions_custom_01a.png
new file mode 100644
index 0000000..bb0b7e1
Binary files /dev/null and b/docs/fr-FR/assets/actions_custom_01a.png differ
diff --git a/docs/fr-FR/assets/actions_custom_02.png b/docs/fr-FR/assets/actions_custom_02.png
new file mode 100644
index 0000000..45025de
Binary files /dev/null and b/docs/fr-FR/assets/actions_custom_02.png differ
diff --git a/docs/fr-FR/assets/actions_custom_03.png b/docs/fr-FR/assets/actions_custom_03.png
new file mode 100644
index 0000000..70fe5c6
Binary files /dev/null and b/docs/fr-FR/assets/actions_custom_03.png differ
diff --git a/docs/fr-FR/assets/actions_custom_04.png b/docs/fr-FR/assets/actions_custom_04.png
new file mode 100644
index 0000000..65b3388
Binary files /dev/null and b/docs/fr-FR/assets/actions_custom_04.png differ
diff --git a/docs/fr-FR/assets/actions_exec_01.png b/docs/fr-FR/assets/actions_exec_01.png
new file mode 100644
index 0000000..50aaf4d
Binary files /dev/null and b/docs/fr-FR/assets/actions_exec_01.png differ
diff --git a/docs/fr-FR/assets/actions_exec_02.png b/docs/fr-FR/assets/actions_exec_02.png
new file mode 100644
index 0000000..3bbe0c2
Binary files /dev/null and b/docs/fr-FR/assets/actions_exec_02.png differ
diff --git a/docs/fr-FR/assets/actions_exec_03.png b/docs/fr-FR/assets/actions_exec_03.png
new file mode 100644
index 0000000..aac1c24
Binary files /dev/null and b/docs/fr-FR/assets/actions_exec_03.png differ
diff --git a/docs/fr-FR/assets/actions_exec_04.png b/docs/fr-FR/assets/actions_exec_04.png
new file mode 100644
index 0000000..12216c2
Binary files /dev/null and b/docs/fr-FR/assets/actions_exec_04.png differ
diff --git a/docs/fr-FR/assets/actions_exec_05.png b/docs/fr-FR/assets/actions_exec_05.png
new file mode 100644
index 0000000..911eef5
Binary files /dev/null and b/docs/fr-FR/assets/actions_exec_05.png differ
diff --git a/docs/fr-FR/assets/actions_tool.png b/docs/fr-FR/assets/actions_tool.png
new file mode 100644
index 0000000..c8af0d4
Binary files /dev/null and b/docs/fr-FR/assets/actions_tool.png differ
diff --git a/docs/fr-FR/assets/azure-1.png b/docs/fr-FR/assets/azure-1.png
new file mode 100644
index 0000000..55a3a7f
Binary files /dev/null and b/docs/fr-FR/assets/azure-1.png differ
diff --git a/docs/fr-FR/assets/azure-2.png b/docs/fr-FR/assets/azure-2.png
new file mode 100644
index 0000000..b0b2472
Binary files /dev/null and b/docs/fr-FR/assets/azure-2.png differ
diff --git a/docs/fr-FR/assets/azure-3.png b/docs/fr-FR/assets/azure-3.png
new file mode 100644
index 0000000..0d3fbce
Binary files /dev/null and b/docs/fr-FR/assets/azure-3.png differ
diff --git a/docs/fr-FR/assets/azure-4.png b/docs/fr-FR/assets/azure-4.png
new file mode 100644
index 0000000..6344da4
Binary files /dev/null and b/docs/fr-FR/assets/azure-4.png differ
diff --git a/docs/fr-FR/assets/compare_01.png b/docs/fr-FR/assets/compare_01.png
new file mode 100644
index 0000000..8a53dde
Binary files /dev/null and b/docs/fr-FR/assets/compare_01.png differ
diff --git a/docs/fr-FR/assets/compile_04.png b/docs/fr-FR/assets/compile_04.png
new file mode 100644
index 0000000..6ce30e1
Binary files /dev/null and b/docs/fr-FR/assets/compile_04.png differ
diff --git a/docs/fr-FR/assets/connect_01.png b/docs/fr-FR/assets/connect_01.png
new file mode 100644
index 0000000..a5d7cff
Binary files /dev/null and b/docs/fr-FR/assets/connect_01.png differ
diff --git a/docs/fr-FR/assets/connect_02.png b/docs/fr-FR/assets/connect_02.png
new file mode 100644
index 0000000..c898282
Binary files /dev/null and b/docs/fr-FR/assets/connect_02.png differ
diff --git a/docs/fr-FR/assets/connect_03.png b/docs/fr-FR/assets/connect_03.png
new file mode 100644
index 0000000..adbaf1e
Binary files /dev/null and b/docs/fr-FR/assets/connect_03.png differ
diff --git a/docs/fr-FR/assets/connect_04.png b/docs/fr-FR/assets/connect_04.png
new file mode 100644
index 0000000..8c98983
Binary files /dev/null and b/docs/fr-FR/assets/connect_04.png differ
diff --git a/docs/fr-FR/assets/connect_05.png b/docs/fr-FR/assets/connect_05.png
new file mode 100644
index 0000000..5554c48
Binary files /dev/null and b/docs/fr-FR/assets/connect_05.png differ
diff --git a/docs/fr-FR/assets/connect_06.png b/docs/fr-FR/assets/connect_06.png
new file mode 100644
index 0000000..42d38ad
Binary files /dev/null and b/docs/fr-FR/assets/connect_06.png differ
diff --git a/docs/fr-FR/assets/db2i.png b/docs/fr-FR/assets/db2i.png
new file mode 100644
index 0000000..957d3a8
Binary files /dev/null and b/docs/fr-FR/assets/db2i.png differ
diff --git a/docs/fr-FR/assets/db_01.png b/docs/fr-FR/assets/db_01.png
new file mode 100644
index 0000000..1c28f28
Binary files /dev/null and b/docs/fr-FR/assets/db_01.png differ
diff --git a/docs/fr-FR/assets/db_02.png b/docs/fr-FR/assets/db_02.png
new file mode 100644
index 0000000..86088b8
Binary files /dev/null and b/docs/fr-FR/assets/db_02.png differ
diff --git a/docs/fr-FR/assets/db_03.png b/docs/fr-FR/assets/db_03.png
new file mode 100644
index 0000000..8b697c1
Binary files /dev/null and b/docs/fr-FR/assets/db_03.png differ
diff --git a/docs/fr-FR/assets/install_01.png b/docs/fr-FR/assets/install_01.png
new file mode 100644
index 0000000..fb67b98
Binary files /dev/null and b/docs/fr-FR/assets/install_01.png differ
diff --git a/docs/fr-FR/assets/intro_01.png b/docs/fr-FR/assets/intro_01.png
new file mode 100644
index 0000000..2dff9b4
Binary files /dev/null and b/docs/fr-FR/assets/intro_01.png differ
diff --git a/docs/fr-FR/assets/intro_02.png b/docs/fr-FR/assets/intro_02.png
new file mode 100644
index 0000000..7edbf97
Binary files /dev/null and b/docs/fr-FR/assets/intro_02.png differ
diff --git a/docs/fr-FR/assets/local_1.png b/docs/fr-FR/assets/local_1.png
new file mode 100644
index 0000000..c454eaf
Binary files /dev/null and b/docs/fr-FR/assets/local_1.png differ
diff --git a/docs/fr-FR/assets/settings_01.png b/docs/fr-FR/assets/settings_01.png
new file mode 100644
index 0000000..d339a19
Binary files /dev/null and b/docs/fr-FR/assets/settings_01.png differ
diff --git a/docs/fr-FR/media/as400.svg b/docs/fr-FR/media/as400.svg
new file mode 100644
index 0000000..36045fc
--- /dev/null
+++ b/docs/fr-FR/media/as400.svg
@@ -0,0 +1,12 @@
+
diff --git a/docs/fr-FR/media/icon.png b/docs/fr-FR/media/icon.png
new file mode 100644
index 0000000..46d597e
Binary files /dev/null and b/docs/fr-FR/media/icon.png differ
diff --git a/docs/fr-FR/media/server.svg b/docs/fr-FR/media/server.svg
new file mode 100644
index 0000000..5115fd7
--- /dev/null
+++ b/docs/fr-FR/media/server.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/docs/fr-FR/pages/api/custom-ui.md b/docs/fr-FR/pages/api/custom-ui.md
new file mode 100644
index 0000000..f57c761
--- /dev/null
+++ b/docs/fr-FR/pages/api/custom-ui.md
@@ -0,0 +1,74 @@
+
+# Personnaliser une interface utilisateur dans Code For IBM i
+
+Pour faciliter la création d'interface utilisateur, une commande `CustomUI` qui permet aux utilisateurs de définir les champs d'un formulaire et de gérer sa soumission via une fonction de rappel (callback).
+
+* Chaque formulaire a besoin d'au moins 1 champ ou bouton de soumission.
+* Vous devez `panel.dispose()` dans la fonction de rappel.
+* et retourner `{panel, data}`
+
+Vous pouvez trouver le source de cette API à `src/api/CustomUI.js`.
+
+### La commande `code-for-ibmi.launchUI`
+
+Votre extension peut exécuter cette commande comme ce qui suit:
+
+```js
+vscode.commands.executeCommand(`code-for-ibmi.launchUI`, `UI Tab`, fields, (result) => {
+ const {panel, data} = result;
+ if (data) {
+ // Button was pressed
+ panel.dispose();
+ } else {
+ // Tab was closed
+ }
+});
+```
+
+### `Field` object
+
+```js
+/**
+ * {{
+ * id: string,
+ * type: "input"|"password"|"buttons"|"checkbox"|"file"|"tabs"|"tree"|"select"|"paragraph"|"hr",
+ * label: string,
+ * description?: string,
+ * items?: {label: string, value: string}[], // When type == tree
+ * items?: {selected?: boolean, value: string, text: string, description: string}[], // When type == select
+ * items?: {id: string, label: string}[], // When type == buttons,
+ * readonly? boolean // When type == input, allowing a readonly, non editable field.
+ * }[]}
+ **/
+```
+
+## Exemple
+
+### Exemple simple
+
+```js
+const vscode = require(`vscode`);
+
+context.subscriptions.push(
+ vscode.commands.registerCommand(`your-ext.runMyThing`, async function () {
+ const fields = [
+ { type: `input`, id: `name`, label: `Your name` },
+ { type: `buttons`, items: [{id: `connect`, label: `Connect`}] }
+ ];
+
+ vscode.commands.executeCommand(`code-for-ibmi.launchUI`, `IBM i Login`, fields, (result) => {
+ const {panel, data} = result;
+ if (data) {
+ if (data.name.length > 0) {
+ panel.dispose(); //Must be called to close the panel!
+ vscode.window.showInformationMessage(`Hello ${data.name}!`);
+ } else {
+ vscode.window.showErrorMessage(`Name cannot be blank.`);
+ }
+ } else {
+ vscode.window.showInformationMessage(`Panel was closed by user.`);
+ }
+ });
+ });
+);
+```
\ No newline at end of file
diff --git a/docs/fr-FR/pages/api/extending.md b/docs/fr-FR/pages/api/extending.md
new file mode 100644
index 0000000..1211124
--- /dev/null
+++ b/docs/fr-FR/pages/api/extending.md
@@ -0,0 +1,307 @@
+Il est possible d'écrire une extension VS Code extensions en se basant sur Code for IBM i.
+Cela signifie que votre extension peut utiliser la connexion que l'utilisateur crée dans Code For IBM i.
+Ce n'est pas un tutoriel d'extension, mais une introduction sur la façon d'accéder aux API disponibles dans Code For IBM i.
+
+Par exemple, vous pourriez être un fournisseur qui produit des listes ou HTML que vous souhaitez être accessible à partir de l'intérieur Visual Studio Code.
+
+# Exemples
+
+Voir les bases de code en suivant les exemples issus d'extensions complètes basées sur Code for IBM i:
+
+* [VS Code extension to manage IBM i IWS services](https://github.com/halcyon-tech/vscode-ibmi-iws)
+* [Git for IBM i extension](https://github.com/halcyon-tech/git-client-ibmi)
+
+# Les commandes de l'API
+
+## Executer une commande avec la liste des bibliothèques d'utilisateurs
+
+Code for IBM i livre une commande qui peut être utilisée par une extension pour exécuter une commande distante sur l'IBM I: `code-for-ibmi.runCommand`.
+
+Il a un paramètre qui est un objet (javascript) avec certaines propriétés:
+
+```ts
+interface CommandInfo {
+ /** describes what environment the command will be executed. Is optional and defaults to `ile` */
+ environment?: `pase`|`ile`|`qsh`;
+ /** set this as the working directory for the command when it is executed. Is optional and defaults to the users working directory in Code for IBM i. */
+ cwd?: string;
+ command: string;
+}
+```
+
+* La commande peut également utiliser des [champs Saisis](/fr-FR/pages/developing/actions/execution?id=invite).
+* Lors de l'exécution d'une commande dans le `ile` ou `qsh` environnement, il utilisera la liste des bibliothèques à partir de la connexion courante.
+
+La commande renvoie un objet:
+
+```ts
+interface CommandResult {
+ stdout: string;
+ stderr: string;
+ code: number;
+}
+```
+
+```js
+const result: CommandResult = await vscode.commands.executeCommand(`code-for-ibmi.runCommand`, {
+ environment: `pase`,
+ command: `ls`
+});
+
+// or
+
+const result = await vscode.commands.executeCommand(`code-for-ibmi.runCommand`, {
+ environment: `pase`,
+ command: `ls`
+});
+```
+
+## Exécution de requêtes SQL
+
+Code for IBM i a une commande qui vous permet d'exécuter des instructions SQL et d'obtenir un résultat.
+
+```js
+const rows: Object[] = await vscode.commands.executeCommand(`code-for-ibmi.runQuery`, statement);
+
+// or
+
+const rows = await vscode.commands.executeCommand(`code-for-ibmi.runQuery`, statement);
+```
+
+## Récupérer le contenu d'un membre ou d'un fichier
+
+Les extensions peuvent utiliser les systèmes de fichiers fournis par Code for IBM i.
+
+`openTextDocument` renvoie un [document en texte](https://code.visualstudio.com/api/references/vscode-api#TextDocument).
+
+**Récupérer un membre**
+
+```js
+const doc = await vscode.workspace.openTextDocument(vscode.Uri.from({
+ scheme: `member`,
+ path: `/${library}/${file}/${name}.${extension}`
+}));
+```
+
+**Récupérer un fichier **
+```js
+const doc = await vscode.workspace.openTextDocument(vscode.Uri.from({
+ scheme: `streamfile`,
+ path: streamfilePath
+}));
+```
+
+## Se Connecter à un système
+
+Il est possible pour votre API d'automatiser la connexion d'un utilisateur à un IBM I au lieu de l'utilisateur à l'aide de la vue de connexion.
+
+```js
+const connected: boolean = await vscode.commands.executeCommand(`code-for-ibmi.connectDirect`, ConnectionData);
+
+if (connected) {
+ // do a thing.
+} else {
+ // something went wrong.
+}
+```
+
+voir `global.d.ts` pour l'interface `ConnectionData`.
+
+# Particularités
+
+## Options de clic droit
+
+Il est possible que votre extension ajoute des options de clic droit pour:
+
+* Objets de l'explorateur d'objet
+* Membres de l'explorateur d'objet
+* Répertoires de l'explorateur IFS
+* Fichiers de l'explorateur IFS
+* et bien plus encore...
+
+Vous enregistrez une commande comme d'habitude, mais vous ajoutez un paramètre pour le nœud choisi dans l'arborescence.Voici un exemple pour supprimer un fichier dans l'explorateur IFS.
+
+```js
+context.subscriptions.push(
+ // `node` is the object passed in directly from the IFS Browser.
+ vscode.commands.registerCommand(`code-for-ibmi.deleteIFS`, async (node) => {
+ if (node) {
+ //Running from right click
+ let result = await vscode.window.showWarningMessage(`Are you sure you want to delete ${node.path}?`, `Yes`, `Cancel`);
+
+ if (result === `Yes`) {
+ // directory using the connection API.
+ const connection = instance.getConnection();
+
+ try {
+ // Run a pase command
+ await vscode.commands.executeCommand(`code-for-ibmi.runCommand`, {
+ command: `rm -rf "${node.path}`,
+ environment: `pase`,
+ });
+
+ vscode.window.showInformationMessage(`Deleted ${node.path}.`);
+
+ this.refresh();
+ } catch (e) {
+ vscode.window.showErrorMessage(`Error deleting streamfile! ${e}`);
+ }
+ }
+ } else {
+ // If it's reached this point, it usually
+ // indicates that it's running from the command palette
+ }
+ })
+);
+```
+
+Suite à cela, nous devons enregistrer la commande afin qu'elle ait une étiquette.Nous faisons cela dans `package.json`
+
+```json
+{
+ "command": "code-for-ibmi.deleteIFS",
+ "title": "Delete object",
+ "category": "Your extension"
+}
+```
+
+Enfin, nous l'ajoutons à un menu contextuel:
+
+```json
+"menus": {
+ "view/item/context": [
+ {
+ "command": "code-for-ibmi.deleteIFS",
+ "when": "view == ifsBrowser",
+ "group": "yourext@1"
+ },
+ ]
+}
+```
+
+**When, ajouter votre commande à un menu contextuel**, Il y a beaucoup de valeurs possibles pour la clause `When` :
+
+* `view` peut être `ifsBrowser` orou `objectBrowser`.
+* `viewItem` peut être différent en fonction de la vue:
+ * Pour `ifsBrowser`, cela peut être `directory` ou `streamfile`
+ * Pour `objectBrowser`, cela peut être `member` (membre source), `object` (tout type d'objet), `SPF` (fichier source) or `filter`.
+
+Cela permet à votre extension de fournir des commandes pour des types spécifiques d'objets ou d'éléments spécifiques dans l'arborescence.
+
+[En savoir plus sur la clause when sur le site de documentation de VS Code.](https://code.visualstudio.com/api/references/when-clause-contexts)
+
+## Vues
+
+Code for IBM i fournit un contexte pour que vous puissiez contrôler quand une commande, vue, etc., peut fonctionner. `code-for-ibmi.connected` peut et doit être utilisé si votre vue dépend d'une connexion.Par exemple
+
+Ceci affichera une vue de bienvenue lorsqu'il n'y a pas de connexion:
+
+```json
+ "viewsWelcome": [{
+ "view": "git-client-ibmi.commits",
+ "contents": "No connection found. Please connect to an IBM i.",
+ "when": "code-for-ibmi:connected !== true"
+ }],
+```
+
+Cela montrera une vue lorsqu'il y a une connexion:
+
+```json
+ "views": {
+ "scm": [{
+ "id": "git-client-ibmi.commits",
+ "name": "Commits",
+ "contextualTitle": "IBM i",
+ "when": "code-for-ibmi:connected == true"
+ }]
+ }
+```
+
+# Imports
+
+```
+const { instance } = vscode.extensions.getExtension(`halcyontechltd.code-for-ibmi`).exports;
+```
+
+`instance` a quelques méthodes à utiliser:
+
+* `getConnection()`: [`IBMi`](https://github.com/halcyon-tech/vscode-ibmi/blob/master/src/api/IBMi.js)`|undefined` Pour obtenir la connexion courante.Retournera `Undefined` lorsque l'espace de travail actuel n'est pas connecté à un système distant.
+
+* `getContent(): `[`IBMiContent`](https://github.com/halcyon-tech/vscode-ibmi/blob/master/src/api/IBMiContent.js) Pour travailler avec du contenu sur la connexion courante
+ * Cette API ne doit être utilisée que pour récupérer le contenu de fichiers et des membres.
+
+* `getConfig(): `[`Configuration`](https://github.com/halcyon-tech/vscode-ibmi/blob/master/src/api/Configuration.js) Pour obtenir/définir la configuration de la connexion courante
+
+### Bibliothèque temporaire
+
+N'oubliez pas que vous ne pouvez pas utiliser `QTEMP` parce que chaque commande s'exécute dans un nouveau travail. Prière de se référer à `instance.getConfig().tempLibrary` pour la bibliothèque temporaire de l'utilisateur.
+
+### Stockage de configuration spécifique à la connexion
+
+Il est probable qu'il y aura une configuration spécifique à une connexion. Vous pouvez facilement utiliser `Configuration` pour obtenir et définir la configuration spécifique pour la connexion à votre extension:
+
+```js
+const config = instance.getConfig();
+const someArray = config.get(`someArray`) || [];
+
+someArray.push(someUserItem);
+
+config.set(`someArray`, someArray);
+```
+
+### Y a-t-il une connexion?
+
+Vous pouvez utiliser `instance.getConnection()` pour déterminer s'il y a une connexion active:
+
+```js
+async getChildren(element) {
+ const connection = instance.getConnection();
+
+ /** @type {vscode.TreeItem[]} */
+ let items = [];
+
+ if (connection) {
+ //Do work here...
+
+ } else {
+ items = [new vscode.TreeItem(`Please connect to an IBM i and refresh.`)];
+ }
+
+ return items;
+}
+```
+
+### `connected` event
+
+Il est recommandé d'utiliser l'événement `activationEvents` pour faire en sorte que l'extension soit activée uniquement lorsqu'elle est affichée ou qu'une commande est activée.
+Si vous vous référez à la section **views**, faites en sorte que la vue soit affichée uniquement lorsqu'elle est connectée, puis utilisez un événement d'activation `OnView`.Cela signifie qu'au moment où la vue est utilisée, il doit avoir une connexion active.
+
+```json
+"views": {
+ "explorer": [{
+ "id": "yourIbmiView",
+ "name": "My custom View",
+ "contextualTitle": "Extension name",
+ "when": "code-for-ibmi:connected == true"
+ }]
+}
+```
+
+```json
+"activationEvents": [
+ "onView:yourIbmiView"
+]
+```
+
+```js
+const { instance } = vscode.extensions.getExtension(`halcyontechltd.code-for-ibmi`);
+
+// this method is called when your extension is activated
+// your extension is activated the very first time the command is executed
+function activate(context) {
+ const connection = instance.getConnection();
+ if (connection) {
+ // do initial work
+ }
+}
+```
\ No newline at end of file
diff --git a/docs/fr-FR/pages/browsers/ifs-browser.md b/docs/fr-FR/pages/browsers/ifs-browser.md
new file mode 100644
index 0000000..c1dff5f
--- /dev/null
+++ b/docs/fr-FR/pages/browsers/ifs-browser.md
@@ -0,0 +1,8 @@
+Cette vue affiche les répertoires et les fichiers de l'IFS.
+Cliquez sur un fichier source pour l'ouvrir dans l'éditeur.
+
+Ajoutez des raccourcis supplémentaires si besoin:
+
+![Add shortcut](../../assets/BrowserIFS_01.png)
+
+![Shortcuts added](../../assets/BrowserIFS_02.png)
\ No newline at end of file
diff --git a/docs/fr-FR/pages/browsers/index.md b/docs/fr-FR/pages/browsers/index.md
new file mode 100644
index 0000000..d4292c4
--- /dev/null
+++ b/docs/fr-FR/pages/browsers/index.md
@@ -0,0 +1,9 @@
+Dans la barre latérale, il y a plusieurs explorateurs pour afficher et interagir avec les différents composants de l'IBM I:
+
+![Browsers](../../assets/Browser_01.png)
+
+Chacun de ces explorateurs peut être ouvert en cliquant dessus.
+Cliquez ou survolez le titre de l'explorateur pour voir les icônes d'action.
+Passez sur chaque icône pour voir ce qu'il fait.
+
+![Browser icons](../../assets/Browser_02.png)
\ No newline at end of file
diff --git a/docs/fr-FR/pages/browsers/object-browser.md b/docs/fr-FR/pages/browsers/object-browser.md
new file mode 100644
index 0000000..85c67c7
--- /dev/null
+++ b/docs/fr-FR/pages/browsers/object-browser.md
@@ -0,0 +1,50 @@
+L'explorateur d'objets vous permet d'interagir avec les bibliothèques, les fichiers, les fichiers source, les programmes et autres types d'objets. Sélectionnez un sous-ensemble d'objets avec lesquels vous souhaitez travailler en créant un filtre ou des filtres.
+
+### Créer le premier filtre
+
+Cliquez sur **+ Create new filter** pour créer votre premier filtre (ou cliquez sur l'icône de filtre):
+
+![Create New filter](../../assets/Browser_03.png)
+
+Complétez la boîte de dialogue pour le nouveau filtre.
+Les différentes options sont expliquées via un texte dans la boîte de dialogue:
+
+![New Filter dialog](../../assets/Browser_04.png)
+
+Cliquez sur **Save Settings** pour créer le nouveau filtre.
+
+L'exemple de filtre ci-dessus répertorie tous les fichiers source dans la bibliothèque LENNONS1:
+
+![Expanded filter](../../assets/Browser_05.png)
+
+Notez que le nom du filtre inclut sa définition à droite.
+
+### Créer des filtres supplémentaires
+
+Pour créer un autre filtre, cliquez sur l'icône du filtre pour ouvrir la boîte de dialogue **Filter:New**.
+
+![Additional Filters](../../assets/Browser_06.png)
+
+### Exemples de filtre
+
+**Filtre sur un fichier unique**
+
+![Single file filter](../../assets/Browser_07.png)
+
+**Sélection de membres sources**
+
+A single source file files subsetting just some members:
+
+![Subset Members](../../assets/Browser_08.png)
+
+**Sélection de programmes (objets)**
+
+Les programmes SQL* d'une bibliothèque:
+
+![programs filter](../../assets/Browser_09.png)
+
+### Maintenir des filtres
+
+Changer une définition de filtre est rapide et facile.Faites un clic droit sur le filtre et choisissez **Maintain filter** pour ouvrir la boite de dialogue du filtre.ou choisissez **Delete filter** pour le supprimer.
+
+![Maintian filter](../../assets/Browser_10.png)
\ No newline at end of file
diff --git a/docs/fr-FR/pages/browsers/user-library-list.md b/docs/fr-FR/pages/browsers/user-library-list.md
new file mode 100644
index 0000000..fbe1c29
--- /dev/null
+++ b/docs/fr-FR/pages/browsers/user-library-list.md
@@ -0,0 +1,5 @@
+La liste des bibliothèques utilisateur est initialement définie à partir de votre profil utilisateur.
+Ajoutez des bibliothèques selon vos besoins en utilisant l'icône "** + **".
+Supprimer une bibliothèque de la liste des bibliothèques en cliquant avec le bouton droit sur celle-ci.
+
+La liste des bibliothèques utilisateur est utilisée pour l’exécution des **Actions** (voir ci-dessous).
\ No newline at end of file
diff --git a/docs/fr-FR/pages/developing/actions/custom-vars.md b/docs/fr-FR/pages/developing/actions/custom-vars.md
new file mode 100644
index 0000000..65df333
--- /dev/null
+++ b/docs/fr-FR/pages/developing/actions/custom-vars.md
@@ -0,0 +1,31 @@
+Vous pouvez créer une variable personnalisée à utiliser dans l'instruction de votre action. Pour accéder aux variables personnalisées:
+
+Utilisez F1, puis recherchez "IBM i Custom variables":
+
+ ![F1 + IBM i Custom Variable](../../../assets/actions_custom_01.png)
+
+ ou depuis l'explorateur de la liste des bibliothèques utilisateur:
+
+![Library List Browser](../../../assets/actions_custom_01a.png)
+
+dans le volet **Work with Variables**, cliquez sur **New Variable** pour ajouter votre variable:
+
+ ![Work with Variables](../../../assets/actions_custom_02.png)
+
+ Ici, nous ajoutons une variable nommée &TARGET_RLSE.
+
+ ![Adding TARGET_RLSE](../../../assets/actions_custom_03.png)
+
+Appuyez sur **save** et la liste des variables personnalisées s'affiche:
+
+![Variables list after Save](../../../assets/actions_custom_04.png)
+
+Cliquez sur une variable personnalisée pour la modifier ou la supprimer.
+
+#### *Exemple d'utilisation*
+
+Dans toutes les actions CRTBNDxxx ajoutez la variable TGTRLS(&TARGET_RLSE), comme cela:
+
+`?CRTBNDCL PGM(&OPENLIB/&OPENMBR) SRCFILE(&OPENLIB/&OPENSPF) OPTION(*EVENTF) DBGVIEW(*SOURCE) TGTRLS(&TARGET_RLSE)`
+
+Maintenant un seul changement à la variable TARGET_RLSE affectera toutes les actions CRTBNDxxx.
\ No newline at end of file
diff --git a/docs/fr-FR/pages/developing/actions/execution.md b/docs/fr-FR/pages/developing/actions/execution.md
new file mode 100644
index 0000000..e7df992
--- /dev/null
+++ b/docs/fr-FR/pages/developing/actions/execution.md
@@ -0,0 +1,78 @@
+Il existe quatre sortes d'actions:
+
+- Si le type est `file` et `deploy first` est autorisé, cela déploie le fichier sur l'IFS (*deploy workspace location*), puis:
+- elle s'exécute immédiatement,
+- ou elle s'affiche pour être complétée ou modifiée,
+- ou elle affiche une interface utilisateur pour les paramètres.
+
+### Exécution immédiate
+
+Si nous avons une commande "**Call program**" avec une instruction comme cela:
+
+`CALL &LIBRARY/&NAME`
+
+Elle s'exécute immédiatement à la sélection.
+
+### Affichage pour modification
+
+si l'instruction a un préfixe "**?**", e.g., comme cela:
+
+`?CALL &LIBRARY/&NAME`
+
+Elle est affichée et vous pouvez la modifier au besoin.
+
+![Action Displayed for Modification](../../../assets/actions_exec_01.png)
+
+Par exemple, vous pouvez vouloir ajouter **PARM('Douglas' 'Adams')** à la fin.
+
+![Modified Action](../../../assets/actions_exec_02.png)
+
+### Invite
+
+Plutôt que utiliser le "?", Vous pouvez avoir une invite pour les valeurs de l'action.
+L'instruction peut intégrée des instructions d'invite pour en invoquer son affichage.
+
+Une instruction d'invite a la forme ``${NAME|LABEL|[DEFAULTVALUE]}`` oû:
+
+- NAME est un nom arbitraire pour le champ invite, mais il doit être unique pour cette action.
+- LABEL est le texte pour décrire le champ invite.
+- [DEFAULTVALUE] est une valeur **optionnelle** pour initialiser cette du champ invite.
+
+#### *Exemple 1*
+
+Supposons que nous ayons une action "**Call program, prompt for parms**" avec l'instruction suivante:
+
+``CALL &LIBRARY/&NAME PARM('${AAA|First name|Your name}' '${xyz|Last Name}')``
+
+Si nous exécutons l'action, l'écran d'invite sera :
+
+![Prompting Action Example 1](../../../assets/actions_exec_03.png)
+
+Si nous complétons l'écran comme celui-ci:
+
+![Completed Prompted Action](../../../assets/actions_exec_04.png)
+
+en cliquant **Execute** voici la commande qui sera exécutée :
+
+``CALL LENNONS1/ATEST PARM('Douglas' 'Adams')``
+
+#### *Example 2*
+
+Vous pouvez également utiliser des variables dans l'instruction d'invite. Si une action est définie comme celle-ci:
+
+``CALL &LIBRARY/&NAME PARM('${AAA|Library|&CURLIB}' '${xyz|Report Name}')``
+
+La valeur de &CURLIB sera substituée et l'invite affichera:
+
+![Prompted Action Example 2](../../../assets/actions_exec_05.png)
+
+#### *Example 3*
+
+Voici un exemple plus complexe d'action "**Run CRTBNDRPG (inputs)**".
+La'instruction est définie comme cela:
+
+``CRTBNDRPG PGM(${buildlib|Build library|&BUILDLIB}/${objectname|Object Name|&NAME}) SRCSTMF('${sourcePath|Source path|&FULLPATH}') OPTION(*EVENTF) DBGVIEW(*SOURCE) TGTRLS(*CURRENT)``
+
+A l'affichage nous avons:
+
+![Panel to the right](../../../assets/compile_04.png)
diff --git a/docs/fr-FR/pages/developing/actions/index.md b/docs/fr-FR/pages/developing/actions/index.md
new file mode 100644
index 0000000..977839f
--- /dev/null
+++ b/docs/fr-FR/pages/developing/actions/index.md
@@ -0,0 +1,54 @@
+### C'est quoi une action?
+
+Une action est utilisée pour effectuer une tâche sur un membre, un fichier (IFS) ou tout autre type d'objet.
+Un ensemble complet d'actions définies par défaut est chargé à partir de l'extension.
+Vous pouvez également changer ou ajouter facilement des actions --voir *Afficher/modifier/ajouter des actions*, ci-dessous.
+
+Les actions sont des commandes prédéfinies, utilisées pour effectuer des tâches sur les membres, les fichiers et d'autres types d'objets. Par exemple, pour compiler un fichier source. Les actions peuvent être exécutées à partir de deux endroits :
+
+- Pendant que vous écrivez du code.
+ Par exemple, pour compiler un programme ou un module.
+- Lorsque vous cliquez avec le bouton droit sur un membre, un fichier ou un objet à partir de l'explorateur d'object *OBJECT BROWSER*.
+
+Un ensemble complet d'actions est fourni, mais vous pouvez ajouter ou modifier une action.
+
+### Exécuter une action
+Pour exécuter une action, ouvrez un membre source (ou un fichier IFS) et appuyez sur la touche de raccourci:
+
+- Windows: Control + E
+- Mac: Command + E
+
+Cela affiche une liste déroulante avec des actions disponibles pour le fichier ouvert.
+Utilisez les touches ⬆ ⬇ pour faire défiler les actions et appuyer sur Entrée pour en sélectionner une.
+
+Exemple:
+ Pour exécuter l'action 'CRTBNDRPG', vous devez ouvrir un membre source avec l'extension `RPG` ou `RPGLE`.
+ Ensuite, lorsque vous utilisez le raccourci *Actions* (ci-dessous), vous accédez à la liste des actions disponibles.
+
+### Afficher/modifier/ajouter des actions
+
+ Cliquez sur **Actions** dans la barre d'état, puis affichez, modifiez ou ajoutez de nouvelles actions via l'interface utilisateur:
+![Action List UI](../../../assets/actions_01.png)
+
+- Cliquez sur une action pour la changer.
+- Ajouter des actions avec *New Action*.
+- Copiez une action existante et modifiez-la avec *Duplicate*.
+
+En Ajout ou modification, vous voyez cette même interface utilisateur:
+
+![Action edit UI](../../../assets/actions_02.png)
+
+Dans l'exemple ci-dessus, nous modifions 'Create Bound RPG Program (CRTBNDRPG)'. Nous pouvons changer chacune de ces propriétés.
+
+- '**Command to run**' est la commande qui sera exécutée. Remarquer il y a des parties de texte qui commencent par un `&` (ampersand) - Un tel texte est une "variable" qui sera remplacée lorsque l'action sera exécutée. Les commandes peuvent avoir différentes variables en fonction du 'Type' (Membre, fichier, objet) spécifié. Notez qu'en plus des variables fournies, vous pouvez créer vos propres variables. Voir "Variables personnalisées", ci-dessous.
+- '**Extensions**' définit la liste des extensions qui peuvent utiliser cette action. Pour `CRTBNDRPG`, on vise seulement `RPGLE` et `RPG`, alors nous pouvons saisir: `RPGLE, RPG`.
+- '**Types**' détermine quel type d'objet peut exécuter cette action. Par exemple, si votre action ne s'applique qu'aux membres sources, alors choisissez 'Member' dans la liste déroulante.
+- '**Environment**' détermine où la commande doit être exécutée. Dans ce cas, `CRTBNDRPG` doit s'exécuter dans l'environnement ILE car c'est une commande ILE. Vous avez la possibilité d'exécuter les commandes également via PASE ou QShell.
+
+Une fois terminé, cliquer sur **Save**. Si vous fermez simplement l'onglet, rien ne sera enregistré.
+
+### Stockage des actions
+
+Si vous modifiez ou ajoutez des actions comme ci-dessus, toutes les actions sont enregistrées dans la section ```code-for-ibmi.actions``` de ```settings.json```. Vous pouvez aussi modifier la section ```code-for-ibmi.actions``` manuellement. S'il n'existe pas, vous pouvez créer votre section ```code-for-ibmi.actions``` dans ```settings.json```.
+
+**Note:** Lorsqu'une section ```code-for-ibmi.actions``` existe dans ```settings.json``` l'ensemble des actions est chargé à partir de celui-ci, et non à partir de l'ensemble des actions par défaut de l'extension.
diff --git a/docs/fr-FR/pages/developing/editing-compiling.md b/docs/fr-FR/pages/developing/editing-compiling.md
new file mode 100644
index 0000000..e8a4903
--- /dev/null
+++ b/docs/fr-FR/pages/developing/editing-compiling.md
@@ -0,0 +1,66 @@
+
+### Edition
+
+Cliquez sur un membre source ou un fichier (IFS) dans l'explorateur pour l'ouvrir.Vous pouvez avoir plusieurs sources ouverts.
+
+ ![Editing example](../../assets/EditComp-01.png)
+
+Maintenant vous pouvez modifier le source à l'aide de toutes les fonctionnalités de VS Code.
+
+Pour agrandir votre volet d'édition, essayez:
+
+- Cacher/Afficher la barre latérale avec **Ctrl+B**. (Ou en utilisant le Menu "View".)
+- Basculer en plein écran avec **F11**
+
+ ![Editing max space](../../assets/EditComp-02.png)
+
+ Cliquez sur **Help** dans le menu pour les conseils, les astuces, l'édition des raccourcis clavier et les tutoriels.
+
+### Dates de source
+
+La prise en charge de la date des sources doit être activée. Elle est désactivée par défaut.Cela peut être modifié dans les paramètres de connexion.
+
+### Compilation
+
+Compilez le **Volet Actif** avec Ctrl+E.
+
+- S'il y a des modifications non sauvegardées, on vous demande de les enregistrer. On vous propose également de toujours enregistrer avant une compilation.
+Si vous cliquez **Save Automatically**, les demandes de compilation suivantes enregistreront toujours les changements avant la compilation. (Dans *Settings: Connection*, Ci-dessous, vous pouvez désactiver l'option.)
+
+- S'il y a plus d'une option de compilation pour votre type de source, sélectionnez celle qui est appropriée.
+
+Si la compilation se termine sans erreur, vous verrez un message d'information comme celui-ci:
+
+![Compile successful](../../assets/EditComp-03.png)
+
+### Erreurs de compilation
+
+Si la compilation échoue, vous verrez un message d'erreur comme celui-ci:
+
+![Complile failed](../../assets/EditComp-04.png)
+
+Dans la source, les erreurs sont mises en évidence avec des lignes en surbrillance, si vous survolez la ligne en surbrillance, vous verrez les détails de l'erreur:
+
+![Squiggly errors](../../assets/EditComp-05.png)
+
+Vous pouvez passer à la prochaine erreur avec **F8**. **Shift+F8** pour l'erreur précédente.
+
+![F8 next error](../../assets/EditComp-05A.png)
+
+Si vous avez l'onglet PROBLEMS ouvert, il affiche la liste des erreurs. Cliquer sur une ligne de l'onglet PROBLEMS tab vous emmènes à la ligne dans la source. (Ctrl+J Ouvre le panneau, Ctrk+Shift+M ouvre l'onglet PROBLEMS.)
+
+![Problems tab](../../assets/EditComp-06.png)
+
+Décidez quelles erreurs *Errors*, Avertissements *Warnings* ou messages d'informations *infos* vous voulez afficher en utilisant l'icône de filtre. Si vous avez compilé plusieurs sources, vous pouvez également vérifier **Show Active File Only**;
+
+![Errors filter](../../assets/EditComp-07.png)
+
+Vous pouvez supprimer toutes les lignes à l'aide de F1 et rechercher *IBM i Clear Diagnostics*:
+
+![Clear diagnostics](../../assets/EditComp-08.png)
+
+### Liste de compilation
+
+Si vous avez *Log Compile Output* choisi dans le paramétrage (voir *Settings: Global*, ci-dessous), Alors, les listes de compilation sont trouvées sous l'onglet *Output* en sélectionnant l'item *IBM i Output*. Vous pouvez aussi utiliser le raccourci *Output* via l'icône sur la barre d'outils pour afficher la liste de compilation.
+
+![Output button](../../assets/EditComp-09.png)
diff --git a/docs/fr-FR/pages/developing/iledocs.md b/docs/fr-FR/pages/developing/iledocs.md
new file mode 100644
index 0000000..a680f34
--- /dev/null
+++ b/docs/fr-FR/pages/developing/iledocs.md
@@ -0,0 +1,82 @@
+
+# ILEDocs
+
+Code for IBM i suit la norme ILEDOCS pour écrire la documentation des sources en ILE. Ce document couvre principalement son utilisation en RPGLE format libre.
+
+Code for IBM i utilise le bloc de documentation du code pour améliorer l'assistance à la saisie et le survol des zones (Hover).
+
+## Format standard
+
+### Disposition
+
+Le format d'un bloc de documentation est le suivant.
+
+1. Commencer avec `///` - Cela démarre le bloc de documentation pour la procédure
+2. Le premier commentaire est le **titre**
+3. Les commentaires suivants sont la **description** (multi-lignes possible)
+4. Après la description, les balises (tags) peuvent être utilisées.
+5. Le bloc se finit par `///`.
+
+```rpgle
+///
+// TITRE
+// DESCRIPTION!
+// La description peut être multi-lignes
+// @tag data
+// @tag data
+///
+Dcl-Proc ...
+```
+
+### Utilisation
+
+Les blocs de documentation peuvent être utilisés sur à peu près toutes les fonctionnalités RPG:
+
+* Constantes
+* Variables/Structures
+* Procedures
+* Sous routines
+
+### Balises disponibles
+
+Toutes les balises commencent par `@`.
+Les balises en gras sont les plus couramment utilisées.
+
+* **param** - multi-lignes - Description d'un paramètre
+* **return** - multi-lignes - Description de la valeur de retour
+* **deprecated** - multi-lignes - Décrit Pourquoi un programme ou une procédure ne doit pas être utilisé et indique un remplacement.
+* author - une seule ligne - Auteur du code source
+* date - une seule ligne - Date (Tout format)
+* brief (titre) - une seule ligne - Doit être la première balise d'un bloc ILEDOCS. La balise peut également être ignorée, voir l'exemple ci-dessous.
+* link - multi-lignes - @link http://url Description
+* rev (revision) - multi-lignes - `@rev date author`, Les lignes suivantes sont la description de la révision
+* project - une seule ligne - Nom du projet (afin que le module puisse être placé sous le projet correspondant dans l'interface utilisateur)
+* warning - multi-lignes
+* info - multi-lignes
+* throws - multi-lignes - Id and la description d'un message d'échappement que l'utilisateur du programme / procédure peut s'attendre à rencontre dans certains cas
+* version - une seule ligne - version du module
+
+## Les bases
+
+Règles de base:
+
+* Toute la documentation est facultative, mais meilleure documentation est la documentation fournie, meilleure est l'assistance à la saisie et la documentation générée.
+* Pour chaque paramètre d'une procédure, il devrait y avoir autant de balises `@param` fournissant une brève description de la nature du paramètre.
+* La première ligne du bloc de documentation est toujours le titre.
+
+```rpgle
+///
+// Transforme en minuscules
+// Cette procédure prends une chaîne en entrée et la transforme en minuscules
+//
+// @param une chaîne
+// @return une chaîne en minuscules
+///
+Dcl-Proc ToLower Export;
+ Dcl-Pi *N Char(20);
+ stringIn Char(20);
+ End-pi;
+
+ return STRLOWER(stringIn);
+End-Proc;
+```
\ No newline at end of file
diff --git a/docs/fr-FR/pages/developing/local/azure.md b/docs/fr-FR/pages/developing/local/azure.md
new file mode 100644
index 0000000..84533e7
--- /dev/null
+++ b/docs/fr-FR/pages/developing/local/azure.md
@@ -0,0 +1,20 @@
+Lorsque vous utilisez Visual Studio Code et git, il est possible d'ouvrir le projet automatiquement à partir d'Azure DevOps.
+
+Trouver le référentiel avec lequel vous souhaitez travailler sur Azure DevOps et appuyez sur le bouton `Clone`. Assurez-vous que HTTPS est sélectionné et avant de continuer, assurez-vous que les informations d'identification GIT soient visibles - Elles seront utilisées plus tard.
+
+![](../../../assets/azure-1.png)
+
+Lorsque vous êtes prêt, copiez le mot de passe dans votre presse-papiers et sélectionnez `Clone in VS Code`. Cela lancera VS code et s'assure que l'utilisateur souhaite exécuter cette action:
+
+![](../../../assets/azure-2.png)
+
+VS Code vous demande où vous souhaitez cloner le référentiel
+
+![](../../../assets/azure-3.png)
+
+Lorsque le clone est terminé, il vous demandera si vous souhaitez ouvrir le dossier cloné. Sélectionnez `Open` pour l'ajouter à l'espace de travail.
+
+Maintenant que le code source est sur votre machine locale, vous pouvez vous connecter à votre IBM i de développement. Comme il s'agit d'un tout nouveau dossier, il vous sera demandé si vous souhaitez définir le répertoire de déploiement par défaut.Il est recommandé d'utiliser la valeur par défaut.
+![](../../../assets/azure-4.png)
+
+Maintenant, vous pouvez commencer à développer et à compiler. Si c'est votre première fois, assurez-vous de lire la documentation [développement local](/fr-FR/pages/developing/local/getting-started.md) pour comprendre à quoi sert le répertoire de déploiement et comment exécuter les commandes de compilation.
\ No newline at end of file
diff --git a/docs/fr-FR/pages/developing/local/getting-started.md b/docs/fr-FR/pages/developing/local/getting-started.md
new file mode 100644
index 0000000..ed4481a
--- /dev/null
+++ b/docs/fr-FR/pages/developing/local/getting-started.md
@@ -0,0 +1,79 @@
+Il est possible de développer dans un dossier local puis déployer et compiler sur IBM I.
+
+Si l'utilisateur ouvre un espace de travail puis se connecte à un IBM I:
+
+1. Une message d'information indique la bibliothèque courante (current) à l'utilisateur,
+2. Si c'est la première connexion depuis cet espace de travail (workspace) , il sera
+ * l'utilisateur est invité à définir un répertoire de déploiement par défaut,
+ * Si le fichier `actions.json` file n'est pas trouvé, on demande à l'utilisateur s'il souhaite en créer un par défaut
+3. Une nouvelle option sur clic droit apparaît sur les répertoires IFS pour déployer dans ce répertoire
+4. Un bouton `Deploy`» apparaît dans la barre d'état
+
+## Guides
+
+* Un guide pas à pas [dans le rpg-git-book](https://worksofliam.github.io/rpg-git-book/7-tooling-vscode.html).
+* Un [tutoriel en video YouTube](https://www.youtube.com/watch?v=XuiGyWptgDA&t=425s), détaille cette procédure du début à la fin.
+* En clonant un projet depuis [Azure DevOps](azure.md).
+
+## 1. Ouverture d'un dossier comme espace de travail
+
+L'ouverture d'un dossier dans Visual Studio Code ajoute ce dossier à un espace de travail.Vous avez besoin d'au moins un dossier ouvert dans l'espace de travail du code Visual Studio pour le développement local.
+
+## 2. Définition de l'emplacement du déploiement
+
+S'il s'agit de la première connexion avec l'espace de travail, l'utilisateur est invité à définir un répertoire de déploiement par défaut.
+
+![](../../../assets/local_1.png)
+
+Si vous préférez modifier l'emplacement par défaut, l'utilisateur peut cliquer avec le bouton droit sur n'importe quel répertoire du navigateur IFS et sélectionner l'option `Deploy Workspace to location`.
+
+L'utilisateur peut modifier le répertoire de déploiement en utilisant la même option de clic droit sur un autre répertoire.
+
+## 3. Le bouton `Deploy` / exécution du processus de déploiement
+
+L'utilisation du bouton `Deploy` de la barre d'état lance le processus de déploiement. Si l'espace de travail a plus d'un dossier, l'utilisateur devra sélectionner le dossier qu'il souhaite déployer.
+
+Il y a trois options pour le déploiement:
+
+1. `Working Changes`: Cela ne fonctionne que si le dossier d'espace de travail choisi est un référentiel GIT.Code For IBM i examine le statut GIT ("status") pour déterminer les fichiers qui ont été modifiés depuis le dernier commit (unstaged and staged) et déploie uniquement ces fichiers.
+2. `Staged Changes`: idem que l'option "Working Changes", mais déploie seuelement les fichiers (staged/indexed).
+3. `All`: déploie tous les fichiers dans le dossier d'espace de travail choisi. Les fichiers qui font partie du fichier '.gitignore' sont ignorés.
+
+L'utilisateur peut également définir des actions pour le type «fichier» (local) pour exécuter le déploiement avant d'exécuter l'action.
+
+## 4. Actions de l'espace de travail (deploy & build)
+
+Semblable aux autres paramétrages, les utilisateurs peuvent stocker des actions au niveau de l'espace de travail. Les utilisateurs peuvent créer un ficher `.vscode/actions.json` dans l'espace de travail qui peut contenir des actions spécifiques à cet espace de travail. Ce fichier de configuration doit être versionné par GIT pour cette application. Si vous utilisez [le nouveau fichier standard `iproj.json`](https://ibm.github.io/ibmi-bob/#/prepare-the-project/project-metadata), les commandes de `build` et de `compile` sont crées automatiquement.
+
+Il existe un outil qui peut générer un fichier initial `Actions.json` pour vous. Après vous être connecté à un système, ouvrez la palette de commande (F1) and recherchez `Launch Actions Setup`. L'utilisateur peut choisir la technologie de déploiement à utiliser (make,bob) dans une fenêtre. Sur la base de cette sélection, le fichier `actions.json` est créé.
+
+![](../../../assets/actions_tool.png)
+
+Voici un exemple de configuration `actions.json`, qui exige que le déploiement ait lieu avant de déclencher `BOB`. VS Code propose une assistance à la saisie lorsque vous travaillez avec le fichier `actions.json`. Vous pouvez remplacer `BOB` avec n'importe quel système de `BUILD` (c.a.d, make, ou peut-être un outil spécifique d'un fournisseur.).
+
+```json
+[
+ {
+ "name": "Deploy & build with ibmi-bob 🔨",
+ "command": "error=*EVENTF lib1=&CURLIB makei -f &BASENAME",
+ "extensions": [
+ "GLOBAL"
+ ],
+ "environment": "pase",
+ "deployFirst": true
+ },
+ {
+ "name": "Deploy & build with GNU Make 🔨",
+ "command": "/QOpenSys/pkgs/bin/gmake &BASENAME BIN_LIB=&CURLIB",
+ "extensions": [
+ "GLOBAL"
+ ],
+ "environment": "pase",
+ "deployFirst": true
+ }
+]
+```
+
+Maintenant, lorsque l'utilisateur demande à lancer une action depuis le fichier courant (via `Control/Command + E`), les actions du fichier `actions.json` apparaissent dans la liste.
+
+![image](https://user-images.githubusercontent.com/3708366/146957104-4a26b4ba-c675-4a40-bb51-f77ea964ecf5.png)
\ No newline at end of file
diff --git a/docs/fr-FR/pages/developing/local/structure.md b/docs/fr-FR/pages/developing/local/structure.md
new file mode 100644
index 0000000..9c0aad4
--- /dev/null
+++ b/docs/fr-FR/pages/developing/local/structure.md
@@ -0,0 +1,45 @@
+Cette page décrit une structure de projet recommandée lors de l'utilisation de Git avec vos sources ILE. Code for IBM i et les extensions ultérieures suivront cette structure pour le développement local.
+
+## Nom de fichier en minuscules
+
+Il est recommandé de nommer les fichiers en minuscules.Généralement, C'est plus facile pour les yeux et suit la norme de la plupart des autres environnements.Vous pouvez également envisager d'utiliser Camelcase.
+
+* `ord500.pgm.sqlrpgle`
+* `ord600.pgm.cblle`
+* `qrpglesrc/faq500.rpgle`
+
+## Extensions valides
+
+Les extensions utilisées pour votre source peuvent se "caler" sur ceux des attributs des membres (e.g. `.rpgle`, `.sqlrpgle`, `.cblle`, `.clle`, etc).
+
+Mais, il est encouragé à utiliser une extension supplémentaire pour identifier si votre source est un programme ou un module en plus de l'extension régulière.
+
+* `sale10.rpgle` indique un module (qui pourrait devenir un programme de service, ou une partie d'un programme multi-module)
+* `ord600.pgm.cbble` indique que la source devrait devenir un programme
+
+## "Includes" et "Copybooks"
+
+Il est recommandé que toutes les clauses copy "includes" (aussi nommées "copybooks" ou "headers") pour RPGLE et COBOL utilisent l'extension `.xxxinc`.
+
+Par exemple:
+
+* `ordsrv.rpgleinc` est un "include" pour un RPG.
+* `pwrdta.cblleinc` est un "include" pour un COBOL.
+
+Pour C et C ++, vous devez continuer à utiliser le `.h` standard pour les fichiers d'en-tête.
+
+## clauses COPY (RPGLE)
+
+Lorsque vous utilisez `/COPY` et `/INCLUDE` en RPGLE dans un projet local, le chemin doit toujours être relatif au répertoire du projet et non par rapport au fichier actif.
+Généralement, plus vous pouvez être explicite, plus il sera facile de maintenir à long terme.
+
+* :heavy_check_mark: : `/copy 'faq500.rpgleinc'`,
+* :heavy_check_mark: :slightly_smiling_face: : `/copy 'qrpgleref/faq500.rpgleinc`
+
+Bien qu'il soit possible d'utiliser `INCDIR` et ainsi ne pas fournir de répertoire pour l'inclusion, Lors de la lecture du code, il est beaucoup plus clair de voir d'où vient le fichier.
+
+Si vous ne voulez pas être relatif par rapport à la racine, spécifier votre répertoire d'inclusion dans la propriété [`includePath` du fichier `iproj.json`](https://ibm.github.io/ibmi-bob/#/prepare-the-project/iproj-json?id=includepath).
+
+## Exemple de structure de projet
+
+Vérifiez le dépôt [company_system](https://github.com/worksofliam/company_system) d'un exemple de projet suivant ces règles.
\ No newline at end of file
diff --git a/docs/fr-FR/pages/developing/local/variables.md b/docs/fr-FR/pages/developing/local/variables.md
new file mode 100644
index 0000000..38d0c1e
--- /dev/null
+++ b/docs/fr-FR/pages/developing/local/variables.md
@@ -0,0 +1 @@
+Variables when compiling from local: TODO
\ No newline at end of file
diff --git a/docs/fr-FR/pages/extensions/db2i.md b/docs/fr-FR/pages/extensions/db2i.md
new file mode 100644
index 0000000..d74bc1a
--- /dev/null
+++ b/docs/fr-FR/pages/extensions/db2i.md
@@ -0,0 +1,51 @@
+Le DB2 for I est une extension séparée qui permet aux utilisateurs de parcourir les schémas de base de données sur n'importe quel système connecté.
+
+## Installation
+L'extension s'installe depuis la [Marketplace](https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.vscode-db2i).
+Elle est incluse dans l'extension [IBM i Development Pack](https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.ibm-i-development-pack).
+
+![](../../assets/db2i.png)
+
+## Utilisation
+
+L'extension DB2 for I ajoute une nouvelle vue appelée explorateur de schéma (Schema Browser), qui permet à l'utilisateur d'ajouter des schémas existants à la liste puis de parcourir les objets existants de ces schémas.
+L'utilisateur peut également exécuter des requêtes SQL et afficher les résultats dans VS Code.
+Lors de la modification des sources SQL, l'utilisateur aura également accès à l'assistance à la saisie.
+
+### Respect de la bibliothèque/ schéma courante
+
+L'extension Db2 for i respecte la bibliothéque courante configurée dans l'explorateur de la liste des bibliothèques utilisateur. Vous pouvez également faire un clic droit sur les schémas de l'explorateur de schéma et modifier le schéma courant de cette façon.
+
+### Assistant de saisie
+
+Lorsque vous rédigez des sources SQL, vous aurez accès à une assistance sur la saisie de contenu sur:
+
+* objets à l'intérieur d'un schéma (tables, vues, alias, functions, procédures)
+* colonnes à l'intérieur d'une table déclarée avec la clause `as` clause
+
+Si vous ne qualifiez pas le nom d'un objet, il utilisera par défaut d'utiliser le schéma courant.
+
+### Exécution de requêtes
+
+Soit:
+
+* Ouvrez un fichier `.sql` existant (membre source, fichier Stream ou local)
+* Créer un nouveau fichier
+ 1. Créer un fichier(`control / command + N`)
+ 2. Changer l'ID de langue en `sql`
+
+Après avoir ouvert une source SQL, vous pouvez soit:
+
+* Déplacez votre curseur sur l'instruction que vous souhaitez exécuter et:
+ * Utilisez le bouton `play` en haut à droite pour exécuter
+ * Utilisez le raccourci (`control / command + R`) pour exécuter l'instruction
+
+L'ensemble des résultats apparaîtra sous l'instruction.
+Lorsque vous défilez parmi l'ensemble des résultats, plus de données se chargeront.Cela permet d'optimiser les performances de la requête.
+
+Les instructions SQL sont exécutées avec la dénomination SQL. (schémas.table)
+
+### Affichage du contenu de la table
+
+Si vous utilisez l'explorateur de schéma pour parcourir des objets, vous pouvez utiliser l'icône `view` sur une de table.
+Cela ouvre automatiquement une fenêtre d’exécution avec une instruction SELECT basique.
\ No newline at end of file
diff --git a/docs/fr-FR/pages/extensions/rpgle.md b/docs/fr-FR/pages/extensions/rpgle.md
new file mode 100644
index 0000000..5ea516e
--- /dev/null
+++ b/docs/fr-FR/pages/extensions/rpgle.md
@@ -0,0 +1,70 @@
+
+## L'installation
+
+L'extension s'installe depuis la [Marketplace](https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.vscode-rpgle).
+Elle est incluse dans l'extension [IBM i Development Pack](https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.ibm-i-development-pack).
+
+RPGLE language tools fonctionne aussi dans VS Code web.
+
+## Usage
+
+L'extension a deux fonctionnalités principales:
+
+* des outils pour le langage: assistance à la saisie, vue structure (outline view), etc. toutes les versions de format du langage RPG ILE sont supportées (fixe, mixte, libre)
+* Correcteur (linter): un correcteur extensible pour contrôler la qualité du code. **Seulement pour le format libre** (`**FREE`).
+
+Les outils pour le langage sont activés par défaut, mais le correcteur doit être activé dans les paramètres dans Vs code. Le correcteur est toujours activé avec VS Code web.
+
+## Création de configuration des règles du correcteur
+
+Vous pouvez créer une configuration de correcteur pour tous les types de type de fichier. Utilisez la commande `Open RPGLE lint configuration` command de la palette de commandes pour créer et ouvrir automatiquement la configuration du correcteur relative au source RPGLE dans laquelle vous travaillez.
+
+### Configuration de correcteur relative
+
+* Si vous développez dans `LIB/QRPGLESRC/MYSOURCE.RPGLE`, la configuration de Linter existe dans `LIB/VSCODE/RPGLINT.JSON`. Chaque bibliothèque a son propre fichier de configuration de règles, le liant à toutes les sources RPGLE de la bibliothèque.
+* Lors d'un développement dans l'IFS, la configuration des règles existe dans `.vscode/rpglint.json` par rapport au répertoire de travail actuel.
+* Lors du développement dans un espace de travail local, les règles de linter existent dans `.vscode/rpglint.json` par rapport à l'espace de travail.
+
+### Options du correcteur
+
+Vous trouverez ci-dessous quelques configurations de correcteur disponibles. [Voir le schéma `rpglint.json` pour les règles les plus récentes](https://github.com/halcyon-tech/vscode-rpgle/blob/main/src/schemas/rpglint.json).
+
+| Type | Rule | Value | Description |
+|---|---|---|---|
+| 🌟 | indent | number | Indentation dans le RPGLE. |
+| 🌟 | BlankStructNamesCheck | boolean | Les noms de structure doivent être renseignées (pas *N). |
+| 🌟 | QualifiedCheck | boolean | Les noms de structure doivent être qualifiés (QUALIFIED). |
+| 🌟 | PrototypeCheck | boolean |Les prototypes ne peuvent être définis qu'avec soit EXT, EXTPGM ou EXTPROC |
+| 🌟 | ForceOptionalParens | boolean | Les expressions doivent être entourées de parenthèses. |
+| 🌟 | NoOCCURS | boolean | OCCURS n'est pas autorisé. |
+| 🤔 | NoSELECTAll | boolean | 'SELECT *' n'est pas autorisé en SQL embarqué. |
+| 🌟 | UselessOperationCheck | boolean | Les codes opérations redondants (EVAL, Callp) ne sont pas autorisés. |
+| 🌟 | UppercaseConstants | boolean | Les constantes doivent être en majuscules.|
+| 🌟 | IncorrectVariableCase | boolean | Les noms de variables doivent correspondre la définition de casse. |
+| 🌟 | RequiresParameter | boolean | Les parenthèses doivent être utilisées lors d'un appel de procédure, même s'il n'a aucun paramètre. |
+| 🌟 | RequiresProcedureDescription | boolean | Les titres et les descriptions des procédures doivent être renseignées. |
+| 🌟 | StringLiteralDupe | boolean | Les littéraux de chaîne en double ne sont pas autorisés. |
+| 🌟 | RequireBlankSpecial | boolean | *BLANK doit être utilisé sur des littéraux de chaîne vides. |
+| 🌟 | CopybookDirective | string | Force quelle directive doit être utilisée pour inclure une autre source. (`COPY` ou `INCLUDE`) |
+| 🌟 | UppercaseDirectives | boolean | Les directives doivent être en majuscules. |
+| 🤔 | NoSQLJoins | boolean | Les jointures en SQL embarqué ne sont pas autorisés. |
+| 🌟 | NoGlobalsInProcedures | boolean | L'utilisation de variables globales n'est pas autorisée dans les procédures. |
+| 🌟 | SpecificCasing | array | Spécifications de casse pour les codes opérations, les déclarations ou le code des fonctions intégrées. |
+| 🌟 | NoCTDATA | boolean | CTDATA n'est pas autorisé. |
+| 🌟 | PrettyComments | boolean | Les commentaires ne peuvent pas être vides et ils doivent commencer par un espace et avoir une indentation correcte. |
+| 🌟 | NoGlobalSubroutines | boolean | Les sous-routines globales ne sont pas autorisées. |
+| 🌟 | NoLocalSubroutines | boolean | Les sous-routines ne sont pas autorisés dans les procédures. |
+| 🌟 | NoUnreferenced | boolean | Les définitions non référencées ne sont pas autorisées. |
+| 🔒 | NoExternalTo | string array | Les appels à certaines API ne sont pas autorisés. (EXTPROC / EXTPGM) |
+| 🔒 | NoExecuteImmediate | boolean | SQL embraqué intégrée avec exécution immédiate non autorisé. |
+| 🔒 | NoExtProgramVariable | boolean | Déclarer un prototype avec EXTPGM et EXTPROC à l'aide d'une procédure est désormais autorisé. |
+| 🤔 | IncludeMustBeRelative | boolean | Lorsque vous utilisez des instructions de copie ou d'inclure, le chemin doit être relatif. Pour les membres, vous devez au moins inclure le fichier source.Pour StreamFiles, il est relatif du répertoire de travail. |
+| 🤔 | SQLHostVarCheck | boolean | Avertit lorsque des variables sont référencées dans du SQL Embarqué et sont également définies localement. |
+
+**Type key**
+
+| Key | Value |
+|---|---|
+| 🌟 | Code propre |
+| 🤔 | Code sûr |
+| 🔒 | Code sécurisé |
\ No newline at end of file
diff --git a/docs/fr-FR/pages/login.md b/docs/fr-FR/pages/login.md
new file mode 100644
index 0000000..598ff03
--- /dev/null
+++ b/docs/fr-FR/pages/login.md
@@ -0,0 +1,36 @@
+### Se connecter la première fois
+
+Cliquez sur l’icône IBM i.
+
+![](../assets/connect_01.png)
+
+Cliquez 'Connect to an IBM i'
+
+![](../assets/connect_02.png)
+
+Complétez ce formulaire.(Vous avez besoin d'un mot de passe ou d'une clé privée)
+
+![](../assets/connect_03.png)
+
+Ou, appuyez sur F1, recherchez ```IBM i: New Connection```, et remplissez le formulaire ci-dessus.
+
+### Se connecter ultérieurement
+
+Si vous êtes déjà connecté à un système IBM I, cliquez sur la connexion à l'IBM I dans l'explorateur de connexion "SERVERS".
+
+![](../assets/connect_04.png)
+
+Après la connexion, un élément dans la barre d'état apparaîtra affichant le nom
+du système IBM I auquel vous êtes connecté.
+
+![assets/connect_05.png](../assets/connect_05.png)
+
+### Se déconnecter
+
+Pour fermer une connexion et se déconnecter, appuyez sur F1, recherchez ```IBM i: Disconnect from current connection```
+
+### Se reconnecter (connexion instable)
+
+Si votre connexion est instable et parfois se perd, vérifiez le paramètre "Show Reconnect Button". Voir *Settings: Global*, ci-dessous. Cela ajoutera un bouton "Force reconnect to system" à la barre de tâches.
+
+![Reconnect Button](../assets/connect_06.png)
\ No newline at end of file
diff --git a/docs/fr-FR/pages/settings/connection.md b/docs/fr-FR/pages/settings/connection.md
new file mode 100644
index 0000000..73f33c7
--- /dev/null
+++ b/docs/fr-FR/pages/settings/connection.md
@@ -0,0 +1,40 @@
+Plusieurs connexions peuvent être définies.
+Certains paramètres sont spécifiques à une connexion et peuvent être enregistrés pour la connexion puis recharger ultérieurement.
+
+### Current library
+
+Cette bibliothèque sera choisie comme la bibliothèque courante lors de la compilation.
+
+Vous pouvez modifier la bibliothèque actuelle avec la commande `Change build library` (ou `F1 -> Change build library`).
+
+### Home Directory
+
+Répertoire courant de l'utilisateur (/home).
+Ce répertoire est la racine dans l'explorateur IFS.
+
+### Temporary library
+
+la **bibliothèque temporaire** stocke les objets temporaires utilisés par Code For IBM i. Si elle n'existe pas, elle est créée automatiquement. Elle ne peut pas être *QTEMP*.
+La valeur par défaut est *ILEDITOR*.
+
+Remarque: Si votre IBM I utilise un logiciel de réplication, il n'est pas nécessaire de répliquer la bibliothèque temporaire.Votre administrateur système peut l'ajouter à la liste des objets à ignorer.
+
+### Temporary IFS directory
+
+Le **répertoire temporaire** stocke les fichiers IFS temporaires utilisés par Code for IBM i. Si il n'existe pas, il est créé automatiquement . Il doit se trouver dans *root* ou *QOpenSys*.
+La valeur par défaut est */tmp*.
+Remarque: Si votre IBM I utilise un logiciel de réplication, il n'est pas nécessaire de reproduire le répertoire temporaire.Votre administrateur système peut l'ajouter à la liste des chemins à ignorer.
+Il est conseillé de prévoir la suppression automatique des fichiers créés par Code For IBM i lors de la maintenance ou IPL.
+
+### Source ASP
+
+Si les fichiers source sont situés dans un ASP spécifique, spécifiez le ici.
+Sinon, laissez à blanc.
+
+### Enable source dates
+
+Sélectionné, les dates de source seront conservées.
+
+### Source Dates in Gutter
+
+Sélectionné, les dates de source seront affichées dans le gutter (partie gauche au niveau d'une ligne de source).
\ No newline at end of file
diff --git a/docs/fr-FR/pages/settings/global.md b/docs/fr-FR/pages/settings/global.md
new file mode 100644
index 0000000..e10ee73
--- /dev/null
+++ b/docs/fr-FR/pages/settings/global.md
@@ -0,0 +1,45 @@
+Ces paramètres affectent l'extension (et donc *toutes* les connexions).
+Pour ajuster le paramètre global de l'extension, soit:
+
+- Utilisez la touche standard de VS Code Ctrl + , and cliquez `Extensions`
+- ou cliquez sur `File/Preferences/Settings` puis `Extensions`
+-or press F1, search for ```Preferences: Open Settings (UI)``` and cliquez `Extensions`.
+
+Les paramètres de l'extension sont sous ```Code for IBM i```
+
+![assets/settings_01.png](../../assets/settings_01.png)
+
+La plupart des paramètres ont une note explicative.
+Voici quelques précisions ci-dessous :
+
+**Il n'est pas recommandé de modifier le JSON manuellement.Si vous le faites, redémarrez / rechargez Vs Code ainsi Code For IBM i prendra en charge les modifications.**
+
+### Actions
+
+Les actions peuvent être modifiées dans **Settings.json** , mais c'est plus facile en cliquant **Actions** dans la barre d'état. Voir *Actions*, plus haut.
+
+### Connections
+
+Les connexions peuvent être modifiées dans **Settings.json**, mais il est préférable d'ajouter comme vu précédemment dans *Se Connecter pour la première fois*.
+
+### Connection Settings
+
+Ce sont les différents paramètres relatifs aux éléments des explorateurs, par exemple, les filtres de fichiers sources dans l'explorateur d'objet. Bien que ceux-ci puissent être modifiés dans Settings.json, la plupart peuvent être plus facilement maintenus en cliquant ou en cliquant avec le bouton droit sur un élément de l'explorateur.
+
+### Log Compile Output
+
+Lorsqu'il est activé, des fichiers 'Spoules' sont enregistrés suite à l'exécution d'une commande ou action.
+Ces fichiers de 'spoule' peuvent être trouvés sous le volet **OUTPUT** (View->Output, ou Ctrl + Shift + U). Sélectionner **IBM i Output** dans la liste déroulante à droite.
+
+![Panel on Right](../../assets/LogOutput_01.png)
+
+Vous pouvez remettre à blanc l'onglet de sortie à l'aide de l'icône **Clear Output** sur la droite.
+![Clear output](../../assets/LogOutput_02.png)
+
+Vous pouvez modifier la taille de la police dans le volet OUTPUT tab dans le fichier settings.json :
+
+````json
+"[Log]": {
+ "editor.fontSize": 11
+ },
+````
\ No newline at end of file
diff --git a/docs/fr-FR/pages/settings/profiles.md b/docs/fr-FR/pages/settings/profiles.md
new file mode 100644
index 0000000..f09016f
--- /dev/null
+++ b/docs/fr-FR/pages/settings/profiles.md
@@ -0,0 +1,22 @@
+
+Un profil permet à l'utilisateur de basculer rapidement entre différents paramétrages.
+Vous pouvez utiliser un profil pour modifier rapidement la liste des bibliothèques et d'autres éléments spécifiques à un projet.
+Un profil stocke ces informations:
+
+- Le répertoire personnel sur l'IFS (/home)
+- La bibliothèque courante (CURRENT)
+- La liste des bibliothèques
+- Les raccourcis IFS
+- Les filtres de l'explorateur d'objets
+- Les filtres de l'explorateur de Base de données
+
+Si vous n'avez pas de profils, vous pouvez créer votre premier profil à partir des icônes de l'explorateur de la liste des bibliothèques d'utilisateurs:
+
+![Save Profile](../../assets/Connect_Profile_Save_01.png)
+
+Une fois votre premier profil créé, l'explorateur des profils est disponible.
+Cette vue permet de basculer rapidement entre les différents profils, mais aussi mettre à jour et supprimer un profil existant.
+Elle affiche aussi le profil en cours.
+
+**La modification du paramétrage** ne mets pas à jour le profil.
+Si vous souhaitez reporter vos modifications sur le profil , vous devez les enregistrer sur ce profil ou sur un nouveau.
\ No newline at end of file
diff --git a/docs/fr-FR/pages/tips/ccsid.md b/docs/fr-FR/pages/tips/ccsid.md
new file mode 100644
index 0000000..0ae6f78
--- /dev/null
+++ b/docs/fr-FR/pages/tips/ccsid.md
@@ -0,0 +1,47 @@
+IBM i utilise le codage EBCDIC à l'opposé de votre poste de travail, qui utilise le codage ASCII (Windows, MAC and Linux ....chacun utilise sa propre variante). Cela peut entraîner des problèmes dans l'affichage des noms pour les objets, fichiers et membres dans l'explorateur d'objet *Object Browser*. Pire encore, IBM I a plusieurs variantes EBCDIC, chacune ciblant une langue nationale, de plus les caractères spéciaux américains '#', '@' and '$' autorisés sur IBM I pour les noms d'objet,membre peuvent avoir des valeurs de code différentes selon les variantes de code EBCDIC.Mais l'IBM i s'attends toujours à ce que les mêmes valeurs de code des caractères américains soient utilisées, et donc les caractères nationaux avec ces mêmes valeurs de code doivent être utilisés à la place.
+
+À partir de la version 1.4.0 de cette extension, le code pour gérer ces différences a été modifié, principalement lorsque SQL est activé et utilisé pour récupérer les listes d'objets et de membres. Auparavant, il n'y avait pas de conversion entre les caractères américains et nationaux, mais maintenant, Code for IBM i convertit les caractères américains en caractères nationaux. Ceci est contrôlé par le jeu de caractères choisi (CCSID) au niveau du profil IBM i utilisé pour la connexion, Alternativement la valeur système `QCCSID` (Si la valeur du CCSID du profil utilisateur est `*SYSVAL`). Le CCSID est probablement déjà défini sur votre profil ou système utilisateur, mais si vous devez changer pour passer à une autre langue, voici quelques exemples de la façon de définir le CCSID:
+
+| Language | Command | Variant characters |
+| -------- | ------- | :----------------: |
+| US | `CHGUSRPRF _yourprofile_ CCSID(37)` | $, #, @ |
+| DK | `CHGUSRPRF _yourprofile_ CCSID(277)` | Å, Æ, Ø |
+| FR | `CHGUSRPRF _yourprofile_ CCSID(297)` | |
+| FR avec euro | `CHGUSRPRF _yourprofile_ CCSID(1147)` | $, £, § |
+
+
+La conversion se fait dans les deux sens: Lors de la lecture des noms d'objet et des membres pour la liste, mais aussi lors de la création d'un fichier source ou d'un membre ou lors de l'application d'un filtre à une liste. Pour les utilisateurs non américains, vous devez toujours utiliser vos caractères nationaux au lieu des caractères américains, également dans les filtres.
+
+Si vous modifiez le CCSID pour votre profil sur le serveur, Vous devrez peut-être également changer vos filtres, si vous avez utilisé l'un des caractères spéciaux dans un filtre (le caractère euros par exemple !).
+
+La valeur spéciale de CCSID **65535** signifie **aucune conversion**" - et cela désactivera le support SQL.
+Il n'est **pas recommandé** d'utiliser le CCSID **65535** et la plupart des systèmes récents ont un CCSID différent de 65535.
+Mais vous pouvez trouver cette valeur sur les systèmes plus anciens.
+La solution ici serait de changer la valeur de CCSID du profil utilisateur pour une valeur correspondant à votre langue nationale, par exemple.280 en Italie ou 297 en France.
+
+## Définition des variables d'environnement
+
+Si vous rencontrez toujours des problèmes après avoir établi la valeur CCSID, vous devez peut-être vérifier que le paramétrage de l'environnement local de IBM I Pase :
+
+- OS 7.4 ou ultérieur:
+
+[7.4 and above defaults to UTF-8](https://www.ibm.com/docs/en/i/7.4?topic=system-default-pase-ccsid-locale-changed-utf-8) and there should be no issue.
+
+- OS 7.3 ou postérieur:
+
+Le démon ssh doit être démarré avec les bonnes variables d'environnement `PASE_LANG` et `QIBM_PASE_CCSID`.
+Vous voulez probablement utiliser un paramètre local par défaut le CCSID est 1208 (UTF-8).
+**Les paramètres régionaux sont sensibles à la casse**. c.a.d, `FR_FR` est différent de `fr_FR`.
+
+1. Modifiez le langage Pase et le système CCSID *niveau système* en utilisant `WRKENVVAR LEVEL(*SYS)` pour mettre en place:
+ - La bonne valeur locale/langue, c.a.d., `PASE_LANG 'FR_FR'`. Vous pouvez trouver des informations les valeurs locales sur Pase de l'IBM i [içi](https://www.ibm.com/docs/en/i/7.4?topic=ssw_ibm_i_74/apis/pase_locales.htm)
+ - `QIBM_PASE_CCSID` doit être `1208`.
+2. **Redémarrer** le démon SSH.
+
+Vous pouvez également modifier les variables d'environnement au niveau du job `*JOB`, mais il est recommandé de le faire une fois pour toute sur votre système.
+
+Quelques liens vers des pages contenant des informations sur les variantes d'encodage des caractères:
+
+- [IBM definition of Variant characters](https://www.ibm.com/docs/en/db2-for-zos/11?topic=ccsids-variant-characters)
+- [IBM Support](https://www.ibm.com/support/pages/what-impact-changing-qccsid-shipped-65535-another-ccsid)
+- [Wikipedia](https://en.wikipedia.org/wiki/EBCDIC)
\ No newline at end of file
diff --git a/docs/fr-FR/pages/tips/quickstart.md b/docs/fr-FR/pages/tips/quickstart.md
new file mode 100644
index 0000000..87d6e5c
--- /dev/null
+++ b/docs/fr-FR/pages/tips/quickstart.md
@@ -0,0 +1,29 @@
+### Établir une connexion
+
+1. Pressez `F1`
+2. Trouvez `IBM i: New Connection`
+3. Saisissez les informations de votre connexion dans la fenêtre qui s'ouvre
+4. Appuyez sur `Connect`
+
+Astuce: La prochaine fois, essayez d'utiliser `IBM i: Connect to previous`
+
+### Parcourir / modifier les membres sources
+
+1. Connectez-vous à votre système.
+2. Trouvez l'explorateur s'objet `OBJECT BROWSER` et cliquez `Create new filter`.
+3. Complétez la boîte de dialogue du nouveau filtre, en suivant le texte descriptif, en vous assurant:
+ a. Que `Object` est le fichier physique source que vous souhaitez modifier.
+ b. Que `Object type filter`est positionné sur `*SRCPF`.
+4. Enregistrez les paramètres
+5. Cliquez sur le filtre pour afficher la liste des membres du fichier source.
+6. Cliquez sur un membre pour l'ouvrir.
+
+ **Note:** Il n'y a pas de verrouillage des membres et le paramétrage par défaut de l'extension ne met pas à jour les dates de source.
+
+### Comment compiler mon code source?
+
+1. Modifiez votre liste de bibliothèque dans l'explorateur `USER LIBRARY LIST`. (Chaque connexion a sa propre liste de bibliothèques.)
+2. Ouvrez la source que vous souhaitez compiler.
+3. Utilisez `Ctrl+E` ou `Cmd+E` pour compiler votre source.
+4. Si vous avez plus d'une commande de compilation à votre disposition pour ce type de source, sélectionnez la plus appropriée.
+5. Si vous utilisez `*EVENTF`, La liste des erreurs doit se charger automatiquement dans l'onglet `PROBLEMS`.
diff --git a/docs/fr-FR/pages/tips/setup.md b/docs/fr-FR/pages/tips/setup.md
new file mode 100644
index 0000000..3890207
--- /dev/null
+++ b/docs/fr-FR/pages/tips/setup.md
@@ -0,0 +1,64 @@
+Cette page propose des correctifs à des erreurs bizarres que les utilisateurs rencontrent en fonction de la configuration du système.
+
+## Unexpected packet before version
+
+Cette erreur apparaît lorsque vous avez des lignes de code dans les fichiers de démarrage qui écrivent dans la sortie standard (*standard out*). Habituellement, le problème principal survient lorsque les commandes suivantes existent dans le fichier `.bashrc` (Fichier de démarrage sans connexion).
+
+* `echo`
+* `liblist` - Ceci est une fonction intégrée au bash sur IBM I qui modifie la liste des bibliothèques, mais elle écrit aussi dans la sortie standard.
+
+Vous pouvez voir le [problème originel sur GitHub](https://github.com/halcyon-tech/vscode-ibmi/issues/325):
+
+> C'est un peu ma dernière prise de conscience car j'ai récemment changé mon fichier `~ / .bashrc` sur l'IBMI pour supprimer certaines sorties. Et en effet, quand je bascule entre le fichier `~/.bashrc` qui écrit dans 'stdout' et celui qui n'y écrit pas , Je vois que le problème apparaît / disparaît (respectivement).
+>
+> La meilleure solution, pour moi, est de conserver les commandes shell qui écrivent dans le STDOUT dans mon fichier `~/.profile`. Car ce fichier ne s'exécutera pas via une connexion SFTP. Ce qui est en dehors de la portée de cette extension.
+## exécution de SQL sans résultat
+
+Lors de l'exécution d'une instruction SQL, aucun message ou résultat n'apparaît. Cela s'est produit lorsque le SSHD n'a pas démarré correctement. Vous pouvez voir dans la sortie (output) de code pour IBM I quelque chose comme ce qui suit:
+```
+/home/NUJKJ: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
+select srcdat, rtrim(srcdta) as srcdta from ILEDITOR.QGPL_QCLSRC_A_CHGUSR_C
+{
+"code": 0,
+"signal": null,
+"stdout": "DB2>",
+"stderr": ""
+}
+```
+
+### Correction potentielle
+
+Si vous lancez la commande `ps -ef | grep sshd` et voyez en résultat `/QOpenSys/usr/sbin/sshd`, cette solution peut marcher pour vous.
+
+1. Mettre fin à l'instance SSHD actuelle: `ENDTCPSVR SERVER(*SSHD)`.
+2. Relancer le serveur SSHD: `STRTCPSVR SERVER(*SSHD)`.
+3. Dans le shell PASE, lancez `ps -ef | grep sshd`.
+
+Vous devriez maintenant voir que le SSHD s'est lancé à un autre endroit.
+
+```
+$ ps -ef | grep sshd
+ qsecofr 107 1 0 Jul 15 - 0:00 /QOpenSys/QIBM/ProdData/SC1/OpenSSH/sbin/sshd
+```
+
+Le problème doit maintenant être résolu.
+
+## La connexion utilisant la clé privée SSH échoue toujours
+
+Sur certaines plates-formes (par exemple, Linux Popos), votre connexion à l'aide de la clé privée SSH peut échouer avec un message comme:
+```
+Error while signing data with privateKey: error:06000066:public key routines:OPENSSL_internal:DECODE_ERROR
+```
+Cela peut se produire si les routines OpenSSL de votre plate-forme utilisées par Code pour IBM ont des problèmes avec le format de clé publique par défaut.
+
+### Correction en faisant une copie de la clé privée au format PEM
+
+Vous pouvez résoudre ce problème en créant une deuxième instance de votre clé publique existante au format PEM pour la déposer aux côtés de votre clé par défaut. Par exemple, si votre clé publique est `$ home / .ssh / id_rsa`, vous pouvez effectuer ce qui suit:
+```
+cd $HOME/.ssh
+cp id_rsa id_rsa_original
+ssh-keygen -p -f id_rsa -m PEM
+mv id_rsa id_rsa.pem
+mv id_rsa_original id_rsa
+```
+Configurez la connexion de code for IBM I pour utiliser la clé `id_rsa.pem` à la place de `id_rsa`. De cette façon, votre clé d'origine est toujours là pour établir des connexions comme toujours, et vous avez une nouvelle copie au format PEM pour que les connexions de Code for IBMi fonctionnent correctement.
\ No newline at end of file
diff --git a/docs/fr-FR/pages/tips/terminals.md b/docs/fr-FR/pages/tips/terminals.md
new file mode 100644
index 0000000..f8b4adf
--- /dev/null
+++ b/docs/fr-FR/pages/tips/terminals.md
@@ -0,0 +1,33 @@
+Dans Code for IBM i, Il y a la possibilité d'ouvrir un terminal 5250 dans son propre onglet. Cela signifie que presque tous les besoins des développeurs sont intégrés dans l'éditeur. Vous avez le choix de lancer un terminal de 5250 ou un shell Pase dans l'éditeur.
+
+![Screenshot 2021-12-06 at 12 07 22 PM](https://user-images.githubusercontent.com/3708366/144915006-20d44162-23ec-4f04-beec-889f989cd497.png)
+
+_Affiche explorer, RPGLE code, problems, outline view and 5250 terminal._
+
+## Prérequis Terminal
+Auparavant, pour utiliser l'environnement PASE, vous deviez utiliser le terminal VScode pour vous connecter au système (en utilisant SSH). Bien que cela fonctionnait bien, mais cela vous obligeait à vous connecter une deuxième fois - car vous deviez déjà être connecté pour utiliser Code For IBM i.
+
+Maintenant, il y a un nouveau bouton cliquable pour sélectionner le terminal que vous souhaitez lancer:
+
+![image](https://user-images.githubusercontent.com/3708366/144915672-6f2dbea4-c3cc-453c-8cdf-43297e9cf602.png)
+
+Le bouton `Terminals` lance un menu de choix rapide, où vous pouvez sélectionner le type de terminal. Il utilisera la connexion existante dont vous disposez avec Code for IBM i.
+
+* PASE: lancera un terminal dans l'environnement Pase
+* 5250: lancera un émulateur 5250 directement dans le système connecté. Pour cette fonctionnalité, `tn5250` doit être installé sur le système distant. Cela peut être installé via Yum.
+
+## Prérequis 5250 et paramétrage
+
+La seule exigence pour lancer un émulateur 5250 est d'installer TN5250. Cela peut se faire via [installed via yum](https://www.seidengroup.com/php-documentation/how-to-set-up-the-ibm-i-open-source-environment/). Après l'avoir installé, vous êtes prêt à y aller!
+
+Code for IBM i fournit des paramètres supplémentaires afin que vous puissiez configurer votre terminal comme vous le souhaitez. Le paramètre le plus courant est probablement la configuration du CCSID, qui vous permet de définir le codage du terminal.
+
+![image](https://user-images.githubusercontent.com/3708366/144916702-79ba1d15-ab1f-4248-abed-8b19c84715c9.png)
+
+## FAQ
+
+- **Les touches de fonction fonctionnent-elles ?** Oui.
+- **Il est possible de faire une demande système ?** Oui.Utilisez Command+C.
+- **Comment terminer ma session ?** Utilisez le bac terminal dansVS Code.
+- **Je suis coincé avec `Cursor in protected area of display.`!** Utilisez Command+A pour reprendre la main, puis F12 pour revenir en arrière.
+- **Comment sont traduites toutes les touches de fonctions?** [Vérifiez-les ici](https://linux.die.net/man/1/tn5250).
\ No newline at end of file
diff --git a/docs/fr-FR/pages/tips/tricks.md b/docs/fr-FR/pages/tips/tricks.md
new file mode 100644
index 0000000..33056d8
--- /dev/null
+++ b/docs/fr-FR/pages/tips/tricks.md
@@ -0,0 +1,52 @@
+### Comparaison de source
+
+Comparez deux sources, qu'ils soient membres ou fichiers.
+
+1. Faites un clic droit sur l'un ou l'autre type, choisissez `Select for compare`
+2. Cliquez avec le bouton droit sur l'autre source que vous souhaitez comparer et choisir `Compare with Selected`
+
+![assets/compare_01.png](../../assets/compare_01.png)
+
+### Exécution d'une instruction SQL
+
+Installez l'extension [Db2 for IBM i extension](https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.vscode-db2i) pour cette fonctionnalité.
+
+Il est également possible d'exécuter des instructions SQL directement à partir de l'éditeur dans un fichier SQL. Vous pouvez soit mettre en évidence l'instruction que vous souhaitez exécuter ou déplacer votre curseur sur l'instruction et utiliser `Ctrl+R/Cmd+R` pour exécuter l'instruction.
+**note: Les instructions ne s'exécutent qu'en mode SQL (pas SYS) et n'héritent pas de la liste des bibliothèques**
+
+L'ensemble des résultats SQL apparaît dans le volet `IBM i: Results`.
+
+![assets/db_03.png](../../assets/db_03.png)
+
+Un peu comme le pré-processeur SQL, vous pouvez exécuter des commandes CL à partir d'un script SQL. En plus des commandes CL, vous pouvez également obtenir votre résultat SQL sous la forme d'un **json** ou d'un **csv**.
+
+```
+-- result set as normal table
+select * from sample.employee;
+
+-- result set as JSON, will open in a new file
+json: select * from sample.employee;
+
+-- result set as CSV, will open in a new file
+csv: select * from sample.employee;
+
+-- run CL commands. output is directed to IBM i output channel
+cl: dspffd sample/employee
+```
+
+
+### Recherche dans des fichiers sources et des répertoires IFS
+
+Cliquez avec le bouton droit puis cliquez sur `Search` sur le répertoire IFS ou le fichier source pour rechercher dans le contenu des fichiers IFS ou dans celui des membres sources.
+
+### Mode Insertion
+
+VS Code fonctionne en mode insertion. Cela peut être ennuyeux lors de la modification d'une source en format fixe, par exemple DDS.Heureusement, il y a une extension [Overtype](https://marketplace.visualstudio.com/items?itemName=DrMerfy.overtype) qui vous permet de basculer entre le mode *insertion* et le mode *Écrasement*. Elle peut également afficher le mode en cours dans la barre d'état.
+
+### Taille de police
+
+La taille de la police dans l'éditeur est contrôlée par le paramétrage `Editor: Font Size` (dans settings) de VS Code. Cependant, vous pouvez également modifier temporairement la taille de la police de l'éditeur , en plaçant votre curseur dans un éditeur puis en maintenant Ctrl et en utilisant votre barre de défilement de souris.
+
+La taille de la police dans les menus, et les barres d'activité et d'état peut être modifiée en maintenant la touche Ctrl enfoncée , puis les touches + ou -. De tels modifications restent de session à la session.Cependant, cela modifiera également la taille de la police de l'éditeur et vous devrez peut-être l'ajuster comme ci-dessus pour la session en cours.
+
+> Règle de base: **expérimenter**.
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 062f922..ea458be 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -20,6 +20,9 @@
.sidebar>h1 img {
max-width: 3em;
}
+ nav.app-nav li ul {
+ min-width: 130px;
+ }
@@ -29,22 +32,43 @@
-
+
-