PageSourceSearch

https://www.luc-estienne.com/notebook

html luc-estienne.com collected 2026-10-08 02:07:18 UTC 65,546 bytes, 1,103 lines download raw bytes

1<!DOCTYPE html>
2<html lang="fr-FR" data-website-id="1" data-main-object="website.page(16,)" dir="ltr">
3    <head>
4        <meta charset="utf-8"/>
5        <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
6        <meta name="viewport" content="width=device-width, initial-scale=1"/>
7        <meta name="generator" content="Odoo"/>
8        <meta name="description" content="Explorer des Notebooks détaillés en RMarkdown et Python conçu par Luc Estienne, offrant des analyses approfondies et des visualisations interactives pour une compréhension claire des données complexes."/>
9        <meta name="keywords" content="notebooks,RMarkdown,Python,analyse de données,Luc Estienne"/>
10            
11        <meta property="og:type" content="website"/>
12        <meta property="og:title" content="Notebooks - Luc Estienne"/>
13        <meta property="og:site_name" content="Luc Estienne"/>
14        <meta property="og:url" content="https://luc-estienne.com/notebook"/>
15        <meta property="og:image" content="https://luc-estienne.com/web/image/website/1/social_default_image?unique=07701ec"/>
16        <meta property="og:description" content="Explorer des Notebooks détaillés en RMarkdown et Python conçu par Luc Estienne, offrant des analyses approfondies et des visualisations interactives pour une compréhension claire des données complexes."/>
17            
18        <meta name="twitter:card" content="summary_large_image"/>
19        <meta name="twitter:title" content="Notebooks - Luc Estienne"/>
20        <meta name="twitter:image" content="https://luc-estienne.com/web/image/website/1/social_default_image?unique=07701ec"/>
21        <meta name="twitter:description" content="Explorer des Notebooks détaillés en RMarkdown et Python conçu par Luc Estienne, offrant des analyses approfondies et des visualisations interactives pour une compréhension claire des données complexes."/>
22        
23        <link rel="canonical" href="https://luc-estienne.com/notebook"/>
24        
25        <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin=""/>
26        <title>Notebooks - Luc Estienne</title>
27        <link type="image/x-icon" rel="shortcut icon" href="/web/image/website/1/favicon?unique=4acbe2c"/>
28        <link rel="preload" href="/web/static/src/libs/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0" as="font" crossorigin=""/>
29        <link type="text/css" rel="stylesheet" href="/web/assets/1/ffa5beb/web.assets_frontend.min.css"/>
30            
30<script src="/website/static/src/js/content/cookie_watcher.js"></script>
30
31            
31<script>
32                watch3rdPartyScripts(["youtu.be", "youtube.com", "youtube-nocookie.com", "instagram.com", "instagr.am", "ig.me", "vimeo.com", "dailymotion.com", "dai.ly", "youku.com", "tudou.com", "facebook.com", "facebook.net", "fb.com", "fb.me", "fb.watch", "tiktok.com", "x.com", "twitter.com", "t.co", "googletagmanager.com", "google-analytics.com", "google.com", "google.ad", "google.ae", "google.com.af", "google.com.ag", "google.al", "google.am", "google.co.ao", "google.com.ar", "google.as", "google.at", "google.com.au", "google.az", "google.ba", "google.com.bd", "google.be", "google.bf", "google.bg", "google.com.bh", "google.bi", "google.bj", "google.com.bn", "google.com.bo", "google.com.br", "google.bs", "google.bt", "google.co.bw", "google.by", "google.com.bz", "google.ca", "google.cd", "google.cf", "google.cg", "google.ch", "google.ci", "google.co.ck", "google.cl", "google.cm", "google.cn", "google.com.co", "google.co.cr", "google.com.cu", "google.cv", "google.com.cy", "google.cz", "google.de", "google.dj", "google.dk", "google.dm", "google.com.do", "google.dz", "google.com.ec", "google.ee", "google.com.eg", "google.es", "google.com.et", "google.fi", "google.com.fj", "google.fm", "google.fr", "google.ga", "google.ge", "google.gg", "google.com.gh", "google.com.gi", "google.gl", "google.gm", "google.gr", "google.com.gt", "google.gy", "google.com.hk", "google.hn", "google.hr", "google.ht", "google.hu", "google.co.id", "google.ie", "google.co.il", "google.im", "google.co.in", "google.iq", "google.is", "google.it", "google.je", "google.com.jm", "google.jo", "google.co.jp", "google.co.ke", "google.com.kh", "google.ki", "google.kg", "google.co.kr", "google.com.kw", "google.kz", "google.la", "google.com.lb", "google.li", "google.lk", "google.co.ls", "google.lt", "google.lu", "google.lv", "google.com.ly", "google.co.ma", "google.md", "google.me", "google.mg", "google.mk", "google.ml", "google.com.mm", "google.mn", "google.com.mt", "google.mu", "google.mv", "google.mw", "google.com.mx", "google.com.my", "google.co.mz", "google.com.na", "google.com.ng", "google.com.ni", "google.ne", "google.nl", "google.no", "google.com.np", "google.nr", "google.nu", "google.co.nz", "google.com.om", "google.com.pa", "google.com.pe", "google.com.pg", "google.com.ph", "google.com.pk", "google.pl", "google.pn", "google.com.pr", "google.ps", "google.pt", "google.com.py", "google.com.qa", "google.ro", "google.ru", "google.rw", "google.com.sa", "google.com.sb", "google.sc", "google.se", "google.com.sg", "google.sh", "google.si", "google.sk", "google.com.sl", "google.sn", "google.so", "google.sm", "google.sr", "google.st", "google.com.sv", "google.td", "google.tg", "google.co.th", "google.com.tj", "google.tl", "google.tm", "google.tn", "google.to", "google.com.tr", "google.tt", "google.com.tw", "google.co.tz", "google.com.ua", "google.co.ug", "google.co.uk", "google.com.uy", "google.co.uz", "google.com.vc", "google.co.ve", "google.co.vi", "google.com.vn", "google.vu", "google.ws", "google.rs", "google.co.za", "google.co.zm", "google.co.zw", "google.cat"]);
33            </script>
33
34        
34<script id="web.layout.odooscript" type="text/javascript">
35            var odoo = {
36                csrf_token: '0991a9aae89aee49cbdc34ad4ea204e24722dde3o1822961238',
37                debug: "",
38            };
39        </script>
39
40        
40<script type="text/javascript">
41            odoo.__session_info__ = {"is_admin": false, "is_system": false, "is_public": true, "is_internal_user": false, "is_website_user": true, "uid": null, "registry_hash": "3ac058abfece83ab8037e63674afd7099757874cdb0d87d0d1a6e513e33ac625", "is_frontend": true, "profile_session": null, "profile_collectors": null, "profile_params": null, "show_effect": true, "currencies": {"125": {"name": "EUR", "symbol": "\u20ac", "position": "after", "digits": [69, 2]}}, "quick_login": true, "bundle_params": {"lang": "fr_FR", "website_id": 1}, "test_mode": false, "websocket_worker_version": "19.0-2", "translationURL": "/website/translations", "geoip_country_code": "US", "geoip_phone_code": 1, "lang_url_code": "fr"};
42            if (!/(^|;\s)tz=/.test(document.cookie)) {
43                const userTZ = Intl.DateTimeFormat().resolvedOptions().timeZone;
44                document.cookie = `tz=${userTZ}; path=/`;
45            }
46        </script>
46
47        
47<script type="text/javascript" defer="defer" src="/web/assets/1/0c6b2f4/web.assets_frontend_minimal.min.js" onerror="__odooAssetError=1"></script>
47
48        
48<script type="text/javascript" data-src="/web/assets/1/cd5a281/web.assets_frontend_lazy.min.js" onerror="__odooAssetError=1"></script>
48
49        
50            
50<script id="tracking_code" async="async" src="about:blank" data-need-cookies-approval="true" data-nocookie-src="https://www.googletagmanager.com/gtag/js?id=266V24QLXW"></script>
50
51            
51<script id="tracking_code_config">
52                window.dataLayer = window.dataLayer || [];
53                function gtag(){dataLayer.push(arguments);}
54                gtag('consent', 'default', {
55                    'ad_storage': 'denied',
56                    'ad_user_data': 'denied',
57                    'ad_personalization': 'denied',
58                    'analytics_storage': 'denied',
59                });
60                gtag('js', new Date());
61                gtag('config', '266V24QLXW');
62                function allConsentsGranted() {
63                    gtag('consent', 'update', {
64                        'ad_storage': 'granted',
65                        'ad_user_data': 'granted',
66                        'ad_personalization': 'granted',
67                        'analytics_storage': 'granted',
68                    });
69                }
70                    document.addEventListener(
71                        "optionalCookiesAccepted",
72                        allConsentsGranted,
73                        {once: true}
74                    );
75            </script>
75
76            
76<script id="plausible_script" name="plausible" defer="defer" data-domain="luc-estienne.odoo.com-b9ae" src="https://download.odoo.com/js/plausi_saas.js"></script>
76
77        
78<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 78-79
78
79<script async src="https://www.googletagmanager.com/gtag/js?id=
79G-266V24QLXW
vendor: 12 bytes, line 79
79"></script>
80<script>
81  
vendor: 134 bytes, lines 81-85
81window.dataLayer = window.dataLayer || [];
82  function gtag(){dataLayer.push(arguments);}
83  gtag('js', new Date());
84
85  gtag('config', '
85G-266V24QLXW
vendor: 4 bytes, line 85
85');
86</script>
86
87
88<!-- VEGA -->
89<!--
89<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
89-->
90<!--
90<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
90-->
91<!--
91<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
91-->
92
93<script>
94
95async function getWebstatData(seriesKey, select_fields) {
96  const BASE_URL = "https://webstat.banque-france.fr/api/explore/v2.1/catalog/datasets/observations/exports/json";
97  const API_KEY = "ba03d9887ab9047cc5c1b5298eb614501326ea119a80a1e5c8449f6c"; // à générer dans l'onglet "Clés d'API" du portail
98  
99  const params = new URLSearchParams({
100    select: select_fields,
101    where: `series_key IN ("${seriesKey}")`,
102    order_by: "time_period_start desc",
103  });
104
105  const response = await fetch(`${BASE_URL}?${params}`, {
106    headers: {
107      Authorization: `Apikey ${API_KEY}`,
108      Accept: "application/json",
109    },
110  });
111
112  if (!response.ok) {
113    throw new Error(`Erreur API : ${response.status}`);
114  }
115
116  return response.json(); // [{ time_period_start: "...", obs_value: ... }, ...]
117}
118
119async function getInseeData(seriesId, lastNObservations = null) {
120    const url = `https://bdm.insee.fr/series/sdmx/data/SERIES_BDM/${seriesId}`;
121    if (lastNObservations !== null) {
122        url += `?lastNObservations=${lastNObservations}`;
123    }    
124    try {
125        const response = await fetch(url);
126    
127        if (!response.ok) {
128            throw new Error(`Erreur HTTP : ${response.status}`);
129        }
130    
131        const xmlText = await response.text();
132    
133        // Transformation du XML en document
134        const parser = new DOMParser();
135        const xml = parser.parseFromString(xmlText, "application/xml");
136    
137        // Récupération de toutes les observations
138        const observations = [...xml.getElementsByTagName("Obs")];
139    
140        const result = observations.map(obs => ({
141            TIME_PERIOD: obs.getAttribute("TIME_PERIOD"),
142            OBS_VALUE: obs.getAttribute("OBS_VALUE")
143        }));
144    
145        // console.log(result);
146    
147        return result;
148    
149    } catch (error) {
150        console.error("Erreur :", error);
151    }
152}
153    
154    // WIDTH =200;
155    // HEIGHT=200;
156	const MOBILE = window.innerWidth < 992;
157	
158    function loadScript(src, callback) {
159        var script = document.createElement('script');
160        script.src = src;
161        script.onload = callback;
162        document.head.appendChild(script);
163    }
164
165    function loadVegaScripts() {
166        loadScript("https://cdn.jsdelivr.net/npm/[email protected]", function() {
167            loadScript("https://cdn.jsdelivr.net/npm/[email protected]", function() {
168                loadScript("https://cdn.jsdelivr.net/npm/[email protected]", function() {
169                    // Déclenchement de l'événement personnalisé lorsque tous les scripts sont chargés
170                    var event = new CustomEvent("VegaLiteEvent", { detail: "All Vega scripts loaded" });
171                    window.dispatchEvent(event);
172                });
173            });
174        });
175    }
176
177    window.onload = function() {
178        if (!MOBILE) {
179            loadVegaScripts();
180        };
181        
182        if (MOBILE){
183    	    document.querySelectorAll('.btn-lg').forEach(function (btn) {
184            	btn.classList.toggle('btn-lg');
185            	btn.classList.add("rounded-circle");
186            })
187    	};
188    };
189</script>
189
190
191<!-- Personnal scipts -->
192<script>
193    
194    // Creer une image
195    function addImageToElement(imageUrl, parentElement, altText = "Graphique") {		
196		// Créer un élément <img>
197		const img = document.createElement('img');
198		img.src = imageUrl;
199		img.alt = altText;
200		img.classList.add('preview');
201		img.setAttribute('loading', 'lazy');
202
203		// Ajouter l'image à l'élément parent
204		parentElement.appendChild(img);
205	};
206    
207    // Charts
208    var chart_id = 0;
209    let CHART_WIDTH;
210    if (window.innerWidth > 1140){
211        CHART_WIDTH = Math.floor(window.innerWidth/2-80);
212    }
213    else {
214        CHART_WIDTH = Math.floor(window.innerWidth/2);
215    }
216    const CHART_HEIGHT = Math.min(350, CHART_WIDTH);
217    
218    OPTIONS = {
219            actions: false,
220            config: {
221                "background": "#fff",
222                "axis": {
223                    "title": null,
224                    "labelAngle": 0,
225                    "labelColor": "#343a40",
226                    "titleColor": "#343a40",
227                    "gridColor": "#343a40",
228                    "labelFont": "\"Source Sans Pro\", sans-serif",
229                    "titleFont": "\"Source Sans Pro\", sans-serif",
230                    "labelFontSize": 12,
231                    "titleFontSize": 14,
232                    "labelFontWeight": 400,
233                    "labelFontStyle": "normal",
234                    "titleFontWeight": 400,
235                    "titleFontStyle": "normal",
236                    "ticks": false,
237                    "gridWidth": 0.2,
238                    "domain": false,
239                    "domainWidth": 1,
240                    "domainColor": "#343a40",
241                    "labelFlush": true,
242                    "labelFlushOffset": 1,
243                    "labelBound": false,
244                    "labelLimit": 100,
245                    "titlePadding": 16,
246                    "labelPadding": 16,
247                    "labelSeparation": 4,
248                    "labelOverlap": true
249                },
250                "legend": {
251                    "labelColor": "#343a40",
252                    "titleColor": "#343a40",
253                    "labelFont": "\"Source Sans Pro\", sans-serif",
254                    "titleFont": "\"Source Sans Pro\", sans-serif",
255                    "labelFontSize": 14,
256                    "titleFontSize": 14,
257                    "labelFontWeight": 400,
258                    "titleFontWeight": 400,
259                    "titleFontStyle": "normal",
260                    "titlePadding": 5,
261                    "labelPadding": 16,
262                    "columnPadding": 8,
263                    "rowPadding": 4,
264                    "padding": 7,
265                    "symbolStrokeWidth": 4
266                },
267                "title": {
268                    "color": "#343a40",
269                    "subtitleColor": "#343a40",
270                    "labelFont": "\"Source Sans Pro\", sans-serif",
271                    "titleFont": "\"Source Sans Pro\", sans-serif",
272                    "labelFontSize": 12,
273                    "titleFontSize": 36,
274                    "align": "left",
275                    "anchor": "start",
276                    "titleFontStyle": "normal",
277                    "fontWeight": 0,
278                    "fontSize": 36,
279                    "orient": "top",
280                    "offset": 36,
281                    "dx": 10
282                },
283                "header": {
284                    "labelColor": "#343a40",
285                    "titleColor": "#343a40",
286                    "labelFont": "\"Source Sans Pro\", sans-serif",
287                    "titleFont": "\"Source Sans Pro\", sans-serif",
288                    "labelFontSize": 12,
289                    "titleFontSize": 16,
290                    "titleFontWeight": 400,
291                    "titleFontStyle": "normal",
292                    "labelFontWeight": 400,
293                    "labelFontStyle": "normal"
294                },
295                "view": {
296                    "stroke": null,
297                    "continuousHeight": 350,
298                    "continuousWidth": 400,
299                    "columns": 1,
300                    "strokeWidth": 0,
301                    "discreteHeight": 350,
302                    "discreteWidth": { "step": 20 }
303                },
304                "font": "\"Source Sans Pro\", sans-serif",
305                "fieldTitle": "verbal",
306                "autosize": { "type": "fit", "contains": "padding" },
307                "range": {
308                    "category": [
309                        "#2e95d3",
310                        "#e9950c",
311                        "#df3079",
312                        "#ff6347",
313                        "#925ad9",
314                        "#86a2da",
315                        "#f969a4",
316                        "#00a67d"
317                    ],
318                    "diverging": [
319                        "#7d353b",
320                        "#bd4043",
321                        "#ff4b4b",
322                        "#ff8c8c",
323                        "#ffc7c7",
324                        "#a6dcff",
325                        "#60b4ff",
326                        "#1c83e1",
327                        "#0054a3",
328                        "#004280"
329                    ],
330                    "ramp": [
331                        "#e4f5ff",
332                        "#c7ebff",
333                        "#a6dcff",
334                        "#83c9ff",
335                        "#60b4ff",
336                        "#3d9df3",
337                        "#1c83e1",
338                        "#0068c9",
339                        "#0054a3",
340                        "#004280"
341                    ],
342                    "heatmap": [
343                        "#e4f5ff",
344                        "#c7ebff",
345                        "#a6dcff",
346                        "#83c9ff",
347                        "#60b4ff",
348                        "#3d9df3",
349                        "#1c83e1",
350                        "#0068c9",
351                        "#0054a3",
352                        "#004280"
353                    ]
354                },
355                "concat": { "columns": 1, "spacing": 0 },
356                "facet": { "columns": 1 },
357                "mark": {
358                    "tooltip": false,
359                    "color": "#265A87",
360                    "stroke": null,
361                    "strokeWidth": 0,
362                    "interpolate": "monotone"
363                },
364                "arc": {
365                    "cornerRadius": 15,
366                    "stroke": "#ffffff",
367                    "strokeWidth": 2,
368                    "innerRadius": 100,
369                    "outerRadius": 120
370                },
371                "point": {
372                    "fill": "#265A87",
373                    "filled": false,
374                    "size": 75,
375                    "strokeWidth": 4,
376                    "strokeOpacity": 0.5,
377                    "stroke": "#265A87",
378                    "fillOpacity": 0.7,
379                    "opacity": 1
380                },
381                "line": { "size": 2.5 },
382                "area":{
383                  "line":{"color":"#265A87"},
384                  "color": {
385                      "x1": 1,
386                      "y1": 1,
387                      "x2": 1,
388                      "y2": 0,
389                      "gradient": "linear",
390                      "stops": [
391                        {
392                          "offset": 0,
393                          "color": "white"
394                        },
395                        {
396                          "offset": 1,
397                          "color": "#265A87"
398                        }
399                      ]
400                    }
401                },
402                "rule": {
403                    "stroke": "#343a40",
404                    "strokeOpacity": 0.8,
405                    "strokeDashOffset": 0,
406                    "strokeWidth": 2,
407                    "strokeDash": [4, 8]
408                },
409                "axisYQuantitative": { "format": ".3~s" },
410                "axisDiscrete": { "grid": false },
411                "axisXPoint": { "grid": false },
412                "axisTemporal": { "grid": false },
413                "axisXBand": { "grid": false },
414                "locale": {
415                    "time": {
416                        "dateTime": "%A, le %e %B %Y, à %X",
417                        "date": "%d/%m/%Y",
418                        "time": "%H:%M:%S",
419                        "periods": ["AM", "PM"],
420                        "days": [
421                            "dimanche",
422                            "lundi",
423                            "mardi",
424                            "mercredi",
425                            "jeudi",
426                            "vendredi",
427                            "samedi"
428                        ],
429                        "shortDays": ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
430                        "months": [
431                            "janvier",
432                            "février",
433                            "mars",
434                            "avril",
435                            "mai",
436                            "juin",
437                            "juillet",
438                            "août",
439                            "septembre",
440                            "octobre",
441                            "novembre",
442                            "décembre"
443                        ],
444                        "shortMonths": [
445                            "janv.",
446                            "févr.",
447                            "mars",
448                            "avr.",
449                            "mai",
450                            "juin",
451                            "juil.",
452                            "août",
453                            "sept.",
454                            "oct.",
455                            "nov.",
456                            "déc."
457                        ]
458                    },
459                    "number": {
460                        "decimal": ",",
461                        "thousands": " ",
462                        "grouping": [3],
463                        "currency": ["", " €"]
464                    }
465                }
466            }
467        };    
468        
469        
470    //CHARTS -------
471    
472    function line_chart(data, x_field, y_field, format = ".1%", rule_format = "%B %Y", chart_type = "line", domainMin=0, interpolate="monotone") {
473            return {
474                "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
475                "data": {
476                    "values": data
477                },
478                "width": CHART_WIDTH,
479                "height": CHART_HEIGHT,
480                "title": null,
481                "encoding": {
482                    "x": {
483                        "field": x_field,
484                        "type": "nominal",
485                        "axis": { "formatType": "time", "format": "%Y" }
486                    }
487                },
488                "layer": [
489                    {
490                        "mark": { "type": chart_type, "interpolate":interpolate},
491                        "encoding": {
492                            "y": {
493                                "field": y_field,
494                                "type": "quantitative",
495                                "scale":{"domainMin":domainMin},
496                                "format": format,
497                                "axis": { "formatType": "number", "format": format }
498                            }
499                        }
500                    },
501                    {
502                        "mark": { "type": "point" },
503                        "encoding": {
504                            "opacity": {
505                                "condition": { "param": "hover", "value": 1, "empty": false },
506                                "value": 0
507                            },
508                            "y": {
509                                "field": y_field,
510                                "type": "quantitative"
511                            }
512                        }
513                    },
514                    {
515                        "mark": { "type": "rule" },
516                        "encoding": {
517                            "opacity": {
518                                "condition": { "param": "hover", "value": 1, "empty": false },
519                                "value": 0
520                            },
521                            "tooltip": {"field": y_field, "type": "quantitative", "format": format}
522                        },
523                        "params": [
524                            {
525                                "name": "hover",
526                                "select": {
527                                    "type": "point",
528                                    "encodings": ["x"],
529                                    "nearest": true,
530                                    "on": "pointerover",
531                                    "clear": "pointerout"
532                                }
533                            }
534                        ]
535                    },
536                    {
537                        "mark": { "type": "text", "y": 0, "yOffset": -10 },
538                        "encoding": {
539                            "text": {
540                                "field": x_field,
541                                "format": rule_format,
542                                "type": "temporal",
543                                "timeUnit": "yearmonth"
544                            },
545                            "opacity": {
546                                "condition": { "param": "hover", "value": 1, "empty": false },
547                                "value": 0
548                            }
549                        }
550                    }
551                ],
552                "resolve": { "scale": { "y": "shared" } }
553            }
554        }
555        
556    // HELPERS FUNCTIONS ----------
557    
558    function aujourdhuiFormatte() {
559        var dateDuJour = new Date();
560        var jour = dateDuJour.getDate();
561        var mois = dateDuJour.getMonth() + 1;
562        var annee = dateDuJour.getFullYear();
563    
564        var suffixeJour = (jour === 1) ? "er" : "";
565    
566        var nomsDesMois = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];
567    
568        var dateFormatee = jour + suffixeJour + " " + nomsDesMois[mois - 1] + " " + annee;
569    
570        return dateFormatee;
571    };
572    
573    function minMaxColonne(dataframe, colonne) {
574    	let min = Infinity;
575    	let max = -Infinity;
576    
577    	for (let i = 0; i < dataframe.length; i++) {
578    		const valeur = dataframe[i][colonne];
579    		if (valeur < min) {
580    			min = valeur;
581    		}
582    		if (valeur > max) {
583    			max = valeur;
584    		}
585    	}
586    
587    	return [min, max];
588    };
589    
590    // Table of Content -----------
591    function createTOC() {
592        const toc = document.getElementById('toc');
593        if (!toc) return;
594        
595        // TOC header
596        const toc_header = document.createElement("div"); 
597        toc_header.classList.add('title');
598
599        const toc_title = document.createElement("span");
600        toc_title.textContent = 'Table des matières';
601
602        const toc_icon = document.createElement("span");
603        toc_icon.classList.add('fa', 'fa-chevron-down');
604
605        toc_header.addEventListener('click', function () {
606           toc.classList.toggle('unfold'); 
607           toc_icon.classList.toggle('fa-chevron-down');
608           toc_icon.classList.toggle('fa-chevron-up');
609        });
610        toc_header.appendChild(toc_title);
611        toc_header.appendChild(toc_icon);
612        toc.appendChild(toc_header);
613
614        // Start process
615        toc.appendChild(document.createElement("span"));
616        const headings = document.querySelectorAll('h2, h3');
617        const tocList = document.createElement('ul');
618        let currentSubList = null;
619
620        headings.forEach(heading => {
621            // Générer un identifiant à partir du texte du titre
622            const id = heading.textContent.toLowerCase()
623                .normalize('NFD').replace(/[\u0300-\u036f]/g, '')  // Enlever les accents
624                .replace(/\s+/g, '-')  // Remplacer les espaces par des tirets
625                .replace(/[^a-z0-9\-]/g, '');  // Enlever les caractères non alphanumériques
626
627            heading.id = id;
628
629            const listItem = document.createElement('li');
630            const link = document.createElement('a');
631            link.href = `#${id}`;
632            link.textContent = heading.textContent;
633            listItem.appendChild(link);
634
635            if (heading.tagName === 'H2') {
636                tocList.appendChild(listItem);
637                currentSubList = document.createElement('ul');
638                listItem.appendChild(currentSubList);
639            } else if (heading.tagName === 'H3' && currentSubList) {
640                const subListItem = document.createElement('li');
641                const subLink = document.createElement('a');
642                subLink.href = `#${id}`;
643                subLink.textContent = heading.textContent;
644                subListItem.appendChild(subLink);
645                currentSubList.appendChild(subListItem);
646            }
647        });
648
649        toc.appendChild(tocList);
650        
651    };
652
653    window.addEventListener('load', createTOC);
654
655</script>
655
656
657    </head>
658    <body>
659        
660
661
662
663        <div id="wrapwrap" class="   ">
664            <a class="o_skip_to_content btn btn-primary rounded-0 visually-hidden-focusable position-absolute start-0" href="#wrap">Se rendre au contenu</a>
665                <header id="top" data-anchor="true" data-name="Header" data-extra-items-toggle-aria-label="Bouton d&#39;éléments supplémentaires" class="   o_header_fixed o_hoverable_dropdown" style=" ">
666    <nav data-name="Navbar" aria-label="Main" class="navbar navbar-expand-lg navbar-light o_colored_level o_cc d-none d-lg-block shadow-sm ">
667        
668
669            <div id="o_main_nav" class="o_main_nav container">
670                
671    <a data-name="Navbar Logo" href="/" class="navbar-brand logo me-4">
672            
673            <span role="img" aria-label="Logo of Luc Estienne" title="Luc Estienne"><img src="/web/image/website/1/logo/Luc%20Estienne?unique=4acbe2c" class="img img-fluid" width="95" height="40" alt="Luc Estienne" loading="lazy"/></span>
674        </a>
675    
676                
677    <ul role="menu" id="top_menu" class="nav navbar-nav top_menu o_menu_loading  me-auto ">
678        
679                    
680
681    <li role="presentation" class="nav-item ">
682        <a role="menuitem" href="/" class="nav-link ">
683            <span>Accueil</span>
684        </a>
685    </li>
686
687    <li role="presentation" class="nav-item ">
688        <a role="menuitem" href="/dashboard" class="nav-link ">
689            <span>Dashboard</span>
690        </a>
691    </li>
692
693    <li role="presentation" class="nav-item ">
694        <a role="menuitem" href="/notebook" class="nav-link active">
695            <span>Notebook</span>
696        </a>
697    </li>
698
699    <li role="presentation" class="nav-item ">
700        <a role="menuitem" href="/outils" class="nav-link ">
701            <span>Outils</span>
702        </a>
703    </li>
704
705    <li role="presentation" class="nav-item ">
706        <a role="menuitem" href="/blog" class="nav-link ">
707            <span>Article</span>
708        </a>
709    </li>
710
711    <li role="presentation" class="nav-item ">
712        <a role="menuitem" href="/contact" class="nav-link ">
713            <span>Contact</span>
714        </a>
715    </li>
716                
717    </ul>
718                
719                <ul class="navbar-nav align-items-center gap-2 flex-shrink-0 justify-content-end ps-3">
720                    
721        <li class="">
722                <div class="modal fade css_editable_mode_hidden" id="o_search_modal" aria-hidden="true" tabindex="-1">
723                    <div class="modal-dialog modal-lg pt-5">
724                        <div class="modal-content mt-5">
725    <form method="get" class="o_searchbar_form s_searchbar_input " action="/website/search" data-snippet="s_searchbar_input">
726            <div role="search" class="input-group input-group-lg">
727        <input type="search" name="search" class="search-query form-control oe_search_box border border-end-0 p-3 border-0 bg-light" placeholder="Rechercher…" data-search-type="all" data-limit="5" data-display-image="true" data-display-description="true" data-display-extra-link="true" data-display-detail="true" data-order-by="name asc"/>
728        <button type="submit" aria-label="Rechercher" title="Rechercher" class="btn oe_search_button border border-start-0 px-4 bg-o-color-4">
729            <i class="oi oi-search"></i>
730        </button>
731    </div>
732
733            <input name="order" type="hidden" class="o_search_order_by oe_unremovable" value="name asc"/>
734            
735        </form>
736                        </div>
737                    </div>
738                </div>
739                <a data-bs-target="#o_search_modal" data-bs-toggle="modal" role="button" title="Rechercher" href="#" class="btn rounded-circle p-1 lh-1 o_navlink_background text-reset o_not_editable">
740                    <i class="oi oi-search fa-stack lh-lg"></i>
741                </a>
742        </li>
743                    
744                    
745        <li class="">
746            <div class="o_header_social_links ">
747            <div class="s_social_media o_not_editable oe_unmovable oe_unremovable" data-snippet="s_social_media" data-name="Social Media">
748                    <h5 class="s_social_media_title d-none">Suivez-nous</h5>
749<div class="alert alert-info css_non_editable_mode_hidden text-center o_empty_social_media_alert"><span>Cliquez ici pour configurer vos réseaux sociaux</span></div>
750<a href="/website/social/linkedin" class="s_social_media_linkedin o_nav-link_secondary nav-link m-0 p-0 text-decoration-none" target="_blank" aria-label="LinkedIn">
751                        <i class="fa fa-linkedin p-1 o_editable_media fa-stack text-o-color-4"></i>
752                    </a>
753<a href="/website/social/github" class="o_nav-link_secondary nav-link m-0 p-0 text-decoration-none s_social_media_github" target="_blank" aria-label="GitHub">
754                        <i class="fa p-1 o_editable_media fa-github fa-stack text-o-color-4"></i>
755                    </a>
756<a href="https://huggingface.co/LukeStiN" class="o_nav-link_secondary nav-link m-0 p-0 text-decoration-none" target="_blank" aria-label="huggingface">
757                        <img src="/web/image/308-8d968f37/Logo-huggingFace.webp" alt="" class="p-1 o_editable_media img img-fluid o_we_custom_image" style="width: 25% !important;" data-mimetype="image/webp" data-original-id="307" data-original-src="/web/image/307-6c8ca6f7/Logo-huggingFace.png" data-mimetype-before-conversion="image/png" data-resize-width="128" loading="lazy" role="presentation" data-attachment-id="307"/>
758                    </a>
759</div>
760                </div>
761        </li>
762                    
763                    
764                    
765                    
766                </ul>
767            </div>
768        
769    </nav>
770
771    <nav data-name="Navbar" aria-label="Mobile" class="navbar  navbar-light o_colored_level o_cc o_header_mobile d-block d-lg-none shadow-sm ">
772        
773
774        <div class="o_main_nav container flex-wrap justify-content-between">
775            <div class="d-flex flex-grow-1">
776                
777    <a data-name="Navbar Logo" href="/" class="navbar-brand logo ">
778            
779            <span role="img" aria-label="Logo of Luc Estienne" title="Luc Estienne"><img src="/web/image/website/1/logo/Luc%20Estienne?unique=4acbe2c" class="img img-fluid" width="95" height="40" alt="Luc Estienne" loading="lazy"/></span>
780        </a>
781    
782                <ul class="o_header_mobile_buttons_wrap navbar-nav d-flex flex-row align-items-center gap-2 mb-0 ms-auto"></ul>
783            </div>
784            <button class="nav-link btn p-2 o_not_editable" type="button" data-bs-toggle="offcanvas" data-bs-target="#top_menu_collapse_mobile" aria-controls="top_menu_collapse_mobile" aria-expanded="false" aria-label="Basculer la navigation">
785                <span class="navbar-toggler-icon"></span>
786            </button>
787            <div id="top_menu_collapse_mobile" class="offcanvas offcanvas-end o_navbar_mobile">
788                <div class="offcanvas-header justify-content-end o_not_editable">
789                    <button type="button" class="nav-link btn-close" data-bs-dismiss="offcanvas" aria-label="Fermer"></button>
790                </div>
791                <div class="offcanvas-body d-flex flex-column justify-content-between h-100 w-100 pt-0">
792                    <ul class="navbar-nav">
793                        
794        <li class="">
795    <form method="get" class="o_searchbar_form s_searchbar_input " action="/website/search" data-snippet="s_searchbar_input">
796            <div role="search" class="input-group mb-3">
797        <input type="search" name="search" class="search-query form-control oe_search_box rounded-start-pill text-bg-light ps-3 border-0 bg-light" placeholder="Rechercher…" data-search-type="all" data-limit="0" data-display-image="true" data-display-description="true" data-display-extra-link="true" data-display-detail="true" data-order-by="name asc"/>
798        <button type="submit" aria-label="Rechercher" title="Rechercher" class="btn oe_search_button rounded-end-pill bg-o-color-3 pe-3">
799            <i class="oi oi-search"></i>
800        </button>
801    </div>
802
803            <input name="order" type="hidden" class="o_search_order_by oe_unremovable" value="name asc"/>
804            
805        </form>
806        </li>
807                        
808                        <li>
809    <ul role="menu" class="nav navbar-nav top_menu  o_mega_menu_is_offcanvas mx-n3  ">
810        
811                                
812
813    <li role="presentation" class="nav-item border-top  px-0">
814        <a role="menuitem" href="/" class="nav-link p-3 text-wrap ">
815            <span>Accueil</span>
816        </a>
817    </li>
818
819    <li role="presentation" class="nav-item border-top  px-0">
820        <a role="menuitem" href="/dashboard" class="nav-link p-3 text-wrap ">
821            <span>Dashboard</span>
822        </a>
823    </li>
824
825    <li role="presentation" class="nav-item border-top  px-0">
826        <a role="menuitem" href="/notebook" class="nav-link p-3 text-wrap active">
827            <span>Notebook</span>
828        </a>
829    </li>
830
831    <li role="presentation" class="nav-item border-top  px-0">
832        <a role="menuitem" href="/outils" class="nav-link p-3 text-wrap ">
833            <span>Outils</span>
834        </a>
835    </li>
836
837    <li role="presentation" class="nav-item border-top  px-0">
838        <a role="menuitem" href="/blog" class="nav-link p-3 text-wrap ">
839            <span>Article</span>
840        </a>
841    </li>
842
843    <li role="presentation" class="nav-item border-top border-bottom px-0">
844        <a role="menuitem" href="/contact" class="nav-link p-3 text-wrap ">
845            <span>Contact</span>
846        </a>
847    </li>
848                            
849    </ul>
850                        </li>
851                        
852                        
853        <li class="">
854            <div class="o_header_social_links mt-2">
855            <div class="s_social_media o_not_editable oe_unmovable oe_unremovable" data-snippet="s_social_media" data-name="Social Media">
856                    <h5 class="s_social_media_title d-none">Suivez-nous</h5>
857<div class="alert alert-info css_non_editable_mode_hidden text-center o_empty_social_media_alert"><span>Cliquez ici pour configurer vos réseaux sociaux</span></div>
858<a href="/website/social/linkedin" class="s_social_media_linkedin o_nav-link_secondary nav-link m-0 p-0 text-decoration-none" target="_blank" aria-label="LinkedIn">
859                        <i class="fa fa-linkedin p-1 o_editable_media fa-stack text-o-color-4"></i>
860                    </a>
861<a href="/website/social/github" class="o_nav-link_secondary nav-link m-0 p-0 text-decoration-none s_social_media_github" target="_blank" aria-label="GitHub">
862                        <i class="fa p-1 o_editable_media fa-github fa-stack text-o-color-4"></i>
863                    </a>
864<a href="https://huggingface.co/LukeStiN" class="o_nav-link_secondary nav-link m-0 p-0 text-decoration-none" target="_blank" aria-label="huggingface">
865                        <img src="/web/image/308-8d968f37/Logo-huggingFace.webp" alt="" class="p-1 o_editable_media img img-fluid o_we_custom_image" style="width: 25% !important;" data-mimetype="image/webp" data-original-id="307" data-original-src="/web/image/307-6c8ca6f7/Logo-huggingFace.png" data-mimetype-before-conversion="image/png" data-resize-width="128" loading="lazy" role="presentation" data-attachment-id="307"/>
866                    </a>
867</div>
868                </div>
869        </li>
870                    </ul>
871                    <ul class="navbar-nav gap-2 mt-3 w-100">
872                        
873                        
874                        
875                        
876                    </ul>
877                </div>
878            </div>
879        </div>
880    
881    </nav>
882    </header>
883                <main>
884                    
885        <div id="wrap" class="oe_structure oe_empty"><section class="s_title pt40 pb40 o_colored_level s_custom_snippet" data-vcss="001" data-snippet="s_title" data-name="Titre primaire">
886        <div class="s_allow_columns container">
887            <h1 style="text-align: left;" class="display-4"><font class="text-gradient" style="background-image: linear-gradient(135deg, rgb(46, 51, 101) 0%, rgb(235, 83, 90) 100%);">Explorez les Notebooks</font></h1>
888        </div>
889    </section><section class="s_text_block pb40 o_colored_level pt0" data-snippet="s_text_block" data-name="Texte">
890        <div class="s_allow_columns container">
891            <p class="o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">Découvrez mes notebooks, des outils essentiels pour visualiser et comprendre des ensembles de données complexes à travers des analyses détaillées. Utilisant à la fois RMarkdown pour une intégration transparente de code R et de texte, ainsi que des notebooks Python pour leur pu
891issance en matière de calcul et de modélisation statistique, ces documents sont une ressource inestimable pour quiconque s'intéresse à l'analyse de données avancée. Chaque notebook est conçu pour illustrer les méthodes et les résultats de manière intuitive, facilitant ainsi l'accès à des informations cruciales et à des découvertes significatives.</p></div></section><section class="s_title pb40 o_colored_level pt0" data-vcss="001" data-snippet="s_title" data-name="Titre">
892        <div class="container s_allow_columns">
893            <h2 class="o_default_snippet_text" style="text-align: left;">Mes Notebooks</h2></div></section><section class="s_three_columns pb32 o_colored_level o_cc o_cc1 pt0" data-vcss="001" data-snippet="s_three_columns" data-name="Colonnes">
894        <div class="container">
895            <div class="row d-flex">
896                <div class="s_col_no_bgcolor col-lg-4"><div class="card text-bg-white h-100" style="border-color: rgb(32, 37, 37);"><img src="/web/image/507-9bb7e88d/maps.svg" alt="Création de carte en R par Luc Estienne" class="card-img-top img img-fluid o_we_custom_image" data-mimetype="image/svg+xml" data-original-id="507" data-original-src="/web/image/507-9bb7e88d/maps.svg" data-mimetype-before-conversion="image/svg+xml" loading="lazy"/>
897                        <div class="card-body">
898                            <h3 class="card-title o_default_snippet_text">Création&nbsp;de cartes</h3><section class="s_embed_code pb0 pt0 text-start" data-snippet="s_embed_code" data-name="Code intégré">
899        <template class="s_embed_code_saved"><div class="keywords">
900    <span class="r">R Markdown</span>
901    <span class="r">ggplot</span>
902</div></template>
903        <div class="s_embed_code_embedded container o_not_editable"><div class="keywords">
904    <span class="r">R Markdown</span>
905    <span class="r">ggplot</span>
906</div></div>
907    </section><section class="s_embed_code text-start pb16 pt8" data-snippet="s_embed_code" data-name="Code intégré">
908        <template class="s_embed_code_saved"><a href="https://colab.research.google.com/drive/1YOg9KzgPF8L6WI0NjTuVb-NbtTFWwJGS?usp=sharing" rel="noreferrer" target="_blank">
909    <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" loading="lazy"/>
910</a></template>
911        <div class="s_embed_code_embedded container o_not_editable"><a href="https://colab.research.google.com/drive/1YOg9KzgPF8L6WI0NjTuVb-NbtTFWwJGS?usp=sharing" rel="noreferrer" target="_blank">
912    <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" loading="lazy"/>
913</a></div>
914    </section><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">Utilisation de fonctionnalités cartographiques dans R avec ggplot et ggiraph pour les interactions.</p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px;"><br/></p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: center;"><a href="/notebook/maps-ggplot" class="btn btn-primary rounded-circle" data-bs-original-title="" title="">Cartes</a><br/></p></div></div></div>
915            <div class="s_col_no_bgcolor col-lg-4">
916                    <div class="card text-bg-white h-100" style="border-color: rgb(32, 37, 37);">
917                        <img src="/web/image/503-8d05826b/carbon.svg" alt="Visualisation des données de série temporelle en RMarkdown par Luc Estienne" class="card-img-top img img-fluid o_we_custom_image" data-mimetype="image/svg+xml" data-original-id="503" data-original-src="/web/image/503-8d05826b/carbon.svg" data-mimetype-before-conversion="image/svg+xml" loading="lazy"/>
918                        <div class="card-body">
919                            <h3 class="card-title o_default_snippet_text">Séries temporelles</h3><section class="s_embed_code pb0 pt0 text-start" data-snippet="s_embed_code" data-name="Code intégré">
920        <template class="s_embed_code_saved"><div class="keywords">
921    <span class="r">R Markdown</span>
922    <span class="r">ggplot</span>
923</div></template>
924        <div class="s_embed_code_embedded container o_not_editable"><div class="keywords">
925    <span class="r">R Markdown</span>
926    <span class="r">ggplot</span>
927</div></div>
928    </section><section class="s_embed_code text-start pt8 pb16" data-snippet="s_embed_code" data-name="Code intégré">
929        <template class="s_embed_code_saved"><a style="height:16px" href="https://colab.research.google.com/drive/1KtYmNanFnYAr3IX1M0n4B3OhWrQsIhJX?usp=sharing" rel="noreferrer" target="_blank">
930    <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" loading="lazy"/>
931</a></template>
932        <div class="s_embed_code_embedded container o_not_editable"><a style="height:16px" href="https://colab.research.google.com/drive/1KtYmNanFnYAr3IX1M0n4B3OhWrQsIhJX?usp=sharing" rel="noreferrer" target="_blank">
933    <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" loading="lazy"/>
934</a></div>
935    </section><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">Document sur l'utilisation des séries temporelles et des modèles ARIMA dans un objectif prédictif.</p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px;"><br/></p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: center;"><a href="/notebook/series-temporelles" class="btn btn-primary rounded-circle" data-bs-original-title="" title="">Séries temporelles</a></p></div></div></div><div class="s_col_no_bgcolor col-lg-4"><div class="card text-bg-white h-100" style="border-color: rgb(32, 37, 37);"><img src="/web/image/506-c280f864/animation.svg" alt="Animation de graphique avec gganimate par Luc Estienne" class="card-img-top img img-fluid o_we_custom_image" data-mimetype="image/svg+xml" data-original-id="506" data-original-src="/web/image/506-c280f864/animation.svg" data-mimetype-before-conversion="image/svg+xml" loading="lazy"/>
936                        <div class="card-body">
937                            <h3 class="card-title o_default_snippet_text">Graphiques animés</h3><section class="s_embed_code pb0 pt0 text-start" data-snippet="s_embed_code" data-name="Code intégré">
938        <template class="s_embed_code_saved"><div class="keywords">
939    <span class="r">R Markdown</span>
940    <span class="r">ggplot</span>
941</div></template>
942        <div class="s_embed_code_embedded container o_not_editable"><div class="keywords">
943    <span class="r">R Markdown</span>
944    <span class="r">ggplot</span>
945</div></div>
946    </section><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;"><br/></p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;"><br/></p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">L'animation de graphiques permet d'ajouter une nouvelle dimension à une visualisation déjà effective.</p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px;"><br/></p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: center;"><a href="/notebook/animations-ggplot" class="btn btn-primary rounded-circle" data-bs-original-title="" title="">Animations</a><br/>
946</p></div></div></div></div>
947        </div>
948    </section><section class="s_three_columns pb32 o_colored_level o_cc o_cc1 pt0" data-vcss="001" data-snippet="s_three_columns" data-name="Colonnes">
949        <div class="container">
950            <div class="row d-flex align-items-stretch">
951                <div class="s_col_no_bgcolor col-lg-4"><div class="card text-bg-white h-100" style="border-color: rgb(32, 37, 37);"><img src="/web/image/612-b960a667/population-reg.svg" alt="" class="card-img-top img img-fluid o_we_custom_image" data-mimetype="image/svg+xml" data-original-id="612" data-original-src="/web/image/612-b960a667/population-reg.svg" data-mimetype-before-conversion="image/svg+xml" loading="lazy"/>
952                        <div class="card-body">
953                            <h3 class="card-title o_default_snippet_text">Population française</h3><section class="s_embed_code pb0 pt0 text-start" data-snippet="s_embed_code" data-name="Code intégré">
954        <template class="s_embed_code_saved"><div class="keywords">
955    <span class="python">Python</span>
956    <span class="python">numpy</span>
957    <span class="python">sklearn</span>
958    <span class="python">matplotlib</span>
959</div></template>
960        <div class="s_embed_code_embedded container o_not_editable"><div class="keywords">
961    <span class="python">Python</span>
962    <span class="python">numpy</span>
963    <span class="python">sklearn</span>
964    <span class="python">matplotlib</span>
965</div></div>
966    </section><section class="s_embed_code pb16 pt8 text-start" data-snippet="s_embed_code" data-name="Code intégré">
967        <template class="s_embed_code_saved"><a href="https://colab.research.google.com/drive/1TzO1FshOO2g2nl3hVBmGAGGlcjlS0c0-?usp=sharing" rel="noreferrer" target="_blank">
968    <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" loading="lazy"/>
969</a></template>
970        <div class="s_embed_code_embedded container o_not_editable"><a href="https://colab.research.google.com/drive/1TzO1FshOO2g2nl3hVBmGAGGlcjlS0c0-?usp=sharing" rel="noreferrer" target="_blank">
971    <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" loading="lazy"/>
972</a></div>
973    </section><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">Evolution de la population française selon l'âge, le sexe et l'année. Modélisation d'une régression linéaire.</p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px;"><br/></p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: center;"><a href="/notebook/regression-population" class="btn btn-primary rounded-circle" data-bs-original-title="" title="">Population</a><br/></p></div></div></div><div class="s_col_no_bgcolor col-lg-4"><div class="card text-bg-white h-100" style="border-color: rgb(32, 37, 37);"><img src="/web/image/965-547c6122/florence.svg" alt="" class="card-img-top img img-fluid o_we_custom_image" data-mimetype="image/svg+xml" data-original-id="965" data-original-src="/web/image/965-547c6122/florence.svg" data-mimetype-before-conversion="image/svg+xml" loading="lazy"/>
974                        <div class="card-body">
975                            <h3 class="card-title o_default_snippet_text">Florence 2</h3><section class="s_embed_code pb0 pt0 text-start" data-snippet="s_embed_code" data-name="Code intégré">
976        <template class="s_embed_code_saved"><div class="keywords">
977    <span class="python">Python</span>
978    <span class="python">transformers</span>
979    <span class="rainbow">Nouveau</span>
980</div></template>
981        <div class="s_embed_code_embedded container o_not_editable"><div class="keywords">
982    <span class="python">Python</span>
983    <span class="python">transformers</span>
984    <span class="rainbow">Nouveau</span>
985</div></div>
986    </section><section class="s_embed_code pb16 pt8 text-start" data-snippet="s_embed_code" data-name="Code intégré">
987        <template class="s_embed_code_saved"><a href="https://colab.research.google.com/drive/1q6jDbcu7Wq2njb-en6qqaKHq3yPWA00u?usp=sharing" rel="noreferrer" target="_blank">
988    <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" loading="lazy"/>
989</a></template>
990        <div class="s_embed_code_embedded container o_not_editable"><a href="https://colab.research.google.com/drive/1q6jDbcu7Wq2njb-en6qqaKHq3yPWA00u?usp=sharing" rel="noreferrer" target="_blank">
991    <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab" loading="lazy"/>
992</a></div>
993    </section><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">
994Ce modèle est&nbsp;capable d'executer divers tâche visuelles&nbsp;tels que le captioning, la reconnaissance d'objets...
995
996<br/></p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px;"><br/></p><p class="card-text o_default_snippet_text" style="margin-bottom: 0px; text-align: center;"><a href="/notebook/florence-2" class="btn btn-primary rounded-circle" data-bs-original-title="" title="">Florence 2</a><br/></p></div></div></div>
997            </div>
998        </div>
999    </section><section class="s_title pb40 o_colored_level pt0" data-vcss="001" data-snippet="s_title" data-name="Titre">
1000        <div class="container s_allow_columns">
1001            <h2 class="o_default_snippet_text" style="text-align: left;">Qu'est-ce qu'un Notebook&nbsp;?</h2>
1002        </div>
1003    </section><section class="s_text_block pb40 o_colored_level pt0" data-snippet="s_text_block" data-name="Texte">
1004        <div class="container s_allow_columns">
1005            <p class="o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">Un notebook, souvent utilisé dans le domaine de la data science, est un outil interactif qui permet aux data scientists et aux analystes de combiner du code exécutable, des visualisations, des textes explicatifs, et des équations dans un seul document. Cela facilite non seulement l'anal
1005yse et la visualisation des données (DataViz), mais encourage également une approche plus narrative à l'analyse statistique et au machine learning. Les notebooks sont essentiels pour documenter et partager des analyses de manière dynamique et reproductible.</p></div></section><section class="s_title pb40 o_colored_level pt0" data-vcss="001" data-snippet="s_title" data-name="Titre">
1006        <div class="container s_allow_columns">
1007            <h2 class="o_default_snippet_text" style="text-align: left;">Les Notebooks en Statistique</h2></div></section><section class="s_text_block pb40 o_colored_level pt0" data-snippet="s_text_block" data-name="Texte">
1008        <div class="container s_allow_columns">
1009            <p class="o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">Dans le champ de la statistique, les notebooks offrent une plateforme dynamique pour l'exploration et l'analyse des données. Ils permettent l'intégration de calculs statistiques complexes et la création de graphiques explicatifs qui illustrent clairement les résultats des analyses. Cette capacité à combiner code, visualisations et annotations rend les notebooks particulièrement précieux pour soutenir des décisions basées sur des données probantes. Que ce soit pour des analyses descriptives, inférentielles ou prédictives, les notebooks facilitent une compréhension approfondie et une communication efficace des résultats statistiques.</p></div></section><section class="s_title pb40 o_colored_level pt0" data-vcss="001" data-snippet="s_title" data-name="Titre">
1010        <div class="container s_allow_columns">
1011            <h2 class="o_default_snippet_text" style="text-align: left;">Les Notebooks en Machine Learning</h2></div>
1012    </section><section class="s_text_block pb40 o_colored_level pt0" data-snippet="s_text_block" data-name="Texte">
1013        <div class="container s_allow_columns">
1014            <p class="o_default_snippet_text" style="margin-bottom: 0px; text-align: justify;">Les notebooks jouent un rôle crucial dans le domaine du machine learning. Ils permettent aux analystes de data science de mener des expérimentations avec différents modèles, de réaliser des tests d'hypothèses et de visualiser en temps réel les performances des algorithmes. Ces outils interactifs favorisent une approche itérative et flexible, essentielle pour le développement et l'affinement des modèles de machine learning. En simplifiant la visualisation des résultats et l'ajustement des paramètres, les notebooks sont devenus des instruments indispensables pour tout projet de machine learning visant l'excellence et l'innovation.</p></div></section></div>
1015    
1016        <div id="o_shared_blocks" class="oe_unremovable"><div class="modal fade" id="o_search_modal" aria-hidden="true" tabindex="-1">
1017                    <div class="modal-dialog modal-lg pt-5">
1018                        <div class="modal-content mt-5">
1019    <form method="get" class="o_searchbar_form s_searchbar_input" action="/website/search" data-snippet="s_searchbar_input">
1020            <div role="search" class="input-group input-group-lg">
1021        <input type="search" name="search" data-oe-model="ir.ui.view" data-oe-id="635" data-oe-field="arch" data-oe-xpath="/data/xpath[3]/form/t[1]/div[1]/input[1]" class="search-query form-control oe_search_box border-0 bg-light border border-end-0 p-3" placeholder="Rechercher…" data-search-type="all" data-limit="5" data-display-image="true" data-display-description="true" data-display-extra-link="true" data-display-detail="true" data-order-by="name asc" autocomplete="off"/>
1022        <button type="submit" aria-label="Rechercher" title="Rechercher" class="btn oe_search_button border border-start-0 px-4 bg-o-color-4">
1023            <i class="oi oi-search o_editable_media" data-oe-model="ir.ui.view" data-oe-id="635" data-oe-field="arch" data-oe-xpath="/data/xpath[3]/form/t[1]/div[1]/button[1]/i[1]"></i>
1024        </button>
1025    </div>
1026
1027            <input name="order" type="hidden" class="o_search_order_by" data-oe-model="ir.ui.view" data-oe-id="635" data-oe-field="arch" data-oe-xpath="/data/xpath[3]/form/input[1]" value="name asc"/>
1028            
1029    
1030        </form>
1031                        </div>
1032                    </div>
1033                </div></div>
1034                </main>
1035                <footer id="bottom" data-anchor="true" data-name="Footer" class="o_footer o_colored_level o_cc ">
1036                    <div id="footer" class="oe_structure oe_structure_solo">
1037            
1038            
1039            
1040        <section class="s_text_block pt40 pb40" data-snippet="s_text_block" data-name="Texte">
1041        <div class="s_allow_columns container"><div class="row"><div class="o_colored_level col-lg-6">
1042            <p>Liens utiles :</p><ul><li>Accueil :&nbsp;<a href="https://www.luc-estienne.com">www.luc-estienne.com</a></li><li>Contact :&nbsp;<a href="https://www.luc-estienne.com/contact">www.luc-estienne.com/contact</a></li><li>Article :&nbsp;<a href="https://www.luc-estienne.com/blog">www.luc-estienne.com/blog</a></li><li>
1042Cookies :&nbsp;<a href="https://www.luc-estienne.com/cookie-policy">www.luc-estienne.com/cookie-policy</a></li></ul></div><div class="o_colored_level col-lg-6">
1043            <div class="s_social_media o_not_editable text-center" data-snippet="s_social_media" data-name="Réseaux sociaux">
1044        <h4 class="s_social_media_title d-none o_default_snippet_text">Réseaux sociaux</h4>
1045<a href="/website/social/linkedin" class="s_social_media_linkedin" target="_blank" aria-label="LinkedIn">
1046            <i class="fa fa-linkedin o_editable_media fa-stack fa-2x"></i>
1047        </a>
1048<a href="https://huggingface.co/LukeStiN" target="_blank" aria-label="huggingface">
1049            <img src="/web/image/309-8d968f37/Logo-huggingFace.webp" alt="" class="o_editable_media img img-fluid o_we_custom_image" data-mimetype="image/webp" data-original-id="307" data-original-src="/web/image/307-6c8ca6f7/Logo-huggingFace.png" data-mimetype-before-conversion="image/png" data-resize-width="128" style="width: 25% !important;" loading="lazy" role="presentation"/>
1050        </a>
1051<a href="/website/social/github" class="s_social_media_github" target="_blank" aria-label="GitHub">
1052            <i class="fa fa-github o_editable_media fa-stack fa-2x"></i>
1053        </a>
1054<a href="https://www.data.gouv.fr/fr/users/luc-estienne-1/" target="_blank" aria-label="gouv">
1055            <i class="fa fa-database o_editable_media fa-stack fa-2x text-900"></i>
1056        </a>
1057</div><p><br/></p></div></div></div>
1058    </section></div>
1059        <div id="o_footer_scrolltop_wrapper" class="container h-0 d-flex align-items-center justify-content-center">
1060            <a id="o_footer_scrolltop" role="button" href="#top" title="Faire défiler vers le haut" class="btn btn-primary rounded-circle d-flex align-items-center justify-content-center">
1061                <span class="oi fa-1x oi-chevron-up"></span>
1062            </a>
1063        </div>
1064    <div class="o_footer_copyright o_colored_level o_cc" data-name="Copyright">
1065                        <div class="container py-3">
1066                            <div class="row row-gap-2">
1067                                <div class="col-sm text-center text-sm-start text-muted">
1068                                    <span class="o_footer_copyright_name me-2">​<span class="fa fa-copyright"></span>&nbsp;2024 Luc Estienne. Tous droits réservés.<br/></span>
1069                                </div>
1070                                <div class="text-center o_not_editable small col-md mt-auto mb-0 text-md-end"><div></div>
1071                                </div>
1072                            </div>
1073                        </div>
1074                    </div>
1075                </footer>
1076        <div id="website_cookies_bar" class="s_popup o_snippet_invisible o_no_save d-none" data-name="Cookies Bar" data-vcss="001" data-invisible="1">
1077            <div class="modal modal_shown o_cookies_discrete s_popup_bottom s_popup_no_backdrop" data-show-after="500" data-display="afterDelay" data-consents-duration="999" data-bs-focus="false" data-bs-backdrop="false" data-bs-keyboard="false" tabindex="-1" style="display: none;" aria-hidden="true">
1078                <div class="modal-dialog d-flex modal-sm">
1079                    <div class="modal-content oe_structure">
1080                        <section class="s_text_block o_colored_level o_cc o_cc5 pb16 pt16" data-snippet="s_text_block" data-name="Texte">
1081                            <div class="s_allow_columns container">
1082                                <p>
1083                                    <span class="pe-1">Nous utilisons des cookies pour vous offrir une meilleure
1084                                        expérience utilisateur sur ce site.</span>
1085                                </p>
1086                                <p>
1087                                    <a href="/cookie-policy" class="o_cookies_bar_text_policy btn btn-link btn-sm px-0">Politique en
1088                                        matière de cookies</a>
1089                                </p>
1090                                <div id="pair-button-cookies">
1091                                    <a href="#" id="cookies-consent-all" role="button" class="js_close_popup btn btn-outline-secondary rounded-circle btn-sm mb-2" data-bs-original-title="" title="">Tout accepter</a>
1092                                    <a href="#" id="cookies-consent-essential" role="button" class="js_close_popup px-2 btn btn-outline-secondary rounded-circle btn-sm mb-2" data-bs-original-title="" title="">Que                                    les essentiels</a>    
1093                                </div>
1094                            </div>
1095                        </section>
1096                    </div>
1097                </div>
1098            </div>
1099        </div>
1100            </div>
1101        
1102        </body>
1103</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.