forked from hakimel/reveal.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
472 lines (443 loc) · 18.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>reveal.js</title>
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/blood.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/monokai.css">
<!-- Extending the CSS -->
<link rel="stylesheet" href="css/reveal-override.css"/>
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<!-- Front slide -->
<section class="landing" data-background="img/rpi.jpg" data-background-opacity="0.3">
<h2>(Re)Découverte du Raspberry Pi</h2>
</section>
<!-- About me -->
<section>
<img src="img/about-me.jpg" alt="About me">
<aside class="notes">
<ul>
<li>Présentation brève en une ou deux phrase.</li>
<li>C'est mon premier 12@13.</li>
<li>Vous pouvez m'interrompre</li>
</ul>
</aside>
</section>
<!-- Contenu -->
<section>
<h2>Contenu</h2>
<ol>
<li class="fragment">Présentation générale</li>
<li class="fragment">Démonstration</li>
<li class="fragment">Pourquoi l'utiliser ?</li>
<li class="fragment">Pourquoi ne pas l'utiliser ?</li>
<li class="fragment">Conclusion</li>
</ol>
<aside class="notes">
<ul>
<li>préz gnle (définitions + historique + aspect hardware software + projet existant)</li>
<li>2 petites démos (déploiement d'une appli spring + Mise en place d'un service cloud auto hebergé à l'aide de docker)</li>
<li>des points forts et points faible du Rpi</li>
<li>Une conclusion (verdict + quelques liens utiles)</li>
</ul>
</aside>
</section>
<!-- Présentation générale -->
<section>
<section>
<h2>Présentation générale</h2>
</section>
<!-- Définition et historique -->
<section>
<h3>Définition et historique</h3>
</section>
<section>
<blockquote>
The Raspberry Pi is a low cost, <strong>credit-card sized computer</strong> that plugs into a computer monitor or TV,
and uses a standard keyboard and mouse. It is a capable little device that enables people of <strong>all ages</strong>
to <strong>explore</strong> computing, and <strong>to learn</strong> how to program in languages like Scratch and Python.
<footer>— <a href="raspberrypi.org">raspberrypi.org</a></footer>
</blockquote>
<img src="img/rpi-creditcard.JPG" alt="A Raspberry Pi on top of a credit card" style="width: 50%;">
<aside class="notes">
<ul>
<li>Un nano ordinateur de la taille d'une CB</li>
<li>Particularité d'être abordable financierement (coute une 40aine d'euros)</li>
<li>A l'origine déstiné à l'aprentissage de l'informatique dans les écoles partout dans le monde.</li>
<li>mais on verra par la suite de cette préz que ses utilisations sont bien plus diverses</li>
</ul>
</aside>
</section>
<section>
<img src="img/official-rpi-case.jpg" width="45%" alt="A Rpi with the official case.">
<aside class="notes">
<li>A quoi ça ressemble</li>
</aside>
</section>
<section>
<img src="img/lego_case.jpg" alt="a lego case for the Rpi.">
</section>
<section>
<ul>
<li>Créé en 2012</li>
<li class="fragment">19M d'unités vendues (2018)</li>
<li class="fragment">🏭 → Chine, Pays de Galles et Japan</li>
<li class="fragment">⚠️ Rpi ≠ Arduino !</li>
<li class="fragment">Le premier modèle → <code>1 B</code></li>
</ul>
<img src="img/rpi-logo.png" alt="Raspberry pi logo (small)" width="30%">
<aside class="notes">
<ul>
<li>
Le Rpi est créé en 2012 aux royaumes unis par la fondation Raspberry Pi qui est une association caritative fondée
en 2009 pour encourager l'aprentissage des bases de la programmation dans les écoles partout dans le monde (mais pas que, on verra ça plutard dans la préz).
</li>
<li>
En 2018, c'est pas moins de 19M d'unités vendues dans le monde. En 2015, il est classé meilleur oridnateur britanique en terme de vente (mieux que les Amstrad !)
</li>
<li>
Au tout début, les rpi étaient fabriqués en Chine. Après un certain temps, Sony a commencé à en fabriquer dans certaines usine au Pays de Galle et au Japon.
La qualité du produit final est la même peu importe l'usine dans lequel il est fabriqué.
</li>
<li>
Attention, il ne faut pas confondre le Rpi qui est un nano-ordinateur (ou ordinateur mono carte) avec l'Arduino qui est un microcontrôleur (pas de ports vidéo, ...)
</li>
</ul>
</aside>
</section>
<!-- Question -->
<section>
<h3>Pourquoi "Raspberry Pi" ?</h3>
<img src="img/but-why.gif" alt="">
</section>
<section>
<ul>
<li><b>"Raspberry"</b> → comme Apple 🍏, Tangerine Computers 🍊, Apricot Computers...</li>
<li class="fragment"><b>"Pi"</b> → Python Interpreter 🐍</li>
</ul>
<aside class="notes">
<ul>
<li>Raspberry : c'est un hommage à une vieille tradition qui consiste à nommer les ordinateurs par des noms de fruit.</li>
<li>Pi (Python Interpreter) : car à l'origine destiné à ne faire tourner que du Python</li>
<li>ça doit probablement remonté à l'époque du prototypage</li>
</ul>
</aside>
</section>
<!-- Hardware -->
<section>
<h3>Hardware</h3>
</section>
<section>
<img src="img/rpi-models-list.png" alt="List of all the Raspberry Pi models">
<aside class="notes">
<ul>
<li>2 niveau dans le système de nommage</li>
<li>Niv 1 PI 1, 2, 3 indique la génération (ou la famille)</li>
<li>une génération tous les 2/3 ans</li>
<li>Niv 2: modèle indique la puissance et les fonctionnalités</li>
<li>pas comme système de notes US (donc le A inférieur à B)</li>
</ul>
</aside>
</section>
<section data-markdown>
<textarea data-template>
Infos hardware :
```bash
cat /proc/cpuinfo
```
</textarea>
</section>
<section>
<figure>
<img src="img/capture-rpi-agence.jpg" width="70%" alt="output of cat /proc/cpuinfo shows the serial number of the softeam's Rpi.">
<figcaption>
Sortie de la commande <code>cat /proc/cpuinfo</code> sur le Rpi à l'accueil (Agence Rennes)
</figcaption>
</figure>
<aside class="notes">
<ul>
<li>Sortie de la commande executé sur la Rpi connecté à l'écran d'accueil (sur lequel est hebergé l'appli welcome)</li>
<li>fabriqué par une usine de Sony aux royaumes unis</li>
<li>La ligne "revision" permet d'identifier le modèle du Rpi.</li>
<li>En googlant ce code, on trouve le modèle qui lui est associé.</li>
</ul>
</aside>
</section>
<section>
<figure>
<img src="img/rpi-models-list-softeam.png" width="70%" alt="output of cat /proc/cpuinfo shows the serial number of the Softeam's Rpi.">
<figcaption>
Modèle du Rpi à l'accueil
</figcaption>
</figure>
</section>
<section>
<figure>
<img src="img/rpi-models-list-mine.png" width="70%" alt="output of cat /proc/cpuinfo shows the serial number of my personal Rpi.">
<figcaption>
Modèle du Rpi de démo.
</figcaption>
</figure>
<aside class="notes">
</aside>
</section>
<section>
<div style="text-align: left; float: left;">
<ol style="font-size: 25px;">
<li class="fragment">SoC : CPU Quad-core ARM + GPU + 1 GO DDR3 RAM</li>
<li class="fragment">Ethernet: Gigabit Ethernet + PoE</li>
<li class="fragment">Dual-band 802.11ac wireless LAN + Bluetooth 4.2</li>
<li class="fragment">4 x USB 2.0</li>
<li class="fragment">Micro SD Card Slot</li>
<li class="fragment">GPIO 40 pins</li>
<li class="fragment">Audio/Video composite</li>
<li class="fragment">HDMI Port</li>
<li class="fragment">Power: 5V/2.5A DC power input</li>
</ol>
</div>
<div style="text-align: right; float: right;">
<img src="img/rpi-3b-plus.png" width="57%" alt="Functional block schematic of the Raspberry-Pi.">
</div>
<aside class="notes">
<ul>
<li>un SoC (System on a Chip) de la marque Broadcom </li>
<li>Ajout d'un dissipateur th,ermique ajouté par rapport à la version précédente qui permet une meilleure aération</li>
<li>PoE (Power Over Ethernet) qui permet d'alimenter le Rpi grâce au câble ethernet (avec un module supplémentaire à brancher aux 4 pins isolés).</li>
<li>permet d'économiser une prise secteur</li>
<li>Wifi dual band (2.4GHz and 5GHz )</li>
<li>Wifi + Ethernet jusqu'à (sur papier) 4 fois plus rapide que le modèle précedent.</li>
<li>Lecteur de carte SD : qui fait office de ROM (investir dans une bonne carte pour éviter les mauvaises surprises).</li>
<li>GPIO ( ports d'entrée/sortie) qui permettent la connexion de cartes d'extension (robotiques, capture de temp, LED)</li>
<li>GPIO : partie pas exploité donc peut pas vous en dire plus)</li>
</ul>
</aside>
</section>
<!-- Software -->
<section>
<h3>Software</h3>
</section>
<section>
<h4>OS compatibles</h4>
<ul>
<li class="fragment">Raspbian (= Raspberry + Debian) 🌟</li>
<div class="fragment">
<li>RISC OS</li>
<li>RaspBSD</li>
<li>Ubuntu Core</li>
<li>Windows 10 IoT Core <img src="img/trollface.png" width="8%" style="padding: 0; margin: 0;"> </li>
<li>...</li>
</div>
</ul>
<aside class="notes">
<ul>
<li>Raspbian (= Raspberry + Debian)</li>
<li>Pas mal de distro dédiées comme la recallbox qui pour la transformer en console de jeux</li>
<li>des distos de media center</li>
<li>Je vous recommande pas Windows 10 IoT, il souffre d'une lenteur extrême d'après des REX !</li>
</ul>
</aside>
</section>
<section>
<h4>NOOBS (New Out Of the Box Software)</h4>
<img class="fragment" src="img/noobs.png" alt="OS choosing screen in NOOBS" width="80%">
<aside class="notes">
<ul>
<li>L'outil facilite grandement l'installation d'un SE pour les débutants</li>
<li>Il suffit de télécharger l'archive, la décompresser et copier les fichiers sur la carte SD</li>
<li>choisir parmis la panoplies d'OS</li>
</ul>
</aside>
</section>
<section>
<h3>Exemples de projets</h3>
</section>
<section>
<h4>Hotspot Wi-Fi</h4>
<div class="container">
<div style="float:left;width:49%">
<img src="img/freewifi.jpg" width="100%" alt="A free wifi sign in a beach.">
</div>
<div style="float:right;width:49%">
<img class="fragment" src="img/raspAP.png" width="100%" alt="raspAP logo.">
</div>
</div>
<aside class="notes">
<ul>
<li>Mise en place d'un hotspot wifi gérable de façon indépendante de la box du FAI.</li>
<li>Utile par exemple pour proposer un "wifi invité" accécible par des candidats qu'on fait patienter à l'accueil.</li>
<li>si on ajoute une autre interface wifi, on peut même transformer le hotspot en répéteur wifi pour augmenter la portée de la box.</li>
</ul>
</aside>
</section>
<section>
<img src="img/raspAp-screenshot.gif" alt="raspAP web dashboard screenshot">
</section>
<section>
<h4>Vidéosurveillance</h4>
<div class="container">
<div style="float:left;width:49%">
<img src="img/sec-camera-simpsons.gif" width="100%" alt="A gif from The simpsons show involving a security camera.">
</div>
<div style="float:right;width:49%">
<img class="fragment" src="img/mentionEyeOS-logo.jpg" width="100%" alt="mentionEyeOS logo.">
</div>
</div>
<aside class="notes">
<ul>
<li>Mise en place d'un système de Vidéosurveillance.</li>
<li>Et cela, à l'aide d'un OS dédié qui s'appelle MotionEyeOS.</li>
<li>Un outils très puissant avec pas mal de fonctionnalités</li>
<li>n'importe quelle caméra USB fera l'affaire</li>
<li>Motion capture (detection de mouvement avec upload sur un service cloud dés qu'il y a un mouvement par exemple)</li>
<li>generation de timelapse</li>
<li>Alternative robuste aux systèmes de surveillances qu'on trouve dans le commerce.</li>
</ul>
</aside>
</section>
<section>
<img src="img/motionEyeOs-settings-panel.png" alt="motionEyeOs dashboard screenshot.">
</section>
<section>
<h4>Monitoring salle serveurs</h4>
<figure>
<img src="img/sensors-block-diag.png" width="75%">
<figcaption>
<q>Temperature and Humidity Monitoring System in Server Room Using Raspberry Pi</q> IJSTR (October 2019 Edition)
</figcaption>
</figure>
<aside class="notes">
<ul>
<li>une utilisation un peu plus poussé du Rpi</li>
<li>Le schéma est tiré d'un rapport de publication journal scientifique</li>
<li>Un système plus au moins similaire a été mis en place en 2016 à Polytech'Lille </li>
<li>(il utilise en plus de ça un arduino comme proxy entre les capteurs et le rpi)</li>
<li>Mise en place de capteurs de température à bas-coût dans une salle machines.</li>
<li>< 290€ TTC (10 fois moins cher)</li>
<li>voir l'étude complète au bout du lien dans l'annexe</li>
</ul>
</aside>
</section>
</section>
<!-- Démonstrations -->
<section data-background="img/matrix-fail.gif">
<h2>Démos</h2>
<aside class="notes">
<ul>
<li>Spring Boot : on peut bien sur améliorer ça en créant un service qui lance l'appli à chaque démarrage sans à avoir à le faire manuellement àa chaque fois
... bref c'est du linux vous faites comme sur un pc</li>
</ul>
</aside>
</section>
<!-- Pourquoi l’utiliser ? -->
<section>
<h2>Pourquoi l'utiliser ? 👍</h2>
</section>
<section>
<ul>
<li>Coût</li>
<li class="fragment">Polyvalence</li>
<li class="fragment">Communauté</li>
</ul>
<aside class="notes">
<ul>
<li>Peu chèr (on peut se permettre d'acheter 2 ou même plus poure faire du clustering de Rpi</li>
<li>Comme il peut faire à peu près tout ce qu'un ordinateur classique peut faire, seule limite c'est l'imagination (et les perfs).</li>
<li>Communauté ++. multitude de projets (awesome rasp) et ungrand choix de modules hardwares</li>
<li>stack exchange Rpi</li>
</ul>
</aside>
</section>
<section>
<script class="fragment" type="text/javascript" src="https://ssl.gstatic.com/trends_nrtr/2051_RC11/embed_loader.js"></script>
<script type="text/javascript">
trends.embed.renderExploreWidget("TIMESERIES", {"comparisonItem":[{"keyword":"raspberry pi","geo":"US","time":"today 12-m"},{"keyword":"Orange Pi","geo":"US","time":"today 12-m"},{"keyword":"Banana Pi","geo":"US","time":"today 12-m"},{"keyword":"Rock64","geo":"US","time":"today 12-m"},{"keyword":"Odroid","geo":"US","time":"today 12-m"}],"category":0,"property":""}, {"exploreQuery":"geo=US&q=raspberry%20pi,Orange%20Pi,Banana%20Pi,Rock64,Odroid&date=today 12-m,today 12-m,today 12-m,today 12-m,today 12-m","guestPath":"https://trends.google.com:443/trends/embed/"});
</script>
</section>
<!-- Pourquoi ne pas l’utiliser ? -->
<section>
<h2>Pourquoi ne pas l'utiliser ? 👎</h2>
</section>
<section>
<ul>
<li>Performances</li>
<li class="fragment">🔥</li>
<li class="fragment">Carte SD</li>
</ul>
<aside class="notes">
<ul>
<li>Perfs :architecture ARM bloquante pour certains projets.</li>
<li>même si un gain de perfs assez notable entre chaque model de Rpi</li>
<li>Surchauffe car pas de ventilo, mais des ventilos compatibles sont dispos. (j'aurai aimé perso l'avoir de base car c'est très important qand même)</li>
<li>Carte SD : il faut investir dans une bonne SD si on est sur un projet qui nécessite bcp de dectures/écritures.</li>
<li>Comme tout bon serveur qui se respecte, il faut faire des backups.</li>
</ul>
</aside>
</section>
<section>
<h2>Conclusion</h2>
<aside class="notes">
<ul>
<li>Le Rpi est en fin de compte une très bonne alternative à un PC dans le contexte entreprise quand il s'agit de faire du prototyping de projet</li>
<li>Peut être utilisé en guise de serveur de démo</li>
<li>Montrer qu'une appli se déploie facilement (en faisant abstraction du temps de réponse) </li>
</ul>
</aside>
</section>
<section>
<h3>Liens utiles</h3>
</section>
<section>
<a href="https://projects.raspberrypi.org/en/ ">https://projects.raspberrypi.org/en/ </a>
<div class="stretch">
<iframe data-src="https://projects.raspberrypi.org/en/" width="110%" height="100%"></iframe>
</div>
</section>
<section>
<a href="https://awesome-rpi.netlify.com/">https://awesome-rpi.netlify.com/</a>
<div class="stretch">
<iframe style="background-color: azure;" data-src="https://awesome-rpi.netlify.com/" width="110%" height="100%"></iframe style="background-color: azure;" >
</div>
<aside class="notes">
<ul>
<li>Il ya de quoi s'amuser</li>
</ul>
</aside>
</section>
<section data-background="img/joker-stairs.gif">
<h2>THIS IS THE END</h2>
<h3>(Des questions ?)</h3>
</section>
</div>
</div>
<script src="js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
hash: true,
dependencies: [
{ src: 'plugin/markdown/marked.js' },
{ src: 'plugin/markdown/markdown.js' },
{ src: 'plugin/highlight/highlight.js' },
{ src: 'plugin/notes/notes.js', async: true }
]
});
</script>
</body>
</html>