{"id":21601,"date":"2025-08-15T23:35:41","date_gmt":"2025-08-15T21:35:41","guid":{"rendered":"https:\/\/medianbox.fr\/wordpress\/?p=21601"},"modified":"2025-10-05T15:16:30","modified_gmt":"2025-10-05T13:16:30","slug":"remue-meninges","status":"publish","type":"post","link":"https:\/\/medianbox.fr\/wordpress\/?p=21601","title":{"rendered":"Remue-m\u00e9ninges"},"content":{"rendered":"<p style=\"text-align: center;\"><div id=\"wp-tabs-1\" class=\"wp-tabs wpui-dark wpui-styles wpui-tabs-horizontal\" data-style=\"wpui-dark\"><br \/>\n<h3 class=\"wp-tab-title\"> R\u00e9sum\u00e9 <\/h3><div class=\"wp-tab-content\"><div class=\"wp-tab-content-wrapper\"><\/p>\n<blockquote>\n<p style=\"text-align: justify;\">De retour d&rsquo;un voyage formidable de pr\u00e8s de 24jours \u00e0 travers la France, je me suis mis \u00e0 discuter avec mon chat. Lui demandant de me dessiner de ses petites pattes toute mimi une carte simpliste et inspir\u00e9e de celles du v\u00e9ritable Tour de France, et qui reprendrait les \u00e9tapes de mon p\u00e9riple. Mon chat qui est toujours tr\u00e8s \u00ab\u00a0prompt\u00a0\u00bb \u00e0 jouer m&rsquo;a demand\u00e9 si le Python pouvait m&rsquo;aller, et je lui ai dis que oui car du Python j&rsquo;en ai d\u00e9j\u00e0 ex\u00e9cut\u00e9 sur mon Pingouin&#8230; Pour cela, seront n\u00e9cessaires python3 ainsi que quelques biblioth\u00e8ques pour r\u00e9cup\u00e9rer les positions GPS de chaque commune et \u00ab\u00a0\u00e9crire\u00a0\u00bb la carte dont voici le r\u00e9sultat. Un bon exercice apr\u00e8s des jours entiers \u00e0 p\u00e9daler pour remettre le cerveau en route&#8230; \ud83d\ude09<\/p>\n<\/blockquote>\n<p style=\"text-align: center;\"><code>sudo apt install python3 python3-pip<\/code><\/p>\n<p style=\"text-align: center;\"><code>pip install matplotlib geopandas shapely geopy requests<\/code><\/p>\n<p style=\"text-align: center;\"><code>pip3 install --user --force-reinstall --no-deps numpy==1.22.4<\/code><\/p>\n<p style=\"text-align: center;\"><code>pip install geodatasets<\/code><\/p>\n<p style=\"text-align: center;\"><code>python3 carte_voyage_velo_v18.py<\/code><\/p>\n<div id=\"attachment_21602\" style=\"width: 595px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21602\" class=\"wp-image-21602\" src=\"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo-300x298.jpg\" alt=\"\" width=\"585\" height=\"581\" srcset=\"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo-300x298.jpg 300w, https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo-150x150.jpg 150w, https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo.jpg 600w\" sizes=\"auto, (max-width: 585px) 100vw, 585px\" \/><\/a><p id=\"caption-attachment-21602\" class=\"wp-caption-text\">La carte de mon p\u00e9riple \u00e0 travers la France, \u00e9crite via un script Python lanc\u00e9 sur une distribution Linux Mint, et un nouvel exemple de ce qu&rsquo;il est possible de faire avec l&rsquo;IA !<\/p><\/div>\n<p style=\"text-align: center;\"><\/div><\/div><!-- end div.wp-tab-content --><br \/>\n<h3 class=\"wp-tab-title\"> Code Python <\/h3> <div class=\"wp-tab-content\"><div class=\"wp-tab-content-wrapper\"><\/p>\n<p><a href=\"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/08\/Saint-Malo-Python-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-21613\" src=\"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/08\/Saint-Malo-Python-61x300.jpg\" alt=\"\" width=\"585\" height=\"2858\" srcset=\"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/08\/Saint-Malo-Python-768x3752.jpg 768w, https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/08\/Saint-Malo-Python-419x2048.jpg 419w, https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/08\/Saint-Malo-Python-scaled.jpg 524w\" sizes=\"auto, (max-width: 585px) 100vw, 585px\" \/><\/a><\/p>\n<p style=\"text-align: center;\">Nom du fichier : carte_voyage_velo_v18.py<\/p>\n<p>&nbsp;<\/p>\n<blockquote><p>import matplotlib.pyplot as plt<br \/>\nimport geopandas as gpd<br \/>\nfrom shapely.geometry import LineString<br \/>\nfrom geopy.geocoders import Nominatim<br \/>\nimport time<\/p>\n<p># &#8212; Donn\u00e9es &#8212;<br \/>\nstages_bike = [<br \/>\n\u00ab\u00a0Virieu-le-Grand\u00a0\u00bb, \u00ab\u00a0Gex\u00a0\u00bb, \u00ab\u00a0Pontarlier\u00a0\u00bb, \u00ab\u00a0Seppois-le-Bas\u00a0\u00bb, \u00ab\u00a0Ribeauvill\u00e9\u00a0\u00bb,<br \/>\n\u00ab\u00a0Saverne\u00a0\u00bb, \u00ab\u00a0Metz\u00a0\u00bb, \u00ab\u00a0Mouzon 08210\u00a0\u00bb, \u00ab\u00a0S\u00e9meries\u00a0\u00bb, \u00ab\u00a0Boeschepe\u00a0\u00bb, \u00ab\u00a0Escalles\u00a0\u00bb,<br \/>\n\u00ab\u00a0Groffliers\u00a0\u00bb, \u00ab\u00a0Martigny\u00a0\u00bb, \u00ab\u00a0Yport\u00a0\u00bb, \u00ab\u00a0Honfleur\u00a0\u00bb, \u00ab\u00a0Osmanville\u00a0\u00bb, \u00ab\u00a0Cherbourg\u00a0\u00bb,<br \/>\n\u00ab\u00a0Saint Pair-sur-Mer\u00a0\u00bb, \u00ab\u00a0Mont-Saint-Michel\u00a0\u00bb, \u00ab\u00a0Saint Malo\u00a0\u00bb,<br \/>\n\u00ab\u00a0Nantes\u00a0\u00bb, \u00ab\u00a0Loireauxence\u00a0\u00bb, \u00ab\u00a0Chouz\u00e9-sur-Loire\u00a0\u00bb, \u00ab\u00a0Muides-sur-Loire\u00a0\u00bb,<br \/>\n\u00ab\u00a0Gien\u00a0\u00bb, \u00ab\u00a0Nevers\u00a0\u00bb<br \/>\n]<\/p>\n<p>stages_train = [<br \/>\n(\u00ab\u00a0Saint Etienne\u00a0\u00bb, \u00ab\u00a0Virieu-le-Grand\u00a0\u00bb), # segment initial<br \/>\n(\u00ab\u00a0Saint Malo\u00a0\u00bb, \u00ab\u00a0Nantes\u00a0\u00bb),<br \/>\n(\u00ab\u00a0Nevers\u00a0\u00bb, \u00ab\u00a0Saint Etienne\u00a0\u00bb)<br \/>\n]<\/p>\n<p># &#8212; G\u00e9ocodage &#8212;<br \/>\ngeolocator = Nominatim(user_agent=\u00a0\u00bbvelo_carte\u00a0\u00bb)<br \/>\nlocations = {}<br \/>\nfor place in set(stages_bike + [p for seg in stages_train for p in seg]):<br \/>\nloc = geolocator.geocode(f\u00a0\u00bb{place}, France\u00a0\u00bb)<br \/>\nif loc:<br \/>\nlocations[place] = (loc.longitude, loc.latitude)<br \/>\nelse:<br \/>\nprint(f\u00a0\u00bbNon trouv\u00e9 : {place}\u00a0\u00bb)<br \/>\ntime.sleep(1)<\/p>\n<p># &#8212; Segments v\u00e9lo &#8212;<br \/>\nbike_segment1 = [p for p in stages_bike if p not in [\u00ab\u00a0Nantes\u00a0\u00bb, \u00ab\u00a0Loireauxence\u00a0\u00bb, \u00ab\u00a0Chouz\u00e9-sur-Loire\u00a0\u00bb, \u00ab\u00a0Muides-sur-Loire\u00a0\u00bb, \u00ab\u00a0Gien\u00a0\u00bb, \u00ab\u00a0Nevers\u00a0\u00bb]]<br \/>\nbike_segment2 = [\u00ab\u00a0Nantes\u00a0\u00bb, \u00ab\u00a0Loireauxence\u00a0\u00bb, \u00ab\u00a0Chouz\u00e9-sur-Loire\u00a0\u00bb, \u00ab\u00a0Muides-sur-Loire\u00a0\u00bb, \u00ab\u00a0Gien\u00a0\u00bb, \u00ab\u00a0Nevers\u00a0\u00bb]<\/p>\n<p># &#8212; Carte France M\u00e9tropole &#8212;<br \/>\nshapefile_path = \u00ab\u00a0\/media\/damien\/DATA\/DOCUMENT\/v\u00e9lo\/2025\/27 &#8211; TDF\/Python\/ne_110m_admin_0_countries\/ne_110m_admin_0_countries.shp\u00a0\u00bb<br \/>\nworld = gpd.read_file(shapefile_path)<br \/>\nfrance = world[world.NAME == \u00ab\u00a0France\u00a0\u00bb].copy()<br \/>\nfrance = france.to_crs(epsg=2154)<br \/>\nfrance[&lsquo;area&rsquo;] = france.geometry.area<br \/>\nfrance_metropole = france.loc[france[&lsquo;area&rsquo;].idxmax()].geometry<br \/>\nfrance_metropole_gs = gpd.GeoSeries([france_metropole], crs=\u00a0\u00bbEPSG:2154&Prime;).to_crs(epsg=4326)<\/p>\n<p># &#8212; Figure 5000&#215;5000 px &#8212;<br \/>\nfig, ax_map = plt.subplots(figsize=(50, 50))<br \/>\nfrance_metropole_gs.plot(ax=ax_map, color=\u00a0\u00bb#FFD433&Prime;, edgecolor=\u00a0\u00bbblack\u00a0\u00bb)<\/p>\n<p># &#8212; Trac\u00e9s v\u00e9lo &#8212;<br \/>\nif bike_segment1:<br \/>\ncoords1 = [locations[p] for p in bike_segment1 if p in locations]<br \/>\ngpd.GeoSeries(LineString(coords1), crs=\u00a0\u00bbEPSG:4326&Prime;).plot(ax=ax_map, color=\u00a0\u00bbblack\u00a0\u00bb, linewidth=2)<\/p>\n<p>if bike_segment2:<br \/>\ncoords2 = [locations[p] for p in bike_segment2 if p in locations]<br \/>\ngpd.GeoSeries(LineString(coords2), crs=\u00a0\u00bbEPSG:4326&Prime;).plot(ax=ax_map, color=\u00a0\u00bbblue\u00a0\u00bb, linewidth=2)<\/p>\n<p># &#8212; Trac\u00e9s train pointill\u00e9 rouge &#8212;<br \/>\nfor start, end in stages_train:<br \/>\nif start in locations and end in locations:<br \/>\ngpd.GeoSeries(LineString([locations[start], locations[end]]), crs=\u00a0\u00bbEPSG:4326&Prime;).plot(<br \/>\nax=ax_map, color=\u00a0\u00bbred\u00a0\u00bb, linewidth=2, linestyle=&rsquo;&#8211;&lsquo;<br \/>\n)<\/p>\n<p># &#8212; Num\u00e9ros sur points &#8212;<br \/>\n# Premier segment v\u00e9lo (noir)<br \/>\nfor idx, place in enumerate(bike_segment1):<br \/>\nif place in locations:<br \/>\nlon, lat = locations[place]<br \/>\nax_map.plot(lon, lat, &lsquo;o&rsquo;, markersize=15, markeredgecolor=&rsquo;black&rsquo;, markerfacecolor=&rsquo;white&rsquo;, zorder=5)<br \/>\nax_map.text(lon, lat, str(idx), fontsize=12, ha=&rsquo;center&rsquo;, va=&rsquo;center&rsquo;, zorder=6)<\/p>\n<p># Deuxi\u00e8me segment v\u00e9lo (bleu) avec num\u00e9ros sp\u00e9cifiques<br \/>\netapes_numero = [(\u00ab\u00a0Loireauxence\u00a0\u00bb, 20), (\u00ab\u00a0Chouz\u00e9-sur-Loire\u00a0\u00bb, 21),<br \/>\n(\u00ab\u00a0Muides-sur-Loire\u00a0\u00bb, 22), (\u00ab\u00a0Gien\u00a0\u00bb, 23), (\u00ab\u00a0Nevers\u00a0\u00bb, 24)]<\/p>\n<p>for place, numero in etapes_numero:<br \/>\nif place in locations:<br \/>\nlon, lat = locations[place]<br \/>\nax_map.plot(lon, lat, &lsquo;o&rsquo;, markersize=15, markeredgecolor=&rsquo;blue&rsquo;, markerfacecolor=&rsquo;white&rsquo;, zorder=5)<br \/>\nax_map.text(lon, lat, str(numero), fontsize=12, ha=&rsquo;center&rsquo;, va=&rsquo;center&rsquo;, zorder=6)<\/p>\n<p># &#8212; Dates d\u00e9part\/arriv\u00e9e &#8212;<br \/>\nif \u00ab\u00a0Virieu-le-Grand\u00a0\u00bb in locations:<br \/>\nax_map.text(locations[\u00ab\u00a0Virieu-le-Grand\u00a0\u00bb][0], locations[\u00ab\u00a0Virieu-le-Grand\u00a0\u00bb][1] &#8211; 0.5,<br \/>\n\u00ab\u00a022 juillet 2025&Prime;, fontsize=14, color=\u00a0\u00bbblack\u00a0\u00bb)<br \/>\nif \u00ab\u00a0Nevers\u00a0\u00bb in locations:<br \/>\nax_map.text(locations[\u00ab\u00a0Nevers\u00a0\u00bb][0], locations[\u00ab\u00a0Nevers\u00a0\u00bb][1] &#8211; 0.5,<br \/>\n\u00ab\u00a014 ao\u00fbt 2025&Prime;, fontsize=14, color=\u00a0\u00bbblack\u00a0\u00bb)<\/p>\n<p># &#8212; Labels suppl\u00e9mentaires &#8212;<br \/>\nif \u00ab\u00a0Saint Etienne\u00a0\u00bb in locations:<br \/>\nax_map.text(locations[\u00ab\u00a0Saint Etienne\u00a0\u00bb][0], locations[\u00ab\u00a0Saint Etienne\u00a0\u00bb][1] + 0.2,<br \/>\n\u00ab\u00a0Saint Etienne\u00a0\u00bb, fontsize=14, color=\u00a0\u00bbblack\u00a0\u00bb, ha=&rsquo;center&rsquo;)<br \/>\nif \u00ab\u00a0Saint Malo\u00a0\u00bb in locations:<br \/>\nax_map.text(locations[\u00ab\u00a0Saint Malo\u00a0\u00bb][0], locations[\u00ab\u00a0Saint Malo\u00a0\u00bb][1] + 0.2,<br \/>\n\u00ab\u00a0Saint Malo\u00a0\u00bb, fontsize=14, color=\u00a0\u00bbblack\u00a0\u00bb, ha=&rsquo;center&rsquo;)<\/p>\n<p># &#8212; Kilom\u00e9trage total &#8212;<br \/>\nax_map.text(0.02, 0.95, \u00ab\u00a03000 km\u00a0\u00bb, transform=ax_map.transAxes,<br \/>\nfontsize=24, fontweight=&rsquo;bold&rsquo;, color=\u00a0\u00bbblack\u00a0\u00bb, ha=&rsquo;left&rsquo;, va=&rsquo;top&rsquo;)<\/p>\n<p># &#8212; L\u00e9gende des villes &#8212;<br \/>\nlegend_text = [f\u00a0\u00bb{i}: {p}\u00a0\u00bb for i, p in enumerate(stages_bike)]<br \/>\nn = len(legend_text)<br \/>\nmargin_top = 0.95<br \/>\nmargin_bottom = 0.05<br \/>\nfor i, text in enumerate(legend_text):<br \/>\ny_pos = margin_top &#8211; i * (margin_top &#8211; margin_bottom) \/ max(n-1, 1)<br \/>\nax_map.text(1.02, y_pos, text, transform=ax_map.transAxes,<br \/>\nfontsize=12, color=\u00a0\u00bbred\u00a0\u00bb, va=&rsquo;top&rsquo;, ha=&rsquo;left&rsquo;)<\/p>\n<p>ax_map.set_axis_off()<\/p>\n<p># &#8212; Titre avec drapeau pirate &#8212;<br \/>\nax_map.set_title(\u00ab\u00a0Saint Malo, par les routes du Tour de France \u200d\u2620\ufe0f\u00a0\u00bb,<br \/>\nfontsize=36, fontweight=&rsquo;bold&rsquo;, color=\u00a0\u00bbblack\u00a0\u00bb, pad=50)<\/p>\n<p># &#8212; Sauvegarde SVG &#8212;<br \/>\nplt.savefig(\u00ab\u00a0carte_voyage_velo_metropole_legende_5000px.svg\u00a0\u00bb, format=\u00a0\u00bbsvg\u00a0\u00bb, bbox_inches=\u00a0\u00bbtight\u00a0\u00bb)<br \/>\nplt.close()<\/p>\n<p>print(\u00ab\u00a0\u2705 Carte finale mise \u00e0 jour : segment bleu v\u00e9lo Nantes \u2192 Loireauxence inclus, tout le reste conserv\u00e9.\u00a0\u00bb)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><\/div><\/div><!-- end div.wp-tab-content --><\/p>\n<p style=\"text-align: center;\"><\/div><!-- end div.wp-tabs --><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"categories":[62],"tags":[],"class_list":["post-21601","post","type-post","status-publish","format-standard","hentry","category-actualite"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Remue-m\u00e9ninges - MeDiaN@Tour<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/medianbox.fr\/wordpress\/?p=21601\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Remue-m\u00e9ninges - MeDiaN@Tour\" \/>\n<meta property=\"og:url\" content=\"https:\/\/medianbox.fr\/wordpress\/?p=21601\" \/>\n<meta property=\"og:site_name\" content=\"MeDiaN@Tour\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-15T21:35:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-05T13:16:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"600\" \/>\n\t<meta property=\"og:image:height\" content=\"596\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"MeDiaN\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"MeDiaN\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601\"},\"author\":{\"name\":\"MeDiaN\",\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/#\\\/schema\\\/person\\\/e1cba8e776ddbc5e91ef69e134732c6d\"},\"headline\":\"Remue-m\u00e9ninges\",\"datePublished\":\"2025-08-15T21:35:41+00:00\",\"dateModified\":\"2025-10-05T13:16:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601\"},\"wordCount\":893,\"image\":{\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/2025-Saint-Malo-300x298.jpg\",\"articleSection\":[\"Divers\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601\",\"url\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601\",\"name\":\"Remue-m\u00e9ninges - MeDiaN@Tour\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/2025-Saint-Malo-300x298.jpg\",\"datePublished\":\"2025-08-15T21:35:41+00:00\",\"dateModified\":\"2025-10-05T13:16:30+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/#\\\/schema\\\/person\\\/e1cba8e776ddbc5e91ef69e134732c6d\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601#primaryimage\",\"url\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/2025-Saint-Malo.jpg\",\"contentUrl\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/2025-Saint-Malo.jpg\",\"width\":600,\"height\":596},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?p=21601#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Remue-m\u00e9ninges\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/\",\"name\":\"MeDiaN@Tour\",\"description\":\"Un bon v\u00e9lo est un v\u00e9lo qui fait de belles photos...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/#\\\/schema\\\/person\\\/e1cba8e776ddbc5e91ef69e134732c6d\",\"name\":\"MeDiaN\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1470dfffed669515b766ece4fcfc63ffd58912ae8e977b889ae0faf8143c3dc1?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1470dfffed669515b766ece4fcfc63ffd58912ae8e977b889ae0faf8143c3dc1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1470dfffed669515b766ece4fcfc63ffd58912ae8e977b889ae0faf8143c3dc1?s=96&d=mm&r=g\",\"caption\":\"MeDiaN\"},\"sameAs\":[\"https:\\\/\\\/medianbox.fr\\\/auth.php\"],\"url\":\"https:\\\/\\\/medianbox.fr\\\/wordpress\\\/?author=4\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Remue-m\u00e9ninges - MeDiaN@Tour","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/medianbox.fr\/wordpress\/?p=21601","og_locale":"fr_FR","og_type":"article","og_title":"Remue-m\u00e9ninges - MeDiaN@Tour","og_url":"https:\/\/medianbox.fr\/wordpress\/?p=21601","og_site_name":"MeDiaN@Tour","article_published_time":"2025-08-15T21:35:41+00:00","article_modified_time":"2025-10-05T13:16:30+00:00","og_image":[{"width":600,"height":596,"url":"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo.jpg","type":"image\/jpeg"}],"author":"MeDiaN","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"MeDiaN","Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601#article","isPartOf":{"@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601"},"author":{"name":"MeDiaN","@id":"https:\/\/medianbox.fr\/wordpress\/#\/schema\/person\/e1cba8e776ddbc5e91ef69e134732c6d"},"headline":"Remue-m\u00e9ninges","datePublished":"2025-08-15T21:35:41+00:00","dateModified":"2025-10-05T13:16:30+00:00","mainEntityOfPage":{"@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601"},"wordCount":893,"image":{"@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601#primaryimage"},"thumbnailUrl":"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo-300x298.jpg","articleSection":["Divers"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601","url":"https:\/\/medianbox.fr\/wordpress\/?p=21601","name":"Remue-m\u00e9ninges - MeDiaN@Tour","isPartOf":{"@id":"https:\/\/medianbox.fr\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601#primaryimage"},"image":{"@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601#primaryimage"},"thumbnailUrl":"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo-300x298.jpg","datePublished":"2025-08-15T21:35:41+00:00","dateModified":"2025-10-05T13:16:30+00:00","author":{"@id":"https:\/\/medianbox.fr\/wordpress\/#\/schema\/person\/e1cba8e776ddbc5e91ef69e134732c6d"},"breadcrumb":{"@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/medianbox.fr\/wordpress\/?p=21601"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601#primaryimage","url":"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo.jpg","contentUrl":"https:\/\/medianbox.fr\/wordpress\/wp-content\/uploads\/2025\/10\/2025-Saint-Malo.jpg","width":600,"height":596},{"@type":"BreadcrumbList","@id":"https:\/\/medianbox.fr\/wordpress\/?p=21601#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/medianbox.fr\/wordpress"},{"@type":"ListItem","position":2,"name":"Remue-m\u00e9ninges"}]},{"@type":"WebSite","@id":"https:\/\/medianbox.fr\/wordpress\/#website","url":"https:\/\/medianbox.fr\/wordpress\/","name":"MeDiaN@Tour","description":"Un bon v\u00e9lo est un v\u00e9lo qui fait de belles photos...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/medianbox.fr\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/medianbox.fr\/wordpress\/#\/schema\/person\/e1cba8e776ddbc5e91ef69e134732c6d","name":"MeDiaN","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/1470dfffed669515b766ece4fcfc63ffd58912ae8e977b889ae0faf8143c3dc1?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1470dfffed669515b766ece4fcfc63ffd58912ae8e977b889ae0faf8143c3dc1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1470dfffed669515b766ece4fcfc63ffd58912ae8e977b889ae0faf8143c3dc1?s=96&d=mm&r=g","caption":"MeDiaN"},"sameAs":["https:\/\/medianbox.fr\/auth.php"],"url":"https:\/\/medianbox.fr\/wordpress\/?author=4"}]}},"_links":{"self":[{"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/21601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21601"}],"version-history":[{"count":0,"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/21601\/revisions"}],"wp:attachment":[{"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/medianbox.fr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}