From 385060cc868faffdaad32b5caa6ea7451eb571b9 Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 29 Aug 2021 07:37:32 -0400 Subject: [PATCH 1/8] [Fr Translation] Translation of first lesson --- 1-getting-started/Translations/README.fr.md | 15 ++ .../translations/README.fr.md | 235 ++++++++++++++++++ 2 files changed, 250 insertions(+) create mode 100644 1-getting-started/Translations/README.fr.md create mode 100644 1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md diff --git a/1-getting-started/Translations/README.fr.md b/1-getting-started/Translations/README.fr.md new file mode 100644 index 00000000..8e60c57e --- /dev/null +++ b/1-getting-started/Translations/README.fr.md @@ -0,0 +1,15 @@ +# Guide de démarage IoT +Dans cette section du tutoriel, vous serez initié à l'Internet des objets et apprendrez les concepts de base, notamment la construction de votre premier projet IoT « Hello, World!» connecté à l'infrastrucutre info-nuagique. Ce projet est une veilleuse qui s'allume quand la lumière mesurée par un capteur diminue. + +![La DEL connecté au WIO s'allume et s'éteint en fonction de la luminosité](../images/wio-running-assignment-1-1.gif) + +## Sujets + +1. [Introduction au IoT](lessons/1-introduction-to-iot/README.md) +1. [Approfondir les IoT](lessons/2-deeper-dive/README.md) +1. [Intéragir avec le monde physique à l'aide de capteur et actionneur](lessons/3-sensors-and-actuators/README.md) +1. [Connecter votre appareil à Internet](lessons/4-connect-internet/README.md) + +## Crédits + +Tous les leçons ont été écrite ♥️ par [Jim Bennett](https://GitHub.com/JimBobBennett) \ No newline at end of file diff --git a/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md b/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md new file mode 100644 index 00000000..57f87cc3 --- /dev/null +++ b/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md @@ -0,0 +1,235 @@ +# Introduction au IoT + +![Voici un aperçu de cette leçon sous forme d'illustré](../../../sketchnotes/lesson-1.jpg) + +> Illustré par [Nitya Narasimhan](https://github.com/nitya). Cliquer sur l'image pour l'agrandir. + +Cette leçon a été enseigné dans le cadre de [Hello IoT series](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) à partir de [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn). Cette leçon a été enseigné en 2 vidéos - une leçon d'une heure et une autre heure pour approfondir les notions et répondre aux questions. + +[![Leçon 1: Introduction aux IoT](https://img.youtube.com/vi/bVFfcYh6UBw/0.jpg)](https://youtu.be/bVFfcYh6UBw) + +[![Leçon 1: Introduction aux IoT - Heures de bureau](https://img.youtube.com/vi/YI772q5v3yI/0.jpg)](https://youtu.be/YI772q5v3yI) + +> 🎥 Cliquer sur les images ci-dessus pour regarder les vidéos. + +## Questionnaire de pré-lecture + +[Questionnaire de pré-lecture](https://brave-island-0b7c7f50f.azurestaticapps.net/quiz/1) + +## Introduction + +Cette leçon couvre certains sujets d'introduction à l'Internet des objets et vous permet de configure votre matériel. + +Dans cette leçon nous couvrirons: + +* [Qu'est-ce que l'Internet des objets?](#what-is-the-internet-of-things) +* [Appareils IoT](#iot-devices) +* [Configurer votre appareil](#set-up-your-device) +* [Les applications IoT](#applications-of-iot) +* [Exemples d'appareils IoT près de vous](#examples-of-iot-devices-you-may-have-around-you) + +## Qu'est-ce que l'Internet des objets? + +Le terme « Internet des objets » a été créer par [Kevin Ashton](https://wikipedia.org/wiki/Kevin_Ashton) en 1999 pour imager la connection entre le monde physique et l'Internet via des capteurs. Depuis, le terme est utilisé pour décrire n'importe quel appareil qui intéragit avec le monde physique alentour, soit en collectant des données via des capteurs ou en intéragissant avec le monde réel via des actionneurs (appareils qui ouvre un interrupteur ou allume un DEL), généralement connecté à d'autres appareils ou Internet. + +> **Capteurs** collecte l'information du monde réel, tel que la vitesse, la température ou la localisation. +> +> **Actionneurs** convertit un signal électrique en interagissant avec le monde réel en déclencheant un interrupteur, allumant une DEL, jouant un son ou en envoyant un signal à un autre appareil, par exemple pour allimenter une prise de courant. + +Les IoT en tant que domaine technologique ne se limite pas seulement aux appareils: il comprend des services basé sur les technologies infonuagique qui traite les données collecté par le capteur ou envoie une requête aux actionneurs connectés aux appareils IoT. Ce domaine inclut aussi des appareils n'ayant pas de connectivité Internet ou qui n'en ont pas besoin, souvent référé en tant qu'appareils de périphérie. Ces appareils sont en mesure de répondre et traiter les données collectés par les capteurs eux-mêmes, généralement à l'aide de modèle d'AI créé dans l'infrastrucutre infonuagique. + +Le domaine des IoT est en pleine expansion. On estime qu'à la fin de 2020, 30 milliards de dispositifs IoT ont été déployés et connectés à Internet. Dans l'avenir, on estime que les appareils IoT collecteront près de 80 zettaoctets de données, soit 80 trillions de gigaoctets. C'est beaucoup de données! + +![Voici un graphique montrant les objets connecté dans le temps, avec une tendance à la hausse passant de moins de 5 millairds en 2015 à plus de 30 milliards en 2025](../../../images/connected-iot-devices.svg) + +✅ Faites une petite recherche: Quel proportion des données générés par les objets connectés sont utilisé et quel proportion est gaspillé? Pourquoi y a-t-il autant de données ignorés? + +Ces données sont la clé du succès des IoT. Pour être un développeur IoT à succès, il faut comprenedre quel données vous devez collecter, comment les collecter, comment prendre une décision par rapport à ces données et comment utiliser ces décision pour intéragir avec le monde physique au besoin. + +## Appareils IoT + +Le **T** dans IoT tiens pour **Things**- objet qui intéragit avec le monde physique soit en collectant des données des capteurs ou en intéragissant avec le monde réel via des actionneurs. + +Les appareils destinés à la production ou à l'utilisation commercial tel que les dispositifs de suivi du conditionnment physique sont généralement fait sur mesure. Ils utilisent des circuits imprimés fait sur mesure, parfois même avec des processeurs fait sur mesure conçu pour rencontrés les spécificités d'une tâche particulière, qu'il s'agisse d'être suffisamment petit pour ttenir au poignet ou suffisamment robuste pour travailler dans de haute température, à forte contrainte ou à fortes vibrations. + + +En tant que développeur, que vous soyez en train d'apprendre au sujet des objets connectés ou que soyez en train de créer un prototype, vous devez commencer avec un ensemble de développeur. Il s'agit d'appareils IoT à usage général conçus pour être utilisés par les développeurs, souvent dotés de fonctionnalités que vous n'auriez pas sur un appareil de production, telles qu'un ensemble de broches externes auxquelles connecter des capteurs ou des actionneurs, du matériel pour prendre en charge le débogage ou des ressources supplémentaires qui ajouteraient des coûts inutiles lors d'une grande production. + +Ces ensembles de développement se divisent généralement en deux catégories : les microcontrôleurs et les ordinateurs monocartes. Ces derniers seront présentés ici, et nous entrerons dans les détails dans la prochaine leçon. + +> 💁 Votre téléphone peut également être considéré comme un dispositif IoT polyvalent, avec des capteurs et des actionneurs intégrés, différentes applications utilisant les capteurs et les actionneurs de différentes manières avec différents services infonuagiques. Vous pouvez même trouver des tutoriels sur l'IoT qui utilisent une application de téléphone comme dispositif IoT. + +### Microcontrôleurs + +Un microcontrôleur (également appelé MCU, abréviation de "microcontroller unit") est un petit ordinateur composé de: + +🧠 Une ou plusieurs unités centrales de traitement (CPU) - le "cerveau" du microcontrôleur qui exécute votre programme. + +💾 Mémoire (RAM et mémoire de programme) - où sont stockés votre programme, vos données et vos variables. + +🔌 Connexions d'entrée/sortie (E/S) programmables - pour communiquer avec des périphériques externes (objets connectés) tels que des capteurs et des actionneurs. + +Les microcontrôleurs sont généralement des dispositifs informatiques peu coûteux, le prix moyen des microcontrôleurs utilisés dans le matériel personnalisé se situant autour de $0,50 USD, et certains dispositifs ne coûtant que $0,03 USD. Les kits de développement peuvent commencer à partir de $4 USD, les coûts augmentant au fur et à mesure que l'on ajoute des fonctionnalités. Le [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html), un ensemble de développement de microcontrôleur de [Seeed studios](https://www.seeedstudio.com) qui comprend des capteurs, des actionneurs, le WiFi et un écran, coûte environ $30 USD. + +![Voici un Terminal Wio](../../../images/wio-terminal.png) + +> 💁 Lorsque vous recherchez des microcontrôleurs sur Internet, méfiez-vous de la recherche contenant le terme **MCU**, car vous obtiendrez de nombreux résultats concernant le Marvel Cinematic Universe, et non les microcontrôleurs. + +Les microcontrôleurs sont conçus pour être programmés afin d'effectuer un nombre limité de tâches très spécifiques, plutôt que d'être des ordinateurs à usage général comme les PC ou les Mac. À l'exception de scénarios très spécifiques, vous ne pouvez pas connecter un écran, un clavier et une souris et les utiliser pour des tâches générales. + +Les ensemble de développement de microcontrôleurs sont généralement livrés avec des capteurs et des actionneurs supplémentaires à bord. La plupart des cartes sont dotés d'une ou plusieurs DEL que vous pouvez programmer, ainsi que d'autres dispositifs tels que des connecteurs standard permettant d'ajouter d'autres capteurs ou actionneurs à l'aide d'écosystèmes de divers fabricants ou de capteurs intégrés (généralement les plus populaires comme les capteurs de température). Certains microcontrôleurs ont une connectivité sans fil intégrée, comme Bluetooth ou WiFi, ou ont des microcontrôleurs supplémentaires sur la carte pour ajouter cette connectivité. + +> 💁 Les microcontrôleurs sont généralement programmé en C/C++. + +### Ordinateur monocarte + + +Un ordinateur monocarte est un petit ordinateur qui possède tous les éléments d'un ordinateur complet contenue dans un ordinateur de la grosseur d'une carte de crédit. Ces appareils, qui ont des spécifications similaires à celles d'un ordinateur de bureau ou d'un ordinateur portable Pc ou Mac, mais sont plus petit et utilisent moins de puissance en plus d'être substantiellement moins dispendieux. + +![Voici un Raspberry Pi 4](../../../images/raspberry-pi-4.jpg) + + +Le Raspberry Pi est un des ordinateurs monocarte les plus populaires. + + +Comme un microcontrôleur, les ordinateurs monocartes disposent d'une unité centrale, d'une mémoire et de broches d'entrée/sortie, mais ils possèdent des fonctionnalités supplémentaires telles qu'une puce graphique pour vous permettre de connecter des moniteurs, des sorties audio et des ports USB pour connecter des claviers, des souris et d'autres périphériques USB standard tels que des webcams ou un stockage externe. Les programmes sont stockés sur des cartes SD ou des disques durs avec un système d'exploitation, au lieu d'une puce mémoire intégrée à la carte. + +> 🎓 Vous pouvez considérer un ordinateur monocarte comme une version plus petite et moins chère du PC ou du Mac sur lequel vous lisez ces lignes, avec l'ajout de broches GPIO (entrées/sorties à usage général) pour interagir avec des capteurs et des actionneurs. + +Les ordinateurs monocartes sont des ordinateurs complets, qui peuvent donc être programmés dans n'importe quel langage. Les appareils IoT sont généralement programmés en Python. + +### Choix de matériel pour le reste de la leçon + +Toutes les leçons suivantes comprennent des tâches utilisant un dispositif IoT pour interagir avec le monde physique et communiquer avec le cloud. Chaque leçon prend en charge 3 choix de dispositifs - Arduino (à l'aide d'un terminal Wio de Seeed Studios), ou un ordinateur monocarte, soit un dispositif physique (un Raspberry Pi 4), soit un ordinateur monocarte virtuel fonctionnant sur votre PC ou Mac. + +Vous pouvez vous renseigner sur le matériel nécessaire à la réalisation de toutes les missions dans le [guide matériel](../../../hardware.md). + +> 💁 Vous n'avez pas besoin d'acheter aucun matériel IoT pour compléter les tâches, vous pouvez utiliser un ordinateur monocarte virtuel. + +Le matériel que vous choisissez dépend de ce que vous avez à votre disposition à la maison ou à l'école, et du langage de programmation que vous connaissez ou que vous envisagez d'apprendre. Les deux variantes matérielles utiliseront le même écosystème de capteurs, de sorte que si vous vous engagez dans une voie, vous pourrez passer à l'autre sans devoir remplacer la majeure partie de l'ensemble. L'ordinateur monocarte virtuel sera l'équivalent de l'apprentissage sur un Raspberry Pi, la plupart du code pouvant être transféré sur le Pi si vous obtenez finalement un dispositif et des capteurs. + +### Ensemble de développement Arduino + + +Si vous souhaitez apprendre le développement de microcontrôleurs, vous pouvez effectuer les tâches à l'aide d'un dispositif Arduino. Vous aurez besoin d'une compréhension de base de la programmation C/C++, car les leçons n'enseignent que le code qui est pertinent pour le cadre Arduino, les capteurs et les actionneurs utilisés, et les bibliothèques qui interagissent avec l'infrastructure infonuagique. + +Les tâches utiliseront [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn) avec l'[extension PlatformIO pour le développement sur microcontrôleur](https://platformio.org). Vous pouvez aussi utiliser l'IDE Arduino si vous avez de l'expérience avec cet outil, car les instructions ne seront pas fournies. + +### Ensemble de développement pour ordinateur monocarte + +Si vous souhaitez apprendre le développement IoT à l'aide d'ordinateurs monocartes, vous pouvez réaliser les tâches à l'aide d'un Raspberry Pi, ou d'un dispositif virtuel fonctionnant sur votre PC ou votre Mac. + +Vous devrez avoir des connaissances de base en programmation Python, car les leçons n'enseignent que le code pertinent pour les capteurs et les actionneurs utilisés, ainsi que les bibliothèques qui interagissent avec l'infrastructure infonuagique. + +> 💁 Si vous souhaitez apprendre à coder en Python, consultez les deux séries de vidéos suivantes: +> +> * [Python pour débutant](https://channel9.msdn.com/Series/Intro-to-Python-Development?WT.mc_id=academic-17441-jabenn) +> * [Plus de python pour débutant](https://channel9.msdn.com/Series/More-Python-for-Beginners?WT.mc_id=academic-7372-jabenn) + +Les tâches vont utiliser [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn). + +Si vous utilisez un Raspberry Pi, vous pouvez soit faire fonctionner votre Pi en utilisant la version de bureau complète de Raspberry Pi OS, et faire tout le codage directement sur le Pi en utilisant [La version Raspberry Pi OS de Visual Studio Code](https://code.visualstudio.com/docs/setup/raspberry-pi?WT.mc_id=academic-17441-jabenn), ou faire fonctionner votre Pi comme un appareil sans tête et coder à partir de votre PC ou Mac en utilisant VS Code avec l'application [Extension SSH à distance](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn) qui vous permet de vous connecter à votre Pi et de modifier, déboguer et exécuter du code comme si vous codiez directement sur lui. + +If you use the virtual device option, you will code directly on your computer. Instead of accessing sensors and actuators, you will use a tool to simulate this hardware providing sensor values that you can define, and showing the results of actuators on screen. + +## Configurer votre dispositif + +Avant de pouvoir commencer à programmer votre appareil IoT, vous devez effectuer une petite configuration. Suivez les instructions ci-dessous en fonction de l'appareil que vous utiliserez. + +> 💁 Si vous n'avez pas encore d'appareil, référez-vous au [guide matériel](../../../hardware.md) pour vous aider à choisir le dispositif que vous allez utiliser et du matériel supplémentaire que vous devez acheter. Vous n'avez pas besoin d'acheter du matériel, car tous les projets peuvent être exécutés sur du matériel virtuel. + +Ces instructions comprennent des liens vers des sites Web tierce partie créés par les créateurs du matériel ou des outils que vous utiliserez. Cela permet de s'assurer que vous utilisez toujours les instructions les plus récentes pour les différents outils et matériels. + +Utilisez le guide correspondant pour configurer votre appareil et réaliser un projet «Hello World». Ce sera la première étape de la création d'une veilleuse IoT au cours des 4 leçons de cette partie de mise en route. + +* [Arduino - Wio Terminal](wio-terminal.md) +* [Ordinateur monocarte - Raspberry Pi](pi.md) +* [Ordinateur moncarte - Dispositif virtuel](virtual-device.md) + +✅ Vous utiliserez VS Code pour les ordinateurs Arduino et Single-board. Si vous ne l'avez jamais utilisé auparavant, vous pouvez en apprendre davantage sur le [site Vs Code](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) + +## Applications IoT + +L'internet des objets couvrent une grande partie des cas d'utilisation répartis en quelques grands groupes: + +* IoT grand public +* IoT commercial +* IoT industriel +* IoT d'infrastructure + +✅ Faites une petite recherche : Pour chacun des domaines décrits ci-dessous, trouvez un exemple concret qui n'est pas donné dans le texte. + +### IoT grand public + +Le terme IoT grand public fait référence aux appareils IoT que les consommateurs achèteront et utiliseront à la maison. Certains de ces appareils sont incroyablement utiles, comme les haut-parleurs intelligents, les systèmes de chauffage intelligents et les aspirateurs robotisés. D'autres sont d'une utilité discutable, comme les robinets à commande vocale qui ne peuvent pas être éteints car la commande vocale ne peut pas vous entendre par-dessus le bruit de l'eau qui coule. + +Les dispositifs IoT grand public donnent aux gens les moyens d'en faire plus dans leur environnement, en particulier au milliard de personnes qui souffrent d'un handicap. Les aspirateurs robotisés peuvent fournir des sols propres aux personnes ayant des problèmes de mobilité qui ne peuvent pas passer l'aspirateur elles-mêmes, les fours à commande vocale permettent aux personnes ayant une vision ou un contrôle moteur limité de chauffer leurs fours avec leur seule voix, les moniteurs de santé peuvent permettre aux patients de surveiller eux-mêmes leurs maladies chroniques avec des mises à jour plus régulières et plus détaillées sur leur état. Ces appareils deviennent tellement omniprésents que même les jeunes enfants les utilisent dans leur vie quotidienne. Par exemple, les étudiants qui suivent une scolarité virtuelle pendant la pandémie de COVID règlent des minuteries sur des appareils domestiques intelligents pour suivre leurs travaux scolaires ou des alarmes pour leur rappeler les prochaines réunions de classe. + +✅ Quels sont les dispositifs IoT grand public que vous avez sur vous ou dans votre maison ? + +### Commercial IoT + +L'IoT commercial couvre l'utilisation de l'IoT sur le lieu de travail. Dans un bureau, il peut y avoir des capteurs d'occupation et des détecteurs de mouvement pour gérer l'éclairage et le chauffage afin de ne les laisser éteints que lorsqu'ils ne sont pas nécessaires, ce qui réduit les coûts et les émissions de carbone. Dans une usine, les dispositifs IoT peuvent surveiller les risques pour la sécurité, comme les travailleurs qui ne portent pas de casque de sécurité ou le bruit qui a atteint des niveaux dangereux. Dans le commerce de détail, les dispositifs IoT peuvent mesurer la température des chambres froides, alertant le propriétaire du magasin si un réfrigérateur ou un congélateur se trouve en dehors de la plage de température requise, ou ils peuvent surveiller les articles en rayon pour indiquer aux employés de réapprovisionner les produits qui ont été vendus. Le secteur des transports s'appuie de plus en plus sur l'Internet des objets pour surveiller l'emplacement des véhicules, suivre le kilométrage sur route pour la tarification des usagers de la route, suivre les heures de conduite et le respect des pauses, ou avertir le personnel lorsqu'un véhicule s'approche d'un dépôt pour préparer le chargement ou le déchargement. + +✅ Quels dispositifs commerciaux IoT avez-vous dans votre école ou sur votre lieu de travail ? + +### IoT industriel (IIoT) + +L'Internet des objets industriel, ou IIoT, est l'utilisation de dispositifs IoT pour contrôler et gérer des machines à grande échelle. Cela couvre un large éventail de cas d'utilisation, des usines à l'agriculture numérique. + +Les usines utilisent les dispositifs IoT de nombreuses façons différentes. Les machines peuvent être surveillées à l'aide de plusieurs capteurs pour suivre des éléments comme la température, les vibrations et la vitesse de rotation. Ces données peuvent ensuite être surveillées pour permettre d'arrêter la machine si elle sort de certaines tolérances - elle fonctionne trop chaudement et est arrêtée par exemple. Ces données peuvent également être recueillies et analysées au fil du temps pour effectuer une maintenance prédictive, où les modèles d'IA examinent les données qui ont conduit à une panne et s'en servent pour prédire d'autres pannes avant qu'elles ne se produisent. + +L'agriculture numérique est importante si l'on veut que la planète nourrisse la population croissante, en particulier pour les 2 milliards de personnes dans 500 millions de ménages qui survivent grâce à [l'agriculture de subsistance](https://wikipedia.org/wiki/Subsistence_agriculture). L'agriculture numérique peut aller de quelques capteurs sous les 10$ à des installations commerciales massives. Un agriculteur peut commencer par surveiller les températures et utiliser [jours de croissance](https://wikipedia.org/wiki/Growing_degree-day) pour prévoir quand une culture sera prête à être récoltée. Ils peuvent connecter la surveillance de l'humidité du sol à des systèmes d'arrosage automatisés pour donner à leurs plantes autant d'eau que nécessaire, mais pas plus, afin de s'assurer que leurs cultures ne se dessèchent pas sans gaspiller d'eau. Les agriculteurs vont même plus loin et utilisent des drones, des données satellitaires et l'IA pour surveiller la croissance des cultures, les maladies et la qualité des sols sur d'immenses étendues de terres agricoles. + +✅ Quels autres dispositifs IoT pourraient aider les agriculteurs ? + +### IoT d'infrastructure + +L'IoT des infrastructures consiste à surveiller et à contrôler les infrastructures locales et mondiales que les gens utilisent tous les jours. + +[Les villes connectées](https://wikipedia.org/wiki/Smart_city) sont des zones urbaines qui utilisent des dispositifs IoT pour recueillir des données sur la ville et les utiliser pour améliorer son fonctionnement. Ces villes sont généralement gérées par des collaborations entre les autorités locales, les universités et les entreprises locales, qui suivent et gèrent des éléments allant du transport au stationnement et à la pollution. Par exemple, à Copenhague, au Danemark, la pollution atmosphérique est importante pour les habitants. Elle est donc mesurée et les données sont utilisées pour fournir des informations sur les itinéraires de cyclisme et de jogging les plus propres. + +[Les réseaux électriques intelligents](https://wikipedia.org/wiki/Smart_grid) permettent une meilleure analyse de la demande d'électricité en recueillant des données d'utilisation au niveau des foyers individuels. Ces données peuvent guider les décisions au niveau national, notamment en ce qui concerne la construction de nouvelles centrales électriques, et au niveau personnel en donnant aux utilisateurs un aperçu de la quantité d'énergie qu'ils consomment, du moment où ils la consomment, et même des suggestions sur la manière de réduire les coûts, par exemple en chargeant les voitures électriques la nuit. + +✅ Si vous pouviez ajouter des dispositifs IoT pour mesurer quelque chose là où vous vivez, ce serait quoi ? + +## Exemples de dispositifs IoT que vous pouvez avoir autour de vous + +Vous seriez surpris du nombre d'appareils IoT que vous avez autour de vous. J'écris ces lignes depuis chez moi et j'ai les appareils suivants connectés à Internet et dotés de fonctionnalités intelligentes telles que le contrôle des applications, le contrôle vocal ou la possibilité de m'envoyer des données via mon téléphone : + +* Plusieurs haut-parleurs intelligents +* Réfrigérateur, lave-vaisselle, four et micro-onde +* Moniteur d'électricité pour panneaux solaires +* Prises intelligentes +* Sonnette vidéo et caméras de sécurité +* Thermostat intelligent avec plusieurs capteurs d'ambiance intelligents +* Contrôleur de portes de garage +* Systèmes de divertissement à domicile et téléviseurs à commande vocale +* Lumières +* Suivi de conditionnement physique + +Tous ces types d'appareils sont dotés de capteurs et/ou d'actionneurs et communiquent avec l'Internet. Je peux dire depuis mon téléphone si ma porte de garage est ouverte, et demander à mon enceinte intelligente de la fermer pour moi. Je peux même la programmer pour que, si elle est encore ouverte la nuit, elle se ferme automatiquement. Lorsque ma sonnette sonne, je peux voir depuis mon téléphone qui est là, où que je sois dans le monde, et lui parler via un haut-parleur et un microphone intégrés à la sonnette. Je peux surveiller ma glycémie, mon rythme cardiaque et mes habitudes de sommeil, en recherchant des modèles dans les données pour améliorer ma santé. Je peux contrôler mes lumières via l'infrastructure infonuagique, et rester dans le noir lorsque ma connexion Internet est coupée. + +--- + +## 🚀 Défi + +Dressez la liste du plus grand nombre possible de dispositifs IoT présents chez vous, à l'école ou sur votre lieu de travail - il y en a peut-être plus que vous ne le pensez ! + +## Questionnaire suivant la lecture + +[Questionnaire suivant la lecture](https://brave-island-0b7c7f50f.azurestaticapps.net/quiz/2) + +## Révision et études personnelles + +Renseignez-vous sur les avantages et les défauts des projets IoT grand public. Consultez les sites d'actualités pour trouver des articles sur les cas où cela a mal tourné, comme les problèmes de confidentialité, les problèmes de matériel ou les problèmes causés par le manque de connectivité. + +Quelques exemples: + +* Consultez le compte Twitter **[Internet of Sh*t](https://twitter.com/internetofshit)** *(profanity warning)* pour quelques bons exemples d'échec de dispositif IoT. +* [c|net - My Apple Watch saved my life: 5 people share their stories](https://www.cnet.com/news/apple-watch-lifesaving-health-features-read-5-peoples-stories/) +* [c|net - ADT technician pleads guilty to spying on customer camera feeds for years](https://www.cnet.com/news/adt-home-security-technician-pleads-guilty-to-spying-on-customer-camera-feeds-for-years/) *(trigger warning - non-consensual voyeurism)* + +## Tâche + +[Rechercher un projet IoT](assignment.md) From 8b2dac7e475fba028f5eea9e2d2b733d4223b0a5 Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 29 Aug 2021 07:55:49 -0400 Subject: [PATCH 2/8] [Fr translation] Tweaking links + add assignment --- .../translations/README.fr.md | 12 +- .../translations/assignment.fr.md | 13 + .../translations/pi.fr.md | 249 ++++++++++++++++++ 3 files changed, 268 insertions(+), 6 deletions(-) create mode 100644 1-getting-started/lessons/1-introduction-to-iot/translations/assignment.fr.md create mode 100644 1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md diff --git a/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md b/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md index 57f87cc3..8f68562a 100644 --- a/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md +++ b/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md @@ -1,6 +1,6 @@ # Introduction au IoT -![Voici un aperçu de cette leçon sous forme d'illustré](../../../sketchnotes/lesson-1.jpg) +![Voici un aperçu de cette leçon sous forme d'illustré](../../../../sketchnotes/lesson-1.jpg) > Illustré par [Nitya Narasimhan](https://github.com/nitya). Cliquer sur l'image pour l'agrandir. @@ -40,7 +40,7 @@ Les IoT en tant que domaine technologique ne se limite pas seulement aux apparei Le domaine des IoT est en pleine expansion. On estime qu'à la fin de 2020, 30 milliards de dispositifs IoT ont été déployés et connectés à Internet. Dans l'avenir, on estime que les appareils IoT collecteront près de 80 zettaoctets de données, soit 80 trillions de gigaoctets. C'est beaucoup de données! -![Voici un graphique montrant les objets connecté dans le temps, avec une tendance à la hausse passant de moins de 5 millairds en 2015 à plus de 30 milliards en 2025](../../../images/connected-iot-devices.svg) +![Voici un graphique montrant les objets connecté dans le temps, avec une tendance à la hausse passant de moins de 5 millairds en 2015 à plus de 30 milliards en 2025](../../../../images/connected-iot-devices.svg) ✅ Faites une petite recherche: Quel proportion des données générés par les objets connectés sont utilisé et quel proportion est gaspillé? Pourquoi y a-t-il autant de données ignorés? @@ -71,7 +71,7 @@ Un microcontrôleur (également appelé MCU, abréviation de "microcontroller un Les microcontrôleurs sont généralement des dispositifs informatiques peu coûteux, le prix moyen des microcontrôleurs utilisés dans le matériel personnalisé se situant autour de $0,50 USD, et certains dispositifs ne coûtant que $0,03 USD. Les kits de développement peuvent commencer à partir de $4 USD, les coûts augmentant au fur et à mesure que l'on ajoute des fonctionnalités. Le [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html), un ensemble de développement de microcontrôleur de [Seeed studios](https://www.seeedstudio.com) qui comprend des capteurs, des actionneurs, le WiFi et un écran, coûte environ $30 USD. -![Voici un Terminal Wio](../../../images/wio-terminal.png) +![Voici un Terminal Wio](../../../../images/wio-terminal.png) > 💁 Lorsque vous recherchez des microcontrôleurs sur Internet, méfiez-vous de la recherche contenant le terme **MCU**, car vous obtiendrez de nombreux résultats concernant le Marvel Cinematic Universe, et non les microcontrôleurs. @@ -86,7 +86,7 @@ Les ensemble de développement de microcontrôleurs sont généralement livrés Un ordinateur monocarte est un petit ordinateur qui possède tous les éléments d'un ordinateur complet contenue dans un ordinateur de la grosseur d'une carte de crédit. Ces appareils, qui ont des spécifications similaires à celles d'un ordinateur de bureau ou d'un ordinateur portable Pc ou Mac, mais sont plus petit et utilisent moins de puissance en plus d'être substantiellement moins dispendieux. -![Voici un Raspberry Pi 4](../../../images/raspberry-pi-4.jpg) +![Voici un Raspberry Pi 4](../../../../images/raspberry-pi-4.jpg) Le Raspberry Pi est un des ordinateurs monocarte les plus populaires. @@ -102,7 +102,7 @@ Les ordinateurs monocartes sont des ordinateurs complets, qui peuvent donc être Toutes les leçons suivantes comprennent des tâches utilisant un dispositif IoT pour interagir avec le monde physique et communiquer avec le cloud. Chaque leçon prend en charge 3 choix de dispositifs - Arduino (à l'aide d'un terminal Wio de Seeed Studios), ou un ordinateur monocarte, soit un dispositif physique (un Raspberry Pi 4), soit un ordinateur monocarte virtuel fonctionnant sur votre PC ou Mac. -Vous pouvez vous renseigner sur le matériel nécessaire à la réalisation de toutes les missions dans le [guide matériel](../../../hardware.md). +Vous pouvez vous renseigner sur le matériel nécessaire à la réalisation de toutes les missions dans le [guide matériel](../../../../hardware.md). > 💁 Vous n'avez pas besoin d'acheter aucun matériel IoT pour compléter les tâches, vous pouvez utiliser un ordinateur monocarte virtuel. @@ -136,7 +136,7 @@ If you use the virtual device option, you will code directly on your computer. I Avant de pouvoir commencer à programmer votre appareil IoT, vous devez effectuer une petite configuration. Suivez les instructions ci-dessous en fonction de l'appareil que vous utiliserez. -> 💁 Si vous n'avez pas encore d'appareil, référez-vous au [guide matériel](../../../hardware.md) pour vous aider à choisir le dispositif que vous allez utiliser et du matériel supplémentaire que vous devez acheter. Vous n'avez pas besoin d'acheter du matériel, car tous les projets peuvent être exécutés sur du matériel virtuel. +> 💁 Si vous n'avez pas encore d'appareil, référez-vous au [guide matériel](../../../../hardware.md) pour vous aider à choisir le dispositif que vous allez utiliser et du matériel supplémentaire que vous devez acheter. Vous n'avez pas besoin d'acheter du matériel, car tous les projets peuvent être exécutés sur du matériel virtuel. Ces instructions comprennent des liens vers des sites Web tierce partie créés par les créateurs du matériel ou des outils que vous utiliserez. Cela permet de s'assurer que vous utilisez toujours les instructions les plus récentes pour les différents outils et matériels. diff --git a/1-getting-started/lessons/1-introduction-to-iot/translations/assignment.fr.md b/1-getting-started/lessons/1-introduction-to-iot/translations/assignment.fr.md new file mode 100644 index 00000000..58a5760d --- /dev/null +++ b/1-getting-started/lessons/1-introduction-to-iot/translations/assignment.fr.md @@ -0,0 +1,13 @@ +# Recherche sur un projet IoT + +## Instructions + +De nombreux projets IoT à petite et grande échelle sont déployés dans le monde entier, des fermes intelligentes aux villes intelligentes, en passant par le suivi des soins de santé, les transports et l'utilisation des espaces publics. + +Recherchez sur le Web les détails d'un projet qui vous intéresse, idéalement un projet proche de votre lieu de résidence. Expliquez les avantages et les inconvénients du projet, comme les bénéfices qu'il procure, les problèmes qu'il pose et la manière dont la vie privée est prise en compte. + +## Rubrique + +| Critères | Exemplaire | Adéquat | Besoin d'amélioration | +| -------- | --------- | -------- | ----------------- | +| Expliquer les avantages et les inconvénients | Il a expliqué clairement les avantages et les inconvénients du projet. | Il a expliqué brièvement les avantages et les inconvénients. | Il n'a pas expliqué les avantages et les inconvénients.| diff --git a/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md b/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md new file mode 100644 index 00000000..46a0ffe1 --- /dev/null +++ b/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md @@ -0,0 +1,249 @@ +# Raspberry Pi + +Le [Raspberry Pi](https://raspberrypi.org) est un ordinateur monocarte. Vous pouvez ajouter des capteurs et des actionneurs en utilisant un large éventail de dispositifs et d'écosystèmes, et pour ces leçons, en utilisant un écosystème matériel appelé [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). Vous allez coder votre Pi et accéder aux capteurs Grove en utilisant Python. + +![A Raspberry Pi 4](../../../../images/raspberry-pi-4.jpg) + +## Setup + +If you are using a Raspberry Pi as your IoT hardware, you have two choices - you can work through all these lessons and code directly on the Pi, or you can connect remotely to a 'headless' Pi and code from your computer. + +Before you begin, you also need to connect the Grove Base Hat to your Pi. + +### Task - setup + +Install the Grove base hat on your Pi and configure the Pi + +1. Connect the Grove base hat to your Pi. The socket on the hat fits over all of the GPIO pins on the Pi, sliding all the way down the pins to sit firmly on the base. It sits over the Pi, covering it. + + ![Fitting the grove hat](../../../images/pi-grove-hat-fitting.gif) + +1. Decide how you want to program your Pi, and head to the relevant section below: + + * [Work directly on your Pi](#work-directly-on-your-pi) + * [Remote access to code the Pi](#remote-access-to-code-the-pi) + +### Work directly on your Pi + +If you want to work directly on your Pi, you can use the desktop version of Raspberry Pi OS and install all the tools you need. + +#### Task - work directly on your Pi + +Set up your Pi for development. + +1. Follow the instructions in the [Raspberry Pi setup guide](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) to set up your Pi, connect it to a keyboard/mouse/monitor, connect it to your WiFi or ethernet network, and update the software. The OS you want to install is **Raspberry Pi OS (32 bit)**, it is marked as the recommended OS when using the Raspberry Pi Imager to image your SD card. + +To program the Pi using the Grove sensors and actuators, you will need to install an editor to allow you to write the device code, and various libraries and tools that interact with the Grove hardware. + +1. Once your Pi has rebooted, launch the Terminal by clicking the **Terminal** icon on the top menu bar, or choose *Menu -> Accessories -> Terminal* + +1. Run the following command to ensure the OS and installed software is up to date: + + ```sh + sudo apt update && sudo apt full-upgrade --yes + ``` + +1. Run the following command to install all the needed libraries for the Grove hardware: + + ```sh + curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s - + ``` + + One of the powerful features of Python is the ability to install [Pip packages](https://pypi.org) - these are packages of code written by other people and published to the Internet. You can install a Pip package onto your computer with one command, then use that package in your code. This Grove install script will install the Pip packages you will use to work with the Grove hardware from Python. + + > 💁 By default when you install a package it is available everywhere on your computer, and this can lead to problems with package versions - such as one application depending on one version of a package that breaks when you install a new version for a different application. To work around this problem, you can use a [Python virtual environment](https://docs.python.org/3/library/venv.html), essentially a copy of Python in a dedicated folder, and when you install Pip packages they get installed just to that folder. You won't be using virtual environments when using your Pi. The Grove install script installs the Grove Python packages globally, so to use a virtual environment you would need to set up a virtual environment then manually re-install the Grove packages inside that environment. It's easier to just use global packages, especially as a lot of Pi developers will re-flash a clean SD card for each project. + +1. Reboot the Pi either using the menu or running the following command in the Terminal: + + ```sh + sudo reboot + ``` + +1. Once the Pi has rebooted, relaunch the Terminal and run the following command to install [Visual Studio Code (VS Code)](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) - this is the editor you will be using to write your device code in Python. + + ```sh + sudo apt install code + ``` + + Once this is installed, VS Code will be available from the top menu. + + > 💁 You are free to use any Python IDE or editor for these lessons if you have a preferred tool, but the lessons will give instructions based off using VS Code. + +1. Install Pylance. This is an extension for VS Code that provides Python language support. Refer to the [Pylance extension documentation](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) for instructions on installing this extension in VS Code. + +### Remote access to code the Pi + +Rather than coding directly on the Pi, it can run 'headless', that is not connected to a keyboard/mouse/monitor, and configure and code on it from your computer, using Visual Studio Code. + +#### Set up the Pi OS + +To code remotely, the Pi OS needs to be installed on an SD Card. + +##### Task - set up the Pi OS + +Set up the headless Pi OS. + +1. Download the **Raspberry Pi Imager** from the [Raspberry Pi OS software page](https://www.raspberrypi.org/software/) and install it + +1. Insert an SD card into your computer, using an adapter if necessary + +1. Launch the Raspberry Pi Imager + +1. From the Raspberry Pi Imager, select the **CHOOSE OS** button, then select *Raspberry Pi OS (Other)*, followed by *Raspberry Pi OS Lite (32-bit)* + + ![The Raspberry Pi Imager with Raspberry Pi OS Lite selected](../../../images/raspberry-pi-imager.png) + + > 💁 Raspberry Pi OS Lite is a version of Raspberry Pi OS that doesn't have the desktop UI or UI based tools. These aren't needed for a headless Pi and makes the install smaller and boot up time faster. + +1. Select the **CHOOSE STORAGE** button, then select your SD card + +1. Launch the **Advanced Options** by pressing `Ctrl+Shift+X`. These options allow some pre-configuration of the Raspberry Pi OS before it is imaged to the SD card. + + 1. Check the **Enable SSH** check box, and set a password for the `pi` user. This is the password you will use to log in to the Pi later. + + 1. If you are planning to connect to the Pi over WiFi, check the **Configure WiFi** check box, and enter your WiFi SSID and password, as well as selecting your WiFi country. You do not need to do this if you will use an ethernet cable. Make sure the network you connect to is the same one your computer is on. + + 1. Check the **Set locale settings** check box, and set your country and timezone + + 1. Select the **SAVE** button + +1. Select the **WRITE** button to write the OS to the SD card. If you are using macOS, you will be asked to enter your password as the underlying tool that writes disk images needs privileged access. + +The OS will be written to the SD card, and once complete the card will be ejected by the OS, and you will be notified. Remove the SD card from your computer, insert it into the Pi, power up the Pi and wait for about 2 mins for it to properly boot. + +#### Connect to the Pi + +The next step is to remotely access the Pi. You can do this using `ssh`, which is available on macOS, Linux and recent versions of Windows. + +##### Task - connect to the Pi + +Remotely access the Pi. + +1. Launch a Terminal or Command Prompt, and enter the following command to connect to the Pi: + + ```sh + ssh pi@raspberrypi.local + ``` + + If you are on Windows using an older version that doesn't have `ssh` installed, you can use OpenSSH. You can find the installation instructions in the [OpenSSH installation documentation](https://docs.microsoft.com//windows-server/administration/openssh/openssh_install_firstuse?WT.mc_id=academic-17441-jabenn). + +1. This should connect to your Pi and ask for the password. + + Being able to find computers on your network by using `.local` is a fairly recent addition to Linux and Windows. If you are using Linux or Windows and you get any errors about the Hostname not being found, you will need to install additional software to enable ZeroConf networking (also referred to by Apple as Bonjour): + + 1. If you are using Linux, install Avahi using the following command: + + ```sh + sudo apt-get install avahi-daemon + ``` + + 1. If you are using Windows, the easiest way to enable ZeroConf is to install [Bonjour Print Services for Windows](http://support.apple.com/kb/DL999). You can also install [iTunes for Windows](https://www.apple.com/itunes/download/) to get a newer version of the utility (which is not available standalone). + + > 💁 If you cannot connect using `raspberrypi.local`, then you can use the IP address of your Pi. Refer to the [Raspberry Pi IP address documentation](https://www.raspberrypi.org/documentation/remote-access/ip-address.md) for instructions on a number of ways to get the IP address. + +1. Enter the password you set in the Raspberry Pi Imager Advanced Options + +#### Configure software on the Pi + +Once you are connected to the Pi, you need to ensure the OS is up to date, and install various libraries and tools that interact with the Grove hardware. + +##### Task - configure software on the Pi + +Configure the installed Pi software and install the Grove libraries. + +1. From your `ssh` session, run the following command to update then reboot the Pi: + + ```sh + sudo apt update && sudo apt full-upgrade --yes && sudo reboot + ``` + + The Pi will be updated and rebooted. The `ssh` session will end when the Pi is rebooted, so leave it for about 30 seconds then reconnect. + +1. From the reconnected `ssh` session, run the following command to install all the needed libraries for the Grove hardware: + + ```sh + curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s - + ``` + + One of the powerful features of Python is the ability to install [Pip packages](https://pypi.org) - these are packages of code written by other people and published to the Internet. You can install a Pip package onto your computer with one command, then use that package in your code. This Grove install script will install the Pip packages you will use to work with the Grove hardware from Python. + + > 💁 By default when you install a package it is available everywhere on your computer, and this can lead to problems with package versions - such as one application depending on one version of a package that breaks when you install a new version for a different application. To work around this problem, you can use a [Python virtual environment](https://docs.python.org/3/library/venv.html), essentially a copy of Python in a dedicated folder, and when you install Pip packages they get installed just to that folder. You won't be using virtual environments when using your Pi. The Grove install script installs the Grove Python packages globally, so to use a virtual environment you would need to set up a virtual environment then manually re-install the Grove packages inside that environment. It's easier to just use global packages, especially as a lot of Pi developers will re-flash a clean SD card for each project. + +1. Reboot the Pi by running the following command: + + ```sh + sudo reboot + ``` + + The `ssh` session will end when the Pi is rebooted. There is no need to reconnect. + +#### Configure VS Code for remote access + +Once the Pi is configured, you can connect to it using Visual Studio Code (VS Code) from your computer - this is a free developer text editor you will be using to write your device code in Python. + +##### Task - configure VS Code for remote access + +Install the required software and connect remotely to your Pi. + +1. Install VS Code on your computer by following the [VS Code documentation](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) + +1. Follow the instructions in the [VS Code Remote Development using SSH documentation](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn) to install the components needed + +1. Following the same instructions, connect VS Code to the Pi + +1. Once connected, follow the [managing extensions](https://code.visualstudio.com/docs/remote/ssh#_managing-extensions?WT.mc_id=academic-17441-jabenn) instructions to install the [Pylance extension](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) remotely onto the Pi + +## Hello world + +It is traditional when starting out with a new programming language or technology to create a 'Hello World' application - a small application that outputs something like the text `"Hello World"` to show that all the tools are correctly configured. + +The Hello World app for the Pi will ensure that you have Python and Visual Studio code installed correctly. + +This app will be in a folder called `nightlight`, and it will be re-used with different code in later parts of this assignment to build the nightlight application. + +### Task - hello world + +Create the Hello World app. + +1. Launch VS Code, either directly on the Pi, or on your computer and connected to the Pi using the Remote SSH extension + +1. Launch the VS Code Terminal by selecting *Terminal -> New Terminal, or pressing `` CTRL+` ``. It will open to the `pi` users home directory. + +1. Run the following commands to create a directory for your code, and create a Python file called `app.py` inside that directory: + + ```sh + mkdir nightlight + cd nightlight + touch app.py + ``` + +1. Open this folder in VS Code by selecting *File -> Open...* and selecting the *nightlight* folder, then select **OK** + + ![The VS Code open dialog showing the nightlight folder](../../../images/vscode-open-nightlight-remote.png) + +1. Open the `app.py` file from the VS Code explorer and add the following code: + + ```python + print('Hello World!') + ``` + + The `print` function prints whatever is passed to it to the console. + +1. From the VS Code Terminal, run the following to run your Python app: + + ```sh + python3 app.py + ``` + + > 💁 You need to explicitly call `python3` to run this code just in case you have Python 2 installed in addition to Python 3 (the latest version). If you have Python2 installed then calling `python` will use Python 2 instead of Python 3 + + The following output will appear in the terminal: + + ```output + pi@raspberrypi:~/nightlight $ python3 app.py + Hello World! + ``` + +> 💁 You can find this code in the [code/pi](code/pi) folder. + +😀 Your 'Hello World' program was a success! From 510f694d5be9b78e1f929dd11aac54db934d62ce Mon Sep 17 00:00:00 2001 From: Charles <40024793+Charma95@users.noreply.github.com> Date: Tue, 31 Aug 2021 21:39:29 -0400 Subject: [PATCH 3/8] Update README.fr.md --- 1-getting-started/Translations/README.fr.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/1-getting-started/Translations/README.fr.md b/1-getting-started/Translations/README.fr.md index 8e60c57e..324fbf83 100644 --- a/1-getting-started/Translations/README.fr.md +++ b/1-getting-started/Translations/README.fr.md @@ -1,15 +1,15 @@ # Guide de démarage IoT Dans cette section du tutoriel, vous serez initié à l'Internet des objets et apprendrez les concepts de base, notamment la construction de votre premier projet IoT « Hello, World!» connecté à l'infrastrucutre info-nuagique. Ce projet est une veilleuse qui s'allume quand la lumière mesurée par un capteur diminue. -![La DEL connecté au WIO s'allume et s'éteint en fonction de la luminosité](../images/wio-running-assignment-1-1.gif) +![La DEL connecté au WIO s'allume et s'éteint en fonction de la luminosité](../../images/wio-running-assignment-1-1.gif) ## Sujets -1. [Introduction au IoT](lessons/1-introduction-to-iot/README.md) -1. [Approfondir les IoT](lessons/2-deeper-dive/README.md) -1. [Intéragir avec le monde physique à l'aide de capteur et actionneur](lessons/3-sensors-and-actuators/README.md) -1. [Connecter votre appareil à Internet](lessons/4-connect-internet/README.md) +1. [Introduction au IoT](lessons/1-introduction-to-iot/translations/README.fr.md) +1. [Approfondir les IoT](lessons/2-deeper-dive/translations/README.fr.md) +1. [Intéragir avec le monde physique à l'aide de capteur et actionneur](lessons/3-sensors-and-actuators/translations/README.fr.md) +1. [Connecter votre appareil à Internet](lessons/4-connect-internet/translations/README.fr.md) ## Crédits -Tous les leçons ont été écrite ♥️ par [Jim Bennett](https://GitHub.com/JimBobBennett) \ No newline at end of file +Tous les leçons ont été écrite ♥️ par [Jim Bennett](https://GitHub.com/JimBobBennett) From 72f6ee7a5cef3f03a38d2349cc7465e23ded6dc7 Mon Sep 17 00:00:00 2001 From: Charles <40024793+Charma95@users.noreply.github.com> Date: Tue, 31 Aug 2021 21:43:26 -0400 Subject: [PATCH 4/8] Update README.fr.md --- 1-getting-started/Translations/README.fr.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/1-getting-started/Translations/README.fr.md b/1-getting-started/Translations/README.fr.md index 324fbf83..c9020c26 100644 --- a/1-getting-started/Translations/README.fr.md +++ b/1-getting-started/Translations/README.fr.md @@ -5,10 +5,10 @@ Dans cette section du tutoriel, vous serez initié à l'Internet des objets et a ## Sujets -1. [Introduction au IoT](lessons/1-introduction-to-iot/translations/README.fr.md) -1. [Approfondir les IoT](lessons/2-deeper-dive/translations/README.fr.md) -1. [Intéragir avec le monde physique à l'aide de capteur et actionneur](lessons/3-sensors-and-actuators/translations/README.fr.md) -1. [Connecter votre appareil à Internet](lessons/4-connect-internet/translations/README.fr.md) +1. [Introduction au IoT](../lessons/1-introduction-to-iot/translations/README.fr.md) +1. [Approfondir les IoT](../lessons/2-deeper-dive/translations/README.fr.md) +1. [Intéragir avec le monde physique à l'aide de capteur et actionneur](../lessons/3-sensors-and-actuators/translations/README.fr.md) +1. [Connecter votre appareil à Internet](../lessons/4-connect-internet/translations/README.fr.md) ## Crédits From 76beb5bd22943f91fee49a60b7f1c27629cd0b3d Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 31 Aug 2021 23:25:24 -0400 Subject: [PATCH 5/8] [Translation] Update pi.fr.md --- 1-getting-started/README.md | 2 + .../lessons/1-introduction-to-iot/README.md | 2 + .../lessons/1-introduction-to-iot/pi.md | 2 + .../translations/pi.fr.md | 106 +++++++++--------- 4 files changed, 59 insertions(+), 53 deletions(-) diff --git a/1-getting-started/README.md b/1-getting-started/README.md index e5b3d0f8..b0fb509c 100644 --- a/1-getting-started/README.md +++ b/1-getting-started/README.md @@ -1,3 +1,5 @@ +[![French](https://img.shields.io/badge/-French-purple)](translations/README.fr.md) + # Getting Started with IoT In this section of the curriculum, you will be introduced to the Internet of Things, and learn the basic concepts including building your first 'Hello World' IoT project connecting to the cloud. This project is a nightlight that lights up as light levels measured by a sensor drop. diff --git a/1-getting-started/lessons/1-introduction-to-iot/README.md b/1-getting-started/lessons/1-introduction-to-iot/README.md index 6d1401eb..ded7da58 100644 --- a/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -1,3 +1,5 @@ +[![French](https://img.shields.io/badge/-French-purple)](translations/README.fr.md) + # Introduction to IoT ![A sketchnote overview of this lesson](../../../sketchnotes/lesson-1.jpg) diff --git a/1-getting-started/lessons/1-introduction-to-iot/pi.md b/1-getting-started/lessons/1-introduction-to-iot/pi.md index 47a4ae56..52f0a2e3 100644 --- a/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -1,3 +1,5 @@ +[![French](https://img.shields.io/badge/-French-purple)](translations/pi.fr.md) + # Raspberry Pi The [Raspberry Pi](https://raspberrypi.org) is a single-board computer. You can add sensors and actuators using a wide range of devices and ecosystems, and for these lessons using a hardware ecosystem called [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). You will code your Pi and access the Grove sensors using Python. diff --git a/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md b/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md index 46a0ffe1..07658454 100644 --- a/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md +++ b/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md @@ -2,132 +2,132 @@ Le [Raspberry Pi](https://raspberrypi.org) est un ordinateur monocarte. Vous pouvez ajouter des capteurs et des actionneurs en utilisant un large éventail de dispositifs et d'écosystèmes, et pour ces leçons, en utilisant un écosystème matériel appelé [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). Vous allez coder votre Pi et accéder aux capteurs Grove en utilisant Python. -![A Raspberry Pi 4](../../../../images/raspberry-pi-4.jpg) +![Raspberry Pi 4](../../../../images/raspberry-pi-4.jpg) -## Setup +## Configuration -If you are using a Raspberry Pi as your IoT hardware, you have two choices - you can work through all these lessons and code directly on the Pi, or you can connect remotely to a 'headless' Pi and code from your computer. +Si vous utilisez un Raspberry Pi comme matériel IoT, vous avez deux possibilités : vous pouvez suivre toutes ces leçons et coder directement sur le Pi, ou vous pouvez vous connecter à distance à un Pi "sans tête" et coder depuis votre ordinateur. -Before you begin, you also need to connect the Grove Base Hat to your Pi. +Avant de commencer, vous devez également connecter le module Grove de base à votre Pi. -### Task - setup +### Tâche - configuration -Install the Grove base hat on your Pi and configure the Pi +Installez le module de base Grove sur votre Pi et configurez le Pi. -1. Connect the Grove base hat to your Pi. The socket on the hat fits over all of the GPIO pins on the Pi, sliding all the way down the pins to sit firmly on the base. It sits over the Pi, covering it. +1. Connectez le module de base Grove à votre Pi. La prise du module s'adapte à toutes les broches GPIO du Pi, en glissant tout le long des broches pour s'asseoir fermement sur la base. Il se place sur le Pi, le recouvrant. - ![Fitting the grove hat](../../../images/pi-grove-hat-fitting.gif) + ![Ajustement du module Grove](../../../../images/pi-grove-hat-fitting.gif) -1. Decide how you want to program your Pi, and head to the relevant section below: +1. Décidez de la façon dont vous voulez programmer votre Pi, puis passez à la section correspondante ci-dessous: - * [Work directly on your Pi](#work-directly-on-your-pi) - * [Remote access to code the Pi](#remote-access-to-code-the-pi) + * [Travaillez directement sur votre Pi](#work-directly-on-your-pi) + * [Accès à distance pour coder le Pi](#remote-access-to-code-the-pi) -### Work directly on your Pi +### Travaillez directement sur votre Pi -If you want to work directly on your Pi, you can use the desktop version of Raspberry Pi OS and install all the tools you need. +Si vous souhaitez travailler directement sur votre Pi, vous pouvez utiliser la version de bureau du Raspberry Pi OS et installer tous les outils dont vous avez besoin. -#### Task - work directly on your Pi +#### Tâche - travaillez directement sur votre Pi -Set up your Pi for development. +Configurez votre Pi pour le développement. -1. Follow the instructions in the [Raspberry Pi setup guide](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) to set up your Pi, connect it to a keyboard/mouse/monitor, connect it to your WiFi or ethernet network, and update the software. The OS you want to install is **Raspberry Pi OS (32 bit)**, it is marked as the recommended OS when using the Raspberry Pi Imager to image your SD card. +1. Suivez les instructions du [Guide de configuration Raspberry Pi](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) pour configurer votre Pi, le connecter à un clavier/souris/moniteur, le connecter à votre réseau WiFi ou ethernet, et mettre à jour le logiciel. Le système d'exploitation que vous souhaitez installer est **Raspberry Pi OS (32 bit)**, il est affiché comme le système d'exploitation recommandé lorsque vous utilisez l'imageur Raspberry Pi pour créer une image de votre carte SD. -To program the Pi using the Grove sensors and actuators, you will need to install an editor to allow you to write the device code, and various libraries and tools that interact with the Grove hardware. +Pour programmer le Pi à l'aide des capteurs et actionneurs Grove, vous devrez installer un éditeur qui vous permettra d'écrire le code du périphérique, ainsi que diverses bibliothèques et outils qui interagissent avec le matériel Grove. -1. Once your Pi has rebooted, launch the Terminal by clicking the **Terminal** icon on the top menu bar, or choose *Menu -> Accessories -> Terminal* +1. Une fois que votre Pi a redémarré, lancez le terminal en cliquant sur le bouton **Terminal** dans la barre du menu supérieur, ou choisissez *Menu -> Accessoires -> Terminal*. -1. Run the following command to ensure the OS and installed software is up to date: +1. Exécutez la commande suivante pour vous assurer que le système d'exploitation et les logiciels installés sont à jour : ```sh sudo apt update && sudo apt full-upgrade --yes ``` -1. Run the following command to install all the needed libraries for the Grove hardware: +1. Exécutez la commande suivante pour installer toutes les bibliothèques nécessaires au matériel Grove : ```sh curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s - ``` - One of the powerful features of Python is the ability to install [Pip packages](https://pypi.org) - these are packages of code written by other people and published to the Internet. You can install a Pip package onto your computer with one command, then use that package in your code. This Grove install script will install the Pip packages you will use to work with the Grove hardware from Python. + L'une des fonctionnalités puissantes de Python est la possibilité d'installer [Paquet pip](https://pypi.org) - Il s'agit de paquets de code écrits par d'autres personnes et publiés sur Internet. Vous pouvez installer un paquet Pip sur votre ordinateur à l'aide d'une commande, puis utiliser ce paquet dans votre code. Ce script d'installation Grove installera les paquets Pip que vous utiliserez pour travailler avec le matériel Grove à partir de Python. - > 💁 By default when you install a package it is available everywhere on your computer, and this can lead to problems with package versions - such as one application depending on one version of a package that breaks when you install a new version for a different application. To work around this problem, you can use a [Python virtual environment](https://docs.python.org/3/library/venv.html), essentially a copy of Python in a dedicated folder, and when you install Pip packages they get installed just to that folder. You won't be using virtual environments when using your Pi. The Grove install script installs the Grove Python packages globally, so to use a virtual environment you would need to set up a virtual environment then manually re-install the Grove packages inside that environment. It's easier to just use global packages, especially as a lot of Pi developers will re-flash a clean SD card for each project. + > 💁 Par défaut, lorsque vous installez un paquet, il est disponible partout sur votre ordinateur, ce qui peut entraîner des problèmes avec les versions des paquets - par exemple, une application dépendant d'une version d'un paquet qui se casse lorsque vous installez une nouvelle version pour une autre application. Pour contourner ce problème, vous pouvez utiliser un paquetage [Environnement virtuel Python](https://docs.python.org/3/library/venv.html), essentiellement une copie de Python dans un dossier dédié, et lorsque vous installez les paquets Pip, ils sont installés uniquement dans ce dossier. Vous n'utiliserez pas d'environnements virtuels lorsque vous utiliserez votre Pi. Le script d'installation de Grove installe les paquets Python Grove de manière globale. Pour utiliser un environnement virtuel, vous devrez donc configurer un environnement virtuel, puis réinstaller manuellement les paquets Grove dans cet environnement. Il est plus facile d'utiliser les paquets globaux, d'autant plus que de nombreux développeurs de Pi re-flashent une carte SD propre pour chaque projet. -1. Reboot the Pi either using the menu or running the following command in the Terminal: +1. Redémarrez le Pi en utilisant le menu ou en exécutant la commande suivante dans le Terminal : ```sh sudo reboot ``` -1. Once the Pi has rebooted, relaunch the Terminal and run the following command to install [Visual Studio Code (VS Code)](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) - this is the editor you will be using to write your device code in Python. +1. Une fois que le Pi a redémarré, relancez le terminal et exécutez la commande suivante pour l'installer [Visual Studio Code (VS Code)](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) - il s'agit de l'éditeur que vous utiliserez pour écrire le code de votre dispositif en Python. ```sh sudo apt install code ``` - Once this is installed, VS Code will be available from the top menu. + Une fois installé, VS Code sera disponible dans le menu supérieur. - > 💁 You are free to use any Python IDE or editor for these lessons if you have a preferred tool, but the lessons will give instructions based off using VS Code. + > 💁 Vous êtes libre d'utiliser n'importe quel IDE ou éditeur Python pour ces leçons si vous avez un outil préféré, mais les leçons donneront des instructions basées sur l'utilisation de VS Code. -1. Install Pylance. This is an extension for VS Code that provides Python language support. Refer to the [Pylance extension documentation](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) for instructions on installing this extension in VS Code. +1. Installez Pylance. Il s'agit d'une extension pour VS Code qui fournit le support du langage Python. Référez-vous à la [documentation d'extension Pylance](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) pour obtenir des instructions sur l'installation de cette extension dans VS Code. -### Remote access to code the Pi +### Accès à distance pour coder le Pi -Rather than coding directly on the Pi, it can run 'headless', that is not connected to a keyboard/mouse/monitor, and configure and code on it from your computer, using Visual Studio Code. +Plutôt que de coder directement sur le Pi, il peut fonctionner "sans tête", c'est-à-dire sans être connecté à un clavier/souris/moniteur, et configurer et coder sur lui depuis votre ordinateur, en utilisant Visual Studio Code. -#### Set up the Pi OS +#### Configurer le système d'exploitation du Pi -To code remotely, the Pi OS needs to be installed on an SD Card. +Pour coder à distance, le système d'exploitation du Pi doit être installé sur une carte SD. -##### Task - set up the Pi OS +##### Tâche - configurer le système d'exploitation du Pi Set up the headless Pi OS. -1. Download the **Raspberry Pi Imager** from the [Raspberry Pi OS software page](https://www.raspberrypi.org/software/) and install it +1. Télécharger le **Créateur d'image Raspberry Pi** à partir de [Page du logiciel Raspberry Pi OS](https://www.raspberrypi.org/software/) et installer le. -1. Insert an SD card into your computer, using an adapter if necessary +1. Insérez une carte SD dans votre ordinateur, en utilisant un adaptateur si nécessaire. -1. Launch the Raspberry Pi Imager +1. Lancer le créateur d'image Raspberry Pi -1. From the Raspberry Pi Imager, select the **CHOOSE OS** button, then select *Raspberry Pi OS (Other)*, followed by *Raspberry Pi OS Lite (32-bit)* +1. Dans le créateur d'image Raspberry Pi, appuyer sur le bouton **CHOOSE OS** , puis sélectionnez *Raspberry Pi OS (Other)*, suivi de *Raspberry Pi OS Lite (32-bit)*. - ![The Raspberry Pi Imager with Raspberry Pi OS Lite selected](../../../images/raspberry-pi-imager.png) + ![Le créateur d'image Raspberry Pi avec Raspberry Pi OS Lite sélectionné](../../../../images/raspberry-pi-imager.png) - > 💁 Raspberry Pi OS Lite is a version of Raspberry Pi OS that doesn't have the desktop UI or UI based tools. These aren't needed for a headless Pi and makes the install smaller and boot up time faster. + > 💁 Raspberry Pi OS Lite est une version de Raspberry Pi OS qui n'a pas d'interface utilisateur de bureau ou d'outils basés sur l'interface utilisateur. Ceux-ci ne sont pas nécessaires pour un Pi sans tête et rendent l'installation plus petite et le temps de démarrage plus rapide. -1. Select the **CHOOSE STORAGE** button, then select your SD card +1. Sélectionner le bouton **CHOOSE STORAGE**, puis sélectionnez votre carte SD -1. Launch the **Advanced Options** by pressing `Ctrl+Shift+X`. These options allow some pre-configuration of the Raspberry Pi OS before it is imaged to the SD card. +1. Lancer le **Advanced Options** en appuyant sur `Ctrl+Shift+X`. Ces options permettent une certaine pré-configuration du système d'exploitation du Raspberry Pi avant qu'il ne soit imagé sur la carte SD. - 1. Check the **Enable SSH** check box, and set a password for the `pi` user. This is the password you will use to log in to the Pi later. + 1. Cochez la case **Enable SSH**, et définissez un mot de passe pour l'utilisateur `pi`. Il s'agit du mot de passe que vous utiliserez plus tard pour vous connecter au Pi. - 1. If you are planning to connect to the Pi over WiFi, check the **Configure WiFi** check box, and enter your WiFi SSID and password, as well as selecting your WiFi country. You do not need to do this if you will use an ethernet cable. Make sure the network you connect to is the same one your computer is on. + 1. Si vous prévoyez de vous connecter au Pi via le WiFi, cochez la case **Configurer le WiFi** et saisissez votre SSID et votre mot de passe WiFi, ainsi que la sélection de votre pays WiFi. Vous n'avez pas besoin de faire cela si vous utilisez un câble Ethernet. Assurez-vous que le réseau auquel vous vous connectez est le même que celui de votre ordinateur. - 1. Check the **Set locale settings** check box, and set your country and timezone + 1. Cochez la case **Set locale settings**, puis définissez votre pays et votre fuseau horaire. - 1. Select the **SAVE** button + 1. Sélectionnez le bouton **SAVE**. -1. Select the **WRITE** button to write the OS to the SD card. If you are using macOS, you will be asked to enter your password as the underlying tool that writes disk images needs privileged access. +1. Sélectionnez le bouton **WRITE** pour mettre le système d'exploitation sur la carte SD. Si vous utilisez macOS, il vous sera demandé de saisir votre mot de passe, car l'outil sous-jacent qui écrit les images disque nécessite un accès privilégié. -The OS will be written to the SD card, and once complete the card will be ejected by the OS, and you will be notified. Remove the SD card from your computer, insert it into the Pi, power up the Pi and wait for about 2 mins for it to properly boot. +Le système d'exploitation sera écrit sur la carte SD, et une fois terminé, la carte sera éjectée par le système d'exploitation, et vous en serez informé. Retirez la carte SD de votre ordinateur, insérez-la dans le Pi, allumez le Pi et attendez environ 2 minutes pour qu'il démarre correctement. -#### Connect to the Pi +#### Connectez-vous au Pi -The next step is to remotely access the Pi. You can do this using `ssh`, which is available on macOS, Linux and recent versions of Windows. +L'étape suivante consiste à accéder à distance au Pi. Vous pouvez le faire en utilisant `ssh`, qui est disponible sur macOS, Linux et les versions récentes de Windows. -##### Task - connect to the Pi +##### Tâche - se connecter au Pi -Remotely access the Pi. +Accéder à distance au Pi. -1. Launch a Terminal or Command Prompt, and enter the following command to connect to the Pi: +1. Lancez un terminal ou une invite de commande, et entrez la commande suivante pour vous connecter au Pi: ```sh ssh pi@raspberrypi.local ``` - If you are on Windows using an older version that doesn't have `ssh` installed, you can use OpenSSH. You can find the installation instructions in the [OpenSSH installation documentation](https://docs.microsoft.com//windows-server/administration/openssh/openssh_install_firstuse?WT.mc_id=academic-17441-jabenn). + Si vous êtes sous Windows et que vous utilisez une ancienne version qui n'a pas installé `ssh`, vous pouvez utiliser OpenSSH. Vous pouvez trouver les instructions d'installation dans la [documentation d'installation d'OpenSSH](https://docs.microsoft.com//windows-server/administration/openssh/openssh_install_firstuse?WT.mc_id=academic-17441-jabenn). -1. This should connect to your Pi and ask for the password. +1. Cela devrait se connecter à votre Pi et vous demander le mot de passe. Being able to find computers on your network by using `.local` is a fairly recent addition to Linux and Windows. If you are using Linux or Windows and you get any errors about the Hostname not being found, you will need to install additional software to enable ZeroConf networking (also referred to by Apple as Bonjour): From 686a6932c06ff4819e50819e566376de4f5ac6a6 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 9 Sep 2021 21:16:52 -0400 Subject: [PATCH 6/8] [Translation] Finished pi.fr.md --- .../translations/README.fr.md | 2 +- .../translations/pi.fr.md | 98 ++++++++++--------- 2 files changed, 51 insertions(+), 49 deletions(-) diff --git a/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md b/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md index 8f68562a..d3cb4fc2 100644 --- a/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md +++ b/1-getting-started/lessons/1-introduction-to-iot/translations/README.fr.md @@ -1,4 +1,4 @@ -# Introduction au IoT +# Introduction aux IoT ![Voici un aperçu de cette leçon sous forme d'illustré](../../../../sketchnotes/lesson-1.jpg) diff --git a/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md b/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md index 07658454..88db17fd 100644 --- a/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md +++ b/1-getting-started/lessons/1-introduction-to-iot/translations/pi.fr.md @@ -27,11 +27,11 @@ Installez le module de base Grove sur votre Pi et configurez le Pi. Si vous souhaitez travailler directement sur votre Pi, vous pouvez utiliser la version de bureau du Raspberry Pi OS et installer tous les outils dont vous avez besoin. -#### Tâche - travaillez directement sur votre Pi +#### Tâche - Travaillez directement sur votre Pi Configurez votre Pi pour le développement. -1. Suivez les instructions du [Guide de configuration Raspberry Pi](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) pour configurer votre Pi, le connecter à un clavier/souris/moniteur, le connecter à votre réseau WiFi ou ethernet, et mettre à jour le logiciel. Le système d'exploitation que vous souhaitez installer est **Raspberry Pi OS (32 bit)**, il est affiché comme le système d'exploitation recommandé lorsque vous utilisez l'imageur Raspberry Pi pour créer une image de votre carte SD. +1. Suivez les instructions du [Guide de configuration Raspberry Pi](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) pour configurer votre Pi, le connecter à un clavier/souris/moniteur, le connecter à votre réseau WiFi ou ethernet, et mettre à jour le logiciel. Le système d'exploitation que vous souhaitez installer est **Raspberry Pi OS (32 bit)**, il est affiché comme le système d'exploitation recommandé lorsque vous utilisez le créateur d'image Raspberry Pi pour créer une image de votre carte SD. Pour programmer le Pi à l'aide des capteurs et actionneurs Grove, vous devrez installer un éditeur qui vous permettra d'écrire le code du périphérique, ainsi que diverses bibliothèques et outils qui interagissent avec le matériel Grove. @@ -79,9 +79,9 @@ Plutôt que de coder directement sur le Pi, il peut fonctionner "sans tête", c' Pour coder à distance, le système d'exploitation du Pi doit être installé sur une carte SD. -##### Tâche - configurer le système d'exploitation du Pi +##### Tâche - Configurer le système d'exploitation du Pi -Set up the headless Pi OS. +Configurer l'OS Pi sans tête. 1. Télécharger le **Créateur d'image Raspberry Pi** à partir de [Page du logiciel Raspberry Pi OS](https://www.raspberrypi.org/software/) et installer le. @@ -129,87 +129,89 @@ Accéder à distance au Pi. 1. Cela devrait se connecter à votre Pi et vous demander le mot de passe. - Being able to find computers on your network by using `.local` is a fairly recent addition to Linux and Windows. If you are using Linux or Windows and you get any errors about the Hostname not being found, you will need to install additional software to enable ZeroConf networking (also referred to by Apple as Bonjour): + Pouvoir trouver des ordinateurs sur votre réseau en utilisant `.local` est un ajout assez récent à Linux et Windows. Si vous utilisez Linux ou Windows et que vous obtenez des erreurs concernant le nom d'hôte introuvable, vous devrez installer un logiciel supplémentaire pour activer le réseau ZeroConf (également appelé Bonjour par Apple) : - 1. If you are using Linux, install Avahi using the following command: + 1. Si vous utilisez Linux, installez Avahi en utilisant la commande suivante : ```sh sudo apt-get install avahi-daemon ``` - 1. If you are using Windows, the easiest way to enable ZeroConf is to install [Bonjour Print Services for Windows](http://support.apple.com/kb/DL999). You can also install [iTunes for Windows](https://www.apple.com/itunes/download/) to get a newer version of the utility (which is not available standalone). + 1. Si vous utilisez Windows, le moyen le plus simple d'activer ZeroConf est d'installer [Bonjour Print Services for Windows](http://support.apple.com/kb/DL999). Vous pouvez également installer [iTunes pour Windows](https://www.apple.com/itunes/download/) pour obtenir une version plus récente de l'utilitaire (qui n'est pas disponible en version autonome). - > 💁 If you cannot connect using `raspberrypi.local`, then you can use the IP address of your Pi. Refer to the [Raspberry Pi IP address documentation](https://www.raspberrypi.org/documentation/remote-access/ip-address.md) for instructions on a number of ways to get the IP address. + > 💁 Si vous ne pouvez pas vous connecter en utilisant `raspberrypi.local`, alors vous pouvez utiliser l'adresse IP de votre Pi. Reportez-vous à la [documentation sur l'adresse IP de Raspberry Pi](https://www.raspberrypi.org/documentation/remote-access/ip-address.md) pour obtenir des instructions sur les différentes manières d'obtenir l'adresse IP. -1. Enter the password you set in the Raspberry Pi Imager Advanced Options +1. Saisissez le mot de passe que vous avez défini dans les options avancées du créateur d'image Raspberry Pi -#### Configure software on the Pi +#### Configurer le logiciel sur le Pi -Once you are connected to the Pi, you need to ensure the OS is up to date, and install various libraries and tools that interact with the Grove hardware. +Une fois que vous êtes connecté au Pi, vous devez vous assurer que le système d'exploitation est à jour et installer diverses bibliothèques et outils qui interagissent avec le matériel Grove. -##### Task - configure software on the Pi +##### Tâche - configurer le logiciel sur le Pi -Configure the installed Pi software and install the Grove libraries. +Configurez les logiciels installés sur le Pi et installez les bibliothèques Grove. -1. From your `ssh` session, run the following command to update then reboot the Pi: +1. Depuis votre session `ssh`, exécutez la commande suivante pour mettre à jour puis redémarrer le Pi : ```sh sudo apt update && sudo apt full-upgrade --yes && sudo reboot ``` - The Pi will be updated and rebooted. The `ssh` session will end when the Pi is rebooted, so leave it for about 30 seconds then reconnect. + Le Pi sera mis à jour et redémarré. La session `ssh` se terminera lorsque le Pi sera redémarré, alors laissez-la pendant environ 30 secondes puis reconnectez-vous. -1. From the reconnected `ssh` session, run the following command to install all the needed libraries for the Grove hardware: +1. Depuis la session `ssh` reconnectée, exécutez la commande suivante pour installer toutes les bibliothèques nécessaires au matériel Grove : ```sh curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s - ``` - One of the powerful features of Python is the ability to install [Pip packages](https://pypi.org) - these are packages of code written by other people and published to the Internet. You can install a Pip package onto your computer with one command, then use that package in your code. This Grove install script will install the Pip packages you will use to work with the Grove hardware from Python. + L'une des puissantes fonctionnalités de Python est la possibilité d'installer des [Paquets Pip](https://pypi.org). Il s'agit de paquets de code écrits par d'autres personnes et publiés sur Internet. Vous pouvez installer un paquet Pip sur votre ordinateur à l'aide d'une commande, puis utiliser ce paquet dans votre code. Ce script d'installation Grove installera les paquets Pip que vous utiliserez pour travailler avec le matériel Grove à partir de Python. - > 💁 By default when you install a package it is available everywhere on your computer, and this can lead to problems with package versions - such as one application depending on one version of a package that breaks when you install a new version for a different application. To work around this problem, you can use a [Python virtual environment](https://docs.python.org/3/library/venv.html), essentially a copy of Python in a dedicated folder, and when you install Pip packages they get installed just to that folder. You won't be using virtual environments when using your Pi. The Grove install script installs the Grove Python packages globally, so to use a virtual environment you would need to set up a virtual environment then manually re-install the Grove packages inside that environment. It's easier to just use global packages, especially as a lot of Pi developers will re-flash a clean SD card for each project. -1. Reboot the Pi by running the following command: + > 💁 Par défaut, lorsque vous installez un paquet, il est disponible partout sur votre ordinateur, ce qui peut entraîner des problèmes avec les versions des paquets - par exemple, une application dépendant d'une version d'un paquet qui se casse lorsque vous installez une nouvelle version pour une autre application. Pour contourner ce problème, vous pouvez utiliser un [environnement virtuel Python](https://docs.python.org/3/library/venv.html), essentiellement une copie de Python dans un dossier dédié, et lorsque vous installez les paquets Pip, ils sont installés uniquement dans ce dossier. Vous n'utiliserez pas d'environnement virtuel lorsque vous utiliserez votre Pi. Le script d'installation de Grove installe les paquets Python de Grove de manière globale. Pour utiliser un environnement virtuel, vous devrez donc configurer un environnement virtuel, puis réinstaller manuellement les paquets Grove dans cet environnement. Il est plus facile d'utiliser les paquets globaux, d'autant plus que de nombreux développeurs de Pi re-flashent une carte SD propre pour chaque projet. + + +1. Redémarrez le Pi en exécutant la commande suivante : ```sh sudo reboot ``` - The `ssh` session will end when the Pi is rebooted. There is no need to reconnect. + La session `ssh` se terminera lorsque le Pi sera redémarré. Il n'est pas nécessaire de se reconnecter. -#### Configure VS Code for remote access +#### Configurer VS Code pour l'accès à distance -Once the Pi is configured, you can connect to it using Visual Studio Code (VS Code) from your computer - this is a free developer text editor you will be using to write your device code in Python. +Une fois le Pi configuré, vous pouvez vous y connecter à l'aide de Visual Studio Code (VS Code) depuis votre ordinateur. Il s'agit d'un éditeur de texte gratuit pour développeurs que vous utiliserez pour écrire le code de votre appareil en Python. -##### Task - configure VS Code for remote access +##### Tâche - Configurer VS Code pour l'accès à distance -Install the required software and connect remotely to your Pi. +Installez le logiciel requis et connectez-vous à distance à votre Pi -1. Install VS Code on your computer by following the [VS Code documentation](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) +1. Installez VS Code sur votre ordinateur en suivant la [documentation VS Code](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn). -1. Follow the instructions in the [VS Code Remote Development using SSH documentation](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn) to install the components needed +1. Suivez les instructions de la [documentation VS Code Développement à distance par SSH](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn) pour installer les composants nécessaires. -1. Following the same instructions, connect VS Code to the Pi +1. En suivant les mêmes instructions, connectez VS Code au Pi -1. Once connected, follow the [managing extensions](https://code.visualstudio.com/docs/remote/ssh#_managing-extensions?WT.mc_id=academic-17441-jabenn) instructions to install the [Pylance extension](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) remotely onto the Pi +1. Une fois connecté, suivez les instructions de [gestion des extensions](https://code.visualstudio.com/docs/remote/ssh#_managing-extensions?WT.mc_id=academic-17441-jabenn) pour installer l'[extension Pylance](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) à distance sur le Pi -## Hello world +## Bonjour le monde -It is traditional when starting out with a new programming language or technology to create a 'Hello World' application - a small application that outputs something like the text `"Hello World"` to show that all the tools are correctly configured. +Il est traditionnel, lorsqu'on débute avec un nouveau langage de programmation ou une nouvelle technologie, de créer une application "Hello World" - une petite application qui produit quelque chose comme le texte "Hello World" pour montrer que tous les outils sont correctement configurés. -The Hello World app for the Pi will ensure that you have Python and Visual Studio code installed correctly. +L'application 'Hello World' pour le Pi vous permettra de vérifier que vous avez installé correctement le code Python et Visual Studio. -This app will be in a folder called `nightlight`, and it will be re-used with different code in later parts of this assignment to build the nightlight application. +Cette application sera dans un dossier appelé `nightlight`, et elle sera réutilisée avec un code différent dans les parties ultérieures de ce travail pour construire l'application de veilleuse. -### Task - hello world +### Tâche - Bonjour le monde -Create the Hello World app. +Créez l'application 'Hello World'. -1. Launch VS Code, either directly on the Pi, or on your computer and connected to the Pi using the Remote SSH extension +1. Lancez VS Code, soit directement sur le Pi, soit sur votre ordinateur et connecté au Pi en utilisant l'extension SSH à distance. -1. Launch the VS Code Terminal by selecting *Terminal -> New Terminal, or pressing `` CTRL+` ``. It will open to the `pi` users home directory. +1. Lancez le terminal VS Code en sélectionnant *Terminal -> Nouveau terminal, ou en appuyant sur `` CTRL+``. Il s'ouvrira sur le répertoire personnel de l'utilisateur du `pi`. -1. Run the following commands to create a directory for your code, and create a Python file called `app.py` inside that directory: +1. Exécutez les commandes suivantes pour créer un répertoire pour votre code, et créez un fichier Python appelé `app.py` dans ce répertoire : ```sh mkdir nightlight @@ -217,33 +219,33 @@ Create the Hello World app. touch app.py ``` -1. Open this folder in VS Code by selecting *File -> Open...* and selecting the *nightlight* folder, then select **OK** +1. Ouvrez ce dossier dans VS Code en sélectionnant *File -> Open...* et en sélectionnant le dossier *nightlight*, puis sélectionnez **OK**. - ![The VS Code open dialog showing the nightlight folder](../../../images/vscode-open-nightlight-remote.png) + ![Le dialogue d'ouverture de VS Code montrant le dossier nightlight](../../../../images/vscode-open-nightlight-remote.png) -1. Open the `app.py` file from the VS Code explorer and add the following code: +1. Ouvrez le fichier `app.py` depuis l'explorateur de code VS et ajoutez le code suivant : ```python print('Hello World!') ``` - The `print` function prints whatever is passed to it to the console. + La fonction `print` affiche sur la console ce qui lui est passé. -1. From the VS Code Terminal, run the following to run your Python app: +1. Depuis le terminal VS Code, exécutez ce qui suit pour lancer votre application Python : ```sh python3 app.py ``` - > 💁 You need to explicitly call `python3` to run this code just in case you have Python 2 installed in addition to Python 3 (the latest version). If you have Python2 installed then calling `python` will use Python 2 instead of Python 3 + > 💁 Vous devez appeler explicitement `python3` pour exécuter ce code au cas où vous auriez installé Python 2 en plus de Python 3 (la dernière version). Si vous avez installé Python 2, l'appel à `python` utilisera Python 2 au lieu de Python 3. - The following output will appear in the terminal: + La sortie suivante apparaîtra dans le terminal: - ```output + ``sortie pi@raspberrypi:~/nightlight $ python3 app.py - Hello World! + Bonjour le monde ! ``` -> 💁 You can find this code in the [code/pi](code/pi) folder. +> 💁 Vous pouvez trouver ce code dans le dossier [code/pi](code/pi). -😀 Your 'Hello World' program was a success! +😀 Votre programme "Hello World" a été un succès ! From e9e6a80d7a64a0a7d7ae304c199c789fab5f66a3 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 2 Nov 2021 19:10:22 -0400 Subject: [PATCH 7/8] Update from review --- 1-getting-started/README.md | 2 -- 1-getting-started/Translations/README.fr.md | 2 +- 1-getting-started/lessons/1-introduction-to-iot/README.md | 2 -- 1-getting-started/lessons/1-introduction-to-iot/pi.md | 2 -- 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/1-getting-started/README.md b/1-getting-started/README.md index b0fb509c..e5b3d0f8 100644 --- a/1-getting-started/README.md +++ b/1-getting-started/README.md @@ -1,5 +1,3 @@ -[![French](https://img.shields.io/badge/-French-purple)](translations/README.fr.md) - # Getting Started with IoT In this section of the curriculum, you will be introduced to the Internet of Things, and learn the basic concepts including building your first 'Hello World' IoT project connecting to the cloud. This project is a nightlight that lights up as light levels measured by a sensor drop. diff --git a/1-getting-started/Translations/README.fr.md b/1-getting-started/Translations/README.fr.md index c9020c26..20f95a7a 100644 --- a/1-getting-started/Translations/README.fr.md +++ b/1-getting-started/Translations/README.fr.md @@ -1,5 +1,5 @@ # Guide de démarage IoT -Dans cette section du tutoriel, vous serez initié à l'Internet des objets et apprendrez les concepts de base, notamment la construction de votre premier projet IoT « Hello, World!» connecté à l'infrastrucutre info-nuagique. Ce projet est une veilleuse qui s'allume quand la lumière mesurée par un capteur diminue. +Dans cette section du tutoriel, vous serez initié à l'Internet des objets et apprendrez les concepts de base, notamment la construction de votre premier projet IoT « Hello, World!» connecté à l'infrastrucutre infonuagique. Ce projet est une veilleuse qui s'allume quand la lumière mesurée par un capteur diminue. ![La DEL connecté au WIO s'allume et s'éteint en fonction de la luminosité](../../images/wio-running-assignment-1-1.gif) diff --git a/1-getting-started/lessons/1-introduction-to-iot/README.md b/1-getting-started/lessons/1-introduction-to-iot/README.md index ded7da58..6d1401eb 100644 --- a/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -1,5 +1,3 @@ -[![French](https://img.shields.io/badge/-French-purple)](translations/README.fr.md) - # Introduction to IoT ![A sketchnote overview of this lesson](../../../sketchnotes/lesson-1.jpg) diff --git a/1-getting-started/lessons/1-introduction-to-iot/pi.md b/1-getting-started/lessons/1-introduction-to-iot/pi.md index 52f0a2e3..47a4ae56 100644 --- a/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -1,5 +1,3 @@ -[![French](https://img.shields.io/badge/-French-purple)](translations/pi.fr.md) - # Raspberry Pi The [Raspberry Pi](https://raspberrypi.org) is a single-board computer. You can add sensors and actuators using a wide range of devices and ecosystems, and for these lessons using a hardware ecosystem called [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). You will code your Pi and access the Grove sensors using Python. From cf76b22872cc10a593f3d9af15e0db075d7c12cf Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 2 Nov 2021 20:20:24 -0400 Subject: [PATCH 8/8] Added some files. We are almost there! --- .../translations/virtual-device.fr.md | 221 ++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 1-getting-started/lessons/1-introduction-to-iot/translations/virtual-device.fr.md diff --git a/1-getting-started/lessons/1-introduction-to-iot/translations/virtual-device.fr.md b/1-getting-started/lessons/1-introduction-to-iot/translations/virtual-device.fr.md new file mode 100644 index 00000000..fbeea6eb --- /dev/null +++ b/1-getting-started/lessons/1-introduction-to-iot/translations/virtual-device.fr.md @@ -0,0 +1,221 @@ +# Ordinateur monocarte virtuel + +Au lieu d'acheter un dispositif IoT, ainsi que des capteurs et des actionneurs, vous pouvez utiliser votre ordinateur pour simuler le matériel IoT. Le [projet CounterFit](https://github.com/CounterFit-IoT/CounterFit) vous permet d'exécuter localement une application qui simule du matériel IoT, comme des capteurs et des actionneurs, et d'accéder aux capteurs et aux actionneurs à partir d'un code Python local écrit de la même manière que le code que vous écririez sur un Raspberry Pi en utilisant du matériel physique. + + +## Configuration + +Pour utiliser CounterFit, vous devez installer un logiciel gratuit sur votre ordinateur. + +### Tâche + +Installez le logiciel requis. + +1. Installez Python. Reportez-vous à la page [Python downloads page](https://www.python.org/downloads/) pour obtenir des instructions sur l'installation de la dernière version de Python. + +1. Installez Visual Studio Code (VS Code). Il s'agit de l'éditeur que vous utiliserez pour écrire le code de votre dispositif virtuel en Python. Reportez-vous à la [documentation VS Code](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) pour obtenir des instructions sur l'installation de VS Code. + + > 💁 Vous êtes libre d'utiliser n'importe quel IDE ou éditeur Python pour ces leçons si vous avez un outil préféré, mais les leçons donneront des instructions basées sur l'utilisation de VS Code. + +1. Installez l'extension Pylance de VS Code. Il s'agit d'une extension pour VS Code qui fournit le support du langage Python. Reportez-vous à la [documentation de l'extension Pylance](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) pour obtenir des instructions sur l'installation de cette extension dans VS Code. + +Les instructions d'installation et de configuration de l'application CounterFit seront données au moment opportun dans les instructions de mission, car elle est installée sur la base de chaque projet. + +## Bonjour le monde + +Il est traditionnel, lorsqu'on commence à utiliser un nouveau langage de programmation ou une nouvelle technologie, de créer une application "Hello World" - une petite application qui produit quelque chose comme le texte "Hello World" pour montrer que tous les outils sont correctement configurés. + +L'application Hello World pour le matériel IoT virtuel s'assurera que les codes Python et Visual Studio sont correctement installés. Elle se connectera également à CounterFit pour les capteurs et actionneurs IoT virtuels. Elle n'utilisera aucun matériel, elle se connectera simplement pour prouver que tout fonctionne. + +Cette application sera dans un dossier appelé `nightlight`, et elle sera réutilisée avec un code différent dans les parties ultérieures de ce travail pour construire l'application de veilleuse. + +### Configurer un environnement virtuel Python + +L'une des puissantes fonctionnalités de Python est la possibilité d'installer des [Pip packages](https://pypi.org). Il s'agit de paquets de code écrits par d'autres personnes et publiés sur Internet. Vous pouvez installer un paquet Pip sur votre ordinateur à l'aide d'une seule commande, puis utiliser ce paquet dans votre code. Vous allez utiliser Pip pour installer un paquetage pour parler à CounterFit. + +Par défaut, lorsque vous installez un paquetage, il est disponible partout sur votre ordinateur, ce qui peut entraîner des problèmes avec les versions du paquetage - par exemple, une application dépendant d'une version d'un paquetage qui se casse lorsque vous installez une nouvelle version pour une autre application. Pour contourner ce problème, vous pouvez utiliser un [environnement virtuel Python](https://docs.python.org/3/library/venv.html), essentiellement une copie de Python dans un dossier dédié, et lorsque vous installez les paquets Pip, ils sont installés uniquement dans ce dossier. + +> 💁 Si vous utilisez un Raspberry Pi, vous n'avez pas configuré d'environnement virtuel sur ce périphérique pour gérer les paquets Pip, mais vous utilisez des paquets globaux, car les paquets Grove sont installés globalement par le script d'installation. + +#### Tâche - configurer un environnement virtuel Python + +Configurez un environnement virtuel Python et installez les paquets Pip pour CounterFit. + +1. À partir de votre terminal ou de votre ligne de commande, exécutez la commande suivante à l'endroit de votre choix pour créer et naviguer vers un nouveau répertoire : + + ```sh + mkdir nightlight + cd nightlight + ``` + +1. Exécutez maintenant ce qui suit pour créer un environnement virtuel dans le dossier `.venv`. + + ```sh + python3 -m venv .venv + ``` + + > 💁 Vous devez appeler explicitement `python3` pour créer l'environnement virtuel au cas où vous auriez installé Python 2 en plus de Python 3 (la dernière version). Si vous avez installé Python 2, l'appel de `python` utilisera Python 2 au lieu de Python 3. + +1. Activez l'environnement virtuel : + + * Sous Windows : + * Si vous utilisez l'Invite de commande, ou l'invite de commande via le Terminal Windows, exécutez : + + ```cmd + .venv\Scripts\activate.bat + ``` + + * Si vous utilisez PowerShell, exécutez : + + ```powershell + .\.venv\Scripts\Activate.ps1 + ``` + + * Sous macOS ou Linux, exécutez: + + ```cmd + source ./.venv/bin/activate + ``` + + > 💁 Ces commandes doivent être exécutées à partir du même endroit que celui où vous avez exécuté la commande de création de l'environnement virtuel. Vous n'aurez jamais besoin de naviguer dans le dossier `.venv`, vous devez toujours exécuter la commande d'activation et toutes les commandes pour installer des paquets ou exécuter du code à partir du dossier dans lequel vous étiez lorsque vous avez créé l'environnement virtuel. + +1. Une fois l'environnement virtuel activé, la commande `python` par défaut lancera la version de Python qui a été utilisée pour créer l'environnement virtuel. Exécutez la commande suivante pour obtenir la version: + + ```sh + python --version + ``` + + La sortie devrait contenir les éléments suivants: + + ```output + (.venv) ➜ nightlight python --version + Python 3.9.1 + ``` + + > 💁 Votre version de Python peut être différente - tant qu'il s'agit de la version 3.6 ou supérieure, tout va bien. Sinon, supprimez ce dossier, installez une version plus récente de Python et réessayez. + +1. Exécutez les commandes suivantes pour installer les paquets Pip pour CounterFit. Ces paquets comprennent l'application principale CounterFit ainsi que des cales pour le matériel Grove. Ces cales vous permettent d'écrire du code comme si vous programmiez à l'aide de capteurs et d'actionneurs physiques de l'écosystème Grove, mais connectés à des dispositifs IoT virtuels. + + ```sh + pip install CounterFit + pip install counterfit-connection + pip install counterfit-shims-grove + ``` + + Ces paquets pip ne seront installés que dans l'environnement virtuel, et ne seront pas disponibles en dehors de celui-ci. +### Écrire le code + +Une fois que l'environnement virtuel Python est prêt, vous pouvez écrire le code de l'application 'Hello World'. + +#### Tâche - écrire le code + +Créez une application Python pour imprimer `"Hello World"` à la console. + +1. Depuis votre terminal ou votre ligne de commande, exécutez ce qui suit à l'intérieur de l'environnement virtuel pour créer un fichier Python appelé `app.py` : + + * Depuis Windows, exécutez: + + ```cmd + type nul > app.py + ``` + + * Sous macOS ou Linux, exécutez: + + ```cmd + touch app.py + ``` + +1. Ouvrez le dossier actuel dans VS Code: + + ```sh + code . + ``` + + > 💁 Si votre terminal retourne `command not found` sous macOS, cela signifie que VS Code n'a pas été ajouté à votre PATH. Vous pouvez ajouter VS Code à votre PATH en suivant les instructions de la section [Lancement depuis la ligne de commande de la documentation VS Code](https://code.visualstudio.com/docs/setup/mac?WT.mc_id=academic-17441-jabenn#_launching-from-the-command-line) et exécuter la commande ensuite. VS Code est installé par défaut dans votre PATH sous Windows et Linux. + +1. Lorsque VS Code se lance, il active l'environnement virtuel Python. L'environnement virtuel sélectionné apparaîtra dans la barre d'état inférieure: + + ![Code VS montrant l'environnement virtuel sélectionné](../../../images/vscode-virtual-env.png) + +1. Si le terminal VS Code est déjà en cours d'exécution lorsque VS Code démarre, l'environnement virtuel n'y sera pas activé. La chose la plus simple à faire est de tuer le terminal en utilisant le bouton **Kill the active terminal instance** : + + ![Code VS Tuer le bouton d'instance du terminal actif](../../../images/vscode-kill-terminal.png) + + Vous pouvez savoir si l'environnement virtuel est activé sur le terminal car le nom de l'environnement virtuel sera un préfixe sur l'invite du terminal. Par exemple, il peut s'agir de: + + ```sh + (.venv) ➜ nightlight + ``` + + Si vous n'avez pas `.venv` comme préfixe à l'invite, l'environnement virtuel n'est pas actif dans le terminal. + +1. Lancez un nouveau terminal VS Code en sélectionnant *Terminal -> Nouveau terminal, ou en appuyant sur `` CTRL+``. Le nouveau terminal chargera l'environnement virtuel, et l'invite pour l'activer apparaîtra dans le terminal. L'invite aura également le nom de l'environnement virtuel (`.venv`): + + ```output + ➜ nightlight source .venv/bin/activate + (.venv) ➜ nightlight + ``` + +1. Ouvrez le fichier `app.py` depuis l'explorateur de code VS et ajoutez le code suivant: + + ```python + print('Hello World!') + ``` + + La fonction `print` imprime sur la console ce qui lui est passé. + +1. Depuis le terminal VS Code, exécutez ce qui suit pour lancer votre application Python: + + ```sh + python app.py + ``` + + Les éléments suivants figureront dans la sortie: + + ```output + (.venv) ➜ nightlight python app.py + Hello World! + ``` + +😀 Votre programme "Hello World" a été un succès! + +### Connectez le "matériel". + +Dans un deuxième temps, vous allez exécuter l'application CounterFit et y connecter votre code. C'est l'équivalent virtuel de la connexion d'un matériel IoT à un kit de développement. + +#### Tâche - connecter le "matériel". + +1. Depuis le terminal VS Code, lancez l'application CounterFit avec la commande suivante: + + ```sh + counterfit + ``` + + L'application commencera à fonctionner et s'ouvrira dans votre navigateur web: + + ![L'application Counter Fit fonctionnant dans un navigateur](../../../images/counterfit-first-run.png) + + Il sera marqué comme *Déconnecté*, avec la LED dans le coin supérieur droit éteinte. + +1. Ajoutez le code suivant au début du fichier `app.py`: + + ```python + from counterfit_connection import CounterFitConnection + CounterFitConnection.init('127.0.0.1', 5000) + ``` + + Ce code importe la classe `CounterFitConnection` du module `counterfit_connection`, qui provient du paquet pip `counterfit-connection` que vous avez installé précédemment. Il initialise ensuite une connexion à l'application CounterFit qui tourne sur `127.0.0.1`, qui est une adresse IP que vous pouvez toujours utiliser pour accéder à votre ordinateur local (souvent appelé *localhost*), sur le port 5000. + + > 💁 Si vous avez d'autres applications fonctionnant sur le port 5000, vous pouvez changer cela en mettant à jour le port dans le code, et en exécutant CounterFit en utilisant `CounterFit --port `, en remplaçant `` par le port que vous voulez utiliser. + +1. Vous devrez lancer un nouveau terminal VS Code en sélectionnant le bouton **Créer un nouveau terminal intégré**. Ceci est dû au fait que l'application CounterFit fonctionne dans le terminal actuel. + + ![Code VS Créer un nouveau bouton de terminal intégré](../../../images/vscode-new-terminal.png) + +1. Dans ce nouveau terminal, exécutez le fichier `app.py` comme précédemment. Le statut de CounterFit passera à **Connected** et la LED s'allumera. + + ![Counter Fit apparaît comme connecté](../../../images/counterfit-connected.png) + +> 💁 Vous pouvez trouver ce code dans le dossier[code/virtual-device](code/virtual-device). + +😀 Votre connexion au matériel a été un succès!