WEBVTT

00:00.090 --> 00:01.050
Narrateur : Dans cette leçon,

00:01.050 --> 00:03.720
nous allons commencer à parler des systèmes embarqués.

00:03.720 --> 00:05.610
Lorsque l'on parle de système embarqué,

00:05.610 --> 00:07.560
il s'agit d'un système informatique

00:07.560 --> 00:10.980
conçu pour exécuter une fonction spécifique et dédiée.

00:10.980 --> 00:13.260
Souvent, lorsque nous parlons d'un système embarqué,

00:13.260 --> 00:14.490
nous parlons de choses qui se

00:14.490 --> 00:18.150
situent davantage dans le domaine de la fabrication ou de l'automatisation.

00:18.150 --> 00:19.890
Ainsi, dans un système de goutte-à-goutte

00:19.890 --> 00:22.770
médical, un microcontrôleur peut avoir une seule fonction.

00:22.770 --> 00:24.840
Il s'agit de mesurer le volume de liquide qui

00:24.840 --> 00:27.660
passe dans la machine et dans la perfusion afin de pouvoir donner

00:27.660 --> 00:29.520
au patient ce dont il a besoin.

00:29.520 --> 00:30.510
Vous pourriez en avoir un autre

00:30.510 --> 00:33.030
pour un système de contrôle dans une station d'épuration.

00:33.030 --> 00:34.470
Sa responsabilité est de s'assurer

00:34.470 --> 00:36.870
que l'eau s'écoule à un certain débit.

00:36.870 --> 00:39.000
Et ils vont ouvrir ou fermer des vannes pour

00:39.000 --> 00:41.940
s'assurer que nous maintenons ce débit dans le système.

00:41.940 --> 00:43.307
C'est l'idée d'un système embarqué.

00:43.307 --> 00:45.840
Il peut s'agir d'un appareil très, très

00:45.840 --> 00:47.610
simple ou d'un appareil très

00:47.610 --> 00:50.550
complexe doté d'un système d'exploitation complet

00:50.550 --> 00:52.890
comme Linux ou Android.

00:52.890 --> 00:54.360
Cela dépend.

00:54.360 --> 00:55.770
Dans cette leçon, je vais me

00:55.770 --> 00:58.710
concentrer sur les systèmes embarqués spécifiques qui

00:58.710 --> 01:00.120
ont une fonction unique et disposent

01:00.120 --> 01:02.400
de leur propre système d'exploitation ou microprocesseur

01:02.400 --> 01:05.100
dédié à cette fonction.

01:05.100 --> 01:07.950
Par exemple, chez moi, j'ai un compteur intelligent.

01:07.950 --> 01:09.900
Ainsi, si je sors de chez moi, je peux regarder

01:09.900 --> 01:11.550
le compteur électrique de ma maison

01:11.550 --> 01:14.940
et il m'indiquera le nombre de kilowatts par heure que je consomme et combien

01:14.940 --> 01:17.010
j'ai consommé au fil du temps.

01:17.010 --> 01:19.860
Aujourd'hui, ces informations sont connectées à l'internet, de sorte que

01:19.860 --> 01:21.120
la compagnie d'électricité n'a plus

01:21.120 --> 01:22.680
besoin d'envoyer quelqu'un chez moi pour

01:22.680 --> 01:24.420
relever le compteur une fois par mois.

01:24.420 --> 01:26.730
Au lieu de cela, tout se fait désormais par voie électronique.

01:26.730 --> 01:28.620
Pour ce faire, ils utilisent des modems

01:28.620 --> 01:30.450
cellulaires et se connectent, via le

01:30.450 --> 01:32.640
réseau cellulaire, à leur siège et à leurs serveurs

01:32.640 --> 01:34.680
pour transmettre les données relatives à

01:34.680 --> 01:36.600
la consommation d'énergie.

01:36.600 --> 01:37.770
Si vous regardez le compteur de votre

01:37.770 --> 01:40.200
maison, vous avez probablement quelque chose d'assez similaire.

