[Docs] French translation of QMK Basics (#6925)
* Adds the files that will be translated * Start translate cli_configuration.md in French * Translated cli.md in French * Translated getting_started_getting_help.md in French * /getting_started_github.md * Translated first part of contributing.md in French * Finish translation of contributing.md * Translated the getting_started_introduction.md in French * Corrected issues from @zekth review Co-Authored-By: Vincent LE GOFF <g_n_s@hotmail.fr>master
parent
4335b97a07
commit
0ea4e86175
|
@ -8,15 +8,15 @@
|
|||
* [Bonnes pratiques Git](fr-FR/newbs_best_practices.md)
|
||||
* [Ressources d'apprentissage](fr-FR/newbs_learn_more_resources.md)
|
||||
|
||||
**En Anglais**
|
||||
* [Les bases de QMK](fr-FR/README.md)
|
||||
* [Indroduction à QMK](fr-FR/getting_started_introduction.md)
|
||||
* [QMK CLI](fr-FR/cli.md)
|
||||
* [Configuration de la CLI QMK](fr-FR/cli_configuration.md)
|
||||
* [Contribuer à QMK](fr-FR/contributing.md)
|
||||
* [Comment utiliser GitHub](fr-FR/getting_started_github.md)
|
||||
* [Trouver de l'aide](fr-FR/getting_started_getting_help.md)
|
||||
|
||||
* [Les bases de QMK](README.md)
|
||||
* [Introduction à QMK](getting_started_introduction.md)
|
||||
* [QMK en ligne de commande](cli.md)
|
||||
* [Configurer les lignes de commandes CLI](cli_configuration.md)
|
||||
* [Contribuer à QMK](contributing.md)
|
||||
* [Comment utiliser Github](getting_started_github.md)
|
||||
* [Obtenir de l’aide](getting_started_getting_help.md)
|
||||
**En Anglais**
|
||||
|
||||
* [Changements non rétro-compatibles](breaking_changes.md)
|
||||
* [30 Aout 2019](ChangeLog/20190830.md)
|
||||
|
|
|
@ -0,0 +1,146 @@
|
|||
# La CLI de QMK
|
||||
|
||||
Cette page décrit comment configurer et utiliser la CLI QMK.
|
||||
|
||||
# Vue d'ensemble
|
||||
|
||||
La CLI de QMK permet de simplifier la compilation et l'intéraction avec les clavier QMK. Nous avons définis plusieurs commandes pour simplifier et rationaliser les tâches telles qu'obtenir et compiler le firmware QMK, créer de nouvelles keymaps, et plus.
|
||||
|
||||
* [CLI globale](#global-cli)
|
||||
* [CLI locale](#local-cli)
|
||||
* [Les commandes CLI](#cli-commands)
|
||||
|
||||
# Pré-requis
|
||||
|
||||
La CLI nécessite Python 3.5 ou plus récent. Nous essayons de limiter le nombre de pré-requis, mais vous allez aussi devoir installer les paquets listés dans le fichier [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt).
|
||||
|
||||
# CLI globale
|
||||
|
||||
QMK met à disposition une CLI installable qui peut être utilisée pour configurer votre environnement de compilation QMK, fonctionne avec QMK, et qui rend l'utilisation de plusieurs copies de `qmk_firmware` plus simple. Nous recommandons d'installer et de mettre à jour ceci régulièrement.
|
||||
|
||||
## Installer en utilisant Homebrew (macOS, quelques Linux)
|
||||
|
||||
Si vous avez installé [Homebrew](https://brew.sh) vous pouvez entrer ce qui suit et installer QMK:
|
||||
|
||||
```
|
||||
brew tap qmk/qmk
|
||||
brew install qmk
|
||||
export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
|
||||
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
|
||||
```
|
||||
|
||||
## Installer en utilisant easy_install ou pip
|
||||
|
||||
Si votre système n'est pas listé ci-dessus, vous pouvez installer QMK manuellement. Premièrement, vérifiez que vous avez bien installé Python 3.5 (ou plus récent) et pip. Ensuite, installez QMK avec cette commande:
|
||||
|
||||
```
|
||||
pip3 install qmk
|
||||
export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
|
||||
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
|
||||
```
|
||||
|
||||
## Paquets pour d'autres systèmes d'exploitation
|
||||
|
||||
Nous recherchons des gens pour créer et maintenir un paquet `qmk` pour plus de systèmes d'exploitation. Si vous voulez créer un paquet pour votre système d'exploitation, suivez ces directives:
|
||||
|
||||
* Suivez les bonnes pratiques pour votre système d'exploitation lorsqu'elles entrent en conflit avec ces directives
|
||||
* Documentez pourquoi dans un commentaire lorsque vous ne les suivez pas
|
||||
* Installez en utilisant un virtualenv
|
||||
* Expliquez à l'utilisateur de définir la variable d'environnement `QMK_Home` pour "check out" les sources du firmware à un autre endroit que `~/qmk_firmware`.
|
||||
|
||||
# CLI locale
|
||||
|
||||
Si vous ne voulez pas utiliser la CLI globale, il y a une CLI locale empaquetée avec `qmk_firmware`. Vous pouvez le trouver dans `qmk_firmware/bin/qmk`. Vous pouvez lancer la commande `qmk` depuis n'importe quel répertoire et elle fonctionnera toujours sur cette copie de `qmk_firmware`.
|
||||
|
||||
**Exemple**:
|
||||
|
||||
```
|
||||
$ ~/qmk_firmware/bin/qmk hello
|
||||
Ψ Hello, World!
|
||||
```
|
||||
|
||||
## Limitations de la CLI locale
|
||||
|
||||
Il y a quelques limitations à la CLI locale comparé à la globale:
|
||||
|
||||
* La CLI locale ne supporte pas `qmk setup` ou `qmk clone`
|
||||
* La CLI locale n'opère pas sur le même arbre `qmk_firmware`, même si vous avez plusieurs dépôts clonés.
|
||||
* La CLI locale ne s'exécute pas dans un virtualenv, donc il y a des risques que des dépendances seront en conflit
|
||||
|
||||
# Les commandes CLI
|
||||
|
||||
## `qmk compile`
|
||||
|
||||
Cette commande permet de compiler le firmware de n'importe quel répertoire. Vous pouvez compiler des exports JSON de <https://config.qmk.fm> ou compiler des keymaps du dépôt.
|
||||
|
||||
**Utilisation pour les exports de configuration**:
|
||||
|
||||
```
|
||||
qmk compile <configuratorExport.json>
|
||||
```
|
||||
|
||||
**Utilisation pour les Keymaps**:
|
||||
|
||||
```
|
||||
qmk compile -kb <keyboard_name> -km <keymap_name>
|
||||
```
|
||||
|
||||
## `qmk cformat`
|
||||
|
||||
Cette commande formatte le code C en utilisant clang-format. Lancez-la sans arguments pour formatter tout le code core, ou passez les noms de fichiers à la ligne de commande pour la lancer sur des fichiers spécifiques.
|
||||
|
||||
**Utilisation**:
|
||||
|
||||
```
|
||||
qmk cformat [file1] [file2] [...] [fileN]
|
||||
```
|
||||
|
||||
## `qmk config`
|
||||
|
||||
Cette commande vous permet de configurer le comportement de QMK. Pour la documentation complète de `qmk config`, regardez [Configuration de CLI](cli_configuration.md).
|
||||
|
||||
**Utilisation**:
|
||||
|
||||
```
|
||||
qmk config [-ro] [config_token1] [config_token2] [...] [config_tokenN]
|
||||
```
|
||||
|
||||
## `qmk doctor`
|
||||
|
||||
Cette commande examine votre environnement et vous alertes des potentiels problèmes de compilation ou de flash.
|
||||
|
||||
**Utilisation**:
|
||||
|
||||
```
|
||||
qmk doctor
|
||||
```
|
||||
|
||||
## `qmk new-keymap`
|
||||
|
||||
Cette commande crée une nouvelle keymap basée sur une keymap par défaut d'un clavier existant.
|
||||
|
||||
**Utilisation**:
|
||||
|
||||
```
|
||||
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
|
||||
```
|
||||
|
||||
## `qmk pyformat`
|
||||
|
||||
Cette commande formatte le code python dans `qmk_firmware`.
|
||||
|
||||
**Utilisation**:
|
||||
|
||||
```
|
||||
qmk pyformat
|
||||
```
|
||||
|
||||
## `qmk pytest`
|
||||
|
||||
Cette commande démarre la suite de test python. Si vous faites des changements dans le code Python, assurez vous que les tests se lancent avec succès.
|
||||
|
||||
**Utilisation**:
|
||||
|
||||
```
|
||||
qmk pytest
|
||||
```
|
|
@ -0,0 +1,121 @@
|
|||
# Configuration de QMK CLI
|
||||
|
||||
Ce document explique comment fonctionne la commande `qmk config`.
|
||||
|
||||
# Introduction
|
||||
|
||||
La configuration pour QMK CLI est un système clé/valeur. Chaque clé est composée d'une sous-commande et d'un argument séparé par une virgule. Cela permet une traduction simple et directe entre les clés de configuration et l'argument qu'elle définit.
|
||||
|
||||
## Exemple simple
|
||||
|
||||
Comme exemple, regardons la commande `qmk compile --keyboard clueboard/66/rev4 --keymap default`.
|
||||
|
||||
Il y a deux arguments de ligne de commande qui peuvent être lu de la configuration:
|
||||
|
||||
* `compile.keyboard`
|
||||
* `compile.keymap`
|
||||
|
||||
Essayons de les définir:
|
||||
|
||||
```shell
|
||||
$ qmk config compile.keyboard=clueboard/66/rev4 compile.keymap=default
|
||||
compile.keyboard: None -> clueboard/66/rev4
|
||||
compile.keymap: None -> default
|
||||
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
|
||||
```
|
||||
|
||||
Maintenant, je peux lancer la commande `qmk compile` sans avoir à spécifier mon clavier et keymap à chaque fois.
|
||||
|
||||
## Définir les options par défaut
|
||||
|
||||
Parfois, il est utile de partager une configuration entre plusieurs commandes. Par exemple, plusieurs commandes prennent un argument `--keyboard`. Plutôt que de devoir définir cette valeur pour chaque commande, vous pouvez définir une valeur d'utilisateur qui sera utilisée par toutes les commandes qui prennent cet argument.
|
||||
|
||||
Exemple:
|
||||
|
||||
```
|
||||
$ qmk config user.keyboard=clueboard/66/rev4 user.keymap=default
|
||||
user.keyboard: None -> clueboard/66/rev4
|
||||
user.keymap: None -> default
|
||||
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
|
||||
```
|
||||
|
||||
# CLI Documentation (`qmk config`)
|
||||
|
||||
La commande `qmk config` est utilisée pour intéragir avec la configuration sous-jacente. Lancée sans argument, elle affiche la configuration courante. Lorsque des arguments sont définis, ils sont considérés comme étant des jetons de configuration, qui sont des chaînes de caractère ne contenant aucun espace avec le format suivant:
|
||||
|
||||
<subcommand|general|default>[.<key>][=<value>]
|
||||
|
||||
## Définir des valeurs de configuration
|
||||
|
||||
Vous pouvez définir des valeurs de configuration en mettant le caractère égal (=) dans votre clé de configuration. La clé doit toujours être dans le format complet `<section>.<key>`.
|
||||
|
||||
Exemple:
|
||||
|
||||
```
|
||||
$ qmk config default.keymap=default
|
||||
default.keymap: None -> default
|
||||
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
|
||||
```
|
||||
|
||||
## Lire des valeurs de configuration
|
||||
|
||||
Vous pouvez lire les valeurs de configuration pour la totalité de la configuration, une seule clé, ou une section entière. Vous pouvez aussi spécifier plusieurs clés pour afficher plus d'une valeur.
|
||||
|
||||
### Exemple avec la totalité de la configuration
|
||||
|
||||
qmk config
|
||||
|
||||
### Exemple avec une section entière
|
||||
|
||||
qmk config compile
|
||||
|
||||
### Exemple avec une clé unique
|
||||
|
||||
qmk config compile.keyboard
|
||||
|
||||
### Exemple avec plusieurs clés
|
||||
|
||||
qmk config user compile.keyboard compile.keymap
|
||||
|
||||
## Supprimer des valeurs de configuration
|
||||
|
||||
Vous pouvez supprimer une valeur de configuration en la définissant avec la chaîne spéciale `None`.
|
||||
|
||||
Exemple:
|
||||
|
||||
```
|
||||
$ qmk config default.keymap=None
|
||||
default.keymap: default -> None
|
||||
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
|
||||
```
|
||||
|
||||
## Plusieurs opérations
|
||||
|
||||
Vous pouvez combiner plusieures opérations d'écriture et de lecture en une seule commande. Elle seront exécutées et affichées dans l'ordre:
|
||||
|
||||
```
|
||||
$ qmk config compile default.keymap=default compile.keymap=None
|
||||
compile.keymap=skully
|
||||
compile.keyboard=clueboard/66_hotswap/gen1
|
||||
default.keymap: None -> default
|
||||
compile.keymap: skully -> None
|
||||
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
|
||||
```
|
||||
|
||||
# Options de configuration utilisateur
|
||||
|
||||
| Clé | Valeur par défaut | Description |
|
||||
|-----|---------------|-------------|
|
||||
| user.keyboard | None | Le chemin d'accès vers le clavier (Exemple: `clueboard/66/rev4`) |
|
||||
| user.keymap | None | Le nom de la keymap (Exemple: `default`) |
|
||||
| user.name | None | Le nom d'utilisateur GitHub de l'utilisateur. |
|
||||
|
||||
# Toutes les options de configuration
|
||||
|
||||
| Clé | Valeur par défaut | Description |
|
||||
|-----|---------------|-------------|
|
||||
| compile.keyboard | None | Le chemin d'accès vers le clavier (Exemple: `clueboard/66/rev4`) |
|
||||
| compile.keymap | None | Le nom de la keymap (Exemple: `default`) |
|
||||
| hello.name | None | Le nom à saluer lorsque démarré. |
|
||||
| new_keyboard.keyboard | None | Le chemin d'accès vers le clavier (Exemple: `clueboard/66/rev4`) |
|
||||
| new_keyboard.keymap | None | Le nom de la keymap (Example: `default`) |
|
|
@ -0,0 +1,154 @@
|
|||
# Comment contribuer
|
||||
|
||||
👍🎉 Premièrement, merci de prendre le temps de lire ceci et de contribuer! 🎉👍
|
||||
|
||||
Les contributions de tiers nous aide à améliorer et faire grandir QMK. Nous voulons rendre les pull requests et le processus de contribution utile et simple à la fois pour les contributeurs et les mainteneurs. C'est pourquoi nous avons mis en places des directives pour les contibuteurs afin que votre pull request puisse être accepté sans changement majeur.
|
||||
|
||||
* [Aperçu du projet](#project-overview)
|
||||
* [Conventions de codage](#coding-conventions)
|
||||
* [Directives générales](#general-guidelines)
|
||||
* [Que veut dire le code de conduite pour moi?](#what-does-the-code-of-conduct-mean-for-me)
|
||||
|
||||
## Je ne veux pas lire tout ce pavé! J'ai juste une question!
|
||||
|
||||
Si vous voulez poser une question sur QMK, vous pouvez le faire sur le [sous-reddit OLKB](https://reddit.com/r/olkb) ou sur [Discord](https://discord.gg/Uq7gcHh).
|
||||
|
||||
Merci de garder ceci en tête:
|
||||
|
||||
* Cela peut prendre plusieurs heures pour que quelqu'un réponde à votre question. Merci d'être patient!
|
||||
* Tous ceux impliqués avec QMK fait don de son temps et de son énergie. Nous ne sommes pas payés pour travailler sur ou répondre aux questions concernant QMK.
|
||||
* Essayez de poser vos questions de manière à ce qu'elles soient le plus simple à répondre possible. Si vous n'êtes pas sûrs de savoir comment faire, voici quelques bon guides (en anglais):
|
||||
* https://opensource.com/life/16/10/how-ask-technical-questions
|
||||
* http://www.catb.org/esr/faqs/smart-questions.html
|
||||
|
||||
# Aperçu du projet
|
||||
|
||||
QMK est majoritairement écrit en C, avec quelques fonctions et parties spécifiques écrites en C++. Il est destiné aux processeurs intégrés que l'on trouve dans des clavier, particulièrement AVR ([LUFA](http://www.fourwalledcubicle.com/LUFA.php)) et ARM ([ChibiOS](http://www.chibios.com)). Si vous maîtrisez déjà la programmation sur Arduino, vous trouverez beaucoup de concepts et de limitations familiers. Une expérience préalable avec les Arduino n'est pas nécessaire à contribuer avec succès à QMK.
|
||||
|
||||
<!-- FIXME: We should include a list of resources for learning C here. -->
|
||||
|
||||
# Où trouver de l'aide?
|
||||
|
||||
Si vous avez besoin d'aide, vous pouvez [ouvrir une issue](https://github.com/qmk/qmk_firmware/issues) ou [un chat sur Discord](https://discord.gg/Uq7gcHh).
|
||||
|
||||
# Comment contribuer?
|
||||
|
||||
Vous n'avez encore jamais contribué à un projet open source? Vous vous demandez comment les contributions dans QMK fonctionnent? Voici un aperçu rapide!
|
||||
|
||||
0. Enregistrez-vous sur [GitHub](https://github.com).
|
||||
1. Définissez une keymap à contribuer, [trouvez une issue](https://github.com/qmk/qmk_firmware/issues) que vous souhaitez corriger, ou [une fonction](https://github.com/qmk/qmk_firmware/issues?q=is%3Aopen+is%3Aissue+label%3Afeature) que vous voulez ajouter.
|
||||
2. Créez un fork sur le dépôt associé avec une issue sur votre compte GitHub. Cela veut dire que vous allez avoir une copie du dépôt sous `votre-login-GitHub/qmk_firmware`.
|
||||
3. Clonez le dépôt sur votre macine locale en utilisant `git clone https://github.com/login-github/repository-name.git`.
|
||||
4. Si vous travaillez sur une nouvelle fonctionnalité, pensez à ouvrir une issue pour parler avec nous du travail que vous souhaitez démarrer.
|
||||
5. Créez une nouvelle branche pour votre correctif en utilisant `git checkout -b nom-de-branche`.
|
||||
6. Faites les changements nécessaires pour corriger le problème ou ajouter la fonctionnalité.
|
||||
7. Utilisez `git add chemin-de-fichier` pour ajouter les contenus des fichiers modifiés au "snapshot" que git utilise pour gérer l'état du projet, appelé aussi l'index.
|
||||
8. Utilisez `git commit -m "Insérez une description courte des changements (en anglais)"` pour enregistrer le contenu de l'index avec un message descriptif.
|
||||
9. Poussez les changements vers votre dépôt sur GitHub en utilisant `git push origin nom-de-branche`.
|
||||
10. Créez un pull request sur [QMK Firmware](https://github.com/qmk/qmk_firmware/pull/new/master).
|
||||
11. Donnez un titre à votre pull request en utilisant une description courte des changements que vous avez fait et ajoutez le numéro de l'issue ou du bug associé avec votre changement. Les commentaires de PR devraient se faire en anglais de préférence. Par exemple, vous pouvez utiliser un titre tel que celui-là: "Added more log outputting to resolve #4352".
|
||||
12. Dans la description du pull request, expliquez les changements que vous avez fait et tous les problèmes qui existent, selon vous, sur le pull request que vous avez fait. Vous pouvez aussi utiliser la description pour poser des questions au mainteneur. Il n'est pas nécessaire que votre pull request soit parfait (aucun pull request ne l'est), le reviewer sera là pour vous aider à résoudre les problèmes et l'améliorer!
|
||||
13. Attendez que le pull request soit revu par un mainteneur.
|
||||
14. Faites des changements au pull request si le mainteneur le recommande.
|
||||
15. Célébrez votre succès une fois votre pull request fusionné!
|
||||
|
||||
# Conventions de codage
|
||||
|
||||
La grande majorité de notre style est plutôt simple à comprendre. Si vous connaissez C ou Python, vous ne devriez pas avoir trop de difficulté avec notre style.
|
||||
|
||||
* [Conventions de codage - C](coding_conventions_c.md)
|
||||
* [Conventions de codage - Python](coding_conventions_python.md)
|
||||
|
||||
# Directives générales
|
||||
|
||||
Nous avons un certain nombre de type de changements dans QMK, chacun nécessitant un niveau de rigueur différent. Nous voulons que vous gardiez les directives suivantes en tête quel que soit le changement que vous êtes en train de faire.
|
||||
|
||||
* Séparez les PR dans des unités logiques. Par exemple, ne soumettez pas un PR qui couvre deux fonctionnalités séparées, soumettez plutôt un PR pour chaque fonctionnalité.
|
||||
* Vérifiez les espaces blancs non nécessaires avec `git diff --check` avant de commit.
|
||||
* Assurez-vous que votre code compile.
|
||||
* Keymaps: Assurez-vous que `make keyboard:your_new_keymap` ne renvoie pas d'erreur.
|
||||
* Claviers: Assurez-vous que `make keyboard:all` ne renvoie pas d'erreur.
|
||||
* Core: Assurez-vous que `make all` ne renvoie pas d'erreur.
|
||||
* Assurez-vous que les messages de commit soient compréhensibles d'eux-même. Vous devriez écrire une description simple (pas plus de 70 caractères) sur la première ligne, suivi d'une ligne vide, suivi d'un détail de votre commit, si nécessaire. Exemple:
|
||||
|
||||
```
|
||||
Adjust the fronzlebop for the kerpleplork
|
||||
|
||||
The kerpleplork was intermittently failing with error code 23. The root cause was the fronzlebop setting, which causes the kerpleplork to activate every N iterations.
|
||||
|
||||
Limited experimentation on the devices I have available shows that 7 is high enough to avoid confusing the kerpleplork, but I'd like to get some feedback from people with ARM devices to be sure.
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
La documentation est l'une des manière les plus simples de démarrer la contribution sur QMK. Il est simple de trouver des endroits où la documentation est fausse ou incomplète, et il est tout aussi simple de la corriger! Nous avons aussi grandement besoin de quelqu'un pour éditer notre documentation, donc si vous avez des compétences en édition mais que vous n'êtes pas sûr de savoir où aller, n'hésitez pas [demandez de l'aide](#where-can-i-go-for-help)!
|
||||
|
||||
Vous trouverez toute notre documentation dans le répertoire `qmk_firmware/docs`, ou si vous préférez utiliser des outils web, vous pouvez cliquer sur le bouton "Suggest An Edit" en haut de chaque page sur http://docs.qmk.fm/.
|
||||
|
||||
Lorsque vous donnez des exemples de code dans la documentation, essayez de suivre les conventions de nommage utilisées ailleurs dnas la documentation. Par exemple, standardisez les enums en utilisant `my_layers` ou `my_keycodes` afin de garder une consistance:
|
||||
|
||||
```c
|
||||
enum my_layers {
|
||||
_FIRST_LAYER,
|
||||
_SECOND_LAYER
|
||||
};
|
||||
|
||||
enum my_keycodes {
|
||||
FIRST_LAYER = SAFE_RANGE,
|
||||
SECOND_LAYER
|
||||
};
|
||||
```
|
||||
|
||||
## Keymaps
|
||||
|
||||
La plupart des contributeurs débutants démarrent avec leurs keymaps personnelles. Nous essayons de garder les standards pour les keymaps pluôt simple (les keymaps reflètent, après tout, la personnalité de leurs créateurs) mais nous demandons que vous suiviez les directives suivantes afin que d'autres puissent découvrir et apprendre de votre keymap.
|
||||
|
||||
* Ecrivez un fichier `readme.md` en utilisant [la template](documentation_templates.md).
|
||||
* Tous les PR de keymaps doivent être "squashés", donc si la manière dont vos commits sont squashés vous est important, vous devez le faire vous-même.
|
||||
* Ne regroupez pas des fonctionnalités avec votre PR de keymap. Envoyez d'abord votre fonctionnalité, puis créez un second PR pour la keymap.
|
||||
* N'incluez pas de fichier `Makefile` dans votre dossier de keymap (ils ne sont plus utilisés)
|
||||
* Mettez à jour les copyrights dans les en-têtes de fichiers (cherchez `%YOUR_NAME%`)
|
||||
|
||||
## Claviers
|
||||
|
||||
Les claviers sont la raison d'être de QMK. Certains claviers sont maintenus par la communauté, alors que d'autre sont maintenus par les gens responsables de la création du clavier. Le fichier `readme.md` devrait vous informer de qui maintient le clavier. Si vous avez des questions concernant un clavier en particulier, vous pouvez [Ouvrir une issue](https://github.com/qmk/qmk_firmware/issues) et tagger le mainteneur dans votre question.
|
||||
|
||||
Nous vous demandons aussi que vous suiviez ces directives:
|
||||
|
||||
* Ecrivez un fichier `readme.md` en utilisant [le template](documentation_templates.md).
|
||||
* Gardez un nombre de commits raisonnable, ou nous squasherons votre PR.
|
||||
* Ne regroupez pas des fonctionnalités avec le PR pour votre clavier. Envoyez d'abord votre fonctionnalité, puis créez un second PR pour le clavier.
|
||||
* Appelez les fichiers `.c`/`.h` du nom du dossier parent, par exemple `/keyboards/<kb1>/<kb2>/<kb2>.[ch]`
|
||||
* N'incluez pas de fichier `Makefile` dans votre dossier de keymap (ils ne sont plus utilisés)
|
||||
* Mettez à jour les copyrights dans les en-têtes de fichiers (cherchez `%YOUR_NAME%`)
|
||||
|
||||
## Quantum/TMK Core
|
||||
|
||||
Faites attention d'être sûr d'implémenter votre nouvelle fonctionnalité de la meilleure manière qu'il soit avant d'investir beaucoup de travail à son développement. Vous pouvez apprendre les bases de QMK en lisant [Comprendre QMK](understanding_qmk.md), qui vous donnera une idée du flux du programme QMK. A partir de là, parlez nous afin de définir la meilleure façon d'implémenter votre idée. Il y a deux façons principale de le faire:
|
||||
|
||||
* [Chat sur Discord](https://discord.gg/Uq7gcHh)
|
||||
* [Ouvrir une Issue](https://github.com/qmk/qmk_firmware/issues/new)
|
||||
|
||||
Les PR de nouvelles fonctionnalités de de correction de bug affectent tous les claviers. Nous sommes aussi dans un processus de restructuration de QMK. Pour cette raison, il est absolument nécessaire que tout changement important ou significatif soit discuté avant que l'implémentation soit faite. Si vous ouvrez un PR sans nous avoir parlé, préparez vous à faire des refontes significatives si vous changements ne sont pas compatibles avec ce que nous avons planifié.
|
||||
|
||||
Voici quelques choses à garder en tête lorsque vous travaillez sur une fonctionnalité ou un bug fix.
|
||||
|
||||
* **Désactivé par défaut** - la mémoire est plutôt limitée sur la plupart des puces que QMK supporte, et il est important que les keymaps courantes ne soient pas cassées. S'il vous plaît faites que vos features doivent être **activées** plutôt que désactivées. Si vous pensez qu'elle devrait être activée par défaut, ou que cela réduit la taille du code, parlez-nous en.
|
||||
* **Compilez localement avant de soumettre** - Cela devrait aller sans dire, mais votre code doit compiler! Notre système Travis devrait relever les problèmes, mais il est généralement plus rapide de compiler quelques claviers en local plutôt que d'attendre le retour des résultats
|
||||
* **Faites attention aux révisions et différentes bases de puces** - beaucoup de claviers ont des révisions qui permettent des changements de configuration mineurs, voir des bases de chip différentes. Essayez de faire que votre fonctionnalité soit supportée à la fois sur ARM et AVR, ou désactivez-là automatiquement sur les plateformes non supportées.
|
||||
* **Expliquez votre fonctionnalité** - Documentez-là dans `docs/`, soit dans un nouveau fichier, ou dans une partie d'un fichier existant. Si vous ne la documentez pas, personne ne pourra bénéficier de votre dur labeur.
|
||||
|
||||
Nous vous demandons aussi de suivre ces ces directives:
|
||||
|
||||
* Gardez un nombre de commits raisonnable, ou nous squasherons votre PR.
|
||||
* Ne regroupez pas des claviers ou des keymaps avec des changements core. Soumettez vos changements core en premier.
|
||||
* Ecrivez des [Tests Unitaires](unit_testing.md) pour votre fonctionnalité.
|
||||
* Suivez le style du fichier que vous modifiez. Si le style n'est pas clair ou qu'il y a un mélange de fichiers, vous devriez vous conformer aux [conventions de codage](#coding-conventions) au dessus.
|
||||
|
||||
## Refactoriser
|
||||
|
||||
Afin de maintenir une vision claire sur comment les choses sont architectuées dans QMK, nous essayons de planifier des refactorisations en profondeur et qu'un collaborateur fasse le changement. Si vous avez une idée de refactorisation, ou une suggestion, [ouvrez une issue] [open an issue](https://github.com/qmk/qmk_firmware/issues), nous adorons discuter de comment améliorer QMK.
|
||||
|
||||
# Que veut dire le code de conduite pour moi?
|
||||
|
||||
Note [Code De Conduite](https://github.com/qmk/qmk_firmware/blob/master/CODE_OF_CONDUCT.md) veut dire que vous avez la responsabilité de traiter tout le monde dans le projet avec respect et courtoisie, peut importe leur identité. Si vous êtes victime d'une attitude ou de commentaires inapropriés, tels que décrit dans notre Code de Conduite, nous sommes là pour vous et nous ferons de notre mieux pour nous assurer que le fautif soit réprimandé, tel que décrit dans notre code.
|
|
@ -0,0 +1,15 @@
|
|||
# Trouver de l'aide
|
||||
|
||||
Il y a beaucoup de ressources pour trouver de l'aide avec QMK.
|
||||
|
||||
## Chat temps-réel
|
||||
|
||||
Vous trouverez des développeurs QMK et des utilisateurs sur notre [Serveur Discord](https://discord.gg/Uq7gcHh) principal. Il y a des canaux spécifiques dans le serveurs pour discuter des firmware, toolbox, hardware et configurateurs.
|
||||
|
||||
## Sous-Reddit OLKB
|
||||
|
||||
Le forum officiel de QMK est [/r/olkb](https://reddit.com/r/olkb) sur [reddit.com](https://reddit.com).
|
||||
|
||||
## Tickets GitHub
|
||||
|
||||
Vous pouvez ouvrir un [ticket sur GitHub](https://github.com/qmk/qmk_firmware/issues). Ceci est spécialement pratique lorsque votre problème demande une discussion long terme ou un débugage.
|
|
@ -0,0 +1,61 @@
|
|||
# Comment utiliser GitHub avec QMK
|
||||
|
||||
GitHub peut être un peu compliqué pour ceux qui n'y sont pas familier. Ce guide va vous expliquer chaque étape de "fork", clone et envoi d'un pull request avec QMK.
|
||||
|
||||
?> Ce guide part du principe que vous êtes suffisamment à l'aise pour envoyer commandes sur la ligne de commande et que vous avez Git installé sur votre système.
|
||||
|
||||
Commencez par la [page GitHub de QMK](https://github.com/qmk/qmk_firmware), et vous verrez un bouton dans le coin en haut à droite qui indique "Fork":
|
||||
|
||||
![Fork on Github](http://i.imgur.com/8Toomz4.jpg)
|
||||
|
||||
Si vous faites partie d'une organisation, vous aurez besoin de savoir quel compte utiliser pour le fork. Dans la plupart des cas, vous voudrez créer le fork dans votre compte personnel. Une fois le fork complet (cela peut quelque fois prendre un peu de temps), appuyez sur le bouton "Clone or download":
|
||||
|
||||
![Download from Github](http://i.imgur.com/N1NYcSz.jpg)
|
||||
|
||||
Faites attention à sélectionner "HTTPS", et sélectionnez le liens et copiez-le:
|
||||
|
||||
![HTTPS link](http://i.imgur.com/eGO0ohO.jpg)
|
||||
|
||||
Ensuite, entrez `git clone` dans la ligne de commande, et collez votre lien:
|
||||
|
||||
```
|
||||
user@computer:~$ git clone https://github.com/whoeveryouare/qmk_firmware.git
|
||||
Cloning into 'qmk_firmware'...
|
||||
remote: Counting objects: 46625, done.
|
||||
remote: Compressing objects: 100% (2/2), done.
|
||||
remote: Total 46625 (delta 0), reused 0 (delta 0), pack-reused 46623
|
||||
Receiving objects: 100% (46625/46625), 84.47 MiB | 3.14 MiB/s, done.
|
||||
Resolving deltas: 100% (29362/29362), done.
|
||||
Checking out files: 100% (2799/2799), done.
|
||||
```
|
||||
|
||||
Vous avez maintenant votre fork QMK sur votre machine locale, vous pouvez ajouter votre keymap, la compiler et la flasher sur votre board. Une fois heureux avec vos changements, vous pouvez les ajouter, commit, et pousser vers votre fork comme suit:
|
||||
|
||||
```
|
||||
user@computer:~$ git add .
|
||||
user@computer:~$ git commit -m "adding my keymap"
|
||||
[master cccb1608] adding my keymap
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 keyboards/planck/keymaps/mine/keymap.c
|
||||
user@computer:~$ git push
|
||||
Counting objects: 1, done.
|
||||
Delta compression using up to 4 threads.
|
||||
Compressing objects: 100% (1/1), done.
|
||||
Writing objects: 100% (1/1), 1.64 KiB | 0 bytes/s, done.
|
||||
Total 1 (delta 1), reused 0 (delta 0)
|
||||
remote: Resolving deltas: 100% (1/1), completed with 1 local objects.
|
||||
To https://github.com/whoeveryouare/qmk_firmware.git
|
||||
+ 20043e64...7da94ac5 master -> master
|
||||
```
|
||||
|
||||
Vos changements existent maintenant dans votre fork sur GitHub. Si vous allez à cete adresse (`https://github.com/<whoeveryouare>/qmk_firmware`), vous pouvez créer un nouveau "Pull Request" en cliquant sur ce bouton:
|
||||
|
||||
![New Pull Request](http://i.imgur.com/DxMHpJ8.jpg)
|
||||
|
||||
Maintenant, vous pourrez voir exactement ce que vous avez commité. Si ça vous semble bien, vous pouvez le finaliser en cliquant sur "Create Pull Request":
|
||||
|
||||
![Create Pull Request](http://i.imgur.com/Ojydlaj.jpg)
|
||||
|
||||
Une fois transmis, nous pourrons vous parler de vos changements, vous demander de faire des changements, et éventuellement de les accepter!
|
||||
|
||||
Merci de contribuer à QMK :)
|
|
@ -0,0 +1,62 @@
|
|||
# Introduction
|
||||
|
||||
Le but de cette page est d'expliquer les informations de base qui vous serons nécessaire pour travailler sur le projet QMK. Il a pour pré-requis que vous soyez familier à la navigation à l'aide d'un shell Unix, mais ne s'attend pas à ce que vous soyez familier avec C ou la compilation en utilisant make.
|
||||
|
||||
## Structure de base de QMK
|
||||
|
||||
QMK est un fork du projet [tmk_keyboard](https://github.com/tmk/tmk_keyboard) créé par [Jun Wako](https://github.com/tmk). Le code originel de TMK, avec quelques modifications, se trouve dans le dossier `tmk`. Les additions que QMK amène au projet se trouvent dans le dossier `quantum`. Les projets de clavier se trouvent dans les dossiers `handwired` et `keyboard`.
|
||||
|
||||
### Structure du Userspace
|
||||
|
||||
Dans le dossier `users` se trouve un répertoire pour chaque utilisateur. C'est un endroit où les utilisateurs peuvent mettre du code qui serait partagé entre plusieurs claviers. Merci de lire la documentation [Fonctionnalité Userspace](feature_userspace.md) pour plus d'information.
|
||||
|
||||
### Structure du projet clavier
|
||||
|
||||
Dans le dossier `keyboards`, son sous-dossier `handwired` et ses sous-dossiers pour les revendeurs et fabriquants (par exemple `clueboard`) se trouve un répertoire pour chaque projet clavier. Par exemple `qmk_firmware/keyboards/clueboard/2x1800`.
|
||||
|
||||
A l'intérieur, vous trouverez la structure suivante:
|
||||
|
||||
* `keymaps/`: différentes keymaps qui peuvent être compilées
|
||||
* `rules.mk`: Ce fichier définit les options "make" par défaut. Ne modifiez pas ce fichier directement, utilisez à la place un `rules.mk` spécifique à la keymap.
|
||||
* `config.h`: Ce fichier définit les options de compilation par défaut. Ne modifiez pas ce fichier directement, utilisez à la place un `config.h` spécifique à la keymap.
|
||||
* `info.json`: Le fichier utilisé pour définir les options de layout de QMK Configurator. Voyez [Support Configurator](reference_configurator_support.md) pour plus d'information.
|
||||
* `readme.md`: une brève description du clavier.
|
||||
* `<keyboardName>.h`: Ce fichier définit le layout du fichier par rapport à la matrice de commutation.
|
||||
* `<keyboardName>.c`: Ce fichier définit du code custom pour le clavier.
|
||||
|
||||
Pour plus d'information sur la structure du projet, voyez [Directives clavier QMK](hardware_keyboard_guidelines.md).
|
||||
|
||||
### Structure d'une Keymap
|
||||
|
||||
Dans chaque dossier keymap, vous allez trouver les fichiers suivants. Seul le fichier `keymap.c` est nécessaire, et si le reste des fichiers n'existent pas, les options par défaut seront choisies.
|
||||
|
||||
* `config.h`: les options de configuration de votre keymap
|
||||
* `keymap.c`: tout le code de votre keymap, requis
|
||||
* `rules.mk`: les features de QMK qui sont activées
|
||||
* `readme.md`: une description de votre keymap, comment d'autres l'utiliseront, et des explications des fonctionnalités. Uploadez les images vers un service comme imgur.
|
||||
|
||||
# Le fichier `config.h`
|
||||
|
||||
Le fichier `config.h` peut être mis à 3 endroits:
|
||||
|
||||
* keyboard (`/keyboards/<keyboard>/config.h`)
|
||||
* userspace (`/users/<user>/config.h`)
|
||||
* keymap (`/keyboards/<keyboard>/keymaps/<keymap>/config.h`)
|
||||
|
||||
Le système de compilation cherche automatiquement les fichiers de configuration dans l'ordre au dessus. Si vous souhaitez surcharger une configuration définie par un `config.h` précédent, vous devrez d'abord ajouter le code suivant.
|
||||
|
||||
```
|
||||
#pragma once
|
||||
```
|
||||
|
||||
Ensuite, pour surcharger l'option du fichier `config.h` précédent, vous devez `#undef` puis `#define` l'option à nouveau.
|
||||
|
||||
Voici à quoi l'ensemble du code resemble une fois regroupé:
|
||||
|
||||
```
|
||||
#pragma once
|
||||
|
||||
// overrides go here!
|
||||
#undef MY_SETTING
|
||||
#define MY_SETTING 4
|
||||
```
|
Loading…
Reference in New Issue