.saved-item { background-color: #fafafa; border: 1px solid var(--border-color); border-radius: 5px; padding: 15px; margin-bottom: 10px; } .saved-item h5 { color: var(--primary-color); margin-bottom: 5px; } .saved-item p { margin: 5px 0; color: var(--text-secondary); font-size: 0.9em; } .saved-item button { padding: 8px 16px; font-size: 0.9em; margin-top: 10px; } /* Indicateur de mode hors ligne */ .offline-indicator { position: fixed; bottom: 20px; right: 20px; background-color: var(--accent-color); color: white; padding: 10px 20px; border-radius: 25px; display: none; align-items: center; gap: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); } .offline-indicator.show { display: flex; } /* Responsive pour mobile */ @media (max-width: 768px) { .ingredient-row { grid-template-columns: 1fr; } .room-item { grid-template-columns: 1fr 1fr; } .nav-tabs { flex-wrap: wrap; gap: 10px; } header h1 { font-size: 1.5em; } .logo { height: 35px; } .formulation-presets { grid-template-columns: 1fr; } .supplier-list { grid-template-columns: 1fr; } .offline-indicator { bottom: 10px; right: 10px; font-size: 0.9em; } } /* Animation de chargement */ @keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } } .loading { animation: pulse 1.5s infinite; } /* Mode impression */ @media print { nav, .btn-secondary, button { display: none !important; } .card { break-inside: avoid; box-shadow: none; border: 1px solid #ddd; } } // Base de données des matériaux avec recettes du PDF const materialsDB = { liants: [ { name: "Chaux hydraulique NHL2", unit: "kg", defaultPrice: 9, defaultWeight: 25, density: 1.6 }, { name: "Chaux hydraulique NHL3.5", unit: "kg", defaultPrice: 9.5, defaultWeight: 25, density: 1.6 }, { name: "Chaux aérienne en poudre", unit: "kg", defaultPrice: 9, defaultWeight: 25, density: 2 }, { name: "Chaux aérienne en pâte", unit: "kg", defaultPrice: 8, defaultWeight: 26, density: 1.2 }, { name: "Plâtre", unit: "kg", defaultPrice: 6, defaultWeight: 20, density: 1.1 }, { name: "Argile", unit: "kg", defaultPrice: 8, defaultWeight: 20, density: 1 }, { name: "Terre argileuse", unit: "kg", defaultPrice: 5, defaultWeight: 20, density: 1.2 }, { name: "Ciment prompt", unit: "kg", defaultPrice: 15, defaultWeight: 25, density: 1.5 } ], charges: [ { name: "Sable 0/1", unit: "kg", defaultPrice: 5, defaultWeight: 25, density: 1.5 }, { name: "Sable 0/2", unit: "kg", defaultPrice: 5.5, defaultWeight: 25, density: 1.5 }, { name: "Sable 0/4", unit: "kg", defaultPrice: 6, defaultWeight: 25, density: 1.5 }, { name: "Poudre de marbre", unit: "kg", defaultPrice: 10, defaultWeight: 25, density: 1.5 }, { name: "Craie (Blanc de Meudon)", unit: "kg", defaultPrice: 30, defaultWeight: 26, density: 1 }, { name: "Paillettes de lin", unit: "kg", defaultPrice: 30, defaultWeight: 1, density: 0.1 }, { name: "Pouzzolane", unit: "kg", defaultPrice: 10, defaultWeight: 1, density: 0.8 }, { name: "Brique pilée", unit: "kg", defaultPrice: 15, defaultWeight: 25, density: 1.2 }, { name: "Farine", unit: "kg", defaultPrice: 2, defaultWeight: 1, density: 0.6 }, { name: "Fécule de pomme de terre", unit: "kg", defaultPrice: 3, defaultWeight: 1, density: 0.6 } ], adjuvants: [ { name: "Caséine", unit: "kg", defaultPrice: 13, defaultWeight: 0.5, density: 1 }, { name: "Méthyl cellulose", unit: "kg", defaultPrice: 40, defaultWeight: 1, density: 1 }, { name: "Sel d'alun", unit: "kg", defaultPrice: 4, defaultWeight: 1, density: 1 }, { name: "Huile de lin", unit: "L", defaultPrice: 8, defaultWeight: 1, density: 1 }, { name: "Savon noir", unit: "L", defaultPrice: 7, defaultWeight: 1, density: 1 }, { name: "Carbonate d'ammonium", unit: "kg", defaultPrice: 15, defaultWeight: 1, density: 1 }, { name: "Borax", unit: "kg", defaultPrice: 12, defaultWeight: 1, density: 1 }, { name: "Gomme arabique", unit: "kg", defaultPrice: 25, defaultWeight: 1, density: 1 }, { name: "Colle de peau", unit: "kg", defaultPrice: 20, defaultWeight: 1, density: 1 }, { name: "Sulfate de fer", unit: "kg", defaultPrice: 5, defaultWeight: 1, density: 1 } ] }; // Formulations prédéfinies basées sur les PDF const presetFormulations = { 'enduit-chaux': { name: "Enduit corps chaux-sable", description: "Enduit traditionnel pour murs intérieurs et extérieurs", liants: [ { material: "Chaux hydraulique NHL2", volume: 1 } ], charges: [ { material: "Sable 0/4", volume: 3 } ], adjuvants: [] }, 'badigeon': { name: "Badigeon de chaux", description: "Peinture naturelle à base de chaux pour décoration", liants: [ { material: "Chaux aérienne en poudre", volume: 1 } ], charges: [ { material: "Craie (Blanc de Meudon)", volume: 0.15 } ], adjuvants: [ { material: "Caséine", volume: 0.05 } ] }, 'peinture-argile': { name: "Peinture à l'argile", description: "Peinture naturelle mate et écologique", liants: [ { material: "Argile", volume: 1.5 } ], charges: [ { material: "Craie (Blanc de Meudon)", volume: 0.375 } ], adjuvants: [ { material: "Méthyl cellulose", volume: 0.01 }, { material: "Fécule de pomme de terre", volume: 0.01 } ] }, 'tadelakt': { name: "Tadelakt simplifié", description: "Enduit marocain imperméable", liants: [ { material: "Chaux aérienne en pâte", volume: 2 } ], charges: [ { material: "Poudre de marbre", volume: 2 } ], adjuvants: [ { material: "Savon noir", volume: 0.1 } ] } }; volume: 0.05 }, { material: "Méthyl cellulose", volume: 0.015 } ] }, 'stuc': { name: "Faux Stuc", description: "Enduit fin brillant pour finitions décoratives", liants: [ { material: "Chaux aérienne en pâte", volume: 1 } ], charges: [ { material: "Poudre de marbre", volume: 1.5 } ], adjuvants: [ { material: "Méthyl cellulose", volume: 0.025 } ] }, 'enduit-terre': { name: "Enduit de finition à l'argile", description: "Enduit écologique à base d'argile", liants: [ { material: "Argile", volume: 1 } ], charges: [ { material: "Sable 0/2", volume: 3.5 } ], adjuvants: [] }, 'gobetis-chaux': { name: "Gobetis à la chaux", description: "Couche d'accrochage pour supports minéraux", liants: [ { material: "Chaux hydraulique NHL2", volume: 1 } ], charges: [ { material: "Sable 0/4", volume: 1.5 } ], adjuvants: [] }, 'mortier-chaux-platre': { name: "Mortier Chaux-Plâtre (MCP)", description: "Mortier très résistant pour éléments d'ornement", liants: [ { material: "Plâtre", volume: 3 }, { material: "Chaux aérienne en poudre", volume: 1 } ], charges: [ { material: "Sable 0/2", volume: 2 } ], adjuvants: [] }, 'peinture-chaux': { name: "Peinture à la chaux", description: "Peinture minérale respirante", liants: [ { material: "Chaux aérienne en poudre", volume: 1 } ], charges: [ { material: "Craie (Blanc de Meudon)", volume: 0.15 } ], adjuvants: [ { material: "Caséine", Calculateur d'Enduits Pro

Calculateur d'Enduits Pro

Gestion des prix des matériaux

Renseignez les prix de vos matériaux pour calculer automatiquement le coût au kg et au litre.

Liants

Charges

Adjuvants

Créer votre formulation

Composez votre enduit en sélectionnant les ingrédients et leurs quantités.

Liants

Charges

Adjuvants

Calculer le coût de votre chantier

Ajoutez les pièces à enduire pour obtenir le coût total du chantier.

Pièces à enduire

Formulations prédéfinies

Sélectionnez une formulation éprouvée pour démarrer rapidement.

🏛️ Enduit corps chaux-sable

Enduit traditionnel pour murs intérieurs et extérieurs

~2€/L

🎨 Badigeon de chaux

Peinture naturelle à base de chaux pour décoration

~3€/L

✨ Faux Stuc

Enduit fin brillant pour finitions décoratives

~8€/L

🌍 Enduit de finition à l'argile

Enduit écologique à base d'argile

~1.5€/L

🔨 Gobetis à la chaux

Couche d'accrochage pour supports minéraux

~2.5€/L

🏺 Mortier Chaux-Plâtre (MCP)

Mortier très résistant pour éléments d'ornement

~3€/L

🖌️ Peinture à la chaux

Peinture minérale respirante

~1€/L

🎨 Peinture à l'argile

Peinture naturelle mate et écologique

~1.2€/L

💎 Tadelakt simplifié

Enduit marocain imperméable

~6€/L

Comparateur de prix fournisseurs

Comparez les prix en temps réel (fonctionnalité en développement)

Mon compte

>