MicroPython et Pyboard Python sur microcontrôleur : de la prise en main à l’utilisation avancée

24375 CFA

Découvrir et maîtriser MicroPython, Python sur microcontrôleur, avec les cartes Pyboard. Aller au-delà des concepts et découvrir les aspects pratiques du langage Python appliqué aux microcontrôleurs ! Cet ouvrage guide son lecteur de façon didactique dans la mise en œuvre des cartes Pyboard sans oublier d’explorer la prise de contrôle de composants électroniques que l’on peut y raccorder.

Les Makers pourront facilement y trouver de quoi adapter leur savoir-faire Arduino sur MicroPython, ceux qui ne sont pas encore des Makers pourraient fort bien le devenir, les programmeurs ajouteront sans peine une nouvelle corde à leur arc, les ingénieurs bâtiront de nouveaux ponts entre différents domaines du savoir, l’électronicien découvrira un outil pour produire rapidement des prototypes et les pédagogues pourront conjuguer facilement théorie et expérimentation.

Chapitre après chapitre, le lecteur part ainsi à la découverte de la mise en œuvre de la carte Pyboard (et Pyboard-D), à la réalisation de montages électroniques simples, jusqu’à l’utilisation de techniques avancées telles que la manipulation de différents capteurs et interfaces, des sorties PWM et analogique ou d’un bus I2C. Il peut ainsi apprendre par exemple à allumer une LED, activer un relais, commander des moteurs ou encore acquérir des données environnementales et afficher des informations sur des écrans.

