]> git.donarmstrong.com Git - qmk_firmware.git/blob - docs/fr-fr/faq_build.md
French translation - FAQ section (#6995)
[qmk_firmware.git] / docs / fr-fr / faq_build.md
1 # Foire aux questions sur la compilation
2
3 Cette page couvre les questions concernant la compilation de QMK. Si vous ne l'avez pas encore fait, vous devriez lire les guides [Configuration de l'environnement de build](getting_started_build_tools.md) et [Instructions pour Make](getting_started_make_guide.md).
4
5 ## Je ne peux pas programmer sous Linux
6
7 Vous aurez besoin des permissions appropriées pour utiliser un périphérique. Pour les utilisateurs de Linux, référez-vous aux instructions concernant les règles `udev` ci-dessous. Si `udev` vous pose des problèmes, une alternative est d'utiliser la commande `sudo`. Si vous ne connaissez pas cette commande, référez-vous à son manuel d'utilisation en utilisant `man sudo` ou [regardez cette page](https://linux.die.net/man/8/sudo).
8
9 Un exemple utilisant `sudo`, lorsque votre contrôleur est un ATMega32u4 :
10
11     $ sudo dfu-programmer atmega32u4 erase --force
12     $ sudo dfu-programmer atmega32u4 flash your.hex
13     $ sudo dfu-programmer atmega32u4 reset
14
15 ou simplement :
16
17     $ sudo make <keyboard>:<keymap>:dfu
18
19 Veuillez noter que lancer `make` avec `sudo` est généralement une **mauvaise** idée, et vous devriez préférer une des méthodes précédente, si possible.
20
21 ### Règles `udev` pour Linux
22
23 Sous Linux, vous aurez besoin des permissions appropriées pour accéder au MCU (le micro-contrôleur). Vous avez le choix d'utiliser `sudo` en flashant le firmware, ou placer ces fichiers dans `/etc/udev/rules.d`. Une fois ajouté, lancez les commandes suivantes :
24
25 ```console
26 sudo udevadm control --reload-rules
27 sudo udevadm trigger
28 ```
29
30 **/etc/udev/rules.d/50-atmel-dfu.rules:**
31 ```
32 # Atmel ATMega32U4
33 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", MODE:="0666"
34 # Atmel USBKEY AT90USB1287
35 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", MODE:="0666"
36 # Atmel ATMega32U2
37 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", MODE:="0666"
38 ```
39
40 **/etc/udev/rules.d/52-tmk-keyboard.rules:**
41 ```
42 # tmk keyboard products     https://github.com/tmk/tmk_keyboard
43 SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
44 ```
45
46 **/etc/udev/rules.d/54-input-club-keyboard.rules:**
47
48 ```
49 # Input Club keyboard bootloader
50 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", MODE:="0666"
51 ```
52
53 **/etc/udev/rules.d/55-catalina.rules:**
54 ```
55 # ModemManager should ignore the following devices
56 ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
57 ATTRS{idVendor}=="2341", ENV{ID_MM_DEVICE_IGNORE}="1"
58 ```
59
60 **Note:** Le filtrage utilisant ModemManager fonctionnera uniquement si vous n'êtes pas en mode strict. Les commandes suivantes peuvent changer cette option :
61
62 ```console
63 sudo sed -i 's/--filter-policy=strict/--filter-policy=default/' /lib/systemd/system/ModemManager.service
64 sudo systemctl daemon-reload
65 sudo systemctl restart ModemManager
66 ```
67
68 **/etc/udev/rules.d/56-dfu-util.rules:**
69
70 ```
71 # stm32duino
72 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", MODE:="0666"
73 # Generic stm32
74 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666"
75 ```
76
77 ### Le périphérique sériel n'est pas détecté en mode bootloader sous Linux
78
79 Assurez-vous que votre kernel ait un support approprié pour votre périphérique. Si votre périphérique utilise USB ACM, par exemple pour les Pro Micro (AtMega32u4), assurez-vous d'inclure `CONFIG_USB_ACM=y`. D'autres périphériques peuvent avoir besoin de `USB_SERIAL` et de ses sous-options.
80
81 ## Périphérique inconnu pour le bootloader DFU
82
83 Les problèmes rencontrés lorsque l'on flash des claviers sous Windows sont, la plupart du temps, dus à une installation du mauvais pilote, ou un pilote manquant.
84
85 Relancer le script d'installation de QMK (`./util/qmk_install.sh` situé dans répertoire `qmk_firmware`sous MSYS2 ou WSL) ou réinstaller la QMK Toolbox peut résoudre le problème. Une alternative est de télécharger et lancer manuellement le package [`qmk_driver_installer`](https://github.com/qmk/qmk_driver_installer).
86
87 Si vous rencontrez toujours des problèmes, essayez de télécharger et lancer Zadig. Voir [Installation du driver du bootloader avec Zadig](driver_installation_zadig.md) pour plus d'informations.
88
89 ## WINAVR est obsolète
90
91 Il n'est plus recommandé et peut causer des problèmes. Voir [TMK Issue #99](https://github.com/tmk/tmk_keyboard/issues/99).
92
93 ## USB VID et PID
94
95 Vous pouvez utiliser l'ID de votre choix en modifier `config.h`. Il y a peu de chance de conflit avec d'autres produits.
96
97 La plupart des boards QMK utilisent `0xFEED` comme vendor ID. Vérifiez les autres claviers pour être sûr de choisir un Product ID unique.
98
99 Étudiez aussi ce ticket
100 https://github.com/tmk/tmk_keyboard/issues/150
101
102 Vous pouvez acheter un VID:PID unique ici. Je ne pense pas que ce soit nécessaire pour un usage personnel.
103 - http://www.obdev.at/products/vusb/license.html
104 - http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
105
106 ## Cortex: `cstddef: No such file or directory`
107
108 Ce problème existait avec le GCC 4.8 d'Ubuntu 14.04, la solution a nécessité de mettre à jour vers 4.9 avec ce PPA.
109 https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
110
111 https://github.com/tmk/tmk_keyboard/issues/212
112 https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef
113 https://developer.mbed.org/forum/mbed/topic/5205/
114
115 ## `clock_prescale_set` and `clock_div_1` Not Available
116
117 Votre chaîne d'outils (Toolchain) est trop vieille pour supporter le MCU. Par exemple, WinAVR 20100110 ne supporte pas ATMega32u2.
118
119 ```
120 Compiling C: ../../tmk_core/protocol/lufa/lufa.c
121 avr-gcc -c -mmcu=atmega32u2 -gdwarf-2 -DF_CPU=16000000UL -DINTERRUPT_CONTROL_ENDPOINT -DBOOTLOADER_SIZE=4096 -DF_USB=16000000UL -DARCH=ARCH_AVR8 -DUSB_DEVICE_ONLY -DUSE_FLASH_DESCRIPTORS -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -DFIXED_CONTROL_ENDPOINT_SIZE=8  -DFIXED_NUM_CONFIGURATIONS=1 -DPROTOCOL_LUFA -DEXTRAKEY_ENABLE -DCONSOLE_ENABLE -DCOMMAND_ENABLE -DVERSION=unknown -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -fno-inline-small-functions -fpack-struct -fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=obj_alps64/protocol/lufa/lufa.lst -I. -I../../tmk_core -I../../tmk_core/protocol/lufa -I../../tmk_core/protocol/lufa/LUFA-git -I../../tmk_core/common -std=gnu99 -include config.h -MMD -MP -MF .dep/obj_alps64_protocol_lufa_lufa.o.d  ../../tmk_core/protocol/lufa/lufa.c -o obj_alps64/protocol/lufa/lufa.o
122 ../../tmk_core/protocol/lufa/lufa.c: In function 'setup_mcu':
123 ../../tmk_core/protocol/lufa/lufa.c:575: warning: implicit declaration of function 'clock_prescale_set'
124 ../../tmk_core/protocol/lufa/lufa.c:575: error: 'clock_div_1' undeclared (first use in this function)
125 ../../tmk_core/protocol/lufa/lufa.c:575: error: (Each undeclared identifier is reported only once
126 ../../tmk_core/protocol/lufa/lufa.c:575: error: for each function it appears in.)
127 make: *** [obj_alps64/protocol/lufa/lufa.o] Error 1
128 ```
129
130 ## BOOTLOADER_SIZE pour AVR
131
132 Notez que la taille du bootloader pour les Teensy2.0++ est de 2048bytes. Quelques Makefiles peuvent contenir une erreur et avoir le mauvais commentaire.
133
134 ```
135 # Boot Section Size in *bytes*
136 #   Teensy halfKay   512
137 #   Teensy++ halfKay 2048
138 #   Atmel DFU loader 4096       (TMK Alt Controller)
139 #   LUFA bootloader  4096
140 #   USBaspLoader     2048
141 OPT_DEFS += -DBOOTLOADER_SIZE=2048
142 ```
143
144 ## `avr-gcc: internal compiler error: Abort trap: 6 (program cc1)` sous MacOS
145
146 C'est un problème de mise à jour avec brew, causée par des liens symboliques (symlinks) dont dépend avr-gcc qui sont détruits.
147
148 La solution est de supprimer et réinstaller tous les modules affectés.
149
150 ```
151 brew rm avr-gcc
152 brew rm dfu-programmer
153 brew rm dfu-util
154 brew rm gcc-arm-none-eabi
155 brew rm avrdude
156 brew install avr-gcc
157 brew install dfu-programmer
158 brew install dfu-util
159 brew install gcc-arm-none-eabi
160 brew install avrdude
161 ```
162
163 ### avr-gcc 8.1 et LUFA
164
165 Si vous avez mis à jour votre avr-gcc au-dessus de la version 7, vous risquez de voir des erreurs impliquant LUA. Par exemple :
166
167 `lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h:380:5: error: 'const' attribute on function returning 'void'`
168
169 Pour le moment, vous devrez revenir à la version 7 de avr-gcc dans brew.
170
171 ```
172 brew uninstall --force avr-gcc
173 brew install avr-gcc@8
174 brew link --force avr-gcc@8
175 ```
176
177 ### Je viens de flasher mon clavier et il ne fait rien/l'appui des touches n'est pas enregistré - c'est aussi un ARM(rev6 plank, clueboard 60, hs60v2, etc.) (Février 2019)
178
179 A cause de la manière dont les EEPROM fonctionnent sur les puces ARM, les options sauvegardées peuvent ne plus être valides. Ceci affecte les calques par défaut et *peut*, sous certaines conditions que nous essayons encore de déterminer, rendre le clavier inutilisable. Réinitialiser l'EEPROM corrigera le problème.
180
181 [Réinitialiser EEPROM sur Planck rev6](https://cdn.discordapp.com/attachments/473506116718952450/539284620861243409/planck_rev6_default.bin) peut être utilisé pour forcer une réinitialisation d'EEPROM. Une fois cette image flashée, flashez à nouveau votre firmware standard. Cela devrait rétablir le fonctionnement de votre clavier.
182 Si bootmagic est activé dans n'importe quel forme, vous devriez être capable de faire aussi ceci (regardez  [Documentation Bootmagic](feature_bootmagic.md) et les informations spécifiques à votre clavier).