 bed98091aa
			
		
	
	
		bed98091aa
		
	
	
	
	
		
			
			* Translated faq.md and added all other files (copy from English) * Translated driver_installation_zadig.md in French * Translated faq_build.md in French * Translated faq_debug in French * Translateed faq_general.md in French * Translated first part of faq_keymap.md * Renamed docs/fr-FR folder to docs/fr-fr * Finished translation of faq_keymap.md * Update faq_build.md * Review (#3) * Review * Update docs/fr-fr/faq_keymap.md * Update docs/fr-fr/faq_debug.md * Fix some PR comments Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch> Co-Authored-By: Wermeille Bastien <bastien.wermeille@gmail.com>
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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 ressemble une fois regroupé:
 | |
| 
 | |
| ```
 | |
| #pragma once
 | |
| 
 | |
| // overrides go here!
 | |
| #undef MY_SETTING
 | |
| #define MY_SETTING 4
 | |
| ```
 |