Table des matières

  • Qu’est-ce que MicroPython ?
    • 1. Mise en garde : euphorie imminente !
    • 2. Avant-propos : premier contact MicroPython
    • 3. Objectifs de l’ouvrage
    • 4. Prérequis
    • 5. Présentation de MicroPython
    • 6. Comparaison MicroPython et Arduino
      • 6.1 Arduino
      • 6.2 MicroPython
    • 7. Intérêt
      • 7.1 Python pour l’électronique
      • 7.2 Python, un langage populaire
      • 7.3 Python et apprentissage rapide
      • 7.4 Python et l’enseignement
    • 8. Communauté
      • 8.1 Bibliothèques et pilotes
      • 8.2 Forums
  • Plateformes MicroPython
    • 1. Préambule
    • 2. À l’assaut du monde professionnel
    • 3. Critères de sélection
      • 3.1 Tension logique
      • 3.2 Fréquence CPU
      • 3.3 Mémoire RAM
        • 3.3.1 Durant la compilation des scripts
        • 3.3.2 Durant le fonctionnement du script
      • 3.4 Mémoire flash
      • 3.5 Calcul en virgule flottante (FPU)
      • 3.6 Communication
      • 3.7 Communauté
      • 3.8 Support matériel de MicroPython
    • 4. Vue d’ensemble des plateformes disponibles
      • 4.1 STMicroelectronics (Pyboard et Pyboard-D)
      • 4.2 STMicroelectronics (NaDHAT PYB405)
      • 4.3 Microchip/Atmel (plateformes Adafruit)
      • 4.4 Nordic Semiconductor (Micro:bit)
      • 4.5 Espressif (ESP8266 et ESP32)
        • 4.5.1 ESP8266
        • 4.5.2 ESP32
      • 4.6 Pycom.io
      • 4.7 STMicroelectronics (carte de développement)
      • 4.8 Autres plateformes
    • 5. MicroPython et CircruitPython
    • 6. Pyboard : extensions et communications
      • 6.1 Boîtier officiel
      • 6.2 LCD Skin
      • 6.3 Audio Skin
      • 6.4 Support réseau
      • 6.5 Support WiFi
      • 6.6 Support Bluetooth
        • 6.6.1 Module Bluetooth série HC-05
        • 6.6.2 Module Bluefruit LE UART Friend
    • 7. Pyboard-D : extensions et communications
      • 7.1 LCD Skin
      • 7.2 Support Ethernet
      • 7.3 Support WiFi et Bluetooth
      • 7.4 Cartes breakout
  • MicroPython Pyboard
    • 1. Introduction
    • 2. Présentation de la Pyboard
      • 2.1 MicroPython
      • 2.2 MicroPython Pyboard
        • 2.2.1 En cas de problème
        • 2.2.2 Premier survol de la Pyboard
        • 2.2.3 Examen physique
      • 2.3 Système de fichiers MicroPython
      • 2.4 Quels connecteurs pour la Pyboard ?
      • 2.5 Pyboard et Fritzing
    • 3. La Pyboard en détail
      • 3.1 Interfaces matérielles
        • 3.1.1 LED
        • 3.1.2 Bouton utilisateur
        • 3.1.3 Bouton Reset
        • 3.1.4 Accéléromètre
        • 3.1.5 Carte microSD
        • 3.1.6 Alimentation de la Pyboard
    • 4. Pyboard : tension logique et courant
      • 4.1 Niveau logique et tensions
      • 4.2 Niveau logique et Python
      • 4.3 Tolérance 5 V
      • 4.4 Courants maximum, source et sink
      • 4.5 Injection de courant
    • 5. Les fonctions alternatives sur la Pyboard
      • 5.1 Sortie PWM
      • 5.2 Entrée analogique (ADC)
      • 5.3 Sortie analogique (DAC)
      • 5.4 Bus I2C
      • 5.5 Bus SPI
      • 5.6 Bus CAN
      • 5.7 UART (port série)
    • 6. Brochage de la Pyboard
      • 6.1 Partie droite
      • 6.2 Partie gauche
      • 6.3 Partie basse
    • 7. Brochage avancé et timers
      • 7.1 Broches du STM32
      • 7.2 Timers
    • 8. Comment détruire sa Pyboard en sept leçons ?
      • 8.1 Placer une broche directement à la masse
      • 8.2 Brancher des GPIO ensemble
      • 8.3 Appliquer une surtension sur une broche d’entrée
      • 8.4 Appliquer une tension d’alimentation inversée sur V+
      • 8.5 Appliquer une tension supérieure à 3,3 V sur la broche 3V3
      • 8.6 Dépasser le courant max d’une broche
      • 8.7 Dépasser le courant max du microcontrôleur
  • MicroPython Pyboard-D
    • 1. Introduction
    • 2. MicroPython Pyboard-D
      • 2.1 Premier survol de la Pyboard-D
      • 2.2 Quels connecteurs pour la Pyboard-D ?
      • 2.3 Pyboard-D et Fritzing
      • 2.4 Pyboard-D en détail
        • 2.4.1 Interfaces matérielles
        • 2.4.2 LED RGB
        • 2.4.3 Bouton utilisateur
        • 2.4.4 Carte microSD
        • 2.4.5 Stockage eMMC
        • 2.4.6 Horloge temps réel (RTC)
        • 2.4.7 Alimentation de la Pyboard-D
        • 2.4.8 Contrôle WiFi
    • 3. Brochage de la Pyboard-D
      • 3.1 Position X
      • 3.2 Bus I2C en position X
      • 3.3 Position Y
    • 4. Carte d’interface WBUS-DIP28
  • Environnement de travail
    • 1. Avant-propos
    • 2. Manipulation de fichiers
    • 3. Éditeur de texte
      • 3.1 Atom (multiplateforme)
      • 3.2 Windows
      • 3.3 Linux
      • 3.4 Raspbian Linux
      • 3.5 Mac OS
    • 4. Console série et REPL
      • 4.1 PuTTY (multiplateforme)
      • 4.2 Picocom (Linux)
      • 4.3 Screen (Mac, Linux)
    • 5. Outils intégrés
      • 5.1 RShell
        • 5.1.1 Linux et Raspbian
        • 5.1.2 Windows
        • 5.1.3 Mac OS
      • 5.2 Mu Editor
        • 5.2.1 Installation Linux
        • 5.2.2 Installation Raspbian
        • 5.2.3 Installation Windows et Mac
  • Prise de contrôle
    • 1. Installer une carte MicroPython
      • 1.1 Sous Windows
      • 1.2 Sous Linux
      • 1.3 Sous Raspbian (Raspberry Pi)
    • 2. Communiquer avec MicroPython
    • 3. Utiliser le périphérique de stockage
      • 3.1 Effacer des fichiers
      • 3.2 Un seul espace de stockage accessible en USB
    • 4. REPL : l’invite en ligne de commande
      • 4.1 Séquence de contrôle REPL
      • 4.2 Options avancées sur REPL
        • 4.2.1 Édition de ligne
        • 4.2.2 Historique de commandes
        • 4.2.3 Autocomplétion
        • 4.2.4 Variable « _ »
      • 4.3 Outils Python avancés pour REPL
        • 4.3.1 Fonction help()
        • 4.3.2 Fonction dir()
        • 4.3.3 Fonction listdir()
        • 4.3.4 Afficher le contenu d’un fichier
      • 4.4 Développer avec REPL
    • 5. REPL via Bluetooth
      • 5.1 À propos de Bluetooth
      • 5.2 Module Bluetooth série
        • 5.2.1 Brancher le module sur la Pyboard
        • 5.2.2 Répliquer REPL sur le port série
        • 5.2.3 Appairage sur PC Linux
        • 5.2.4 Appairage avec un Smartphone
    • 6. RShell
      • 6.1 Ligne de commande RShell
      • 6.2 REPL sous RShell
      • 6.3 Développer avec RShell
    • 7. upy-shell
    • 8. WebREPL
      • 8.1 Activer le démon WebREPL
      • 8.2 Client WebREPL
        • 8.2.1 WebREPL – Client HTML
        • 8.2.2 WebREPL – Client Python
    • 9. Support WiFi sur la Pyboard-D
      • 9.1 WiFi et réglementation locale
      • 9.2 Nom d’hôte et adresse MAC
    • 10. Mode station (STA)
      • 10.1 Mode STA et scan réseau
      • 10.2 Réseau WiFi visible ou masqué
      • 10.3 Connexion en mode STA
      • 10.4 Contrôle WiFi avancé
      • 10.5 Utiliser un socket
      • 10.6 Rechercher l’adresse IP d’une Pyboard-D
    • 11. Mode point d’accès (AP)
  • Séquence de démarrage
    • 1. Séquence de démarrage MicroPython
      • 1.1 Séquence de démarrage – Pyboard originale
      • 1.2 Séquence de démarrage – Pyboard-D
    • 2. Fichier boot.py
      • 2.1 Mode de l’interface USB
      • 2.2 Connexion WiFi avec boot.py
      • 2.3 Activer WebREPL avec boot.py
      • 2.4 Script utilisateur à exécuter
    • 3. Fichier main.py
    • 4. Séquence de démarrage en lumière
    • 5. Safe Mode de la Pyboard
    • 6. Séquence de démarrage et Pyboard-D
  • Programmer
    • 1. Préambule
    • 2. Les bibliothèques MicroPython
      • 2.1 Le préfixe u
      • 2.2 Bibliothèques dans le firmware
      • 2.3 Mécanisme de chargement
      • 2.4 Où placer les bibliothèques ?
      • 2.5 Écrire ses propres bibliothèques
        • 2.5.1 Script de test
        • 2.5.2 Création des bus
    • 3. Bibliothèques disponibles
      • 3.1 Bibliothèques standards et micropythonifiées
      • 3.2 Bibliothèques propres à MicroPython
      • 3.3 Bibliothèques spécifiques à la carte de développement
        • 3.3.1 Bibliothèque pyb
        • 3.3.2 Bibliothèque lcd160cr
    • 4. Bibliothèque machine
      • 4.1 Limitation de la portabilité
      • 4.2 Quel intérêt pour la portabilité ?
      • 4.3 Contenu de la bibliothèque machine
    • 5. Bibliothèque pyb
    • 6. Bibliothèque os
    • 7. Charger et exécuter un script à la volée
    • 8. Exploiter l’accéléromètre
    • 9. Entrées/sorties
      • 9.1 Entrée numérique
      • 9.2 Entrée numérique (pull-up interne)
      • 9.3 Entrée numérique et déparasitage
      • 9.4 Entrée numérique et interruption
      • 9.5 Sortie numérique
        • 9.5.1 Commander une LED
        • 9.5.2 Broche en sortie et courant de court-circuit
        • 9.5.3 Montage drain ou source
      • 9.6 Entrée analogique
        • 9.6.1 Potentiomètre
        • 9.6.2 Lecture analogique
        • 9.6.3 Précision des convertisseurs
        • 9.6.4 Échantillonnage
        • 9.6.5 Acquisition de signal et fréquence d’échantillonnage
        • 9.6.6 Autres fonctionnalités
      • 9.7 Sortie analogique
        • 9.7.1 DAC en résolution 8 bits
        • 9.7.2 DAC en résolution 12 bits
        • 9.7.3 Reproduire un échantillon
        • 9.7.4 Sortie analogique au-delà de 3,3 V
        • 9.7.5 DAC et système audio
        • 9.7.6 Plus d’information sur le DAC
      • 9.8 Sortie PWM
        • 9.8.1 Commander l’intensité d’une LED
        • 9.8.2 Commande de vitesse de moteur
      • 9.9 Sortie Servo
        • 9.9.1 Synchroniser des servomoteurs
        • 9.9.2 Servomoteurs à rotation continue
        • 9.9.3 Alimentation des servomoteurs
        • 9.9.4 Calibration des servomoteurs
    • 10. Identification et mode des broches
    • 11. Les timers
      • 11.1 Timers disponibles
      • 11.2 Fonction de rappel/d’interruption
      • 11.3 Fonctions d’interruption et bonnes pratiques
      • 11.4 Timers avancés
      • 11.5 Le timer WatchDog
    • 12. Bus I2C
      • 12.1 I2C : comment ça marche ?
        • 12.1.1 À propos des bits d’adresse
        • 12.1.2 I2C comme un périphérique mémoire
      • 12.2 Capteur I2C et pilote MicroPython
        • 12.2.1 Où trouver des pilotes ?
        • 12.2.2 Comment utiliser un pilote I2C
        • 12.2.3 Faut-il créer le bus I2C hors du pilote ?
      • 12.3 Connecteurs standardisés pour I2C
        • 12.3.1 Connecteur UEXT d’Olimex
        • 12.3.2 Connecteur NCD de National Control Devices
        • 12.3.3 Connecteur Qwiic de SparkFun
        • 12.3.4 Écosystème Feather d’Adafruit Industries
      • 12.4 Communication I2C par l’exemple
        • 12.4.1 Exemple 1 : accéléromètre de la Pyboard
        • 12.4.2 Exemple 2 : ADS1115 (entrées analogiques supplémentaires)
        • 12.4.3 Exemple 3 : ajouter une carte MOD-IO
      • 12.5 Le bus I2C plus en détail
        • 12.5.1 Résistances pull-up et tension logique
        • 12.5.2 Vitesse limitée
        • 12.5.3 Effet capacitif et longueur de ligne
      • 12.6 Augmenter la longueur du bus I2C
        • 12.6.1 P82B715PN
        • 12.6.2 Carte d’extension différentielle de SJTbits
    • 13. Bus SPI
      • 13.1 Utilisation de l’API SPI
      • 13.2 Classe SPI du module pyb
      • 13.3 Communication SPI par l’exemple
        • 13.3.1 Exemple 1 : MOD-VGA (Gameduino sous MicroPython)
        • 13.3.2 Exemple 2 : matrice LED
    • 14. Interface UART
      • 14.1 La trame série
      • 14.2 Configurer une ligne série
      • 14.3 Émission/réception
      • 14.4 Communication UART par l’exemple
        • 14.4.1 Exemple 1 : module GPS
        • 14.4.2 Exemple 2 : module ESP8266
    • 15. Horloge RTC
    • 16. Poursuivre l’exploration
      • 16.1 Interface CAN
      • 16.2 Interface DMX
  • Capteurs et interfaces
    • 1. Introduction
    • 2. Signal numérique
      • 2.1 Module relais
        • 2.1.1 Mise en garde
        • 2.1.2 À réaliser soi-même
        • 2.1.3 Modules relais préassemblés
        • 2.1.4 Plusieurs modules relais
        • 2.1.5 Relais et impulsions électromagnétiques (EMI)
        • 2.1.6 PowerSwitchTail
      • 2.2 Contact magnétique (interrupteur)
      • 2.3 Capteur à effet Hall
      • 2.4 Capteur PIR
      • 2.5 Encodeur rotatif
      • 2.6 LED RGB
      • 2.7 Capteur ultrason HC-SR04
        • 2.7.1 Brancher le HC-SR04
        • 2.7.2 Tester le HC-SR04
        • 2.7.3 Bibliothèque
    • 3. Signal analogique
      • 3.1 Capteur de température TMP36
      • 3.2 Photorésistance
      • 3.3 Capteur de pression différentielle MPXV5010DP
      • 3.4 Mesure de courant avec ACS712
        • 3.4.1 Mise en garde
        • 3.4.2 Charge alternative et relevé alternatif
        • 3.4.3 Mesure avec la Pyboard
      • 3.5 Sortie analogique
    • 4. Interface I2C
      • 4.1 MCP23017 : extension d’entrée/sortie
        • 4.1.1 Brancher le MCP23017
        • 4.1.2 Bibliothèque
        • 4.1.3 Tester le MCP23017
      • 4.2 ADS1115 : entrée analogique
        • 4.2.1 Brancher l’ ADS1115
        • 4.2.2 Mille milliards de mille parasites !
        • 4.2.3 Le gain programmable
        • 4.2.4 Bibliothèque
        • 4.2.5 Tester l’ADS1115
      • 4.3 DHT11 / DHT22 : humidité et température
        • 4.3.1 Brancher le DHT 11
        • 4.3.2 Tester le DHT11
      • 4.4 BMP280 / BME280 : humidité, pression et température
        • 4.4.1 Brancher le BME280
        • 4.4.2 Bibliothèque
        • 4.4.3 Tester le BME280
        • 4.4.4 Calcul d’altitude
        • 4.4.5 Modes de fonctionnement du BME280
      • 4.5 TSL2561 / TSL2591 : luminosité
        • 4.5.1 Brancher le TSL2561
        • 4.5.2 Bibliothèque
        • 4.5.3 Tester le TSL2561
        • 4.5.4 Tester le TSL2591
      • 4.6 MOD-IO : relais et entrées optocoupleurs (24 V)
      • 4.7 Contrôleur Wii Nunchuck UEXT
        • 4.7.1 Brancher le Nunchuk
        • 4.7.2 Bibliothèque
        • 4.7.3 Tester
      • 4.8 MCP4725 : sortie analogique
        • 4.8.1 Brancher le MCP4725
        • 4.8.2 Bibliothèque
        • 4.8.3 Tester le MCP4725
        • 4.8.4 Une onde en dos de chameau
      • 4.9 MCP9808 : capteur de température de précision
        • 4.9.1 Brancher le MCP9808
        • 4.9.2 Bibliothèque
        • 4.9.3 Tester le MCP9808
    • 5. Contrôle moteur
      • 5.1 Servomoteurs sur la Pyboard
      • 5.2 L298 : pont-H pour moteur continu
      • 5.3 L293D : pont-H pour moteur continu
      • 5.4 DRV8833 : contrôleur moteur continu
      • 5.5 PCA9685 : contrôleur PWM et servo moteur
      • 5.6 A4988 : contrôleur moteur pas-à-pas
        • 5.6.1 Découvrir le moteur pas-à-pas
        • 5.6.2 Contrôleur de moteur pas-à-pas A4988
        • 5.6.3 Tester le A4988
    • 6. Afficheurs
      • 6.1 LED NeoPixel
      • 6.2 SD1306 : afficheur OLED
        • 6.2.1 Brancher l’afficheur OLED
        • 6.2.2 Installer la bibliothèque
        • 6.2.3 Tester l’afficheur OLED
        • 6.2.4 Manipulations du FrameBuffer
        • 6.2.5 Image PBM
        • 6.2.6 Ressources
      • 6.3 LCD160CR : afficheur tactile
        • 6.3.1 Couleurs en 16 et 24 bits
        • 6.3.2 Tester le LCD160CR
        • 6.3.3 Autres ressources
      • 6.4 MOD-LCD : afficheur à cristaux liquides
      • 6.5 Encore plus d’afficheurs
        • 6.5.1 Afficheur LCD 2 ou 4 lignes USB/série
        • 6.5.2 ILI9341 : afficheur TFT couleur
    • 7. Interface UART
      • 7.1 Module GPS
        • 7.1.1 Brancher le module GPS
        • 7.1.2 Bibliothèque
        • 7.1.3 Tester le module GPS
      • 7.2 Lecteur de carte RFID
        • 7.2.1 Brancher le module RFID
        • 7.2.2 Bibliothèque
        • 7.2.3 Tester le module RFID
    • 8. Interface USB HID
      • 8.1 Configurer l’interface USB
      • 8.2 Fonction usb_mode()
      • 8.3 Émuler la souris
      • 8.4 Émuler le clavier
        • 8.4.1 Activer le mode HID pour un clavier
        • 8.4.2 Envoyer une pression de touche
        • 8.4.3 Bibliothèque usbhid
        • 8.4.4 Créer des touches copier/coller
    • 9. Interface réseau
      • 9.1 Module Ethernet
      • 9.2 Module WiFi
        • 9.2.1 ESP8266 en mode AT
        • 9.2.2 Pyboard-D
      • 9.3 Module Bluetooth HC-05
      • 9.4 Support Bluetooth 4.0
  • I2C : petit manuel du développeur
    • 1. Préambule
    • 2. Introduction
    • 3. Manipulation de données
      • 3.1 Octet et représentation binaire
      • 3.2 Représentation binaire et hexadécimale
      • 3.3 Manipulation de bits
        • 3.3.1 Activer un bit
        • 3.3.2 Désactiver un bit
        • 3.3.3 Tester un bit
        • 3.3.4 Décalage à gauche
        • 3.3.5 Décalage à droite
      • 3.4 Bytes et bytearray
      • 3.5 Petit boutisme (little endian) vers entier 16 bits
        • 3.5.1 Dépasser la taille de l’octet (8 bits)
        • 3.5.2 Petit boutisme et grand boutisme
      • 3.6 Le complément à deux
      • 3.7 struct à la rescousse
    • 4. Bus I2C
      • 4.1 Niveau d’API
      • 4.2 Adresses I2C
      • 4.3 Scan du bus
      • 4.4 Conditions / Start / Stop
    • 5. Rétroportage CircuitPython (TSL2591)
      • 5.1 Localiser le pilote CircuitPython
      • 5.2 Rétroportage étape par étape
        • 5.2.1 Mise en place
        • 5.2.2 Déroulement du portage
        • 5.2.3 Correction des imports et commentaires
        • 5.2.4 Correction 1 : I2CDevice -> machine.I2C
        • 5.2.5 Correction 2 : _read_u8()
        • 5.2.6 Correction 3 : _write_u8()
        • 5.2.7 Correction 4 : _read_u16LE()
      • 5.3 Et ensuite ?
    • 6. Poursuivre l’exploration I2C
  • Classes MicroPython courantes
    • 1. Les classes MicroPython en français
    • 2. La classe ADC
      • 2.1 Constructeur
      • 2.2 Méthodes
    • 3. La classe ADCAll
      • 3.1 Constructeur
    • 4. La classe DAC
      • 4.1 Constructeur
      • 4.2 Méthodes
    • 5. La classe I2C
      • 5.1 Constructeur
      • 5.2 Méthodes
      • 5.3 Méthodes – opérations primitives
      • 5.4 Méthodes – opérations standards
      • 5.5 Méthodes – opérations mémoire
    • 6. La classe LCD160CR
      • 6.1 Constructeur
      • 6.2 Méthode statique
      • 6.3 Propriétés
      • 6.4 Méthodes
        • 6.4.1 Configuration de l’écran
        • 6.4.2 Manipulation graphique de l’écran
        • 6.4.3 Afficher du texte
        • 6.4.4 Dessin de primitive
        • 6.4.5 Méthodes tactiles
        • 6.4.6 Méthodes avancées
    • 7. La classe Pin
      • 7.1 Constructeur
      • 7.2 Méthodes
    • 8. La classe RTC
      • 8.1 Constructeur
      • 8.2 Méthodes
    • 9. La classe Servo
      • 9.1 Constructeur
      • 9.2 Méthodes
    • 10. La classe Signal
      • 10.1 Constructeur
      • 10.2 Méthodes
    • 11. La classe SPI
      • 11.1 Constructeur
      • 11.2 Méthodes
    • 12. La classe Timer
      • 12.1 Constructeur
      • 12.2 Méthodes
    • 13. Classe TimerChannel
      • 13.1 Méthodes
    • 14. Classe UART
      • 14.1 Constructeur
      • 14.2 Méthodes
  • Annexes
Catégorie

Avis des clients

Il n'y a pas encore d'avis.

Soyez le premier à donner votre avis sur “MicroPython et Pyboard Python sur microcontrôleur : de la prise en main à l’utilisation avancée”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus d'offres pour ce produit!

Questions et demandes générales

Il n'y a pas encore de demandes de renseignements.