mirror of
https://github.com/YunoHost/doc.git
synced 2024-09-03 20:06:26 +02:00
spelling correction for dev_fr.md
This commit is contained in:
parent
2d5d56a5b7
commit
7d5017419d
1 changed files with 19 additions and 20 deletions
39
dev_fr.md
39
dev_fr.md
|
@ -1,10 +1,10 @@
|
||||||
## Contribuer au cœur de YunoHost
|
## Contribuer au cœur de YunoHost
|
||||||
|
|
||||||
Vous souhaitez ajouter une nouvelle fonctionnalité au cœur de YunoHost, mais ne
|
Vous souhaitez ajouter une nouvelle fonctionnalité au cœur de YunoHost, mais ne
|
||||||
savez pas comment procéder ? Ce guide parcours les étapes du développement et du
|
savez pas comment procéder ? Ce guide parcourt les étapes du développement et du
|
||||||
processus de contribution.
|
processus de contribution.
|
||||||
|
|
||||||
Si vous chercher quelque chose à implémenter ou un bug à réparer, le
|
Si vous cherchez quelque chose à implémenter ou un bug à réparer, le
|
||||||
bug tracker est [ici](https://github.com/yunohost/issues/issues) !
|
bug tracker est [ici](https://github.com/yunohost/issues/issues) !
|
||||||
|
|
||||||
**Venez dire coucou sur le [salon de dev](/chat_rooms)** !
|
**Venez dire coucou sur le [salon de dev](/chat_rooms)** !
|
||||||
|
@ -34,15 +34,14 @@ C'est un petit framework "fait maison". [Son rôle principal](https://moulinette
|
||||||
est de permettre de construire une API Web et une API en ligne de commande à partir d'un même code Python et d'un schéma YAML que nous appelons
|
est de permettre de construire une API Web et une API en ligne de commande à partir d'un même code Python et d'un schéma YAML que nous appelons
|
||||||
[l'actionmap] (https://github.com/YunoHost/yunohost/blob/stretch-unstable/data/actionsmap/yunohost.yml).
|
[l'actionmap] (https://github.com/YunoHost/yunohost/blob/stretch-unstable/data/actionsmap/yunohost.yml).
|
||||||
|
|
||||||
Il prend en charge d'autres mécanismes tels que l'authentification, l'internationalisation
|
Il prend en charge d'autres mécanismes tels que l'authentification, l'internationalisation et des petites fonctions utilitaires techniques (par ex. lecture/écriture de fichiers json).
|
||||||
et des petites fonctions utilitaires techniques (par ex. lecture/écriture de fichiers json).
|
|
||||||
|
|
||||||
Moulinette dispose de sa propre documentation [ici](https://moulinette.readthedocs.io/en/latest/).
|
Moulinette dispose de sa propre documentation [ici](https://moulinette.readthedocs.io/en/latest/).
|
||||||
|
|
||||||
##### Yunohost
|
##### YunoHost
|
||||||
|
|
||||||
C'est le coeur même de YunoHost. Il contient :
|
C'est le coeur même de YunoHost. Il contient :
|
||||||
- [le code python](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost) qui gère les utilisateurs, domaines, applications, services et autres
|
- [le code Python](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost) qui gère les utilisateurs, domaines, applications, services et autres
|
||||||
- des [helpers bash](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/helpers.d) principalement utilisés par les packageurs d'applications dans les scripts de ces applications
|
- des [helpers bash](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/helpers.d) principalement utilisés par les packageurs d'applications dans les scripts de ces applications
|
||||||
- des [hooks](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/hooks) et [templates](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/templates) qui sont utilisés pour configurer les différents éléments de l'écosystème tels que nginx, postfix, ....
|
- des [hooks](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/hooks) et [templates](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/templates) qui sont utilisés pour configurer les différents éléments de l'écosystème tels que nginx, postfix, ....
|
||||||
- des [chaînes internationalisées](https://github.com/YunoHost/yunohost/tree/stretch-unstable/locales)
|
- des [chaînes internationalisées](https://github.com/YunoHost/yunohost/tree/stretch-unstable/locales)
|
||||||
|
@ -52,17 +51,17 @@ C'est le coeur même de YunoHost. Il contient :
|
||||||
|
|
||||||
C'est le système de connexion unique (single sign-on) de YunoHost. Il contient principalement:
|
C'est le système de connexion unique (single sign-on) de YunoHost. Il contient principalement:
|
||||||
- [du code LUA](https://github.com/YunoHost/ssowat) interfacé directement avec nginx et qui gère tous les aspects "techniques" de l'authentification et de la gestion des accès aux ressources.
|
- [du code LUA](https://github.com/YunoHost/ssowat) interfacé directement avec nginx et qui gère tous les aspects "techniques" de l'authentification et de la gestion des accès aux ressources.
|
||||||
- le [portail web utilisateur](https://github.com/YunoHost/SSOwat/tree/stretch-unstable/portal) qui est l'interface finale visible pour les utilisateurs de YunoHost
|
- le [portail web utilisateur](https://github.com/YunoHost/SSOwat/tree/stretch-unstable/portal) qui est l'interface finale visible par les utilisateurs de YunoHost
|
||||||
|
|
||||||
SSOwat est configuré via `/etc/ssowat/conf.json` qui est généré par YunoHost.
|
SSOwat est configuré via `/etc/ssowat/conf.json` qui est généré par YunoHost.
|
||||||
|
|
||||||
##### Yunohost-admin
|
##### YunoHost-admin
|
||||||
|
|
||||||
C'est une dépendance *optionnelle* de YunoHost et correspond à une interface pour l'API web créée par YunoHost et Moulinette (service `yunohost-api`).
|
C'est une dépendance *optionnelle* de YunoHost et correspond à une interface pour l'API web créée par YunoHost et Moulinette (service `yunohost-api`).
|
||||||
|
|
||||||
Il contient essentiellement :
|
Il contient essentiellement :
|
||||||
- [des templates pour les vues](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/views)
|
- [des templates pour les vues](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/views)
|
||||||
- les [contrôleurs javascript](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/js/yunohost/controllers) correspondants, qui interagissent avec l'API Yunohost
|
- les [contrôleurs JavaScript](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/js/yunohost/controllers) correspondants, qui interagissent avec l'API YunoHost
|
||||||
- et ses [chaînes internationalisées](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/locales)
|
- et ses [chaînes internationalisées](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/locales)
|
||||||
|
|
||||||
### Travailler sur le cœur Python / ligne de commande
|
### Travailler sur le cœur Python / ligne de commande
|
||||||
|
@ -79,7 +78,7 @@ Il contient essentiellement :
|
||||||
`domain`, l'action est `add` et `some.domain.tld` est un argument.
|
`domain`, l'action est `add` et `some.domain.tld` est un argument.
|
||||||
|
|
||||||
- Moulinette va automatiquement faire le lien entre les commandes de
|
- Moulinette va automatiquement faire le lien entre les commandes de
|
||||||
l'actionsmap et les fonctions python (ainsi que leurs arguments) dans
|
l'actionsmap et les fonctions Python (ainsi que leurs arguments) dans
|
||||||
`src/yunohost/`. Par exemple, `yunohost domain add some.domain.tld`
|
`src/yunohost/`. Par exemple, `yunohost domain add some.domain.tld`
|
||||||
déclenchera un appel de `domain_add(domainName)` dans `domain.py`, avec l'argument
|
déclenchera un appel de `domain_add(domainName)` dans `domain.py`, avec l'argument
|
||||||
`domainName` qui vaudra `"some.domain.tld"`.
|
`domainName` qui vaudra `"some.domain.tld"`.
|
||||||
|
@ -92,9 +91,9 @@ Il contient essentiellement :
|
||||||
et mettez le message correspondant dans `locales/en.json`. Vous pouvez aussi
|
et mettez le message correspondant dans `locales/en.json`. Vous pouvez aussi
|
||||||
utiliser des arguments pour construire les messages, avec `{{some-argument:s}}`.
|
utiliser des arguments pour construire les messages, avec `{{some-argument:s}}`.
|
||||||
Ne modifiez pas de fichiers de locales autres que en.json, la traduction sera
|
Ne modifiez pas de fichiers de locales autres que en.json, la traduction sera
|
||||||
faite avec [weblate](https://translate.yunohost.org/) !
|
faite avec [Weblate](https://translate.yunohost.org/) !
|
||||||
|
|
||||||
- YunoHost essaye de suivre le style de code [pep8](http://pep8.org/). Des
|
- YunoHost essaye de suivre le style de code [PEP8](http://pep8.org/). Des
|
||||||
outils existent pour vérifier automatiquement la conformité du code.
|
outils existent pour vérifier automatiquement la conformité du code.
|
||||||
|
|
||||||
- Mettre un `_` devant les noms des fonctions "privées".
|
- Mettre un `_` devant les noms des fonctions "privées".
|
||||||
|
@ -105,36 +104,36 @@ Il contient essentiellement :
|
||||||
|
|
||||||
- Exécutez `cd /ynh-dev && ./ynh-dev use-git yunohost-admin`. Ceci lance gulp, de sorte
|
- Exécutez `cd /ynh-dev && ./ynh-dev use-git yunohost-admin`. Ceci lance gulp, de sorte
|
||||||
qu'à chaque fois que vous modifiez les sources, il recompilera le code
|
qu'à chaque fois que vous modifiez les sources, il recompilera le code
|
||||||
(js) et vous pourrez voir les changements dans le navigateur web (Ctrl+F5).
|
(JS) et vous pourrez voir les changements dans le navigateur web (Ctrl+F5).
|
||||||
Pour stopper la commande, faites simplement Ctrl+C.
|
Pour stopper la commande, faites simplement Ctrl+C.
|
||||||
|
|
||||||
- L'interface web utilise une API pour communiquer avec YunoHost. Les
|
- L'interface web utilise une API pour communiquer avec YunoHost. Les
|
||||||
commandes/requêtes de l'API sont également définies dans l'actionsmap. Par
|
commandes/requêtes de l'API sont également définies dans l'actionsmap. Par
|
||||||
exemple, accéder à la page ```https://domain.tld/yunohost/api/users```
|
exemple, accéder à la page ```https://domain.tld/yunohost/api/users```
|
||||||
correspond à une requete `GET /users` vers l'API YunoHost. Cette requête
|
correspond à une requête `GET /users` vers l'API YunoHost. Cette requête
|
||||||
est mappée sur `user_list()`. Accéder à cette URL devrait afficher le json
|
est mappée sur `user_list()`. Accéder à cette URL devrait afficher le json
|
||||||
retourné par cette fonction. Les requêtes 'GET' sont typiquement destinées à
|
retourné par cette fonction. Les requêtes 'GET' sont typiquement destinées à
|
||||||
demander de l'information au serveur, tandis que les requêtes 'POST' sont
|
demander de l'information au serveur, tandis que les requêtes 'POST' sont
|
||||||
destinées à demander au serveur de modifier/changer des informations ou de
|
destinées à demander au serveur de modifier/changer des informations ou de
|
||||||
réaliser des actions.
|
réaliser des actions.
|
||||||
|
|
||||||
- `js/yunohost/controllers` contiens les parties javascript, et définit quelles
|
- `js/yunohost/controllers` contient les parties JavaScript, et définit quelles
|
||||||
requêtes faire à l'API pendant le chargement d'une page donnée de l'interface,
|
requêtes faire à l'API pendant le chargement d'une page donnée de l'interface,
|
||||||
et comment traiter les données récupérées pour générer la page, en utilisant
|
et comment traiter les données récupérées pour générer la page, en utilisant
|
||||||
des templates.
|
des templates.
|
||||||
|
|
||||||
- `views` contient les templates des pages de l'interface. Dans le template,
|
- `views` contient les templates des pages de l'interface. Dans le template,
|
||||||
les données venant du javascript peuvent êtres utilisées avec la syntaxe
|
les données venant du JavaScript peuvent être utilisées avec la syntaxe
|
||||||
`{{some-variable}}`, qui sera remplacée pendant la construction de la page.
|
`{{some-variable}}`, qui sera remplacée pendant la construction de la page.
|
||||||
Il est également possible d'avoir des conditions avec la syntaxe
|
Il est également possible d'avoir des conditions avec la syntaxe
|
||||||
d'[handlebars.js](http://handlebarsjs.com) : ```{{#if
|
d'[handlebars.js](http://handlebarsjs.com) : ```{{#if
|
||||||
some-variable}}<p>du HTML conditionnel ici !</p>{{/if}}```
|
some-variable}}<p>du HTML conditionnel ici !</p>{{/if}}```
|
||||||
|
|
||||||
- Pour l'internationalisation des messages, utilisez `y18n.t('some-string-code')`
|
- Pour l'internationalisation des messages, utilisez `y18n.t('some-string-code')`
|
||||||
dans le javascript, ou `{{t 'some-string-code'}}` dans le template HTML, et
|
dans le JavaScript, ou `{{t 'some-string-code'}}` dans le template HTML, et
|
||||||
mettez votre message dans `locales/en.json`. Ne modifiez pas de fichiers de
|
mettez votre message dans `locales/en.json`. Ne modifiez pas de fichiers de
|
||||||
locales autres que en.json, la traduction sera faite avec
|
locales autres que en.json, la traduction sera faite avec
|
||||||
[weblate](https://translate.yunohost.org/) !
|
[Weblate](https://translate.yunohost.org/) !
|
||||||
|
|
||||||
##### N'oubliez pas
|
##### N'oubliez pas
|
||||||
|
|
||||||
|
@ -143,7 +142,7 @@ Il contient essentiellement :
|
||||||
(Il faudra retaper le mot de passe administrateur dans l'interface web)
|
(Il faudra retaper le mot de passe administrateur dans l'interface web)
|
||||||
|
|
||||||
- Il faudra peut-être régulièrement forcer le rafraîchissement du cache
|
- Il faudra peut-être régulièrement forcer le rafraîchissement du cache
|
||||||
navigateur pour propager correctement le javascript et/ou HTML (à chaque fois
|
navigateur pour propager correctement le JavaScript et/ou HTML (à chaque fois
|
||||||
que l'on change quelque chose dans `js` ou `views`, donc).
|
que l'on change quelque chose dans `js` ou `views`, donc).
|
||||||
|
|
||||||
|
|
||||||
|
@ -151,7 +150,7 @@ Il contient essentiellement :
|
||||||
|
|
||||||
- Forkez le dépòt correspondant sur Github, et commitez vos changements dans
|
- Forkez le dépòt correspondant sur Github, et commitez vos changements dans
|
||||||
une nouvelle branche, Il est recommandé de nommer la branche avec la
|
une nouvelle branche, Il est recommandé de nommer la branche avec la
|
||||||
convention :
|
convention suivante :
|
||||||
- Pour une nouvelle fonctionnalité ou amélioration : `enh-ISSUENUMBER-description-fonctionnalité`
|
- Pour une nouvelle fonctionnalité ou amélioration : `enh-ISSUENUMBER-description-fonctionnalité`
|
||||||
- Pour une correction de bug : `fix-REDMINETICKET-description-correctif`
|
- Pour une correction de bug : `fix-REDMINETICKET-description-correctif`
|
||||||
- `ISSUENUMBER` est optionnel et correspond au numéro du ticket sur le bug tracker
|
- `ISSUENUMBER` est optionnel et correspond au numéro du ticket sur le bug tracker
|
||||||
|
|
Loading…
Reference in a new issue