Skip to content

Commit baddb7e

Browse files
authored
Finaliser la présentation du cours 03 (#29)
1 parent dcd0b40 commit baddb7e

File tree

7 files changed

+232
-92
lines changed

7 files changed

+232
-92
lines changed

01.03-projet-libre-(1-sur-8)/01-supports-de-cours/PRESENTATION.md

Lines changed: 34 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -205,58 +205,54 @@ A faire pour le prochain cours :
205205
- ✅ Mettre en place son environnement de travail collaboratif.
206206
- ✅ Se répartir le travail entre les différents membres du groupe.
207207

208+
### Jalon 3
209+
210+
- Tour de table - validation du travail effectué jusqu'à présent.
211+
- Réponses aux éventuels questions/besoins.
212+
213+
A faire pour le prochain cours :
214+
215+
- ✅ Avoir mis en place une base de données pour l'application.
216+
- ✅ Avoir une version déployée de l'application sur Internet.
217+
- ✅ Avoir commencé à implémenter les pages principales de l'application.
218+
208219
#### ProgServ2-A (mardi matin) (1/2)
209220

210221
| # | Groupe | Heure de passage |
211222
| --: | :------------------- | :--------------- |
212-
| 1 | Luca, Sacha, Ryad | 10h30 |
213-
| 2 | Pierre, Raul, Romain | 10h40 |
214-
| 3 | Inês, Rania | 10h50 |
215-
| 4 | Matteo, Ella, Aïdan | 11h00 |
216-
| 5 | Luka, Nabil, Mathias | 11h10 |
223+
| 1 | Pierre, Raul, Romain | 10h30 |
224+
| 2 | Léa, Grégory | 10h40 |
225+
| 3 | Lilou, Aissya | 10h50 |
226+
| 4 | Carla, Cindy, Steve | 11h00 |
227+
| 5 | Matteo, Ella, Aïdan | 11h10 |
217228

218229
#### ProgServ2-A (mardi matin) (2/2)
219230

220-
| # | Groupe | Heure de passage |
221-
| --: | :------------------ | :--------------- |
222-
| 6 | Carla, Cindy | 11h20 |
223-
| 7 | Marc, Ana, Charline | 11h30 |
224-
| 8 | Lilou, Aissya | 11h40 |
225-
| 9 | Léa, Grégory | 11h50 |
226-
227-
Steve..?
231+
| # | Groupe | Heure de passage |
232+
| --: | :------------------- | :--------------- |
233+
| 6 | Inês, Rania | 11h20 |
234+
| 7 | Luca, Sacha, Ryad | 11h30 |
235+
| 8 | Marc, Ana, Charline | 11h40 |
236+
| 9 | Luka, Nabil, Mathias | 11h50 |
228237

229238
#### ProgServ2-B (mardi après-midi) (1/2)
230239

231-
| # | Groupe | Heure de passage |
232-
| --: | :----------------------------------------- | :--------------- |
233-
| 1 | Sarah, Sasita, Enya | 14h30 |
234-
| 2 | Gabriel Cappai, Nuno Amaro, Tanguy Vaucher | 14h40 |
235-
| 3 | Thierry, Lilliana | 14h50 |
236-
| 4 | Dylan, Valentin | 15h00 |
237-
| 5 | Christophe, Loic | 15h10 |
238-
239-
#### ProgServ2-B (mardi après-midi) (2/2)
240-
241240
| # | Groupe | Heure de passage |
242241
| --: | :-------------------- | :--------------- |
243-
| 6 | Chloé, Benoît, Camilo | 15h20 |
244-
| 7 | Etienne, Teicir | 15h30 |
245-
| 8 | Inoé, Léa, Yannis | 15h40 |
246-
| 9 | Loann, Elia, Marike | 15h50 |
247-
248-
Loriane..?
249-
250-
### Jalon 3
251-
252-
- Tour de table - validation du travail effectué jusqu'à présent.
253-
- Réponses aux éventuels questions/besoins.
242+
| 1 | Chloé, Benoît, Camilo | 14h45 |
243+
| 2 | Gabriel, Nuno, Tanguy | 14h55 |
244+
| 3 | Inoé, Léa, Yannis | 15h05 |
245+
| 4 | Thierry, Lilliana | 15h15 |
246+
| 5 | Loann, Elia, Marike | 15h25 |
254247

255-
A faire pour le prochain cours :
248+
#### ProgServ2-B (mardi après-midi) (2/2)
256249

257-
- ✅ Avoir mis en place une base de données pour l'application.
258-
- ✅ Avoir une version déployée de l'application sur Internet.
259-
- ✅ Avoir commencé à implémenter les pages principales de l'application.
250+
| # | Groupe | Heure de passage |
251+
| --: | :------------------------ | :--------------- |
252+
| 6 | Christophe, Loic, Loriane | 15h35 |
253+
| 7 | Etienne, Teicir | 15h45 |
254+
| 8 | Sarah, Sasita, Enya | 15h55 |
255+
| 9 | Dylan, Valentin | 16h05 |
260256

261257
### Jalon 4
262258

01.03-projet-libre-(1-sur-8)/01-supports-de-cours/README.md

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -302,38 +302,6 @@ A faire pour le prochain cours :
302302
- [x] Mettre en place son environnement de travail collaboratif.
303303
- [x] Se répartir le travail entre les différents membres du groupe.
304304

305-
#### ProgServ2-A (mardi matin)
306-
307-
| # | Groupe | Heure de passage |
308-
| --: | :------------------- | :--------------- |
309-
| 1 | Luca, Sacha, Ryad | 10h30 |
310-
| 2 | Pierre, Raul, Romain | 10h40 |
311-
| 3 | Inês, Rania | 10h50 |
312-
| 4 | Matteo, Ella, Aïdan | 11h00 |
313-
| 5 | Luka, Nabil, Mathias | 11h10 |
314-
| 6 | Carla, Cindy | 11h20 |
315-
| 7 | Marc, Ana, Charline | 11h30 |
316-
| 8 | Lilou, Aissya | 11h40 |
317-
| 9 | Léa, Grégory | 11h50 |
318-
319-
Steve..?
320-
321-
#### ProgServ2-B (mardi après-midi)
322-
323-
| # | Groupe | Heure de passage |
324-
| --: | :----------------------------------------- | :--------------- |
325-
| 1 | Sarah, Sasita, Enya | 14h30 |
326-
| 2 | Gabriel Cappai, Nuno Amaro, Tanguy Vaucher | 14h40 |
327-
| 3 | Thierry, Lilliana | 14h50 |
328-
| 4 | Dylan, Valentin | 15h00 |
329-
| 5 | Christophe, Loic | 15h10 |
330-
| 6 | Chloé, Benoît, Camilo | 15h20 |
331-
| 7 | Etienne, Teicir | 15h30 |
332-
| 8 | Inoé, Léa, Yannis | 15h40 |
333-
| 9 | Loann, Elia, Marike | 15h50 |
334-
335-
Loriane..?
336-
337305
### Jalon 3
338306

339307
- Tour de table - validation du travail effectué jusqu'à présent.
@@ -345,6 +313,34 @@ A faire pour le prochain cours :
345313
- [x] Avoir une version déployée de l'application sur Internet.
346314
- [x] Avoir commencé à implémenter les pages principales de l'application.
347315

316+
#### ProgServ2-A (mardi matin)
317+
318+
| # | Groupe | Heure de passage |
319+
| --: | :------------------- | :--------------- |
320+
| 1 | Pierre, Raul, Romain | 10h30 |
321+
| 2 | Léa, Grégory | 10h40 |
322+
| 3 | Lilou, Aissya | 10h50 |
323+
| 4 | Carla, Cindy, Steve | 11h00 |
324+
| 5 | Matteo, Ella, Aïdan | 11h10 |
325+
| 6 | Inês, Rania | 11h20 |
326+
| 7 | Luca, Sacha, Ryad | 11h30 |
327+
| 8 | Marc, Ana, Charline | 11h40 |
328+
| 9 | Luka, Nabil, Mathias | 11h50 |
329+
330+
#### ProgServ2-B (mardi après-midi)
331+
332+
| # | Groupe | Heure de passage |
333+
| --: | :------------------------ | :--------------- |
334+
| 1 | Chloé, Benoît, Camilo | 14h45 |
335+
| 2 | Gabriel, Nuno, Tanguy | 14h55 |
336+
| 3 | Inoé, Léa, Yannis | 15h05 |
337+
| 4 | Thierry, Lilliana | 15h15 |
338+
| 5 | Loann, Elia, Marike | 15h25 |
339+
| 6 | Christophe, Loic, Loriane | 15h35 |
340+
| 7 | Etienne, Teicir | 15h45 |
341+
| 8 | Sarah, Sasita, Enya | 15h55 |
342+
| 9 | Dylan, Valentin | 16h05 |
343+
348344
### Jalon 4
349345

350346
- Tour de table - validation du travail effectué jusqu'à présent.

03.01-deploiement/01-supports-de-cours/PRESENTATION.md

Lines changed: 124 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,130 @@ _paginate: false
3939
_Cette présentation est un résumé du support de cours. Pour plus de détails,
4040
consultez le [support de cours][cours]._
4141

42-
## Objectifs (1/2)
42+
## Objectifs
4343

44-
- TODO
44+
- Déployer une application web PHP sur un serveur web.
45+
- Configurer un environnement de production sécurisé.
4546

4647
![bg right:40%][illustration-objectifs]
4748

49+
## Architecture typique d'une application web PHP
50+
51+
- Un serveur web pour gérer les requêtes HTTP.
52+
- Un interpréteur PHP pour exécuter le code PHP.
53+
- Une base de données pour stocker les données.
54+
- Un espace de stockage pour stocker les fichiers de l'application.
55+
56+
---
57+
58+
![bg h:85%](./images/architecture-typique-dune-application-web-php.png)
59+
60+
### Serveur web
61+
62+
- Gère les requêtes HTTP.
63+
- Distribue les ressources (fichiers HTML, CSS, JavaScript, images, etc.).
64+
- Exemples : Apache, Nginx.
65+
66+
![bg right:40% w:80%](https://upload.wikimedia.org/wikipedia/commons/1/10/Apache_HTTP_server_logo_%282019-present%29.svg)
67+
![bg right:40% w:80% vertical](https://upload.wikimedia.org/wikipedia/commons/c/c5/Nginx_logo.svg)
68+
69+
### Interpréteur PHP
70+
71+
- Exécute le code PHP.
72+
- Génère du contenu dynamique.
73+
- Communique avec la base de données.
74+
75+
![bg right:40% w:80%](https://upload.wikimedia.org/wikipedia/commons/2/27/PHP-logo.svg)
76+
77+
### Base de données
78+
79+
- Stocke les données de l'application.
80+
- Exemples : MySQL/MariaDB, PostgreSQL, SQLite.
81+
82+
![bg right:40% w:80%](https://www.sqlite.org/images/sqlite370_banner.svg)
83+
![bg right:40% w:80%](https://upload.wikimedia.org/wikipedia/fr/6/62/MySQL.svg)
84+
![bg vertical w:80%](https://mariadb.com/wp-content/uploads/2019/11/mariadb-horizontal-blue.svg)
85+
86+
### Espace de stockage
87+
88+
- Stocke les fichiers de l'application.
89+
- Exemples : FTP, SFTP, stockage en ligne.
90+
91+
![bg right:40% h:70%](https://upload.wikimedia.org/wikipedia/commons/0/01/FileZilla_logo.svg)
92+
![bg right:40% h:80% vertical](https://upload.wikimedia.org/wikipedia/commons/4/48/Cyberduck_icon.png)
93+
94+
## Hébergement
95+
96+
- Services pour héberger une application web PHP.
97+
- Fournit le serveur web, l'interpréteur PHP, la base de données et l'espace de
98+
stockage.
99+
- Exemples : Infomaniak, OVH, AWS, DigitalOcean.
100+
101+
![bg right:40% w:80%](https://upload.wikimedia.org/wikipedia/commons/f/f6/Logo_infomaniak_bleu.svg)
102+
![bg right:40% w:80%](https://upload.wikimedia.org/wikipedia/commons/4/45/Logo_OVH.svg)
103+
![bg right:40% h:80% vertical](https://upload.wikimedia.org/wikipedia/commons/f/ff/DigitalOcean_logo.svg)
104+
105+
### Infomaniak comme hébergeur
106+
107+
- Hébergeur suisse populaire.
108+
- Offre des services adaptés aux applications PHP.
109+
- Offre un programme étudiant pour des hébergements gratuits.
110+
111+
![bg right:40% w:80%](https://upload.wikimedia.org/wikipedia/commons/f/f6/Logo_infomaniak_bleu.svg)
112+
113+
## Déployer une application PHP
114+
115+
- Consiste à transférer les fichiers de l'application vers le serveur web.
116+
- Configurer l'environnement de production.
117+
118+
![bg right:40%][illustration-principale]
119+
120+
### Transfert via FTP/SFTP
121+
122+
- FTP (File Transfer Protocol) et SFTP (SSH File Transfer Protocol) sont des
123+
protocoles pour transférer des fichiers.
124+
- Nécessite un client FTP/SFTP (ex. FileZilla sur Windows/Linux ou Cyberduck sur
125+
macOS).
126+
- Utiliser les informations de connexion fournies par l'hébergeur.
127+
128+
![bg right:40% h:70%](https://upload.wikimedia.org/wikipedia/commons/0/01/FileZilla_logo.svg)
129+
![bg right:40% h:80% vertical](https://upload.wikimedia.org/wikipedia/commons/4/48/Cyberduck_icon.png)
130+
131+
## Sécuriser une application PHP
132+
133+
- Important pour protéger les données et les utilisateurs.
134+
- Mettre en place des mesures de sécurité.
135+
136+
![bg right:40%][illustration-securiser-une-application-php]
137+
138+
### Restreindre les accès grâce aux fichiers `.htaccess`
139+
140+
- Fichiers de configuration pour le serveur web Apache.
141+
- Permettent de restreindre l'accès à certains fichiers ou répertoires.
142+
- Utilisé pour protéger les fichiers sensibles (ex. fichiers de configuration,
143+
répertoires privés).
144+
145+
![bg right:40%][illustration-securiser-une-application-php]
146+
147+
### Utilisation de HTTPS
148+
149+
- HTTPS est une version sécurisée de HTTP.
150+
- Utilise SSL/TLS pour chiffrer les communications entre le client et le
151+
serveur.
152+
- Protège les données sensibles (ex. informations de connexion, données
153+
personnelles).
154+
- Infomaniak propose des certificats SSL gratuits via Let's Encrypt.
155+
156+
![bg right:40%][illustration-securiser-une-application-php]
157+
48158
## Conclusion
49159

50-
TODO
160+
- Le déploiement d'une application web PHP nécessite la compréhension de son
161+
architecture, le choix d'un hébergeur, le transfert des fichiers et la mise en
162+
place de mesures de sécurité.
163+
- Infomaniak est un bon choix pour héberger des applications PHP.
164+
165+
![bg right:40%][illustration-principale]
51166

52167
## Questions
53168

@@ -68,14 +183,17 @@ Est-ce que vous avez des questions ?
68183

69184
![bg right:40%][illustration-a-vous-de-jouer]
70185

71-
## Sources (1/2)
186+
## Sources
72187

73188
- [Illustration principale][illustration-principale] par
74189
[Richard Jacobs](https://unsplash.com/@rj2747) sur
75190
[Unsplash](https://unsplash.com/photos/grayscale-photo-of-elephants-drinking-water-8oenpCXktqQ)
76191
- [Illustration][illustration-objectifs] par
77192
[Aline de Nadai](https://unsplash.com/@alinedenadai) sur
78193
[Unsplash](https://unsplash.com/photos/j6brni7fpvs)
194+
- [Illustration][illustration-securiser-une-application-php] par
195+
[John Salvino](https://unsplash.com/@jsalvino) sur
196+
[Unsplash](https://unsplash.com/photos/gray-steel-chain-locked-on-gate-bqGBbLq_yfc)
79197
- [Illustration][illustration-a-vous-de-jouer] par
80198
[Nikita Kachanovsky](https://unsplash.com/@nkachanovskyyy) sur
81199
[Unsplash](https://unsplash.com/photos/white-sony-ps4-dualshock-controller-over-persons-palm-FJFPuE1MAOM)
@@ -93,5 +211,7 @@ Est-ce que vous avez des questions ?
93211
https://images.unsplash.com/photo-1517486430290-35657bdcef51?fit=crop&h=720
94212
[illustration-objectifs]:
95213
https://images.unsplash.com/photo-1516389573391-5620a0263801?fit=crop&h=720
214+
[illustration-securiser-une-application-php]:
215+
https://images.unsplash.com/photo-1508345228704-935cc84bf5e2?fit=crop&h=720
96216
[illustration-a-vous-de-jouer]:
97217
https://images.unsplash.com/photo-1509198397868-475647b2a1e5?fit=crop&h=720

03.01-deploiement/01-supports-de-cours/README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Ce travail est sous licence [CC BY-SA 4.0][licence].
1212
- Autres formes du support de cours :
1313
[Presentation (web)](https://heig-vd-progserv-course.github.io/heig-vd-progserv2-course/03.01-deploiement/01-supports-de-cours/index.html)
1414
·
15-
[Presentation (PDF)](https://heig-vd-progserv-course.github.io/heig-vd-progserv2-course/03.01-deploiement/01-supports-de-cours/03.01-deploiement-presentation.pdf)
15+
[Presentation (PDF)](https://heig-vd-progserv-course.github.io/heig-vd-progserv2-course/03.01-deploiement/01-supports-de-cours/03.01-deploiement-presentation.pdf)traefik.nortalle.ch
1616
- Exemples de code : [Lien vers le contenu](../02-exemples-de-code/)
1717
- Exercices : [Lien vers le contenu](../03-exercices/README.md)
1818

@@ -31,8 +31,8 @@ Ce travail est sous licence [CC BY-SA 4.0][licence].
3131
- [Déployer une application PHP](#déployer-une-application-php)
3232
- [Transfert via FTP/SFTP](#transfert-via-ftpsftp)
3333
- [Sécuriser une application PHP](#sécuriser-une-application-php)
34-
- [Utilisation de HTTPS](#utilisation-de-https)
3534
- [Restreindre les accès grâce aux fichiers `.htaccess`](#restreindre-les-accès-grâce-aux-fichiers-htaccess)
35+
- [Utilisation de HTTPS](#utilisation-de-https)
3636
- [Conclusion](#conclusion)
3737
- [Exemples de code](#exemples-de-code)
3838
- [Exercices](#exercices)
@@ -50,7 +50,7 @@ suivants :
5050
- Un serveur web (comme Apache ou Nginx) pour gérer les requêtes HTTP.
5151
- Un interpréteur PHP pour exécuter le code PHP.
5252
- Une base de données (comme MySQL ou PostgreSQL) pour stocker les données.
53-
- Un système de fichiers pour stocker les fichiers de l'application.
53+
- Un espace de stockage pour stocker les fichiers de l'application.
5454

5555
![Architecture client-serveur avec PHP](https://github.com/heig-vd-progserv-course/heig-vd-progserv1-course/raw/main/01-modalites-de-lunite-denseignement-et-introduction-a-php/01-theorie/images/architecture-client-serveur-avec-php.png)
5656

@@ -139,6 +139,16 @@ La sécurité est un aspect crucial du déploiement d'une application web PHP. I
139139
est important de mettre en place des mesures de sécurité pour protéger
140140
l'application et les données des utilisateurs.
141141

142+
### Restreindre les accès grâce aux fichiers `.htaccess`
143+
144+
Les fichiers `.htaccess` sont des fichiers de configuration utilisés par le
145+
serveur web Apache. Ils permettent de définir des règles de configuration
146+
spécifiques pour un répertoire donné.
147+
148+
Les fichiers `.htaccess` peuvent être utilisés pour restreindre l'accès à
149+
certaines parties de l'application, rediriger les requêtes, configurer les pages
150+
d'erreur personnalisées, etc.
151+
142152
### Utilisation de HTTPS
143153

144154
HTTPS (Hypertext Transfer Protocol Secure) est une version sécurisée du
@@ -153,16 +163,6 @@ chiffrées, ce qui empêche les attaquants d'intercepter et de lire ces données
153163
Infomaniak propose des certificats gratuits, ce qui facilite la mise en place de
154164
sites web sécurisés.
155165

156-
### Restreindre les accès grâce aux fichiers `.htaccess`
157-
158-
Les fichiers `.htaccess` sont des fichiers de configuration utilisés par le
159-
serveur web Apache. Ils permettent de définir des règles de configuration
160-
spécifiques pour un répertoire donné.
161-
162-
Les fichiers `.htaccess` peuvent être utilisés pour restreindre l'accès à
163-
certaines parties de l'application, rediriger les requêtes, configurer les pages
164-
d'erreur personnalisées, etc.
165-
166166
## Conclusion
167167

168168
Le déploiement d'une application web PHP sur un serveur web nécessite la

0 commit comments

Comments
 (0)