Découvrez les vide-greniers et brocantes en Loire-Atlantique (44) pour chiner des objets uniques et profiter d'une ambiance conviviale près de chez vous.

En resum

Sommaire

44 consells ràpids per comprar en botigues de segona mà

  • A Nantes, el mercat de puces urbà es barreja amb els mercats d’antiguitats tradicionals: ideal per a petites troballes i articles per avaluar. Al voltant de

  • Saint-Nazaire i Donges , les trobades de bon matí sovint ofereixen els millors preus en mobles, eines i vaixella.Dirigiu-vos a la costa:

  • Pornic i Villeneuve-en-Retz prioreixen un ambient familiar i articles vintage de vacances. Les fires temàtiques (llibres, discos de vinil) a

  • Nantes atrauen col·leccionistes, venedors de discos i llibreters professionals. Per vendre: inscripció prèvia, classificació per categoria, exposició de preus i una mini zona de « taxació » inspirada en les pràctiques dels antiquaris.

  • Al Loira Atlàntic, comprar en botigues de segona mà té aquella sensació de sortida dominical que sovint acaba en un veritable descobriment. Entre Nantes i les ciutats portuàries, les parades expliquen històries: vaixella de casament, joguines dels anys 80, eines antigues de fuster, cartells de concerts i, de vegades, aquella relíquia familiar rescatada d’una liquidació de finques. Els habituals ho saben: un mercat de puces d’èxit es basa tant en tenir bon ull com en saber fer les coses. La gent ve per la ganga, es queda per l’ambient i, de vegades, marxa amb una pista per a una taxació més seriosa, com un antiquari ambulant de Normandia.

El que crida l’atenció al Loira Atlàntic (departament 44) és la diversitat de formats. Una venda de garatge de barri a Nantes no té la mateixa dinàmica que un mercat de puces vora el mar a Pornic, ni tampoc que una fira especialitzada on els col·leccionistes treuen lupes, llistes i fundes protectores. I si us prepareu per a una liquidació o una venda d’herències, aquests esdeveniments també us donen una idea concreta dels valors, les tendències i els articles que es venen ràpidament. El fil conductor: aprendre a caçar amb intel·ligència, sense presses i amb el plaer de la conversa. https://youtu.be/TA8z4u23VOY Calendari del mercat de puces de Loire-Atlantique (44): properes dates imperdibles Per ajudar-vos a orientar-vos, destaquen algunes dates com a fites: a

Nantes , els grans diumenges de primavera (abril-maig) reuneixen un dens mercat de puces al centre de la ciutat, mentre que l’estiu afavoreix els molls i els parcs. Al setembre, l’inici del curs acadèmic és ideal perquè els estudiants moblin els seus apartaments: una cadira de bistrot o una làmpada Art Déco es poden aconseguir en una hora. Al llarg de l’estuari, Donges sovint organitza una venda de garatgeorganitzada per associacions a finals de maig, i una segona a principis de tardor, quan es buiden els àtics abans de l’hivern. Clisson, centrat en els « objectes amb encant », és perfecte per trobar articles decoratius, i

Nantes

continua sent el baròmetre dels preus: és on es veu què puja… i què baixa.

Els principals mercats de puces de Nantes: els principals mercats d’antiguitats i fires d’antiguitats Nantes brilla amb els seus esdeveniments « de públic general » on es barregen els caçadors de gangues del diumenge i els compradors experimentats. Un mercat de puces de barri a prop dels bulevards sovint permet regatejar un conjunt de plats, mentre que un mercat de puces més cèntric atrau professionals i peces de millor qualitat. Un consell per al mercat: arribeu amb una idea específica (mirall, calaixera, eines) i deixeu lloc per a l’inesperat. A Nantes, les parades canvien ràpidament i la primera hora sovint marca la diferència pel que fa als mobles. El següent pas lògic és explorar les especialitzacions, en particular els llibres i la música. Llibreters professionals a Nantes: on i quan trobar-losA Nantes, alguns llibreters professionals treballen com a autèntics « caçadors de tresors »: compren biblioteques de finques, les classifiquen, les restauren i després les tornen a posar en circulació. Els podeu trobar en dies temàtics al centre de la ciutat, però també en esdeveniments coberts quan fa mal temps. Un exemple revelador: un conjunt de llibres regionals i marítims, vist a Nantes. Un disc sobre una taula discreta pot valer una valoració més precisa del que sembla a primera vista. En el món dels suports físics, l’estat, l’edició i la raresa importen tant com el títol.

Fires de vinil i discos: esdeveniments especialitzats a Nantes Les fires de vinil a Nantes atrauen venedors de discos, col·leccionistes i simplement curiosos. La gent busca edicions franceses, rock dels anys 60 i 70 o maxi-singles electro que estan tornant amb força. Aquí, la negociació és més tècnica: màster, portada i qualitat del so. Aquests esdeveniments a Nantes complementen perfectament un mercat de puces

découvrez nos conseils essentiels pour réussir votre brocante en 2026 et éviter les erreurs fréquentes qui peuvent compromettre votre succès.

Comment réussir sa brocante en 2026 et éviter les erreurs courantes

En bref Réussir une brocante tient à trois leviers : préparation, bon timing et œil entraîné sur les objets anciens.Les erreurs courantes coûtent cher :…

clàssic: hi vas per trobar articles específics, no només per tafanejar. El següent pas: sortir de la ciutat i comparar els ambients.

Vendes de garatge i mercats de puces a les ciutats del Loira Atlàntic: Donges, Pornic, Clisson, Saint-Nazaire Fora de Nantes , les ciutats ofereixen una gimcana més « local », sovint més directa. A Donges, trobareu eines, estris de taller i articles nàutics relacionats amb l’estuari; l’ambient és animat i els preus es mantenen assequibles. A Pornic, el mercat de puces té un ambient més tranquil i passejable, amb objectes vora el mar, cistelles, pòsters i mobles de vacances. Clisson sovint ofereix una selecció més decorativa, mentre que Saint-Nazaire és el lloc perfecte per a mobles robustos i estris de garatge. Variar les ciutats augmenta les vostres possibilitats: cada ubicació té el seu propi caràcter únic. Mercats de puces de matinada a Saint-Nazaire: grans ofertes i llocs imprescindibles. A Saint-Nazaire, els mercats de matinada recompensen els que s’aixequen d’hora: arriben ja a les 7:30 del matí, amb llanternes a l’hivern i cafè a la mà. Durant aquestes hores, sovint podeu trobar lots sencers (plats, joguines, ferreteria), perfectes per moblar una casa després d’una neteja. L’enfocament correcte: busqueu les parades de « buidat de casa », que marquen el final d’una herència. Un mercat de puces no és només un mercat; de vegades és un pas de torxa entre generacions.

