Qu'est-ce que le projet Arduino/Genuino ?

Qu’est-ce donc cette diablerie ?

Image d'entête

par skywodd | | Licence (voir pied de page)

Catégories : Dossiers | Mots clefs : Genése Guide Introduction Arduino Genuino

Cet article n'a pas été mis à jour depuis un certain temps, son contenu n'est peut être plus d'actualité.


Qu'est-ce donc que le projet Arduino/Genuino ? À quoi ça sert ? Pourquoi devrais-je m'y intéresser ? C'est ce que nous allons voir ensemble dans ce dossier d'introduction spécial Arduino/Genuino. En bonus pour les débutants, on verra ensemble quelques conseils pour choisir sa carte Arduino.

Sommaire

Bonjour à toutes et à tous !

"Arduino", vous avez forcément déjà dû entendre parler de ce projet quelque part sur Internet. Ou peut-être avez-vous entendu parler de son équivalent européen "Genuino" ?

Internet fourmille de référence au projet Arduino. Mais pas seulement Internet, magazines, livres, tout le monde en parle, tout le monde l'utilise. Le projet Arduino apparait comme un vrai couteau Suisse de l'électronicien amateur. Mais qu'est-ce donc que le projet Arduino au juste ?

Comment diable est-il possible de faire des projets électroniques complexes en ayant uniquement quelques notions de base d'électronique et de programmation ?

Un peu d'histoire pour commencer

Arduino, c'est l'histoire d'un groupe d'enseignants et d'étudiants en école d'art qui avait besoin d'une plateforme de développement simple et peu coûteuse pour permettre la réalisation de projets d'arts interactifs.

On citera bien évidemment les cinq noms des fondateurs du projet Arduino : Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis et Nicholas Zambetti, sans qui le projet Arduino n'existerait pas.

Carte à relais Cubloc CB220

Avant Arduino, chacun faisait sa propre carte programmable

À l'époque, aux alentours de l'année 2002, faire des montages électroniques était quelque chose de coûteux. Les solutions permettant aux amateurs de faire des montages "sur un coin de table" n'étaient pas nombreuses et avaient comme point commun un prix exorbitant. Le kit de base coûtait à lui seul une petite fortune et à l'époque, on devait découper un bon de commande à l'arriére des pubs de magazines électroniques pour commander son module BasicStamp. C'était le bon vieux temps, avec la guerre entre les pro-BasicStamp et les pro-Cubloc[1].

Massimo Banzi, alors professeur à l'IDII, a soudain une idée un peu folle : concevoir une carte électronique facile à utiliser, facile à programmer et peu chère à produire. Une carte que ses étudiants pourraient utiliser pour réaliser des projets électroniques rapidement, sans avoir à se prendre la tête et sans siphonner le peu de budgets dont disposait alors l'école.

Arduino Severino

Carte Arduino Severino (licence CC BY-SA 2.5)

Le projet Arduino se concrétise en 2005 avec la sortie d'une première carte Arduino, pouvant être fabriquée soi-même et dont les plans de fabrication étaient — et sont toujours — disponibles librement sous licence Open Source. On notera que cette publication sous licence Open Source a joué pour beaucoup dans le succès du projet Arduino. Que cela plaise ou non, le projet Arduino a été l'étincelle qui a lancé la mouvance Open Source Hardware (matériel libre en français).

Illustration du processus de création d'un projet Arduino

Une carte Arduino, quelques cartes additionnelles et capteurs, un programme et voilà

L'idée de base du projet Arduino est simple, mais terriblement efficace : proposer une carte à microcontrôleur (un microcontrôleur n'est rien de plus qu'un tout petit ordinateur), certes simpliste, mais disposant de tout le nécessaire de base pour commencer un projet. En parallèle de cette carte, l'idée du projet Arduino était de fournir un logiciel de développement informatique multiplateforme (pour Windows, Mac et Linux) permettant de mettre en oeuvre la carte rapidement sans prise de tête. Pour faire simple : on vous donne la base physique et la base logicielle, maintenant il ne vous reste plus qu'à construire par dessus. C'est simple et ça marche.

Et comme parfois l'histoire réserve de drôle de surprise, ce qui était à sa sortie en 2005 un simple outil pour quelques étudiants est aujourd'hui une véritable révolution dans le monde du "Do It Yourself", de l'électronique amateur et même de l'informatique.