01:40.200 --> 01:42.030
Aujourd'hui, ces types de systèmes intégrés sont considérés

01:42.030 --> 01:43.980
comme des environnements statiques dans lesquels des

01:43.980 --> 01:46.530
changements fréquents ne sont pas effectués ou autorisés.

01:46.530 --> 01:48.600
À quand remonte la dernière mise à jour du logiciel de votre

01:48.600 --> 01:50.010
compteur électrique, par exemple ?

01:50.010 --> 01:51.210
Vous ne l'avez probablement jamais fait.

01:51.210 --> 01:53.100
Et la compagnie d'électricité ne le fait probablement

01:53.100 --> 01:54.120
pas très souvent non plus.

01:54.120 --> 01:56.190
C'est l'idée de ces systèmes intégrés.

01:56.190 --> 01:57.900
Il s'agit d'un système très

01:57.900 --> 02:00.870
dépouillé, conçu dans un seul et unique but.

02:00.870 --> 02:03.510
Ce faisant, ils deviennent plus sûrs parce qu'ils n'ont

02:03.510 --> 02:05.490
pas beaucoup de code supplémentaire.

02:05.490 --> 02:06.720
Mais si le code d'origine n'a pas

02:06.720 --> 02:08.670
été mis en place en bon état, il est difficile d'effectuer

02:08.670 --> 02:10.170
des mises à jour, car ces appareils ne

02:10.170 --> 02:11.640
sont pas conçus pour recevoir des mises

02:11.640 --> 02:13.860
à jour logicielles fréquentes.

02:13.860 --> 02:14.693
Pour cette raison,

02:14.693 --> 02:16.980
les systèmes embarqués ont souvent très peu d'aide

02:16.980 --> 02:19.800
pour identifier et corriger les problèmes de sécurité.

02:19.800 --> 02:21.120
Vous ne pouvez pas appeler la compagnie d'électricité

02:21.120 --> 02:22.860
pour lui demander de sécuriser votre compteur.

02:22.860 --> 02:25.050
Cela ne fait tout simplement pas partie de ce qu'ils vont faire pour vous.

02:25.050 --> 02:26.400
Ils vont le faire comme ils l'entendent

02:26.400 --> 02:27.840
parce que c'est leur appareil.

02:27.840 --> 02:30.150
Et souvent, si vous avez un système embarqué dans votre

02:30.150 --> 02:32.700
usine, si vous êtes dans une zone de production, vous n'aurez

02:32.700 --> 02:35.220
qu'un soutien limité de la part du fabricant.

02:35.220 --> 02:36.540
Il s'agit donc d'un domaine dans

02:36.540 --> 02:38.040
lequel il est important de placer tous

02:38.040 --> 02:39.510
ces appareils sur un réseau séparé

02:39.510 --> 02:42.150
et de ne pas les connecter à l'internet en général, ce qui pourrait

02:42.150 --> 02:44.970
constituer une grande vulnérabilité pour vous.

02:44.970 --> 02:46.410
Lorsque l'on parle de systèmes

02:46.410 --> 02:48.240
intégrés, il existe un terme appelé PLC,

02:48.240 --> 02:51.030
c'est-à-dire un contrôleur logique programmable.

02:51.030 --> 02:53.310
Il s'agit d'un type d'ordinateur conçu pour être déployé

02:53.310 --> 02:55.230
dans un environnement industriel ou extérieur

02:55.230 --> 02:57.960
et qui peut automatiser nos systèmes mécaniques modernes.

02:57.960 --> 02:59.760
Lorsque vous pensez à un automate, je veux

02:59.760 --> 03:01.680
que vous pensiez à quelque chose comme la fabrication

03:01.680 --> 03:03.420
qui va ouvrir ou fermer une vanne pour laisser

03:03.420 --> 03:05.370
entrer plus ou moins d'eau.

03:05.370 --> 03:07.140
C'est l'idée d'un automate.

03:07.140 --> 03:09.780
Il s'agit d'un automate programmable.