Mercats de Nadal i esdeveniments de temporada al Loira Atlàntic: quines són les seves característiques específiques? A finals d’any,

Nantes

i les poblacions dels voltants organitzen mercats de Nadal on el mercat de pucesadquireix un aire artesanal i vintage. Hi trobareu decoracions antigues, ornaments de vidre, figures de pessebre i, de vegades, joguines mecàniques per restaurar. Aquests esdeveniments de temporada també promouen el regal responsable: regalar alguna cosa antiga significa regalar una història.

Per als venedors, és un format més exigent: presentació acurada, articles nets i una exposició ben executada. La temporada condueix naturalment a mercats interiors, cosa que ens porta al següent tema.

Formats de mercats de puces al Loira Atlàntic: a l’aire lliure, a l’interior i més

Els mercats a l’aire lliure continuen sent l’opció clàssica, sobretot a Nantes on passejar forma part de la diversió. Però els mercats interiors estan guanyant popularitat: més còmodes, més propicis per a la interacció i sovint millor organitzats per a la taxació ràpida d’articles antics.

Els formats híbrids també són habituals: un mercat de puces en un aparcament de supermercat o una venda de garatge

découvrez nos astuces pour réussir votre vide grenier en ille-et-vilaine en 2026 et dénicher les meilleures affaires parmi les trésors cachés.

Vide grenier 35 : comment dénicher les meilleures affaires en 2026

Méta-description : Vide grenier 35 — conseils pratiques pour chiner en Ille‑et‑Vilaine, repérer les meilleures affaires, visiter brocantes et marchés aux puces, et obtenir une…

en una sala polivalent, convenient per a famílies. L’important és triar el format que millor s’adapti al vostre objectiu: moblar, col·leccionar o buidar un àtic.

Fires especialitzades: articles de nínxol i col·leccions rares al Loira AtlànticLes fires especialitzades atrauen aquells que aprecien els detalls: monedes, postals, objectes militars, joguines antigues. A Nantes,aquests esdeveniments us permeten comparar articles, evitar errors i sol·licitar una taxació fiable abans de comprar, tal com ho faríeu durant una taxació a Normandia. Unmercat de puces general ofereix l’element sorpresa; una fira proporciona precisió. Els dos són complementaris.

Ubicacions típiques per a vendes de garatge al Loira Atlàntic: places públiques, aparcaments i sales polivalents Al departament del Loira Atlàntic (44), les ubicacions són recurrents: places, aparcaments d’estadis, les zones al voltant dels mercats coberts i les sales cíviques. A Nantes, alguns barris prefereixen les places amb arbres; a Donges, s’agraeixen les zones de fàcil accés, convenients per carregar mobles. Tingueu en compte que la ubicació influeix en el contingut: a prop d’un mercat d’alimentació, els articles petits es lliuren ràpidament; a prop d’un gimnàs, sovint trobareu articles i roba per a nadons. Un mercat de puces també és un fenomen geogràfic.

Consells pràctics per a una visita reeixida a un mercat de puces al Loira Atlàntic (44): El trio guanyador: arribeu d’hora, viatgeu lleuger i tingueu diners en efectiu a mà. A Nantes, una hora més pot marcar la diferència a l’hora de trobar una calaixera o un pòster original. Porteu una cinta mètrica: la compra impulsiva es pot convertir ràpidament en un maldecap a les escales.

Observeu: busqueu les parades de « troballes a les golfes », sovint les més interessants. Feu preguntes: sobre l’origen, l’estat, les reparacions, especialment pel que fa als articles elèctrics i els mobles.

Negocieu: educadament, a l’engròs i mostrant respecte per l’article. I si esteu preparant una liquidació després d’una herència, fixeu-vos en els preus que veieu: és un punt de referència concret per classificar i valorar articles. Per què participar en mercats de puces al Loira Atlàntic és un plaer intergeneracional

découvrez tout sur brocabrac avec notre guide complet et nos conseils pratiques pour bien profiter de cette expérience unique.

Tout savoir sur brocabrac : guide complet et conseils pratiques

Méta-description : Découvrez brocabrac avec ce guide complet : fonctionnalités brocabrac, tutoriel brocabrac, astuces brocabrac et conseils pratiques pour chiner en Normandie, organiser vos sorties,…

En un mercat de puces, sovint es veuen tres generacions al voltant de la mateixa parada. Els nens remenen joguines, els pares busquen articles pràctics i els avis expliquen com s’utilitzava un objecte. A Nantes, aquesta transmissió és palpable: un vell molinet de cafè es converteix en un pretext per als records.

Aquest plaer compartit crea una convivència rara i fa que la sortida valgui la pena. El següent pas és entendre com funciona tot gràcies als organitzadors. La importància de l’organització local: trobar horaris i contactes per als mercats de puces al Loira Atlàntic (departament 44) Un mercat de puces

L’èxit depèn d’una logística sòlida: registre, col·locació, seguretat i gestió de multituds. Els cartells locals, els ajuntaments, els comitès de festes i les associacions generalment publiquen horaris i informació de contacte. A Nantes, les pàgines de barri són inestimables per evitar viatges innecessaris.

Consell professional: comproveu els horaris de muntatge dels expositors i l’hora de tancament real. Les millors ofertes es troben aviat… i de vegades just al final. Descobriu la riquesa d’articles de segona mà als mercats de puces del Loira Atlàntic. El Loira Atlàntic combina influències marítimes i urbanes. A Nantes, trobareu decoració de disseny, vintage i industrial. A Pornic, trobareu articles nàutics, cistelles i cartells turístics. Cada mercat de puces es converteix en un petit museu vivent. I amb la pràctica, començareu a detectar els esdeveniments que realment importen. Principals esdeveniments anuals dels mercats de puces al Loira Atlàntic (departament 44)