Le projet Arduino a bouleversé durablement la façon de penser et de faire de l'électronique. En quelque sorte, le projet Arduino est un peu le Rapsberry pi de l'électronique, rien de bien particulier techniquement, rien de bien nouveau en terme de logiciel, mais un succès fou qui a suffit à tout changer (parfois en bien, parfois en mal).

Le projet Arduino a réussi l'exploit de permettre à tout un chacun de faire des montages électroniques, sans avoir à se poser des questions techniques que seul un électronicien pourrait se poser.

La suite de l'histoire

Pour les curieux qui voudraient en connaître plus sur l'histoire du projet Arduino — cet article étant plus une introduction technique qu'historique — je vous recommande vivement de lire cet article du Framablog qui est une traduction en français de l'excellent article "The Making of Arduino" publié par Spectrum.

C'est un peu long, mais c'est très intéressant à lire.

Qu'est ce que c'est concrètement le projet Arduino ?

Maintenant que l'on a vu l'histoire du projet Arduino, parlons un peu technique. Qu'est-ce que le projet Arduino concrètement ?

Le projet Arduino c'est avant tout trois choses :

  • un environnement complet de développement logiciel,

  • une série de cartes électroniques à microcontrôleur et de cartes additionnelles,

  • une communauté gigantesque regroupant une multitude de professions, de tous âges et de toutes cultures.

Pour mieux comprendre, on va détailler chaque point individuellement.

Un environnement de développement logiciel

Capture d'écran de l'IDE Arduino avec le code d'exemple "Blink"

Capture d'écran de l'IDE Arduino avec le code d'exemple "Blink"

Quand on parle d'Arduino, on parle d'abord d'un logiciel, ou pour être plus précis, d'un logiciel et d'une bibliothèque de fonctions prêtes à l'emploi.

On a d'abord le logiciel de développement Arduino, basé sur Processing, qui permet d'écrire ses programmes, de les compiler et de les transférer sur sa carte Arduino. C'est aussi ce même logiciel de développement qui permet de communiquer avec la carte Arduino une fois le programme transféré à l'intérieur de celle-ci.

Qu'est-ce qu’un programme ?

Pour faire simple, un programme est une série d'ordres et de conditions qu'une machine doit respecter pour réaliser une action. En fonction des conditions et des ordres qu'on lui donne, la machine exécutera telle ou telle action.

Exemple : Si la lampe est allumée, éteindre la lampe. Si la lampe est éteinte, allumer la lampe. Ceci pourrait être le programme d'un simple interrupteur.

Pour définir ces ordres et les conditions qui vont avec, on utilise ce que l'on appelle un "langage de programmation". C'est un langage au même titre que le français, mais pour discuter avec des machines.

Seulement voilà, nous, pauvres humains que nous sommes, nous ne savons pas très bien parler en binaire (en 0 et en 1, la seule langue que les machines comprennent). Il serait fort compliqué pour un humain d'écrire un programme directement en binaire. Nous utilisons donc un logiciel intermédiaire, un "compilateur", qui prend nos instructions sous forme de texte lisible par un humain et les convertit en instructions binaires qu'une machine peut comprendre.

Avoir un environnement de développement, un compilateur, un outil de programmation et de communication, le tout dans un même logiciel, c'est bien beau, mais ce n'est pas d'une grande utilité si l'on doit se taper plusieurs centaines de lignes de code pour faire la moindre action dans son programme.

Capture d'écran partielle de la référence logicielle Arduino

Capture d'écran (partielle) de la référence logicielle Arduino

C'est donc sans grande surprise que l'on découvre que l'aspect logiciel du projet Arduino est aussi composé d'une montagne de fonctions, aux noms et fonctionnalités divers, qui toutes ensembles forment ce que beaucoup appellent (à tort) le "langage Arduino". Il s'agit tout simplement d'une bibliothèque de fonctions toutes prêtes qui permettent de concevoir rapidement un programme sans avoir à réinventer la roue.

Toutes les actions de basses sont préfabriquées et prêtes à l'emploi. Il suffit de les utiliser pour construire son programme. Elle est pas belle la vie ?

Alors, "Langage Arduino", oui, mais non.