03:09.780 --> 03:12.000
Ces automates fonctionnent avec des microprogrammes,

03:12.000 --> 03:14.250
car il s'agit là encore de systèmes intégrés.

03:14.250 --> 03:16.950
Ainsi, le firmware, qui est un logiciel sur une puce, peut être corrigé

03:16.950 --> 03:18.480
et reprogrammé pour corriger les vulnérabilités

03:18.480 --> 03:20.280
lorsqu'elles surviennent.

03:20.280 --> 03:22.620
Mais là encore, il s'agit d'un processus très spécifique

03:22.620 --> 03:25.230
et l'assistance du fabricant est généralement limitée.

03:25.230 --> 03:26.370
Ce n'est pas comme chez Microsoft

03:26.370 --> 03:28.350
où l'on vous donne un correctif tous les mardis.

03:28.350 --> 03:31.140
Avec ces automates, vous pouvez recevoir un correctif tous les six mois,

03:31.140 --> 03:32.550
ou tous les ans, ou tous les deux ans.

03:32.550 --> 03:35.520
Il s'écoule généralement beaucoup de temps entre les correctifs.

03:35.520 --> 03:36.960
L'autre chose dont nous voulons parler, c'est de certains

03:36.960 --> 03:38.550
des systèmes d'exploitation qu'ils utilisent.

03:38.550 --> 03:40.740
Il existe donc ce que l'on appelle un RTOS, c'est-à-dire

03:40.740 --> 03:43.020
un système d'exploitation en temps réel.

03:43.020 --> 03:45.120
Il s'agit d'un type de système d'exploitation

03:45.120 --> 03:48.780
qui privilégie l'exécution déterministe des opérations.

03:48.780 --> 03:50.910
Cela nous aidera à garantir une réponse cohérente

03:50.910 --> 03:52.800
pour les tâches critiques.

03:52.800 --> 03:53.880
Réfléchissez à ceci.

03:53.880 --> 03:57.000
Si vous gérez quelque chose qui doit ouvrir ou fermer une vanne à l'intérieur

03:57.000 --> 03:58.830
d'une centrale nucléaire, pouvez-vous

03:58.830 --> 04:02.040
avoir la possibilité de la mettre hors service à tout moment ?

04:02.040 --> 04:03.240
Probablement pas, n'est-ce pas ?

04:03.240 --> 04:05.670
C'est l'idée de l'utilisation d'un RTOS, un système

04:05.670 --> 04:07.500
d'exploitation en temps réel.

04:07.500 --> 04:09.420
En effet, un grand nombre de nos systèmes

04:09.420 --> 04:12.000
intégrés ne peuvent tolérer les redémarrages ou les pannes

04:12.000 --> 04:13.710
et doivent avoir des temps de réponse

04:13.710 --> 04:16.440
prévisibles à quelques millisecondes près.

04:16.440 --> 04:17.580
Donc, si je construis quelque

04:17.580 --> 04:19.860
chose qui va faire fonctionner des parties d'un avion, qui

04:19.860 --> 04:22.080
va aider mon pilote automatique à voler, et si le pilote automatique

04:22.080 --> 04:23.910
doit faire des ajustements sur les ailes toutes

04:23.910 --> 04:26.430
les quelques millisecondes, eh bien, c'est quelque chose pour lequel

04:26.430 --> 04:28.230
nous voudrions utiliser un système d'exploitation

04:28.230 --> 04:29.850
en temps réel.

04:29.850 --> 04:32.160
Nous ne pouvons pas utiliser un système Windows standard pour cela.

04:32.160 --> 04:33.990
Il n'est tout simplement pas assez rapide ni assez puissant.

04:33.990 --> 04:36.060
Il est sujet à des redémarrages ou à des pannes, à des correctifs

04:36.060 --> 04:38.250
de sécurité et à toutes sortes d'autres choses.

04:38.250 --> 04:40.620
Lorsque vous entendez ce terme, pensez qu'il s'agit

04:40.620 --> 04:42.690
du type de système d'exploitation souvent utilisé