Diversos esdeveniments anuals importants estructuren la temporada: grans mercats de puces a Nantes a la primavera i la tardor, grans reunions comunitàries al voltant de l’estuari i fires interiors a mesura que s’acosta l’hivern. Aquests esdeveniments atrauen venedors habituals amb parades més ben preparades. Per a un comprador, és el lloc ideal per comparar preus dins de la mateixa categoria. Per a un venedor que buida una finca, és un aparador eficaç. Una mirada més detallada als mercats de puces temàtics del Loira Atlàntic: antiguitats, llibres i discos de vinil Els esdeveniments temàtics estan guanyant popularitat: antiguitats regionals, llibres rars i discos de vinil a Nantes. Un mercat de puces antic emfatitza l’autenticitat, la restauració i la procedència. Els llibres requereixen una manipulació acurada; els discos de vinil, una inspecció visual i, de vegades, escolta in situ. Aquesta segmentació evita la dispersió i tranquil·litza: comprem millor quan entenem el que estem comprant.

Com gaudir dels mercats de puces en família al Loira Atlàntic

Per a una sortida tranquil·la, trieu un itinerari senzill: un esdeveniment a Nantesal matí, una pausa i després un lloc més petit a la tarda. Als nens els encanta la cerca de petits tresors; els adults aprecien les parades que venen vaixella i articles decoratius.

Un bon consell: doneu als més petits una « missió » (trobar un llibre, un joc, un pòster), mentre vigileu el pressupost. El mercat de puces es converteix en un joc d’observació.

Els millors consells per vendre eficaçment en un mercat de puces al Loira Atlàntic (44)

Un mercat de puces reeixitper al venedor comença a casa: classificació per categoria, neteja ràpida i preus clarament mostrats. A Nantes, els compradors comparen preus ràpidament; uns preus clars eviten discussions interminables.

Presenteu els vostres articles com un petit « racó de casa »: això fomenta les compres. I si esteu buidant una propietat després d’una herència, recordeu de mantenir separats els articles perquè els taxi un professional. Com trobar les millors ofertes als mercats de puces del Loira AtlànticLes millors ofertes sovint s’amaguen en paquets: una caixa de cuina, un calaix de merceria, una caixa de ferreteria. A Nantes, busqueu venedors que estiguin constantment reposant: és més probable que donin un preu més tard al matí.

Per exemple, un joc de cadires que no coincideixen pot semblar normal, però una cadira de bistrot de disseny o un seient de palla antic mereixen una taxació. El vostre ull es desenvoluparà amb l’experiència.

Els beneficis ecològics i econòmics dels mercats de puces del Loira Atlàntic Els mercats de puces ofereixen una reutilització immediata: menys residus, menys compres noves i una segona vida per a l’objecte. A Nantes, aquest enfocament forma part d’una cultura urbana de reutilització i reparació.Econòmicament, tothom hi guanya: pots equipar-te a un cost menor i els diners circulen localment a través d’associacions. Comprar en botigues de segona mà és una manera diferent de consumir, sense sacrificar el gaudi.

  • Descobreix els mercats de puces i les vendes de garatge del Loira Atlàntic (44) per trobar articles únics i gaudir d’un ambient agradable a prop de casa.

  • Entrevista amb organitzadors de mercats de puces del Loira Atlàntic: entre bastidors i preparació

  • Entre bastidors, els organitzadors sovint parlen dels mateixos reptes: gestionar les inscripcions, evitar espais duplicats i mantenir un ambient familiar. A Nantes, la coordinació amb els residents locals és essencial: trànsit, neteja i horaris d’obertura.

El seu secret: un mapa clar, voluntaris fàcilment identificables i un punt d’informació. El resultat: un mercat de puces més agradable, on la gent es pren el temps per xerrar i comprar al seu ritme. Els imprescindibles mercats de puces mensuals del Loira Atlàntic (departament 44)

Els mercats de puces mensuals són perfectes per perfeccionar les teves habilitats: detectes els clients habituals, vigiles els preus i aprens a negociar. A Nantes, alguns barris tenen una regularitat que permet tornar amb un article específic en ment (mirall, plats, il·luminació). A la perifèria, una visita a Couëron o a pobles més tranquils ofereix una experiència diferent: menys gent, més conversa i, de vegades, troballes inesperades.

Fires de col·leccions al Loira Atlàntic: com participar-hi i què trobar-hi Participar en un mercat de puces requereix un enfocament seriós: registre, una taula reservada i articles prèviament classificats. Hi trobareu col·leccions ben seleccionades, de vegades d’un àtic familiar. A Nantes, aquestes fires proporcionen accés a venedors que en saben del que es tracta, cosa que ajuda a comprar els articles adequats. Per als visitants, és una experiència d’aprenentatge: es comparen articles en diferents condicions, s’entenen els criteris i es refinen els ulls. Un

Mercat de puces especialitzat

accelera l’experiència. Infografia interactivaMercats de puces i vendes de garatge a Loira Atlàntic (44)

Filtreu esdeveniments, calculeu el vostre pressupost i obteniu una llista de comprovació llesta per copiar.

Temps (gratuït)

Actualitza ☁︎Carregant… — Consell: Trieu els matins si hi ha risc de pluja. (Dades Open-Meteo)

Troba un mercat de puces (exemples) La llista següent és un exemple editable. Podeu substituir les dades per les vostres pròpies. Restableix

Copia la meva selecció

Ciutat/Poble Tipus Distància màxima (km)

20

Estimació basada en un punt de partida (editable) i una fórmula senzilla.

Cerca (nom / detalls) — Esdeveniment(s) coincident(s)Ordena Data (ascendent) Distància (ascendent)

Nom (A → Z)

Nota: Aquesta infografia no substitueix els anuncis oficials. Consulteu sempre l’organitzador (horari, política de cancel·lació, temps, permisos).

Estimació ràpida del pressupost Ajusteu la configuració per obtenir un rang realista (combustible + compres + imprevistos). Mode: Visitant