En réalité, le "langage Arduino", comme beaucoup l'appellent, n'est rien d'autre que le langage C / C++, avec une bibliothèque de fonctions en plus par défaut (la fameuse bibliothèque de fonctions "Arduino").

Le compilateur (le logiciel qui convertit le programme saisi par l'utilisateur en un fichier compréhensible par une machine) derrière le logiciel de développement Arduino est GCC. C'est le même compilateur qui est utilisé pour faire des programmes sur PC.

Par conséquent, si vous savez faire des programmes C ou du C++ sur PC, vous savez déjà faire (en grande partie) de l'Arduino. Il ne vous reste plus qu'à prendre en mains les fonctions propres au projet Arduino (et oublier les fonctions propres aux programmes PC).

Cela signifie aussi que vous pouvez suivre des cours / tutoriels de programmation C / C++ pour PC et utiliser les connaissances acquises pour vos développements Arduino.

Une série de cartes électroniques et de cartes additionnelles

Le projet Arduino ne serait pas un succès aussi énorme sans les cartes Arduino/Genuino et les diverses cartes filles pour celles-ci.

Photo de diverses cartes Arduino en vrac

Diverses cartes Arduino en vrac

Arduino UNO, Arduino Mega2560, Arduino Due, Arduino Yun, Arduino Leonardo, la liste est longue et elle s'agrandit chaque jour un peu plus.

En plus des cartes officielles, on trouve aujourd'hui une multitude de cartes compatibles et de cartes additionnelles ("cartes filles") pouvant venir s'enficher par-dessus une carte Arduino. Il y a des cartes pour tous les besoins et pour tous les prix. Qu'importe le projet, il existe une combinaison de carte Arduino et de cartes filles (aussi appelée "Shield" en Arduino).

Vous voulez faire un robot ? Pas de problème ! Il suffit d'enficher une carte de contrôle pour moteurs, une carte de communication et pourquoi pas une carte d'alimentation sur batterie par dessus votre carte Arduino. En même pas dix minutes, l'électronique est prête ! Il y a encore quelques années, faire un robot demandait de sérieuses connaissances en électronique, en mécanique et en chimie (pour graver les cartes électroniques). Aujourd'hui, avec le projet Arduino, il suffit de faire ses courses et d'empiler les cartes qui vont bien. Il ne reste alors plus qu'à réaliser un programme pour donner vie à son projet et le tour est joué.

Pour permettre à des débutants de s'initier aux joies de l'électronique, on ne peut pas faire plus simple. Nul besoin de se prendre la tête avec la conception de la partie électronique et tous les problèmes qui vont avec (faire une carte électronique qui marche est compliqué), il n'est nécessaire de se concentrer que sur ce qui est important pour son projet : le programme.

Certains remarqueront que j'ai mis en avant l'aspect logiciel du projet Arduino, avant l'aspect matériel. C'est voulu. Aujourd'hui, avec la diversité de cartes Arduino et de projets compatibles Arduino, il est plus juste de voir le projet Arduino comme un logiciel, plutôt que comme une carte électronique.

Une communauté gigantesque

Une autre grande force du projet Arduino, souvent passée sous silence ou minimisée, c'est sa communauté.

Logo "Arduino Community"

Logo "Arduino Community" (licence CC BY-NC-SA 3.0)

Si vous avez un problème avec votre projet Arduino, il suffit de demander de l'aide sur le forum officiel (ou sur le forum Carnet du Maker ;) ) et la communauté vous aidera à résoudre votre problème.

Pour un débutant, cet aspect n'est pas des moindres ! Avec une telle communauté, qu'importe le problème, vous aurez de l'aide. Obligatoirement, ça donne envie de se lancer !

À quoi ça sert ? Qu'est ce que je peux faire avec une carte Arduino ?

Cette question est récurrente, beaucoup de débutants ce la pose, à juste titre. Que peut-on faire avec une carte Arduino ? Bonne question !

Selon moi la réponse est simple : n'importe quoi.

Du moment qu'un projet ne demande pas une grosse puissance de calcul, des périphériques complexes (comme une caméra USB par exemple) ou plusieurs Ko/Mo/Go de mémoire RAM, c'est en général faisable. Dans le doute, il suffit de demander à la communauté.

Le plus dur en général est de trouver une idée de projet à réaliser !

Pourquoi Arduino et pas une autre carte ?

Depuis que le projet Arduino existe, beaucoup de projets similaires ont vu le jour. Un des plus connus est sans aucun doute le projet mBed.

Capture d'écran forum mbed

Sur le forum mBed, il faut savoir parler anglais, japonais ou espagnol.

Tous ces projets ont des avantages et des inconvénients, l'inconvénient le plus récurrent étant la taille de la communauté qui soutient le projet en question. Le projet Arduino dispose d'une communauté francophone active qui peut venir en aide rapidement à n'importe qui. Les projets concurrents à Arduino ne peuvent pas se vanter d'avoir un tel atout.

Si je devais faire une liste des avantages du projet Arduino par rapport aux autres projets du même style, j'y inclurai :

  • la communauté permettant de se sortir d'un mauvais pas rapidement,

  • la diversité de cartes officielles ou compatibles et de cartes additionnelles permettant d'avoir une base matérielle fonctionnelle très rapidement, qu'importe le projet,

  • le prix, faire un projet avec des cartes Arduino est souvent bien moins cher que la plupart des solutions "en kit" ou "tout en un" du commerce,

  • une liberté quasi totale de modification, aussi bien sur le hardware que le software (vive l'open source !),

  • une possibilité de projets limitée par la seule créativité de la personne qui a la carte Arduino entre ses mains (à l'exception de certains types de projets énoncés dans le chapitre précédent).

Qui utilise des cartes Arduino ?

Plein de monde !

Des artistes, des professeurs, des étudiants, des informaticiens, des électroniciens, des retraités, des professionnels, des agriculteurs, des pompiers … En fait, cette liste n'a pas vraiment de fin !

On retrouve le projet Arduino dans une multitude de montages et de produits, aussi bien pour des applications à usage particulier que professionnel. Il existe même aujourd'hui des variantes de cartes Arduino pour l'automobile, l'industrie, l'internet des objets, la domotique et même l'aérospatiale !

Bonus : Quelle carte Arduino choisir pour débuter ?

Pour un débutant, je n'aurai que deux cartes à conseiller : l'Arduino UNO (Genuino UNO en europe) et l'arduino Mega2560 (Genuino Mega2560 en Europe).

Arduino UNO

Carte Arduino Genuino UNO

Carte Arduino Genuino UNO

La carte Arduino UNO est la carte Arduino la plus connue et la plus utilisée. Elle convient pour une grande majorité de projets.

C'est une carte Arduino "classique", cela signifie qu’elle utilise des technologies connues et reconnues. Vous n'aurez normalement jamais de problème de compatibilité logicielle avec cette carte (sauf cas particulier).

C'est de plus une carte fonctionnant sous une tension de 5 volts. Vous verrez peut-être plus tard au détour de vos achats de cartes additionnelles, qu'il existe des cartes Arduino 3,3 volts et 5 volts. Sans entrer dans les détails, ces deux types de cartes sont incompatibles (sauf certaines cartes conçues pour fonctionner en 3v3 et en 5v). La plupart des montages Arduino que vous pouvez trouver sur le web sont conçus pour fonctionner sous une tension de 5 volts.

Je conseille aux débutants de toujours prendre une carte Arduino UNO, sauf cas particulier (besoin de beaucoup de broches pour contrôler des lumières par exemple, ou de plus de mémoire pour un programme un peu gros).

Avec une carte Arduino UNO, vous pourrez bénéficier de l'aide de toute la communauté, des bibliothèques et morceaux de code disponibles sur Internet, ainsi que des schémas de montage, tutoriels et autres articles.

D'un point de vue technique, une carte Arduino UNO est composée d'un microcontrôleur ATMega328p fonctionnant sous une tension de 5v. Ce microcontrôleur tourne à la vitesse impressionnante de 16MHz (oui oui, MHz, pas GHz, ce n'est pas une typo, cela fait bien 0,016GHz).

La carte Arduino UNO dispose de 14 entrées / sorties numériques, dont 6 de ces sorties peuvent aussi faire de la PWM (on en reparlera dans un prochain article). En plus de ces broches numériques, la carte Arduino UNO dispose de 6 entrées analogiques capables de mesurer une tension entre 0v et 5v.

Côté mémoire, la carte Arduino UNO dispose de 32Ko de mémoire flash pour le programme[2], 2Ko de mémoire RAM et 1Ko de mémoire EEPROM pour stocker des données utilisateurs.

Pour ce qui est de la communication avec le monde extérieur, la carte Arduino UNO dispose d'un port de communication série (utilisé pour communiquer avec le PC), d'un port SPI et d'un port I2C. À noter que ces ports de communication utilisent des broches numériques (et analogiques pour l'I2C) lors de leur utilisation.

La puissance et la mémoire ne font pas tout

Avec de telles caractéristiques, horloge à 16MHz, 32Ko de flash, 2Ko de RAM, certains seraient tentés de dire que cela est inutilisable ! Que peut-on faire d'utile avec si peu de mémoire et un processeur si peu puissant !? Et bien on peut faire beaucoup de chose.

Aujourd'hui on ne parle plus qu'en GHz, en Go de RAM, en To de disque dur. En électronique, on reste beaucoup plus modeste et on optimise. Le moindre octet de mémoire est précieux, les programmes que l'on écrit sont conçus avec ces contraintes en tête.

Si vous débutez en Arduino, vous n'avez pas à vous soucier de ce genre de choses pour le moment. Vos programmes seront simples et ne dépasseront pas la taille de la mémoire disponible. De plus, pour remplir 32Ko de mémoire flash avec un programme, il faut vraiment le vouloir.

Croyez-moi, vous aurez largement le temps de voir les problèmes arriver ;)

Attention à l'alimentation !

Concernant l'alimentation de votre carte Arduino, vous pouvez utiliser le port USB pour l'alimentation, ou la prise jack présente sur la carte via un adaptateur secteur.

Si vous choisissez d'alimenter votre carte Arduino via un adaptateur secteur, soyez vigilant. La documentation officielle précise qu'il est possible d'utiliser un adaptateur secteur fournissant une tension entre 7v et 12v (recommandée). Ne vous faites pas avoir par la ligne "6-20v" juste en dessous. Si vous utiliser un adaptateur secteur délivrant une tension entre 12v et 20v, votre carte va chauffer, puis finalement griller.

Arduino Mega2560

Carte Arduino Genuino Mega2560

Carte Arduino Genuino Mega2560

La carte Arduino Mega2560 est la seconde carte Arduino la plus connue et la plus utilisée. Elle convient pour des projets nécessitant beaucoup d'entrées / sorties, plusieurs ports de communication ou un supplément de mémoire.

Comme la carte Arduino UNO, c'est une carte "classique", fonctionnant en 5v.

D'un point de vue technique, une carte Arduino Mega2560 est composée d'un microcontrôleur ATMega2560 (d'où son nom) fonctionnant sous une tension de 5v. Ce microcontrôleur tourne lui aussi à la vitesse impressionnante de 16MHz.

La carte Arduino Mega2560 dispose de 54 entrées / sorties numériques, dont 15 de ces sorties peuvent aussi faire de la PWM. En plus de ces broches numériques, la carte Arduino Mega2560 dispose de 16 entrées analogiques capables de mesurer une tension entre 0v et 5v.

Côté mémoire, la carte Arduino Mega2560 dispose de 256Ko de mémoire flash pour le programme (seulement 248Ko sont réellement utilisables), 8Ko de mémoire RAM et 4Ko de mémoire EEPROM pour stocker des données utilisateurs.

Pour ce qui est de la communication avec le monde extérieur, la carte Arduino Mega2560 dispose de quatre ports de communication série (dont un est utilisé pour communiquer avec le PC), d'un port SPI et d'un port I2C. À noter que ces ports de communication utilisent des broches numériques (et analogiques pour l'I2C) lors de leur utilisation.

Pour un débutant, la carte Arduino Mega2560 peut être intéressante pour un premier projet nécessitant beaucoup d'entrées / sorties, comme un cube de leds ou un système d'animations lumineuses par exemple.

Je conseille cependant aux débutants de d'abord faire leurs preuves sur une carte Arduino UNO avant de passer sur une carte Arduino Mega2560. La carte Arduino Mega2560 a quelques petites subtilités qu'un débutant ne peut pas forcément comprendre et maitriser dès le début (comme le fait que les ports de communications ne sont pas aux mêmes endroits que sur une carte Arduino UNO).

Arduino Leornado, Arduino Due, Arduino Yun, etc.

Photo de diverses cartes Arduino et compatibles en vrac

Diverses cartes Arduino (et compatibles) en vrac

Passer en revue toutes les cartes Arduino existantes serait impossible. Je tiens cependant à préciser un point très important, un piège dans lequel tombent quasi systématiquement les débutants.

NON, l'Arduino Due n'est pas plus intéressante, car plus puissante ! Bien au contraire !

L'Arduino Due, de même que l'Arduino Leonardo, sont des cartes spécialisées pour des utilisations bien particulières. Les recommander pour des débutants serait de la folie pure et simple !

En électronique embarquée, la logique PC qui veut que "plus c'est puissant, mieux c'est" n'est pas vraie, c'est même tout le contraire. Plus un microcontrôleur est puissant, plus il est complexe et dispose de fonctionnalités avancées nécessitant une grande technicité de la part de l'utilisateur.

Je mets donc les points sur les I et les barres sur les T. Si vous débutez en Arduino, n'achetez pas une carte Arduino Due ou Leonardo. Ces cartes sont très particulières, leur fonctionnement est complètement différent des cartes "classiques" et la communauté ne pourra pas vous aider aussi facilement qu'avec une carte Arduino UNO ou Mega2560, car ces cartes sont vraiment très spéciales (en particulier la Due).

De plus, la plupart des codes et bibliothèques de code disponibles sur Internet ne fonctionneront pas, ou nécessiteront des modifications pour fonctionner. Un débutant avec une carte Arduino Due se retrouvera donc comme une poule devant un couteau. Et juste qu'à preuve du contraire, je n'ai jamais vu ou entendu parler d'une poule ayant réussi à faire un sandwich ;)

Les cartes Arduino Due, Leonardo, Yun, Zero, 101, MKR1000, et j'en passe, sont des cartes réservées aux utilisateurs confirmés.

Parenthèse : les copies chinoises

Les cartes Arduino sont disponibles sous licence Open source, le marché est juteux, les Chinois se sont donc empressés de faire des copies à bas coût de cartes Arduino UNO, Mega2560, Due, Leonardo, etc.

Je n'aurai qu'un seul conseil à donner à ceux qui voudraient acheter des copies chinoises : ne le faites pas !

Sérieusement, à moins d'avoir plusieurs années d'expérience dans le milieu, d'avoir eu sous la main des contrefaçons de plus ou moins bonne qualité et d'avoir (à peu près) compris les astuces pour juger de la qualité d'une copie, n'achetez pas de cartes Arduino chinoises. Certes, elles ne sont vraiment pas chères, parfois quatre ou cinq fois moins chères qu'une carte officielle, mais dans 99% des cas, vous allez juste perdre votre argent.

De plus, outre l'aspect financier, la qualité de certaines copies est vraiment très mauvaise (même si visuellement cela ne parait pas si terrible). J'ai déjà eu par le passé des retours de lecteurs ayant vu des copies chinoises prendre feu, exploser et à minima chauffer ou ne marcher qu'une fois sur deux.

Vous êtes prévenu ;)

N.B. Je parle ici des copies chinoises, avec le logo Arduino / Genuino, le marquage CE / FCC et tout le reste, ainsi que des cartes "compatibles" Arduino à moins de 10€. Certaines cartes compatibles Arduino, comme les cartes de Seeedstudio par exemple, sont au contraire d'excellente qualité. Il ne faut donc pas généraliser, tout ce qui est chinois n'est pas forcément de mauvaise qualité !

Conclusion

Le temps passe vite et c'est déjà la fin de ce dossier d'introduction sur le projet Arduino.

J'espère que celui-ci vous aura appris quelque chose et vous aura donné envie de vous lancer dans l'aventure Arduino, si ce n'est pas déjà fait.

Si ce dossier vous a plu, n'hésitez pas à le commenter sur le forum, à le diffuser sur les réseaux sociaux et à soutenir le site si cela vous fait plaisir.


[1] Les modules BasicStamp et Cubloc sont des modules programmables qui existaient bien avant le projet Arduino. Ces modules sont toujours disponibles à la vente, même si ceux-ci sont aujourd'hui un peu désuets.

[2] Seulement 31,5Ko sont réellement utilisables, les 512 derniers octets de la mémoire flash sont utilisés par le programme permettant de transférer le programme utilisateur dans la carte (le "bootloader").