Skip to main content

Crate barometre_prix_web_fr

Crate barometre_prix_web_fr 

Source
Expand description

§Baromètre des prix de création de site web en France 2026

This crate embeds the open dataset behind the Baromètre des prix de création de site web en France 2026, a survey of real-world website-creation prices collected by Les Créavores across French freelancers, agencies and SaaS website builders.

The dataset contains 103 individually sourced price points covering six service categories (vitrine, ecommerce, blog, refonte, seo_mensuel, sur_mesure), three provider types (freelance, agence_guide, builder_saas) and three pricing models (forfait_unique, abonnement_mensuel, tjm). Every record carries its own source (a public URL) and the date it was recorded, so the data can be audited and re-verified.

This crate has zero external dependencies: the CSV is parsed by hand at runtime from a string embedded at compile time via include_str!, which keeps the build fully reproducible on docs.rs and everywhere else.

§Methodology

Each row is an individually sourced price observation, not an estimate: source_url points at the public page the price was read from, and date_releve records when it was collected. Prices are stored in euros (EUR). Where a provider publishes a price range, prix_min_eur and prix_max_eur capture the range and prix_typique_eur is the price used for aggregate statistics.

§License

The code of this crate is licensed under MIT (see LICENSE).

The dataset itself (data/barometre-prix-creation-site-web-france-2026.csv) is licensed separately under CC-BY 4.0. If you redistribute or build upon the data, please credit:

Data: Les Créavores — Baromètre des prix de création de site web en France 2026 (CC-BY 4.0). Source: https://lescreavores.fr/prix-creation-site-internet/

§Example

let records = barometre_prix_web_fr::all();
assert!(records.len() > 90);

let vitrine_stats = barometre_prix_web_fr::stats(&barometre_prix_web_fr::by_category(
    barometre_prix_web_fr::category::VITRINE,
));
if let Some(stats) = vitrine_stats {
    println!(
        "vitrine: {} records, typical price from {:.2} to {:.2} EUR (median {:.2})",
        stats.count, stats.min, stats.max, stats.median
    );
}

Modules§

category
Known categorie_prestation codes found in the dataset.
provider_type
Known type_prestataire codes found in the dataset.

Structs§

PriceRecord
A single price observation from the Baromètre dataset.
Stats
Aggregate price statistics computed over a set of PriceRecords.

Functions§

all
Returns every price record in the Baromètre dataset.
by_category
Returns all records matching the given service category (e.g. "vitrine", "ecommerce"; see the category module for known values).
by_provider_type
Returns all records matching the given provider type (e.g. "freelance", "agence_guide", "builder_saas"; see the provider_type module for known values).
categories
Returns the distinct list of service categories present in the dataset, sorted alphabetically.
provider_types
Returns the distinct list of provider types present in the dataset, sorted alphabetically.
stats
Computes min / max / mean / median statistics over the typical price (typical_price_eur) of the given records.