Sou Visitant Expositor

Distància estimada (km)

Consum de combustible (L/100km) Preu del combustible (€/L) Pressupost de compres (€) Marge de contingència10%

Total estimat

Rang indicatiu

Mínim Comoditat

Combustible

CompresQuotes d’expositor

Càlcul simplificat: combustible = km × (consum/100) × preu. Les quotes d’expositor són estimades.

Llista de comprovació ràpida

Marqueu i copieu una llista neta per enganxar-la a les vostres notes.

Copiar Marqueu-ho totDesmarqueu-ho tot

Consells meteorològics Consells ràpids Copiat. El paper de les associacions locals en l’organització de mercats de puces al Loira Atlàntic

Al departament del Loira Atlàntic (44), molts esdeveniments financen escoles, clubs esportius i iniciatives benèfiques. A Nantes, aquesta participació comunitària reforça la confiança: la gent sap on van els diners del lloguer de parades. Per als venedors que desallotgen una casa, també és una oportunitat per donar una segona vida als objectes quotidians.

També veiem col·laboracions entre barris, sobretot al voltant de Saint-Sébastien-sur-Loire i Saint-Herblain. que posen en comú recursos de comunicació. L’organització local garanteix una experiència d’alta qualitat, simplement.

Contacte i registre: com participar en un mercat de puces al Loira Atlàntic (44) El millor enfocament: registrar-se aviat, sobretot a Nantes, on les places s’omplen ràpidament. Prepareu el vostre DNI, el número de matrícula i possiblement un comprovant de domicili, segons la normativa. Un mercat de puces ben organitzat minimitza els problemes imprevistos. Si veneu articles d’una butxaca o herència, porteu una llista i algunes fotos: això ajuda a establir preus raonables i identificar els articles que necessiten una taxació.

Xarxes socials i llocs web per mantenir-se al dia sobre els mercats de puces al Loira Atlàntic

Per fer un seguiment de les dates, els grups locals continuen sent molt eficaços: pàgines de barri a Nantes, calendaris d’associacions i anuncis dels ajuntaments. També podeu trobar informació pràctica (aparcament, accés) i, de vegades, mapes de localització. A peu de carrer, una simple conversa amb un expositor sovint condueix a la propera gran oportunitat, a Dongeso en qualsevol altre lloc. La compra de segona mà prospera amb el boca-orella. Compra intel·ligent de segona mà: consells per trobar articles únics i assequibles al Loira Atlàntic

Comprar en segona mà significa alternar entre Nantes i pobles més petits: un diumenge urbà, després un esdeveniment més tranquil a

/* — Design (sans images) — */ #infographie-vide-greniers-44 .bg-grid { background-image: radial-gradient(transparent 1px, rgba(255,255,255,0.0) 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px); background-size: 10px 10px, 26px 26px, 26px 26px; background-position: 0 0, 0 0, 0 0; } #infographie-vide-greniers-44 .glass { background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.06)); border: 1px solid rgba(255,255,255,0.12); box-shadow: 0 10px 30px rgba(0,0,0,0.25); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } #infographie-vide-greniers-44 .chip { border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.06); } #infographie-vide-greniers-44 .focus-ring:focus { outline: 3px solid rgba(59,130,246,0.75); outline-offset: 2px; } #infographie-vide-greniers-44 .slider { accent-color: #60a5fa; } #infographie-vide-greniers-44 .bar { height: 10px; border-radius: 999px; background: rgba(255,255,255,0.10); overflow: hidden; border: 1px solid rgba(255,255,255,0.10); } #infographie-vide-greniers-44 .bar > i { display: block; height: 100%; width: 0%; border-radius: 999px; background: linear-gradient(90deg, rgba(96,165,250,0.95), rgba(52,211,153,0.95)); transition: width 300ms ease; } /* Hauteur max (outil complet) */ #infographie-vide-greniers-44 .cap-height { max-height: 2000px; }
Donges

, un desviament a

Saint-Lumine-de-Coutais

o una parada a
Dues pautes senzilles: comproveu l’estat (fusta, calaixos, olors) i imagineu com s’utilitzaria. Entre
Gorges

i

Nantes

, sovint podeu trobar mobles robustos per renovar; és aquí on el

