Automatiser la préparation d’une carte SD pour le Raspberry Pi
Cet article est la suite de l’article « Installation de l’OS pour Raspberry Pi« .
Depuis mon acquisition du Raspberry Pi, j’ai remarqué qu’il n’existe que deux façons de préparer sa carte SD pour la rendre bootable par un Raspberry depuis OS X. Soit via le terminal, soit une application qui pour ma part n’a pas fonctionné. Le Raspberry étant à la base destiné à l’éducation, j’ai décidé de réaliser une application permettant d’automatiser la préparation d’une carte SD. Cette application est développée depuis Automator en AppleScript et en Shell. Je tiens à préciser que l’application est en version bêta et sera au fil du temps améliorée. Il se peut que certains bogues aléatoires surviennent. Si tel est le cas, merci de m’en informer.
Le choix des outils
Pourquoi utiliser Automator/AppleScript/Shell ?
Tout d’abord, depuis que je suis sur Mac, je n’ai jamais eu l’occasion de tester Automator, qui plus est, beaucoup de sites dédiés aux technologies Apple vantent les possibilités offertes par ce logiciel. Je me suis donc penché sur le sujet et je dois dire que les sites n’ont pas menti.

Automator
Pour faire simple, Automator est une interface graphique, composée de plusieurs fonctions toutes faites et réalisées en AppleScript afin d’automatiser des actions et ainsi simplifier l’usage du Mac pour l’utilisateur.

AppleScript
L’AppleScript est le langage de script créé par Apple. C’est un langage de haut niveau. Il permet d’interagir de manière avancée avec le système d’exploitation OS X.

Ligne de commande
Enfin, Mac OS X étant basé sur UNIX, il dispose d’une interface très intuitive, mais surtout, pour les utilisateurs avancés, il permet de réaliser des tâches plus complexes via la ligne de commande, notamment le développement de script Shell.
L’application
L’application est donc à l’image d’Automator, une succession d’actions. La plupart ayant le paramètre de la précédente en entrée et envoyant à la prochaine un autre paramètre.
Il n’existe qu’un prérequis pour utiliser cette application : disposer d’une connexion internet
L’application est composée des actions suivantes :
- Définition du volume du système
- Demande d’insertion de la carte SD
- Choix de la carte SD
- Démontage de la carte SD
- Choix de la version du système
- Téléchargement de l’archive
- Extraction de l’archive
- Sélection de l’image extraite
- Écriture de l’image sur la carte
Tout au long de son exécution, l’application guidera l’utilisateur dans les étapes à réaliser telles que l’insertion de la carte SD, le choix de la version de l’OS à télécharger et à installer. Plutôt que d’afficher du texte, j’ai préféré utiliser la fonction d’énonciation. L’utilisateur n’aura quasiment rien à faire. L’étape la plus longue de l’application sera le téléchargement de l’OS, la durée dépendra bien sûr de la connexion de l’utilisateur.
Les limites
Étant encore en bêta, certains bogues peuvent survenir lors de l’exécution de l’application. Le choix de l’OS et de la version de l’OS reste limité. L’application ne permet pas « directement » d’utiliser un autre fichier .img qui aurait été téléchargé par l’utilisateur, l’étape de téléchargement sera automatiquement réalisée.
L’évolutivité
Pour autant, cette application offre beaucoup de possibilités. On peut facilement imaginer de proposer à l’utilisateur de choisir un autre système que Raspbian. Dans la même lignée, il serait intéressant d’avoir plusieurs versions du système à choisir. L’application pourrait également automatiser entièrement la création de la carte SD sans aucune action de l’utilisateur ce qui inclurait des limitations évidentes.