.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
Résultat de votre formulation
Volume total : 0 L
Coût total : 0 €
Prix au litre : 0 €/L
Proportions des ingrédients
Calculer le coût de votre chantier
Ajoutez les pièces à enduire pour obtenir le coût total du chantier.
Pièces à enduire
Résultat du chantier
Surface totale : 0 m²
Volume total nécessaire : 0 L
Coût total : 0 €
Formulations prédéfinies
Sélectionnez une formulation éprouvée pour démarrer rapidement.
Comparateur de prix fournisseurs
Comparez les prix en temps réel (fonctionnalité en développement)
Recherche des meilleurs prix en cours...
Cette fonctionnalité nécessite une connexion API avec les fournisseurs. En attendant, utilisez l'onglet Matériaux pour entrer vos prix manuellement.
Mon compte
Bienvenue, !