Mobles, decoració vintage, taxacions ràpides Donges
Venda de garatge organitzada per associacions Eines, articles per a la llar, articles de taller Pornic
Mercat de puces costaner
/* === API externe 100% gratuite (sans clé) === Service : Open-Meteo (prévisions) URL (exemple Nantes) : https://api.open-meteo.com/v1/forecast?latitude=47.2184&longitude=-1.5536&current=temperature_2m,precipitation,rain,wind_speed_10m&timezone=Europe%2FParis Exemple de réponse JSON (extrait) : { « latitude »:47.22, « longitude »:-1.55, « current »:{ « time »: »2025-12-15T10:00″, « temperature_2m »:8.2, « precipitation »:0.0, « rain »:0.0, « wind_speed_10m »:12.3 } } */ (function () { // ============ Textes (FR) facilement éditables ============ const STR = { badge: « Infographie interactive », title: « Vide-greniers & brocantes en Loire-Atlantique (44) », subtitle: « Filtrez les événements, estimez votre budget et récupérez une checklist prête à copier. », filterTitle: « Trouver un vide-greniers (exemples) », filterDesc: « La liste ci-dessous est un exemple éditable. Vous pouvez remplacer les données par les vôtres. », disclaimer: « Remarque : cette infographie ne remplace pas les annonces officielles. Vérifiez toujours l’organisateur (horaires, annulation, météo, autorisations). », townLabel: « Commune », typeLabel: « Type », distanceLabel: « Distance maximale (km) », distanceHint: « Estimation basée sur un point de départ (modifiable) et une formule simple. », searchLabel: « Recherche (nom / détails) », resultsSuffix: « événement(s) correspondant(s) », sortLabel: « Tri », reset: « Réinitialiser », copySelection: « Copier ma sélection », weatherLabel: « Météo (gratuite) », weatherLoading1: « Chargement… », weatherLoading2: « — », weatherHint: « Astuce : privilégiez les matinées si risque de pluie. (Données Open-Meteo) », weatherLine: (city, t, rain, wind) => `${city} : ${t}°C • Pluie ${rain} mm • Vent ${wind} km/h`, budgetTitle: « Estimation rapide du budget », budgetDesc: « Ajustez vos paramètres pour obtenir une fourchette réaliste (carburant + achats + imprévus). », modeVisitor: « Mode : visiteur », modeExhibitor: « Mode : exposant », youAre: « Vous êtes », tripKm: « Trajet estimé (km) », conso: « Conso (L/100km) », fuelPrice: « Prix carburant (€/L) », buyBudget: « Budget achats (€) », buffer: « Marge imprévus », totalEstimated: « Total estimé », indicativeRange: « Fourchette indicative », min: « Minimum », comfort: « Confort », breakdownFuel: « Carburant », breakdownBuy: « Achats », breakdownFees: « Frais (exposant) », budgetNote: « Calcul simplifié : carburant = km × (conso/100) × prix. Les frais exposant sont estimés. », checklistTitle: « Checklist express », checklistDesc: « Cochez, puis copiez une liste propre à coller dans vos notes. », copy: « Copier », checkAll: « Tout cocher », uncheckAll: « Tout décocher », smartTips: « Conseils selon météo », tipsTitle: « Conseils rapides », toastCopied: « Copié dans le presse-papiers. », toastFallback: « Copie impossible automatiquement. Sélectionnez et copiez manuellement. » }; // ============ Données locales (exemples) ============ // IMPORTANT : vous pouvez remplacer ce tableau par « la data pour l’outils » si vous la collez ici. // Champs : id, nom, commune, type, dateISO, debut, fin, lat, lon, details const EVENTS = [ { id: « vg-nantes-01 », nom: « Vide-greniers du quartier (exemple) », commune: « Nantes », type: « Vide-greniers », dateISO: « 2026-04-12 », debut: « 08:00 », fin: « 18:00 », lat: 47.2184, lon: -1.5536, details: « Accès transports • Restauration • Toilettes » }, { id: « brc-reze-01 », nom: « Brocante de printemps (exemple) », commune: « Rezé », type: « Brocante », dateISO: « 2026-05-03 », debut: « 09:00 », fin: « 17:30 », lat: 47.1907, lon: -1.5686, details: « Professionnels & particuliers • Parking à proximité » }, { id: « vg-stherblain-01 », nom: « Vide-greniers associatif (exemple) », commune: « Saint-Herblain », type: « Vide-greniers », dateISO: « 2026-06-07 », debut: « 07:30 », fin: « 18:30 », lat: 47.2175, lon: -1.6493, details: « Entrée gratuite • Emplacements exposants sur réservation » }, { id: « brc-guerande-01 », nom: « Brocante & antiquités (exemple) », commune: « Guérande », type: « Brocante », dateISO: « 2026-07-19 », debut: « 08:30 », fin: « 19:00 », lat: 47.3282, lon: -2.4296, details: « Centre historique • Idéal pour chiner tôt » }, { id: « vg-saintnazaire-01 », nom: « Grand vide-greniers (exemple) », commune: « Saint-Nazaire », type: « Vide-greniers », dateISO: « 2026-08-23 », debut: « 08:00 », fin: « 18:00 », lat: 47.2733, lon: -2.2137, details: « Grande capacité • Zone ombragée partielle » } ]; // Point de départ (modifiable) : Nantes centre const START = { label: « Point de départ : Nantes », lat: 47.2184, lon: -1.5536 }; // ============ Checklist (FR) ============ const CHECKLIST_ITEMS = [ « Espèces (petites coupures) + monnaie », « Sac cabas / chariot / sacs solides », « Mètre ruban (meubles, cadres, vélos) », « Batterie externe + câble », « Lingettes / gel hydroalcoolique », « Bouteille d’eau + encas », « Vêtements adaptés (couche imperméable) », « Liste de ce que je cherche + budget max », « De quoi protéger les trouvailles (papier bulle, couverture) », « Pour exposants : table, bâche, ficelle, scotch, marqueur » ]; // ============ Helpers ============ const $ = (sel) => document.querySelector(sel); const root = $(« #infographie-vide-greniers-44 »); function formatDateFR(dateISO) { const d = new Date(dateISO + « T00:00:00 »); return d.toLocaleDateString(« fr-FR », { weekday: « short », year: « numeric », month: « long », day: « numeric » }); } // Haversine (distance km) function distanceKm(lat1, lon1, lat2, lon2) { const R = 6371; const toRad = (x) => x * Math.PI / 180; const dLat = toRad(lat2 – lat1); const dLon = toRad(lon2 – lon1); const a = Math.sin(dLat / 2) ** 2 + Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLon / 2) ** 2; const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 – a)); return R * c; } function clamp(n, min, max) { return Math.max(min, Math.min(max, n)); } function euro(n) { const v = Number.isFinite(n) ? n : 0; return v.toLocaleString(« fr-FR », { style: « currency », currency: « EUR » }); } async function copyToClipboard(text) { try { await navigator.clipboard.writeText(text); showToast(STR.toastCopied); return true; } catch (e) { showToast(STR.toastFallback); return false; } } let toastTimer = null; function showToast(msg) { const toast = $(« #toast »); $(« #toastText »).textContent = msg; toast.classList.remove(« hidden »); if (toastTimer) clearTimeout(toastTimer); toastTimer = setTimeout(() => toast.classList.add(« hidden »), 2200); } // ============ UI init textes ============ function setStaticText() { $(« #txtBadge »).textContent = STR.badge; $(« #txtTitle »).textContent = STR.title; $(« #txtSubtitle »).textContent = STR.subtitle; $(« #txtFilterTitle »).textContent = STR.filterTitle; $(« #txtFilterDesc »).textContent = STR.filterDesc; $(« #txtTownLabel »).textContent = STR.townLabel; $(« #txtTypeLabel »).textContent = STR.typeLabel; $(« #txtDistanceLabel »).textContent = STR.distanceLabel; $(« #txtDistanceHint »).textContent = STR.distanceHint; $(« #txtSearchLabel »).textContent = STR.searchLabel; $(« #txtResultsSuffix »).textContent = STR.resultsSuffix; $(« #txtSortLabel »).textContent = STR.sortLabel; $(« #btnReset »).textContent = STR.reset; $(« #btnCopySelection »).textContent = STR.copySelection; $(« #txtNowLabel »).textContent = STR.weatherLabel; $(« #meteoLine1 »).textContent = STR.weatherLoading1; $(« #meteoLine2 »).textContent = STR.weatherLoading2; $(« #meteoHint »).textContent = STR.weatherHint; $(« #txtDisclaimer »).textContent = STR.disclaimer; $(« #txtBudgetTitle »).textContent = STR.budgetTitle; $(« #txtBudgetDesc »).textContent = STR.budgetDesc; $(« #txtRoleLabel »).textContent = STR.youAre; $(« #txtKmLabel »).textContent = STR.tripKm; $(« #txtConsoLabel »).textContent = STR.conso; $(« #txtFuelLabel »).textContent = STR.fuelPrice; $(« #txtBuyLabel »).textContent = STR.buyBudget; $(« #txtBufferLabel »).textContent = STR.buffer; $(« #txtBudgetResultTitle »).textContent = STR.totalEstimated; $(« #txtBudgetResultHint »).textContent = STR.indicativeRange; $(« #txtBudgetMin »).textContent = STR.min; $(« #txtBudgetMax »).textContent = STR.comfort; $(« #txtBreakdownFuel »).textContent = STR.breakdownFuel; $(« #txtBreakdownBuy »).textContent = STR.breakdownBuy; $(« #txtBreakdownFees »).textContent = STR.breakdownFees; $(« #txtBudgetNote »).textContent = STR.budgetNote; $(« #txtChecklistTitle »).textContent = STR.checklistTitle; $(« #txtChecklistDesc »).textContent = STR.checklistDesc; $(« #btnCopyChecklist »).textContent = STR.copy; $(« #btnCheckAll »).textContent = STR.checkAll; $(« #btnUncheckAll »).textContent = STR.uncheckAll; $(« #btnSmartTips »).textContent = STR.smartTips; $(« #txtTipsTitle »).textContent = STR.tipsTitle; } // ============ Filtres : options ============ function uniqueSorted(arr) { return […new Set(arr)].sort((a, b) => a.localeCompare(b, « fr »)); } function buildSelectOptions() { const towns = uniqueSorted(EVENTS.map(e => e.commune)); const types = uniqueSorted(EVENTS.map(e => e.type)); const selTown = $(« #selTown »); const selType = $(« #selType »); selTown.innerHTML = «  »; selType.innerHTML = «  »; const optAllTown = document.createElement(« option »); optAllTown.value = « TOUTES »; optAllTown.textContent = « Toutes les communes »; selTown.appendChild(optAllTown); towns.forEach(t => { const o = document.createElement(« option »); o.value = t; o.textContent = t; selTown.appendChild(o); }); const optAllType = document.createElement(« option »); optAllType.value = « TOUS »; optAllType.textContent = « Tous les types »; selType.appendChild(optAllType); types.forEach(t => { const o = document.createElement(« option »); o.value = t; o.textContent = t; selType.appendChild(o); }); } // ============ Rendu liste ============ function getFilteredSorted() { const town = $(« #selTown »).value; const type = $(« #selType »).value; const q = ($(« #inpSearch »).value || «  »).trim().toLowerCase(); const maxDist = Number($(« #rangeDistance »).value); const sort = $(« #selSort »).value; const enriched = EVENTS.map(ev => { const d = distanceKm(START.lat, START.lon, ev.lat, ev.lon); return { …ev, distance: d }; }); let res = enriched.filter(ev => { const okTown = (town === « TOUTES ») || (ev.commune === town); const okType = (type === « TOUS ») || (ev.type === type); const okDist = ev.distance (a.dateISO).localeCompare(b.dateISO)); } else if (sort === « distanceAsc ») { res.sort((a, b) => a.distance – b.distance); } else if (sort === « nameAsc ») { res.sort((a, b) => a.nom.localeCompare(b.nom, « fr »)); } return res; } function renderList() { $(« #distanceValue »).textContent = String($(« #rangeDistance »).value); const list = $(« #list »); const items = getFilteredSorted(); $(« #resultsCount »).textContent = String(items.length); list.innerHTML = «  »; if (items.length === 0) { const empty = document.createElement(« div »); empty.className = « rounded-xl border border-white/10 bg-white/5 p-4 text-sm text-slate-200 »; empty.textContent = « Aucun événement ne correspond. Essayez d’augmenter la distance ou d’enlever un filtre. »; list.appendChild(empty); return; } items.forEach(ev => { const card = document.createElement(« article »); card.className = « rounded-2xl border border-white/10 bg-white/5 p-4 hover:bg-white/7 transition »; const top = document.createElement(« div »); top.className = « flex items-start justify-between gap-3 »; const left = document.createElement(« div »); left.className = « min-w-0 »; const h = document.createElement(« h4 »); h.className = « text-base font-semibold text-slate-50 truncate »; h.textContent = ev.nom; const meta = document.createElement(« div »); meta.className = « mt-1 flex flex-wrap items-center gap-2 text-xs text-slate-300 »; const chip1 = document.createElement(« span »); chip1.className = « chip rounded-full px-2 py-1 »; chip1.textContent = ev.commune; const chip2 = document.createElement(« span »); chip2.className = « chip rounded-full px-2 py-1 »; chip2.textContent = ev.type; const chip3 = document.createElement(« span »); chip3.className = « chip rounded-full px-2 py-1 tabular-nums »; chip3.textContent = `${ev.distance.toFixed(1)} km (depuis ${START.label.replace(« Point de départ : « , «  »)})`; meta.appendChild(chip1); meta.appendChild(chip2); meta.appendChild(chip3); const when = document.createElement(« div »); when.className = « mt-2 text-sm text-slate-200 »; when.textContent = `${formatDateFR(ev.dateISO)} • ${ev.debut} – ${ev.fin}`; const details = document.createElement(« p »); details.className = « mt-2 text-sm text-slate-300 leading-relaxed »; details.textContent = ev.details; left.appendChild(h); left.appendChild(meta); left.appendChild(when); left.appendChild(details); const right = document.createElement(« div »); right.className = « shrink-0 flex flex-col gap-2 items-end »; const btn = document.createElement(« button »); btn.className = « focus-ring rounded-lg px-3 py-2 text-sm bg-white/10 hover:bg-white/15 transition »; btn.textContent = « Copier »; btn.setAttribute(« aria-label », « Copier les détails de cet événement »); btn.addEventListener(« click », () => { const txt = `${ev.nom}n` + `${ev.type} • ${ev.commune} (44)n` + `${formatDateFR(ev.dateISO)} • ${ev.debut} – ${ev.fin}n` + `Distance estimée : ${ev.distance.toFixed(1)} km (depuis ${START.label})n` + `Détails : ${ev.details}`; copyToClipboard(txt); }); const small = document.createElement(« div »); small.className = « text-[11px] text-slate-400 text-right »; small.textContent = « À vérifier auprès de l’organisateur »; right.appendChild(btn); right.appendChild(small); top.appendChild(left); top.appendChild(right); card.appendChild(top); list.appendChild(card); }); } // ============ Budget ============ function computeBudget() { const role = $(« #selRole »).value; const km = Math.max(0, Number($(« #inpKm »).value || 0)); const conso = Math.max(0, Number($(« #inpConso »).value || 0)); const fuel = Math.max(0, Number($(« #inpFuel »).value || 0)); const buy = Math.max(0, Number($(« #inpBuy »).value || 0)); const bufferPct = Number($(« #rangeBuffer »).value || 0); $(« #bufferValue »).textContent = `${bufferPct}%`; // Carburant : km * (L/100km) * €/L const fuelCost = km * (conso / 100) * fuel; // Frais exposant : estimation simple // (souvent 2-6€ le mètre linéaire ; ici un forfait indicatif) const fees = (role === « exposant ») ? 12 : 0; // Base const base = fuelCost + buy + fees; const buffer = base * (bufferPct / 100); // Fourchette : minimum = base, confort = base + buffer + 10% « souplesse » const min = base; const max = base + buffer + (base * 0.10); $(« #budgetMin »).textContent = euro(min); $(« #budgetMax »).textContent = euro(max); $(« #budgetBadge »).textContent = (role === « exposant ») ? STR.modeExhibitor : STR.modeVisitor; $(« #breakFuel »).textContent = euro(fuelCost); $(« #breakBuy »).textContent = euro(buy); $(« #breakFees »).textContent = euro(fees); // Bars (ratio relatif à max) const totalForBars = Math.max(max, 1); const wFuel = clamp((fuelCost / totalForBars) * 100, 0, 100); const wBuy = clamp((buy / totalForBars) * 100, 0, 100); const wFees = clamp((fees / totalForBars) * 100, 0, 100); $(« #barFuel »).style.width = wFuel.toFixed(1) + « % »; $(« #barBuy »).style.width = wBuy.toFixed(1) + « % »; $(« #barFees »).style.width = wFees.toFixed(1) + « % »; } // ============ Checklist ============ function renderChecklist() { const wrap = $(« #checklist »); wrap.innerHTML = «  »; CHECKLIST_ITEMS.forEach((label, idx) => { const id = `chk_${idx}`; const row = document.createElement(« label »); row.className = « flex items-start gap-3 rounded-xl border border-white/10 bg-white/5 p-3 hover:bg-white/7 transition cursor-pointer »; const input = document.createElement(« input »); input.type = « checkbox »; input.id = id; input.className = « mt-1 h-4 w-4 accent-emerald-400 »; input.setAttribute(« aria-label », label); const text = document.createElement(« div »); text.className = « text-sm text-slate-200 leading-snug »; text.textContent = label; row.appendChild(input); row.appendChild(text); wrap.appendChild(row); }); } function checklistText() { const inputs = Array.from($(« #checklist »).querySelectorAll(« input[type=’checkbox’] »)); const lines = inputs.map((inp, i) => { const label = CHECKLIST_ITEMS[i]; const mark = inp.checked ? « [x] » : « [ ] »; return `${mark} ${label}`; }); return `Checklist vide-greniers / brocantes (44)n` + lines.join(« n »); } // ============ Météo (Open-Meteo) ============ const METEO = { city: « Nantes », lat: 47.2184, lon: -1.5536, timezone: « Europe/Paris » }; function interpretWeather(current) { const t = Math.round(current.temperature_2m); const rain = Number(current.rain ?? current.precipitation ?? 0); const wind = Math.round(current.wind_speed_10m); return { t, rain, wind }; } async function fetchWeather() { const url = `https://api.open-meteo.com/v1/forecast` + `?latitude=${encodeURIComponent(METEO.lat)}` + `&longitude=${encodeURIComponent(METEO.lon)}` + `&current=temperature_2m,precipitation,rain,wind_speed_10m` + `&timezone=${encodeURIComponent(METEO.timezone)}`; $(« #meteoLine1 »).textContent = STR.weatherLoading1; $(« #meteoLine2 »).textContent = « Connexion à Open-Meteo… »; try { const res = await fetch(url, { cache: « no-store » }); if (!res.ok) throw new Error(« Réponse météo invalide »); const json = await res.json(); const cur = json.current || {}; const { t, rain, wind } = interpretWeather(cur); $(« #meteoLine1 »).textContent = STR.weatherLine(METEO.city, t, rain.toFixed(1), wind); $(« #meteoLine2 »).textContent = `Dernière mise à jour : ${String(cur.time || «  »).replace(« T »,  » « ) || « — »}`; // Stocker pour les conseils root.__meteo = { t, rain, wind, time: cur.time || null }; } catch (e) { $(« #meteoLine1 »).textContent = « Météo indisponible pour le moment. »; $(« #meteoLine2 »).textContent = « Vous pouvez continuer sans la météo. »; root.__meteo = null; } } function buildTipsFromWeather() { const m = root.__meteo; const tips = []; if (!m) { tips.push(« Prévoyez une couche légère + une option imperméable, par précaution. »); tips.push(« Arrivez tôt : le meilleur choix part souvent en première heure. »); tips.push(« Fixez un budget max avant de chiner, puis gardez 10–15% de marge. »); return tips; } if (m.rain >= 1.0) { tips.push(« Risque de pluie : prenez une veste imperméable et des sacs étanches pour vos trouvailles. »); tips.push(« Privilégiez les stands abrités et protégez les objets fragiles (papier bulle / couverture). »); } else { tips.push(« Peu de pluie : c’est un bon jour pour chiner tôt et comparer les prix. »); } if (m.wind >= 25) { tips.push(« Vent soutenu : pour exposants, prévoyez pinces, ficelle et lest pour la bâche. »); } if (m.t = 22) { tips.push(« Température douce/chaude : eau + casquette, et faites une pause avant midi. »); } tips.push(« Négociation : proposez un prix global si vous prenez plusieurs objets. »); return tips; } function showTips() { const list = $(« #tipsList »); list.innerHTML = «  »; buildTipsFromWeather().forEach(t => { const li = document.createElement(« li »); li.textContent = t; list.appendChild(li); }); $(« #tipsBox »).classList.remove(« hidden »); $(« #tipsBox »).scrollIntoView({ block: « nearest », behavior: « smooth » }); } // ============ Copier sélection ============ function selectionText() { const items = getFilteredSorted(); const header = `Sélection d’événements (Loire-Atlantique 44)n` + `Filtres : commune=${$(« #selTown »).value}, type=${$(« #selType »).value}, distance { return ( `${i + 1}. ${ev.nom}n` + ` ${ev.type} • ${ev.commune} (44)n` + ` ${formatDateFR(ev.dateISO)} • ${ev.debut} – ${ev.fin}n` + ` Distance : ${ev.distance.toFixed(1)} kmn` + ` Détails : ${ev.details}n` ); }); return header + (lines.length ? lines.join(« n ») : « Aucun événement correspondant. »); } // ============ Events ============ function bindEvents() { $(« #selTown »).addEventListener(« change », renderList); $(« #selType »).addEventListener(« change », renderList); $(« #rangeDistance »).addEventListener(« input », renderList); $(« #inpSearch »).addEventListener(« input », () => { // Petit debounce simple if (root.__searchTimer) clearTimeout(root.__searchTimer); root.__searchTimer = setTimeout(renderList, 120); }); $(« #selSort »).addEventListener(« change », renderList); $(« #btnReset »).addEventListener(« click », () => { $(« #selTown »).value = « TOUTES »; $(« #selType »).value = « TOUS »; $(« #rangeDistance »).value = « 20 »; $(« #inpSearch »).value = «  »; $(« #selSort »).value = « dateAsc »; renderList(); }); $(« #btnCopySelection »).addEventListener(« click », () => { copyToClipboard(selectionText()); }); // Budget [« selRole », « inpKm », « inpConso », « inpFuel », « inpBuy », « rangeBuffer »].forEach(id => { $(« # » + id).addEventListener(« input », computeBudget); $(« # » + id).addEventListener(« change », computeBudget); }); // Checklist $(« #btnCopyChecklist »).addEventListener(« click », () => copyToClipboard(checklistText())); $(« #btnCheckAll »).addEventListener(« click », () => { $(« #checklist »).querySelectorAll(« input[type=’checkbox’] »).forEach(i => i.checked = true); }); $(« #btnUncheckAll »).addEventListener(« click », () => { $(« #checklist »).querySelectorAll(« input[type=’checkbox’] »).forEach(i => i.checked = false); }); // Tips $(« #btnSmartTips »).addEventListener(« click », showTips); // Météo $(« #btnMeteoRefresh »).addEventListener(« click », fetchWeather); } // ============ Init ============ function init() { setStaticText(); buildSelectOptions(); renderList(); renderChecklist(); computeBudget(); fetchWeather(); } // Assurer que le composant s’initialise même si collé en bas de page if (document.readyState === « loading ») { document.addEventListener(« DOMContentLoaded », init, { once: true }); } else { init(); } })();

{« @context »: »https://schema.org », »@type »: »FAQPage », »mainEntity »:[{« @type »: »Question », »name »: »Quels documents faut-il pour tenir un stand en vide grenier en Loire-Atlantique ? », »acceptedAnswer »:{« @type »: »Answer », »text »: »Gu00e9nu00e9ralement : une piu00e8ce du2019identitu00e9 et, selon lu2019organisateur, un justificatif de domicile et lu2019immatriculation du vu00e9hicule. u00c0 Nantes comme ailleurs, lu2019inscription se fait souvent u00e0 lu2019avance via association ou mairie, avec ru00e8glement intu00e9rieur u00e0 respecter. »}},{« @type »: »Question », »name »: »Comment savoir si un objet mu00e9rite une estimation plutu00f4t quu2019une vente immu00e9diate ? », »acceptedAnswer »:{« @type »: »Answer », »text »: »Sur une Brocante, certains indices comptent : signature, marque, matu00e9riau ancien (bois massif, laiton), u00e9tat du2019origine, cohu00e9rence du2019ensemble (service complet, su00e9rie). En cas de succession ou du00e9barras, mettez ces piu00e8ces u00e0 part et faites-les u00e9valuer par un professionnel pour u00e9viter de sous-vendre. »}},{« @type »: »Question », »name »: »Quels sont les meilleurs horaires pour faire de bonnes affaires u00e0 Nantes ? », »acceptedAnswer »:{« @type »: »Answer », »text »: »u00c0 Nantes, les premiu00e8res heures servent u00e0 capter les piu00e8ces recherchu00e9es (meubles, affiches, vinyles). La fin de matinu00e9e est idu00e9ale pour nu00e9gocier, surtout en achetant en lot. Les deux stratu00e9gies sont complu00e9mentaires selon votre objectif. »}},{« @type »: »Question », »name »: »Peut-on chiner efficacement avec des enfants ? », »acceptedAnswer »:{« @type »: »Answer », »text »: »Oui, en fixant une u201cmissionu201d simple (un livre, un jouet, une affiche) et un budget. Privilu00e9giez des allu00e9es au00e9ru00e9es et pru00e9voyez une pause : la Brocante devient une sortie ludique et u00e9ducative, surtout quand on discute avec les vendeurs. »}}]}

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Antiquité Normandie Brocante
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.