04:42.690 --> 04:44.550
avec les systèmes embarqués, en particulier

04:44.550 --> 04:46.560
dans les applications critiques.

04:46.560 --> 04:47.700
Une autre façon de procéder consiste

04:47.700 --> 04:49.740
à utiliser ce que l'on appelle un système sur puce.

04:49.740 --> 04:51.810
Il s'agit d'une autre forme de systèmes intégrés.

04:51.810 --> 04:53.910
C'est ici que notre processeur intègre la

04:53.910 --> 04:56.850
fonctionnalité de plate-forme de plusieurs contrôleurs

04:56.850 --> 04:58.470
logiques sur une seule puce.

04:58.470 --> 05:01.860
Ce système sur puce peut être très économe en énergie, c'est pourquoi il est souvent

05:01.860 --> 05:04.290
utilisé pour les petits appareils qui doivent être dotés

05:04.290 --> 05:05.790
d'un système intégré.

05:05.790 --> 05:06.810
Ainsi, si je dois créer quelque

05:06.810 --> 05:07.860
chose qui va avoir un système

05:07.860 --> 05:10.140
intégré et être très petit pour tenir dans ma poche, j'utiliserai

05:10.140 --> 05:12.681
généralement quelque chose comme un système sur puce.

05:12.681 --> 05:13.920
Si vous utilisez un aspirateur

05:13.920 --> 05:15.300
Roomba ou un robot aspirateur, ceux-ci

05:15.300 --> 05:18.090
utilisent un système sur puce parce qu'ils essaient de rassembler

05:18.090 --> 05:19.950
toutes les informations sur une seule puce,

05:19.950 --> 05:21.870
parce que cela prend moins de place et que vous

05:21.870 --> 05:24.570
pouvez donc laisser plus de place pour les pièces fonctionnelles

05:24.570 --> 05:27.360
dont vous avez besoin, comme l'aspirateur.

05:27.360 --> 05:30.180
Un système sur puce désigne un type de circuit intégré qui contient

05:30.180 --> 05:32.310
tous les composants d'un système informatique

05:32.310 --> 05:33.660
sur une seule puce.

05:33.660 --> 05:36.630
Il s'agit du processeur, de la mémoire, du stockage, du processeur

05:36.630 --> 05:38.670
graphique et des périphériques, tels que les

05:38.670 --> 05:41.370
contrôleurs USB, les circuits de gestion de l'alimentation

05:41.370 --> 05:44.010
et les radios sans fil pour le wifi ou le Bluetooth.

05:44.010 --> 05:47.160
Un bon exemple de système sur puce est le Raspberry Pi, qui

05:47.160 --> 05:48.990
contient un ordinateur entièrement

05:48.990 --> 05:50.880
intégré sur une seule puce.

05:50.880 --> 05:52.650
Bon nombre de ces systèmes sur puce seront

05:52.650 --> 05:54.570
intégrés dans d'autres appareils tels que

05:54.570 --> 05:58.140
les téléviseurs intelligents et les décodeurs, comme la Fire TV d'Amazon, Roku

05:58.140 --> 06:00.750
et les appareils de diffusion en continu Apple TV.

06:00.750 --> 06:02.970
Les systèmes sur puce sont devenus très populaires en raison

06:02.970 --> 06:04.560
de leur faible consommation d'énergie,

06:04.560 --> 06:07.440
de leurs performances décentes et de leur faible encombrement.

06:07.440 --> 06:10.260
Par exemple, si vous avez un Roku ou un Fire TV Stick,

06:10.260 --> 06:12.420
ils ont la taille d'une clé USB.

06:12.420 --> 06:15.450
Pourtant, ils offrent une fonctionnalité smart TV pleinement opérationnelle

06:15.450 --> 06:16.980
dans n'importe quel téléviseur existant

06:16.980 --> 06:18.510
et ils peuvent traiter la vidéo en continu

06:18.510 --> 06:20.913
via une connexion sans fil à l'aide de ces appareils.
