-
Notifications
You must be signed in to change notification settings - Fork 0
/
internet-debug-php-mysql.html
476 lines (443 loc) · 51.6 KB
/
internet-debug-php-mysql.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
473
474
475
476
<!DOCTYPE HTML>
<!--
Twenty by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Scripts et astuces de débogage PHP, MySQL, maíl()</title>
<link rel="alternate" type="application/rss+xml" href="https://silomia.github.io/rss.xml" title="Silomia">
<link rel="alternate" type="application/rss+xml" href="https://silomia.github.io/en-rss.xml" title="Silomia English">
<link rel="alternate" hreflang="fr" href="https://silomia.github.io/internet-debug-php-mysql.html">
<link rel="alternate" hreflang="en" href="https://silomia.github.io/en-internet-debug-php-mysql.html">
<link rel="canonical" href="https://silomia.gitlab.io/internet-debug-php-mysql.html">
<link rel="preload" href="css/styles.min.css" as="style">
<link rel="preload" href="js/script.min.js" as="script">
<link rel="preload" href="fonts/silomia-inter-light.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="fonts/silomia-inter-menu.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="fonts/silomia-inter-semibold.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="fonts/silomia-symbol.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="192x192" href="favicon-touch-192x192.png">
<link rel="icon" type="image/png" sizes="144x144" href="favicon.png">
<link rel="manifest" href="manifest.json">
<link rel="mask-icon" href="magnolia-silomia-carre.svg" color="#ab2bab">
<meta name="apple-mobile-web-app-title" content="Silomia">
<meta name="application-name" content="Silomia">
<meta name="theme-color" content="#ffffff">
<meta property="og:title" content="Scripts et astuces de débogage PHP, MySQL, maíl()">
<meta property="og:locale" content="fr">
<meta property="og:site_name" content="Silomia">
<meta property="og:type" content="article">
<meta property="og:image" content="https://silomia.github.io/images/carte-mere-ordinateur.jpg">
<meta property="og:url" content="https://silomia.github.io/internet-debug-php-mysql.html">
<meta name="viewport" content="width=device-width initial-scale=1.0 maximum-scale=1.0 user-scalable=no">
<script type="application/ld+json">
{"@context":"http://schema.org/","@type":"Article","author":{"@type":"Person","name":"Ralph Davidovits"},"publisher":{"@type":"Organization","name":"Silomia","logo":{"@type":"ImageObject","url": "https://silomia.github.io/favicon-touch-192x192.png"}},
"datePublished":"2021-06-21","dateModified":"2024-07-15",
"headline":"Scripts et astuces de débogage PHP, MySQL, maíl()",
"image":["https://silomia.github.io/images/carte-mere-ordinateur.jpg"],
"mainEntityOfPage":{"@type":"WebPage","@id":"https://silomia.github.io/internet.html"}
}
</script>
<style media="screen">@media screen and (prefers-color-scheme:dark){body{color:silver;background-color:#151515}}a,article,body,div,em,footer,header,html,img,li,picture,section,span,strong{margin:0;padding:0;border:0}h1,h2,h3,h4,p,ul{padding:0;border:0}article,footer,header,section{display:block}.container{margin-left:auto;margin-right:auto;width:1300px}*,.row,.row>*,::after,::before{box-sizing:border-box}.row{border-bottom:solid 1px transparent;margin:-50px 0-1px -50px}.row>*{float:left;padding:50px 0 0 50px}.row::after,.row::before{content:"";display:block;clear:both;height:0}.\34 u,.\34 u\$,.\36 u,.\38 u{width:33.3333333333%;clear:none;margin-left:0}.\36 u,.\38 u{width:50%}.row.\31 50\%>*{padding:75px 0 0 75px}.row.\31 50\%{margin:-75px 0-1px -75px}.\38 u{width:66.6666666667%}body{font-family:"Inter",-apple-system,system-ui,sans-serif;font-weight:300;letter-spacing:.02em;line-height:1.65em}a{text-decoration:none;border-bottom:dotted 1px}h1,h2,h3,h4,strong{font-weight:600}em{font-style:italic}blockquote,p,ul{margin:0 0 2em}h1,h2,h3,h4{color:inherit;line-height:1.75em;margin:.7em 0;text-transform:uppercase;letter-spacing:normal}h1{font-size:1.4em}h2,h3{font-size:1.15em}blockquote{font-style:italic;padding:1em 0 1em 2em}body,section{font-size:14pt}section.special{text-align:center}header.major{padding-bottom:2em}header.special{margin-bottom:4em;padding-top:5.5em;position:relative;text-align:center}header.special::after,header.special::before{border-bottom:solid 1.5px;border-top:solid 1.5px;content:"";height:7px;opacity:.1;position:absolute;top:1.75em;width:43%}header.special::before{left:0}header.special::after{right:0}header.special h1{margin-bottom:0;font-weight:300}header.special h1+p{margin-bottom:0;padding-top:1.5em}header.special .icon{height:7em;left:0;position:absolute;text-align:center;top:1em;width:100%}header.special .icon::before{font-size:3.5em;opacity:.35}footer>:last-child{margin-bottom:0}picture{min-height:100px}#main{padding:7em 0}body.index #main{padding-top:5em}.mh-head .mh-text{display:block}.mh-head.mh-align-right .mh-text{text-align:right}.image.featured img,picture.image.featured{display:block;margin:0 0 2em;width:100%;min-height:200px}.wrapper{margin-bottom:5em;padding:5em}.wrapper.style3,.wrapper.style4{color:inherit;border-radius:5px}.wrapper.style4{padding:4em}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.icon{text-decoration:none;position:relative}.icon::before{font-style:normal;font-weight:400;text-transform:none!important}.mm-menu_offcanvas:not(.mm-menu_opened){display:none}@media screen and (min-width:1900px){.container{width:1400px}body,section{font-size:16pt}}@media screen and (max-width:1680px){.container{width:1200px}.row>*{padding:40px 0 0 40px}.row{margin:-40px 0-1px -40px}.row.\31 50\%>*{padding:60px 0 0 60px}.row.\31 50\%{margin:-60px 0-1px -60px}#main .sidebar section{margin:3em 0 0;padding:3em 0 0}#main .sidebar section:first-child{border-top-width:0;padding-top:0;margin-top:0}body{font-size:14pt}section{font-size:12.5pt}}@media screen and (max-width:1280px){.container{width:960px}.row>*{padding:40px 0 0 40px}.row{margin:-40px 0-1px -40px}.row.\31 50\%>*{padding:60px 0 0 60px}.row.\31 50\%{margin:-60px 0-1px -60px}#main .sidebar section{margin:3em 0 0;padding:3em 0 0}#main .sidebar section:first-child{border-top-width:0;padding-top:0;margin-top:0}body{font-size:13pt;line-height:1.65em}section{font-size:12pt}h1,h2,h3,h4{line-height:1.5em}.wrapper{margin-bottom:4em;padding:4em 3em}.wrapper.style4{padding:3em}}@media screen and (max-width:980px){.container{width:95%}.row>*{padding:30px 0 0 30px}.row{margin:-30px 0-1px -30px}.row.\31 50\%>*{padding:45px 0 0 45px}.row.\31 50\%{margin:-45px 0-1px -45px}body{font-size:13pt;line-height:1.55em}section{font-size:12.5pt}header.special{padding-left:2.5em;padding-right:2.5em}.wrapper{margin-bottom:3em;padding:3em 2.5em}.wrapper.style4{padding:2.5em}}@media screen and (max-width:840px){.container{width:95%!important}.row>*{padding:30px 0 0 30px}.row{margin:-30px 0-1px -30px}.row.\31 50\%>*{padding:45px 0 0 45px}.row.\31 50\%{margin:-45px 0-1px -45px}.\31 2u\28narrower\29 {width:100%;clear:none;margin-left:0}body,html{font-size:14pt}section{font-size:13pt;margin:1em 0}h1{font-size:1.25em;letter-spacing:-.02em}h2,h3{font-size:1.05em;letter-spacing:.002em}header.special{margin-bottom:4em;padding-top:5em}header.special::after,header.special::before{width:40%}header.special h1+p{padding-top:1.25em;letter-spacing:-.01em}section:first-child{margin-top:0}.wrapper.style4{padding-bottom:3em}#main{padding:5em 0}}@media screen and (max-width:730px){.container{width:100%!important}.row>*{padding:30px 0 0 30px}.row{margin:-30px 0-1px -30px}.row.\31 50\%>*{padding:45px 0 0 45px}.row.\31 50\%{margin:-45px 0-1px -45px}body{min-width:320px;font-size:14pt;letter-spacing:.01em}section{font-size:13.5pt}h1{font-size:1.25em}h2,h3{font-size:1em}header,header p{text-align:center}header.special{margin-bottom:3em;padding-left:1.5em;padding-right:1.5em}header.special::after,header.special::before{width:38%}header.special .icon{font-size:.75em;top:1.5em}.image.featured img,picture.image.featured{min-height:100px}.wrapper{margin-bottom:2.5em;padding:2.25em 1.5em}.wrapper.style4{background-size:10em;padding:1.5em 1.5em 3em}#main{padding:3.5em 0 2.5em}}@media screen and (max-width:360px){body{font-size:14pt}section{font-size:13pt}}</style>
</head>
<body class="right-sidebar" onerror="ers()">
<div id="page-wrapper">
<!-- Header -->
<header id="header" role="banner" class="mh-head mh-align-right">
<span class="mh-btns-left"><a class="mburger mburger--squeeze" href="#my-menu"><b></b> <b></b> <b></b> <span class="mburger-label">Menu</span></a></span>
<span class="icon fa-magnolia mh-logo"></span>
<span class="mh-text slogan">Par le chemin des mots, <strong> toucher la lumière.</strong></span>
</header>
<!-- Main -->
<article id="main">
<header class="special container">
<span class="icon fa-code"></span>
<h1>Scripts et astuces pour <strong>débugger du code</strong> PHP, connexion MySQL et mail()</h1>
<p>Quand on cherche le bug, on le trouve.</p>
</header>
<!-- One -->
<section class="wrapper style4 container">
<div class="row 150%">
<div class="8u 12u(narrower)">
<!-- Content -->
<div class="content">
<section>
<picture class="image featured">
<source type="image/avif" media="(max-width: 415px)" srcset="images/carte-mere-ordinateur@1x.avif">
<source type="image/avif" media="(min-width: 416px)" srcset="images/carte-mere-ordinateur@1x.avif 1x, images/carte-mere-ordinateur.avif 2x">
<source media="(max-width: 415px)" srcset="images/carte-mere-ordinateur@1x.jpg">
<source media="(min-width: 416px)" srcset="images/carte-mere-ordinateur@1x.jpg 1x, images/carte-mere-ordinateur.jpg 2x">
<img src="images/carte-mere-ordinateur@1x.jpg" alt="Carte mère d'ordinateur. Crédit photo: Gigabyte">
</picture>
<header>
<h2><span class="icon fa-map-marker fa-lg"></span> Activer le rapport d'erreurs PHP</h2>
</header>
<p>Vous allez avoir un rapport d'erreur extrêmement détaillé avec le contenu de toutes les variables. Coller le code ci-dessus en début de votre script, juste après “<?php”</p>
<span class="smallfont">Activation rapport d'erreurs PHP</span>
<!-- HTML generated using hilite.me --><div class="smallfont code" style="overflow:auto;width:auto;padding:.2em .6em;"><pre style="margin: 0; line-height: 125%"><span style="color: #BC7A00"><?php</span>
<span style="color: #008000">error_reporting</span>(<span style="color: #008000; font-weight: bold">E_ALL</span>); <span style="color: #408080; font-style: italic">// Activer le rapport d'erreurs PHP. On peut ignorer cette ligne si on utilise PHP 8.2 et plus</span>
<span style="color: #19177C">$variables</span> <span style="color: #666666">=</span> <span style="color: #008000">get_defined_vars</span>(); <span style="color: #408080; font-style: italic">// Donne le contenu et les valeurs de toutes les variables dans la portée actuelle</span>
<span style="color: #19177C">$var_ignore</span> <span style="color: #666666">=</span> <span style="color: #008000; font-weight: bold">array</span>(<span style="color: #BA2121">"GLOBALS"</span>, <span style="color: #BA2121">"_ENV"</span>, <span style="color: #BA2121">"_SERVER"</span>); <span style="color: #408080; font-style: italic">// Détermine les var à ne pas afficher</span>
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"<strong>État des variables à la ligne : "</span> <span style="color: #666666">.</span> <span style="color: #008000; font-weight: bold">__LINE__</span> <span style="color: #666666">.</span> <span style="color: #BA2121">" dans le fichier : "</span> <span style="color: #666666">.</span> <span style="color: #008000; font-weight: bold">__FILE__</span> <span style="color: #666666">.</span> <span style="color: #BA2121">"</strong><br /></span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
<span style="color: #19177C">$nom_fonction</span> <span style="color: #666666">=</span> __FUNCTION__;
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #19177C">$nom_fonction</span> <span style="color: #666666">!==</span> <span style="color: #BA2121">''</span>) { <span style="color: #408080; font-style: italic">// Vérifie si __FUNCTION__ n'est pas vide</span>
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"<strong>Dans la fonction : </span><span style="color: #BB6688; font-weight: bold">$nom_fonction</span><span style="color: #BA2121"></strong><br /></span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
} <span style="color: #008000; font-weight: bold">else</span> {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"<strong>En dehors d'une fonction :</strong><br /></span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
<span style="color: #008000; font-weight: bold">foreach</span> (<span style="color: #19177C">$variables</span> <span style="color: #008000; font-weight: bold">as</span> <span style="color: #19177C">$key</span> <span style="color: #666666">=></span> <span style="color: #19177C">$value</span>) {
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span><span style="color: #008000">in_array</span>(<span style="color: #19177C">$key</span>, <span style="color: #19177C">$var_ignore</span>) <span style="color: #666666">&&</span> str_contains(<span style="color: #19177C">$key</span>, <span style="color: #BA2121">"HTTP"</span>) <span style="color: #666666">===</span> <span style="color: #008000; font-weight: bold">false</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"<pre>"</span>;
<span style="color: #008000; font-weight: bold">echo</span> (<span style="color: #BA2121">"$"</span> <span style="color: #666666">.</span> <span style="color: #19177C">$key</span> <span style="color: #666666">.</span> <span style="color: #BA2121">" => "</span>);
<span style="color: #008000">print_r</span>(<span style="color: #19177C">$value</span>);
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"</pre></span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
}
</pre></div>
<header>
<h3>Vérifier la connexion à sa base de données MySQL</h3>
</header>
<p>Créez un fichier que vous appellerez par exemple <em>debug_mysql.php</em>, puis placez-le dans votre hébergement. Renseignez les paramètres relatifs à la connexion à votre base de données MySQL. Si le script dit qu'il existe une entrée et qu'elle contient “Anne NONYME”, alors vous n'avez aucun problème de connexion.</p>
<p>Vous pouvez prendre ce fichier PHP ici: <a href="depot/sql-test.zip">sql-test.zip (1,8 Ko)</a></p>
<span class="smallfont">Débogage connexion base MySQL:</span>
<!-- HTML generated using hilite.me --><div class="smallfont code" style="overflow:auto;width:auto;height:40em;padding:.2em .6em;"><pre style="margin: 0; line-height: 125%"><span style="color: #BC7A00"><?php</span>
<span style="color: #408080; font-style: italic">/* Créé par "Abogil", créer un fichier debug.php */</span>
<span style="color: #408080; font-style: italic">// Activer la journalisation des erreurs PHP</span>
<span style="color: #008000">error_reporting</span>(<span style="color: #008000; font-weight: bold">E_ALL</span>);
<span style="color: #408080; font-style: italic">// ****** Configuration Début ******</span>
<span style="color: #19177C">$DBhost</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"serveur"</span>; <span style="color: #408080; font-style: italic">// Adresse du serveur SQL</span>
<span style="color: #19177C">$DBName</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"nom"</span>; <span style="color: #408080; font-style: italic">// Nom de la base de données SQL</span>
<span style="color: #19177C">$DBowner</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"identifiant"</span>; <span style="color: #408080; font-style: italic">// Login du serveur SQL</span>
<span style="color: #19177C">$DBpw</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"motdepasse"</span>; <span style="color: #408080; font-style: italic">// Mot de passe du serveur SQL</span>
<span style="color: #408080; font-style: italic">// ****** Configuration Fin ******</span>
<span style="color: #008000; font-weight: bold">try</span> {
<span style="color: #408080; font-style: italic">// Connecter à la base de données</span>
<span style="color: #19177C">$fh_db</span> <span style="color: #666666">=</span> <span style="color: #008000">mysqli_connect</span>(<span style="color: #19177C">$DBhost</span>, <span style="color: #19177C">$DBowner</span>, <span style="color: #19177C">$DBpw</span>, <span style="color: #19177C">$DBName</span>);
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span><span style="color: #19177C">$fh_db</span>) {
<span style="color: #008000; font-weight: bold">throw</span> <span style="color: #008000; font-weight: bold">new</span> Exception(
<span style="color: #BA2121">"Erreur de connexion à la base de données : "</span> <span style="color: #666666">.</span>
mysqli_connect_error(),
);
} <span style="color: #008000; font-weight: bold">else</span> {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"1- Connexion à la base de données = <strong> OK </strong> <br /></span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
} <span style="color: #008000; font-weight: bold">catch</span> (Exception <span style="color: #19177C">$e</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"1- Erreur connexion à la base de données = <strong>"</span> <span style="color: #666666">.</span>
<span style="color: #19177C">$e</span><span style="color: #666666">-></span><span style="color: #7D9029">getMessage</span>() <span style="color: #666666">.</span>
<span style="color: #BA2121">"</strong> <br /> <br /></span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
<span style="color: #008000; font-weight: bold">try</span> {
<span style="color: #408080; font-style: italic">// Selectionner la base de données</span>
<span style="color: #19177C">$sel</span> <span style="color: #666666">=</span> mysqli_select_db(<span style="color: #19177C">$fh_db</span>, <span style="color: #19177C">$DBName</span>);
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span><span style="color: #19177C">$sel</span>) {
<span style="color: #008000; font-weight: bold">throw</span> <span style="color: #008000; font-weight: bold">new</span> Exception(
<span style="color: #BA2121">"Erreur de sélection de la base de données : "</span> <span style="color: #666666">.</span>
mysqli_error(<span style="color: #19177C">$fh_db</span>),
);
} <span style="color: #008000; font-weight: bold">else</span> {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"2- Accès à la base de données </span><span style="color: #BB6688; font-weight: bold">$DBName</span><span style="color: #BA2121"> = <strong> OK </strong> <br /></span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
} <span style="color: #008000; font-weight: bold">catch</span> (Exception <span style="color: #19177C">$e</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"2- Erreur accès à la base de données </span><span style="color: #BB6688; font-weight: bold">$DBName</span><span style="color: #BA2121"> = <strong>"</span> <span style="color: #666666">.</span>
<span style="color: #19177C">$e</span><span style="color: #666666">-></span><span style="color: #7D9029">getMessage</span>() <span style="color: #666666">.</span>
<span style="color: #BA2121">"</strong> <br /> <br /></span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
<span style="color: #408080; font-style: italic">// Création de la table Tab_test_DB</span>
<span style="color: #19177C">$sql_query</span> <span style="color: #666666">=</span>
<span style="color: #BA2121">"CREATE TABLE `Tab_test_DB` ( `Id` int(11) NOT NULL auto_increment, `NOM` varchar(32) NOT NULL default '', `PRENOM` varchar(32) NOT NULL default '', PRIMARY KEY (`Id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8"</span>; <span style="color: #408080; font-style: italic">// Requête</span>
<span style="color: #008000; font-weight: bold">try</span> {
<span style="color: #408080; font-style: italic">// Executer la requête</span>
<span style="color: #19177C">$result_query</span> <span style="color: #666666">=</span> mysqli_query(<span style="color: #19177C">$fh_db</span>, <span style="color: #19177C">$sql_query</span>); <span style="color: #408080; font-style: italic">// Exécution de la requête</span>
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span><span style="color: #19177C">$result_query</span>) {
<span style="color: #008000; font-weight: bold">throw</span> <span style="color: #008000; font-weight: bold">new</span> Exception(
<span style="color: #BA2121">"Erreur de création de la table : "</span> <span style="color: #666666">.</span> mysqli_error(<span style="color: #19177C">$fh_db</span>),
);
} <span style="color: #008000; font-weight: bold">else</span> {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"3- Création de la table Tab_test_DB =<strong> OK </strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
} <span style="color: #008000; font-weight: bold">catch</span> (Exception <span style="color: #19177C">$e</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"3- Erreur création de la table </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">sql_query=<strong></span><span style="color: #BB6688; font-weight: bold">$sql_query</span><span style="color: #BA2121"></strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">result_query=<strong>"</span> <span style="color: #666666">.</span>
<span style="color: #19177C">$e</span><span style="color: #666666">-></span><span style="color: #7D9029">getMessage</span>() <span style="color: #666666">.</span>
<span style="color: #BA2121">"</strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
<span style="color: #408080; font-style: italic">// Ajout d'un enregistrement</span>
<span style="color: #19177C">$sql_query</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"INSERT INTO `Tab_test_DB` values ('','NONYME','Anne')"</span>; <span style="color: #408080; font-style: italic">// Requête</span>
<span style="color: #008000; font-weight: bold">try</span> {
<span style="color: #408080; font-style: italic">// Executer la requête</span>
<span style="color: #19177C">$result_query</span> <span style="color: #666666">=</span> mysqli_query(<span style="color: #19177C">$fh_db</span>, <span style="color: #19177C">$sql_query</span>); <span style="color: #408080; font-style: italic">// Exécution de la requête</span>
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span><span style="color: #19177C">$result_query</span>) {
<span style="color: #008000; font-weight: bold">throw</span> <span style="color: #008000; font-weight: bold">new</span> Exception(
<span style="color: #BA2121">'Erreur d\'ajout d\'enregistrement : '</span> <span style="color: #666666">.</span> mysqli_error(<span style="color: #19177C">$fh_db</span>),
);
} <span style="color: #008000; font-weight: bold">else</span> {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"4- Ajout d'un enregistrement =<strong> OK </strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
} <span style="color: #008000; font-weight: bold">catch</span> (Exception <span style="color: #19177C">$e</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"4- Erreur ajout de valeur </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">sql_query=<strong></span><span style="color: #BB6688; font-weight: bold">$sql_query</span><span style="color: #BA2121"></strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">result_query=<strong>"</span> <span style="color: #666666">.</span>
<span style="color: #19177C">$e</span><span style="color: #666666">-></span><span style="color: #7D9029">getMessage</span>() <span style="color: #666666">.</span>
<span style="color: #BA2121">"</strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
<span style="color: #408080; font-style: italic">// Sélection dans la table Tab_test_DB</span>
<span style="color: #19177C">$sql_query</span> <span style="color: #666666">=</span>
<span style="color: #BA2121">"SELECT Id, NOM, PRENOM FROM `Tab_test_DB` WHERE NOM LIKE 'NONYME'"</span>; <span style="color: #408080; font-style: italic">// Requête</span>
<span style="color: #008000; font-weight: bold">try</span> {
<span style="color: #408080; font-style: italic">// Executer la requête</span>
<span style="color: #19177C">$result_query</span> <span style="color: #666666">=</span> mysqli_query(<span style="color: #19177C">$fh_db</span>, <span style="color: #19177C">$sql_query</span>); <span style="color: #408080; font-style: italic">// Exécution de la requête</span>
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span><span style="color: #19177C">$result_query</span>) {
<span style="color: #008000; font-weight: bold">throw</span> <span style="color: #008000; font-weight: bold">new</span> Exception(
<span style="color: #BA2121">"Erreur de sélection des données : "</span> <span style="color: #666666">.</span> mysqli_error(<span style="color: #19177C">$fh_db</span>),
);
} <span style="color: #008000; font-weight: bold">else</span> {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"5- La colonne <strong>NOM</strong> contenant la valeur <strong>NONYME</strong> a été trouvée. <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
} <span style="color: #008000; font-weight: bold">catch</span> (Exception <span style="color: #19177C">$e</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"5- Erreur de sélection de valeur </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">sql_query=<strong></span><span style="color: #BB6688; font-weight: bold">$sql_query</span><span style="color: #BA2121"></strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">result_query=<strong>"</span> <span style="color: #666666">.</span>
<span style="color: #19177C">$e</span><span style="color: #666666">-></span><span style="color: #7D9029">getMessage</span>() <span style="color: #666666">.</span>
<span style="color: #BA2121">"</strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
<span style="color: #19177C">$sql_query</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"SELECT Id, NOM, PRENOM FROM `Tab_test_DB` ORDER BY NOM"</span>; <span style="color: #408080; font-style: italic">// Requête</span>
<span style="color: #008000; font-weight: bold">try</span> {
<span style="color: #408080; font-style: italic">// Executer la requête</span>
<span style="color: #19177C">$result_query</span> <span style="color: #666666">=</span> mysqli_query(<span style="color: #19177C">$fh_db</span>, <span style="color: #19177C">$sql_query</span>); <span style="color: #408080; font-style: italic">// Exécution de la requête</span>
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span><span style="color: #19177C">$result_query</span>) {
<span style="color: #008000; font-weight: bold">throw</span> <span style="color: #008000; font-weight: bold">new</span> Exception(
<span style="color: #BA2121">"Erreur de sélection des données : "</span> <span style="color: #666666">.</span> mysqli_error(<span style="color: #19177C">$fh_db</span>),
);
}
<span style="color: #19177C">$result_count_row_get</span> <span style="color: #666666">=</span> mysqli_num_rows(<span style="color: #19177C">$result_query</span>);
} <span style="color: #008000; font-weight: bold">catch</span> (Exception <span style="color: #19177C">$e</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"5- Erreur de sélection de colonne </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">sql_query=<strong></span><span style="color: #BB6688; font-weight: bold">$sql_query</span><span style="color: #BA2121"></strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">result_query=<strong>"</span> <span style="color: #666666">.</span>
<span style="color: #19177C">$e</span><span style="color: #666666">-></span><span style="color: #7D9029">getMessage</span>() <span style="color: #666666">.</span>
<span style="color: #BA2121">"</strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"5- Nombre de résultats trouvés = <strong></span><span style="color: #BB6688; font-weight: bold">$result_count_row_get</span><span style="color: #BA2121"></strong> [doit être égal à 1]<br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
mysqli_free_result(<span style="color: #19177C">$result_query</span>);
<span style="color: #408080; font-style: italic">// Suppression de la table Tab_test_DB</span>
<span style="color: #19177C">$sql_query</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"DROP TABLE IF EXISTS `Tab_test_DB`"</span>; <span style="color: #408080; font-style: italic">// Requête</span>
<span style="color: #008000; font-weight: bold">try</span> {
<span style="color: #408080; font-style: italic">// Executer la requête</span>
<span style="color: #19177C">$result_query</span> <span style="color: #666666">=</span> mysqli_query(<span style="color: #19177C">$fh_db</span>, <span style="color: #19177C">$sql_query</span>); <span style="color: #408080; font-style: italic">// Exécution de la requête</span>
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span><span style="color: #19177C">$result_query</span>) {
<span style="color: #008000; font-weight: bold">throw</span> <span style="color: #008000; font-weight: bold">new</span> Exception(
<span style="color: #BA2121">"Erreur de suppression de la table : "</span> <span style="color: #666666">.</span> mysqli_error(<span style="color: #19177C">$fh_db</span>),
);
} <span style="color: #008000; font-weight: bold">else</span> {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"6- Suppression de la table Tab_test_DB =<strong> OK </strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
} <span style="color: #008000; font-weight: bold">catch</span> (Exception <span style="color: #19177C">$e</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">"6- Erreur suppression de la table </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">sql_query=<strong></span><span style="color: #BB6688; font-weight: bold">$sql_query</span><span style="color: #BA2121"></strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\$</span><span style="color: #BA2121">result_query=<strong>"</span> <span style="color: #666666">.</span>
<span style="color: #19177C">$e</span><span style="color: #666666">-></span><span style="color: #7D9029">getMessage</span>() <span style="color: #666666">.</span>
<span style="color: #BA2121">"</strong> <br /> </span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
<span style="color: #408080; font-style: italic">// Fermeture de la connexion</span>
mysqli_close(<span style="color: #19177C">$fh_db</span>);
<span style="color: #BC7A00">?></span>
</pre></div>
<hr>
<header>
<h3>Tester l'envoi de message via la fonction mail()</h3>
</header>
<p>Il arrive parfois que les messages n'arrivent pas. Soit ils ne sont pas envoyés car le serveur est en panne, soit ils sont perdus quelque part, soit le script est mal programmé. Voici un script PHP qui fonctionne, il vous aidera à tester la situation. Créez un fichier <em>courrier.php</em> et copiez le code ci-dessous.</p>
<p>Vous pouvez prendre ce fichier PHP ici: <a href="depot/courrier-test.zip">courrier-test.zip (1,3 Ko)</a></p>
<span class="smallfont">Test fonction mail()</span>
<!-- HTML generated using hilite.me --><div class="smallfont code" style="overflow:auto;width:auto;height:40em;padding:.2em .6em;"><pre style="margin: 0; line-height: 125%"><span style="color: #BC7A00"><?php</span>
<span style="color: #408080; font-style: italic">// TEST FONCTION MAIL() PHP</span>
<span style="color: #408080; font-style: italic">// CREEZ UNE FICHIER email.php</span>
<span style="color: #008000; font-weight: bold">declare</span>(strict_types<span style="color: #666666">=1</span>); <span style="color: #408080; font-style: italic">// Enable strict types</span>
<span style="color: #408080; font-style: italic">// *** A configurer</span>
<span style="color: #19177C">$to</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"adresse@machin.truc"</span>;
<span style="color: #19177C">$from</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"postmaster@bidule.truc"</span>;
<span style="color: #408080; font-style: italic">// *** Laisser tel quel</span>
<span style="color: #19177C">$jour</span> <span style="color: #666666">=</span> <span style="color: #008000">date</span>(<span style="color: #BA2121">"d-m-Y"</span>);
<span style="color: #19177C">$heure</span> <span style="color: #666666">=</span> <span style="color: #008000">date</span>(<span style="color: #BA2121">"H:i"</span>);
<span style="color: #19177C">$sujet</span> <span style="color: #666666">=</span> <span style="color: #BA2121">"Essai Mail - </span><span style="color: #BB6688; font-weight: bold">$jour</span><span style="color: #BA2121"> </span><span style="color: #BB6688; font-weight: bold">$heure</span><span style="color: #BA2121">"</span>;
<span style="color: #19177C">$htmlContenu</span> <span style="color: #666666">=<<<</span>HTML
<span style="color: #666666"><</span>html<span style="color: #666666">></span>
<span style="color: #666666"><</span>head<span style="color: #666666">></span>
<span style="color: #666666"><</span>title<span style="color: #666666">></span>Sujet<span style="color: #666666"></</span>title<span style="color: #666666">></span>
<span style="color: #666666"></</span>head<span style="color: #666666">></span>
<span style="color: #666666"><</span>body<span style="color: #666666">></span>
Mail au format HTML simple avec la fonction PHP <span style="color: #008000">mail</span>()<span style="color: #666666">.<</span>br<span style="color: #666666">></span> <span style="color: #666666"><</span>b<span style="color: #666666">></span><span style="color: #19177C">$sujet</span><span style="color: #666666"></</span>b<span style="color: #666666">></span> <span style="color: #666666"><</span>br<span style="color: #666666">></span>
<span style="color: #666666"></</span>body<span style="color: #666666">></span>
<span style="color: #666666"></</span>html<span style="color: #666666">></span>
HTML;
<span style="color: #19177C">$headers</span> <span style="color: #666666">=</span> [
<span style="color: #BA2121">"MIME-Version: 1.0"</span>,
<span style="color: #BA2121">"Content-Transfer-Encoding: 8bit"</span>,
<span style="color: #BA2121">"Content-type: text/html; charset=utf-8"</span>,
<span style="color: #BA2121">"From: </span><span style="color: #BB6688; font-weight: bold">$from</span><span style="color: #BA2121">"</span>,
];
<span style="color: #008000; font-weight: bold">try</span> {
<span style="color: #19177C">$verif_envoi_mail</span> <span style="color: #666666">=</span> <span style="color: #008000">mail</span>(<span style="color: #19177C">$to</span>, <span style="color: #19177C">$sujet</span>, <span style="color: #19177C">$htmlContenu</span>, <span style="color: #008000">implode</span>(<span style="color: #BA2121">"</span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>, <span style="color: #19177C">$headers</span>));
<span style="color: #008000; font-weight: bold">if</span> (<span style="color: #19177C">$verif_envoi_mail</span> <span style="color: #666666">===</span> <span style="color: #008000; font-weight: bold">false</span>) {
<span style="color: #008000; font-weight: bold">throw</span> <span style="color: #008000; font-weight: bold">new</span> RuntimeException(<span style="color: #BA2121">"Erreur envoi mail"</span>);
}
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">" *** Verification Envoi du Mail=</span><span style="color: #BB6688; font-weight: bold">$verif_envoi_mail</span><span style="color: #BA2121"> - Mail envoyé avec succès vers </span><span style="color: #BB6688; font-weight: bold">$to</span><span style="color: #BA2121"> depuis </span><span style="color: #BB6688; font-weight: bold">$from</span><span style="color: #BA2121"> avec comme sujet: </span><span style="color: #BB6688; font-weight: bold">$sujet</span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
} <span style="color: #008000; font-weight: bold">catch</span> (Throwable <span style="color: #19177C">$e</span>) {
<span style="color: #008000; font-weight: bold">echo</span> <span style="color: #BA2121">" ### Verification Envoi du Mail=</span><span style="color: #BB6688; font-weight: bold">$verif_envoi_mail</span><span style="color: #BA2121"> - Erreur envoi mail: "</span> <span style="color: #666666">.</span> <span style="color: #19177C">$e</span><span style="color: #666666">-></span><span style="color: #7D9029">getMessage</span>() <span style="color: #666666">.</span> <span style="color: #BA2121">"</span><span style="color: #BB6622; font-weight: bold">\n</span><span style="color: #BA2121">"</span>;
}
</pre></div>
</section>
</div>
</div>
<div class="4u 12u(narrower)">
<!-- Sidebar -->
<div class="sidebar" role="complementary">
<section>
<header>
<h2><span class="icon fa-talk fa-lg"></span> Commentaire</h2>
</header>
<p>Ces bouts de codes vont vous aider quand rien n'ira, quand votre script PHP fait des siennes, quand la connexion à votre base MySQL ne fonctionne pas, quand l'envoi de message par la fonction mail() n'envoie pas de messages. Ensuite, à vous de faire le travail…</p>
</section>
<section>
<header>
<h2><span class="icon fa-users fa-lg"></span> Partager</h2>
</header>
<ul class="icons center">
<li><a href="#dmodale" id="omodale" class="icon circle fa-partage-alt"><span class="label">Lien</span></a></li>
<li><a href="mailto:?subject=Regarde%20cet%20article%20du%20site%20web%20Silomia&body=Je%20viens%20de%20lire%20cet%20article%20provenant%20du%20site%20web%20Silomia%20et%20je%20pense%20que%20tu%20le%20trouveras%20int%C3%A9ressant.%20%0D%0AVa%20%C3%A0%20cette%20adresse%20%3A%20https%3A%2F%2Fsilomia.github.io%2Finternet-debug-php-mysql.html" class="icon circle fa-envelope"><span class="label">E-mail</span></a></li>
</ul>
<ul class="icons center">
<li><a href="en-internet-debug-php-mysql.html" class="icon circle fa-language"><span class="label">Lien</span></a> <br><a class="smallfont" href="en-internet-debug-php-mysql.html">English version</a></li>
</ul>
<dialog id="dmodale">
<header class="tmodale"><p>Copiez l'adresse pour la partager</p></header>
<p class="smallfont"><a id="lmodale" href="https://silomia.github.io/internet-debug-php-mysql.html">https://silomia.github.io/internet-debug-php-mysql.html</a></p>
<footer class="tmodale smallfont"><button id="cmodale" class="button">Fermer</button> <button id="copier" data-copie=">> Lien copié" class="button special">Copier</button></footer>
</dialog>
</section>
</div>
</div>
</div>
</section>
<!-- Two -->
<section class="wrapper style1 container special">
<div class="row">
<div class="4u 12u(narrower)">
<section>
<span class="icon featured fa-child"></span>
<header>
<h3>Tu seras un Homme…</h3>
</header>
<p>Re-découvrez le célèbre poème de Rudyard Kipling “Si… tu seras un homme mon fils” qui a inspiré tant de générations. Il célèbre le courage de surmonter les épreuves.</p>
<footer>
<ul class="buttons">
<li><a href="tu-seras-un-homme-mon-fils.html" class="button small">En savoir plus</a></li>
</ul>
</footer>
</section>
</div>
<div class="4u 12u(narrower)">
<section>
<span class="icon featured fa-trophy"></span>
<header>
<h3>J'ai décidé de réussir</h3>
</header>
<p>J'ai réuni 10 conseils éprouvés pour trouver la volonté d'accomplir avec succès ses ambitions et franchir certains obstacles dans sa vie personnelle et professionnelle.</p>
<footer>
<ul class="buttons">
<li><a href="decider-de-reussir-sa-vie-changer-evoluer.html" class="button small">En savoir plus</a></li>
</ul>
</footer>
</section>
</div>
<div class="4u 12u(narrower)">
<section>
<span class="icon featured fa-food"></span>
<header>
<h3>Gourmandises</h3>
</header>
<p>Des recettes exquises de mignardises (madeleines, financiers, sablés, cakes, muffins) et autres gourmandises (croissants, brioche, gâteaux traditionnels…).</p>
<footer>
<ul class="buttons">
<li><a href="gourmandise.html" class="button small">En savoir plus</a></li>
</ul>
</footer>
</section>
</div>
</div>
</section>
</article>
<!-- Menu -->
<nav id="my-menu" role="navigation">
<!--z><div id="menu" class="wrapper style3 container 75%"><h2>MENU</h2></z-->
<ul>
<li><a href="index.html"><span class="icon fa-home fa-fw"></span> Accueil</a></li>
<li><a href="tu-seras-un-homme-mon-fils.html"><span class="icon fa-child fa-fw"></span> Tu seras un homme mon fils</a></li>
<li><a href="decider-de-reussir-sa-vie-changer-evoluer.html"><span class="icon fa-trophy fa-fw"></span> J'ai décidé de réussir</a></li>
<li><a href="le-monde-et-l-humanite-doivent-changer.html"><span class="icon fa-baton-lumiere fa-fw"></span> Se libérer du mal</a></li>
<li><a href="meditation-relaxation-seance-video.html"><span class="icon fa-cloud fa-fw"></span> Relaxation et méditation</a></li>
<li><a href="contre-la-manipulation-des-masses.html"><span class="icon fa-flag fa-fw"></span> Manipuler la foule</a></li>
<li class="submenu">
<span><span class="icon fa-food fa-fw"></span> Gourmandises</span>
<ul>
<li><a href="mignardise-madeleine.html"><span class="icon fa-food fa-fw"></span> Madeleines</a></li>
<li><a href="mignardise-financier.html"><span class="icon fa-food fa-fw"></span> Financiers aux amandes</a></li>
<li><a href="mignardise-petits-beurre.html"><span class="icon fa-food fa-fw"></span> Petits biscuits au beurre</a></li>
<li><a href="mignardise-mini-cakes.html"><span class="icon fa-food fa-fw"></span> Mini cakes</a></li>
<li><a href="mignardise-muffins.html"><span class="icon fa-food fa-fw"></span> Muffins</a></li>
<li><a href="mignardise-briquettes.html"><span class="icon fa-food fa-fw"></span> Briquettes</a></li>
<li><a href="gourmandise-croissants-pains-au-chocolat.html"><span class="icon fa-food fa-fw"></span> Croissants</a></li>
<li><a href="gourmandise-brioche-au-beurre.html"><span class="icon fa-food fa-fw"></span> Brioche</a></li>
<li><a href="gateau-cake-tere-couque.html"><span class="icon fa-food fa-fw"></span> Tère couque / Cake tendre</a></li>
<li><a href="gourmandise-crepes-ultimes.html"><span class="icon fa-food fa-fw"></span> Crêpes</a></li>
<li><a href="gourmandise-caramel-beurre-sale.html"><span class="icon fa-food fa-fw"></span> Caramel Beurre Salé</a></li>
<li><a href="gourmandise-pate-a-tartiner-chocolat-noisette.html"><span class="icon fa-food fa-fw"></span> Pâte Chocolat Noisette</a></li>
<li><a href="gateau-tarte-pommes-amankay.html"><span class="icon fa-food fa-fw"></span> Tarte aux pommes Amankay</a></li>
<li><a href="gateau-streusel-a-la-creme.html"><span class="icon fa-food fa-fw"></span> Streusel à la crème</a></li>
<li><a href="gateau-strudel-viennois.html"><span class="icon fa-food fa-fw"></span> Strudel Viennois</a></li>
<li><a href="gateau-kouglof-gugelhupf.html"><span class="icon fa-food fa-fw"></span> Kouglof</a></li>
<li><a href="gateau-stollen.html"><span class="icon fa-food fa-fw"></span> Stollen</a></li>
<li><a href="gateau-roule.html"><span class="icon fa-food fa-fw"></span> Gâteau Roulé</a></li>
<li><a href="gateau-tarte-fraises.html"><span class="icon fa-food fa-fw"></span> Tarte aux Fraises</a></li>
<li><a href="gateau-rhubarbe.html"><span class="icon fa-food fa-fw"></span> Tarte Rhubarbe</a></li>
<li><a href="gateau-clafoutis.html"><span class="icon fa-food fa-fw"></span> Clafoutis</a></li>
<li><a href="gateau-tarte-universelle.html"><span class="icon fa-food fa-fw"></span> Tarte universelle</a></li>
<li><a href="gateau-mirabelle-quetsche.html"><span class="icon fa-food fa-fw"></span> Gâteau Mirabelle</a></li>
<li><a href="gateau-cake-pavot.html"><span class="icon fa-food fa-fw"></span> Cake au pavot</a></li>
<li><a href="gourmandise-riz-semoule-au-lait.html"><span class="icon fa-food fa-fw"></span> Riz au lait</a></li>
</ul>
</li>
<li><a href="business-model-valider-projet-entreprise.html"><span class="icon fa-line-chart fa-fw"></span> Canevas de business modèle</a></li>
<li><a href="marketing-techniques-secretes.html"><span class="icon fa-shopping-cart fa-fw"></span> 10 secrets marketing</a></li>
<li><a href="recueil-de-blagues.html"><span class="icon fa-paw fa-fw"></span> Blog de Blagues</a></li>
<li class="submenu">
<span><span class="icon fa-code fa-fw"></span> Outils pour WebDev</span>
<ul>
<li><a href="internet-se-proteger-des-pirates-et-hackers.html"><span class="icon fa-code fa-fw"></span> Se protéger des pirates</a></li>
<li><a href="internet-sauvegarde-backup-restauration-web-sql.html"><span class="icon fa-code fa-fw"></span> Sauvegarder un site web</a></li>
<li><a href="internet-referencement-site-web.html"><span class="icon fa-code fa-fw"></span> Référencer un site web</a></li>
<li><a href="internet-debug-php-mysql.html"><span class="icon fa-code fa-fw"></span> Débogage de scripts</a></li>
</ul>
</li>
<li><a href="conseils-pratiques-photographie.html"><span class="icon fa-diaph fa-fw"></span> Mémento du photographe</a></li>
<li><a href="page-de-telechargement.html"><span class="icon fa-download fa-fw"></span> Téléchargement libre</a></li>
<li><a href="courrier.html"><span class="icon fa-envelope fa-fw"></span> Contact</a></li>
<li><a href="#0" class="commutateur mode-clair" data-stylesheet="css/styles.clair.min.css"><span class="icon fa-sun fa-fw modestyle clair"></span> <span class="paramBouton">Clair</span></a><a href="#0" class="commutateur mode-sombre" data-stylesheet="css/styles.sombre.min.css"><span class="icon fa-moon fa-fw modestyle sombre"></span> <span class="paramBouton">Sombre</span></a> <a href="#0" id="modecaractopti"><span class="icon fa-font fa-fw modestyle sombre"></span></a></li>
</ul>
<!--z></div></z-->
</nav>
<!-- Footer -->
<footer id="footer" role="contentinfo">
<ul class="copyright">
<li><a href="index.html"><span class="icon fa-home fa-fw"></span> Accueil</a></li>
<li><a href="courrier.html"><span class="icon fa-envelope fa-fw"></span> Contact</a></li>
<li><a href="en-internet-debug-php-mysql.html"><span class="icon fa-language fa-fw"></span> In English</a></li>
<li><a href="menu.html" accesskey="3"><span class="icon fa-align-bars fa-fw"></span> Plan du site <span class="smallfont">[TOUCHE]+3</span></a></li>
</ul>
<ul class="copyright">
<li>© 2007 à 2024 </li><li><a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a></li><li><span class="icon fa-code fa-fw"></span> <a href="README.html">Crédits</a></li>
</ul>
</footer>
<!--z><style>li.submenu{margin-top:1em}li.submenu ul{padding-left:.68em}#header{position:absolute}</style></z-->
</div><!-- page-wrapper -->
<!-- Scripts -->
<link rel="stylesheet" href="css/styles.min.css">
<link rel="stylesheet" id="feuillestyle-active"><link rel="stylesheet" id="feuilleStyleCaract">
<script src="js/script.min.js" async></script>
<script async>function ers(){var e=document.getElementById("page-wrapper").innerHTML.replace(/(<!--z>|<\/z-->)/g,"");document.getElementById("page-wrapper").innerHTML=e}try{eval("(class Foo{})")}catch(a){ers()}</script>
</body>
</html>