Changes to creditimmo.scroll.pub

root
root
24 days ago
Initial commit
body.html
Changed around line 1
+
+

Simulateur de Crédit Immobilier

+

Comparez les mensualités, coûts d'intérêt, frais de notaire et apport pour plusieurs taux simultanément.

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Séparez les taux par des virgules pour comparer
+
+
+
+
+
+
+
+
+
+

Simulateur de crédit immobilier - Comparez les offres facilement

+
index.scroll
Changed around line 1
+ buildHtml
+ baseUrl https://creditimmo.scroll.pub
+ metaTags
+ editButton /edit.html
+ title Simulateur de Crédit Immobilier en France - Comparez les Taux
+ style.css
+ body.html
+ script.js
prompt.json
Changed around line 1
+ {
+ "id": "e92554dd-b37e-4f2f-9042-65b4eba4a5d0",
+ "object": "chat.completion",
+ "created": 1735420100,
+ "model": "deepseek-chat",
+ "choices": [
+ {
+ "index": 0,
+ "message": {
+ "role": "assistant",
+ "content": "---domain---\ncreditimmo.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://creditimmo.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Simulateur de Crédit Immobilier en France - Comparez les Taux\nstyle.css\nbody.html\nscript.js\n---body.html---\n
\n

Simulateur de Crédit Immobilier

\n

Comparez les mensualités, coûts d'intérêt, frais de notaire et apport pour plusieurs taux simultanément.

\n
\n\n
\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n Séparez les taux par des virgules pour comparer\n
\n\n \n
\n\n
\n
\n\n
\n

Simulateur de crédit immobilier - Comparez les offres facilement

\n
\n---style.css---\n:root {\n --primary: #2563eb;\n --primary-hover: #1d4ed8;\n --background: #f8fafc;\n --text: #1e293b;\n --border: #e2e8f0;\n --shadow: 0 1px 3px rgba(0,0,0,0.1);\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: system-ui, -apple-system, sans-serif;\n line-height: 1.5;\n color: var(--text);\n background-color: var(--background);\n padding: 2rem 1rem;\n max-width: 800px;\n margin: 0 auto;\n}\n\nheader {\n text-align: center;\n margin-bottom: 2rem;\n}\n\nheader h1 {\n font-size: 2rem;\n color: var(--primary);\n margin-bottom: 0.5rem;\n}\n\nheader p {\n color: #64748b;\n}\n\nform {\n background: white;\n padding: 1.5rem;\n border-radius: 0.5rem;\n box-shadow: var(--shadow);\n margin-bottom: 2rem;\n}\n\n.input-group {\n margin-bottom: 1rem;\n}\n\nlabel {\n display: block;\n margin-bottom: 0.5rem;\n font-weight: 500;\n}\n\ninput {\n width: 100%;\n padding: 0.75rem;\n border: 1px solid var(--border);\n border-radius: 0.25rem;\n font-size: 1rem;\n}\n\nbutton {\n width: 100%;\n padding: 0.75rem;\n background: var(--primary);\n color: white;\n border: none;\n border-radius: 0.25rem;\n font-size: 1rem;\n cursor: pointer;\n transition: background 0.2s;\n}\n\nbutton:hover {\n background: var(--primary-hover);\n}\n\n.results-grid {\n display: grid;\n gap: 1rem;\n}\n\n.result-card {\n background: white;\n padding: 1.5rem;\n border-radius: 0.5rem;\n box-shadow: var(--shadow);\n}\n\n.result-card h3 {\n color: var(--primary);\n margin-bottom: 1rem;\n}\n\n.result-card p {\n margin-bottom: 0.5rem;\n}\n\nfooter {\n text-align: center;\n margin-top: 2rem;\n color: #64748b;\n}\n\n@media (min-width: 600px) {\n .results-grid {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n---script.js---\ndocument.getElementById('creditForm').addEventListener('submit', function(e) {\n e.preventDefault();\n \n const montant = parseFloat(document.getElementById('montant').value);\n const duree = parseFloat(document.getElementById('duree').value);\n const apport = parseFloat(document.getElementById('apport').value) || 0;\n const fraisNotaire = parseFloat(document.getElementById('fraisNotaire').value) || 0;\n const tauxList = document.getElementById('taux').value.split(',').map(t => parseFloat(t.trim()));\n \n const resultsContainer = document.getElementById('results');\n resultsContainer.innerHTML = '';\n \n tauxList.forEach(taux => {\n const tauxDecimal = taux / 100;\n const n = duree * 12;\n const mensualite = (montant * tauxDecimal / 12) / (1 - Math.pow(1 + tauxDecimal / 12, -n));\n const coutTotal = mensualite * n;\n const coutInteret = coutTotal - montant;\n \n const resultCard = document.createElement('div');\n resultCard.className = 'result-card';\n resultCard.innerHTML = `\n

Taux: ${taux}%

\n

Mensualité: ${mensualite.toFixed(2)}€

\n

Coût total des intérêts: ${coutInteret.toFixed(2)}€

\n

Coût total du crédit: ${coutTotal.toFixed(2)}€

\n

Apport + frais de notaire: ${(apport + fraisNotaire).toFixed(2)}€

\n

Coût global: ${(coutTotal + apport + fraisNotaire).toFixed(2)}€

\n `;\n \n resultsContainer.appendChild(resultCard);\n });\n});\n---end---"
+ },
+ "logprobs": null,
+ "finish_reason": "stop"
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 288,
+ "completion_tokens": 1510,
+ "total_tokens": 1798,
+ "prompt_cache_hit_tokens": 0,
+ "prompt_cache_miss_tokens": 288
+ },
+ "system_fingerprint": "fp_f1afce2943"
+ }
readme.scroll
Changed around line 1
+ # creditimmo.scroll.pub
+ Website generated by DeepSeek from prompt: creer un site pour credit immo en france avec mensualité, cout interet, frais notaire, apport. avec la possibilité de faire le calcul pour plusieurs taux simultanement et comparer les resultats. soyez créatif
script.js
Changed around line 1
+ document.getElementById('creditForm').addEventListener('submit', function(e) {
+ e.preventDefault();
+
+ const montant = parseFloat(document.getElementById('montant').value);
+ const duree = parseFloat(document.getElementById('duree').value);
+ const apport = parseFloat(document.getElementById('apport').value) || 0;
+ const fraisNotaire = parseFloat(document.getElementById('fraisNotaire').value) || 0;
+ const tauxList = document.getElementById('taux').value.split(',').map(t => parseFloat(t.trim()));
+
+ const resultsContainer = document.getElementById('results');
+ resultsContainer.innerHTML = '';
+
+ tauxList.forEach(taux => {
+ const tauxDecimal = taux / 100;
+ const n = duree * 12;
+ const mensualite = (montant * tauxDecimal / 12) / (1 - Math.pow(1 + tauxDecimal / 12, -n));
+ const coutTotal = mensualite * n;
+ const coutInteret = coutTotal - montant;
+
+ const resultCard = document.createElement('div');
+ resultCard.className = 'result-card';
+ resultCard.innerHTML = `
+

Taux: ${taux}%

+

Mensualité: ${mensualite.toFixed(2)}€

+

Coût total des intérêts: ${coutInteret.toFixed(2)}€

+

Coût total du crédit: ${coutTotal.toFixed(2)}€

+

Apport + frais de notaire: ${(apport + fraisNotaire).toFixed(2)}€

+

Coût global: ${(coutTotal + apport + fraisNotaire).toFixed(2)}€

+ `;
+
+ resultsContainer.appendChild(resultCard);
+ });
+ });
style.css
Changed around line 1
+ :root {
+ --primary: #2563eb;
+ --primary-hover: #1d4ed8;
+ --background: #f8fafc;
+ --text: #1e293b;
+ --border: #e2e8f0;
+ --shadow: 0 1px 3px rgba(0,0,0,0.1);
+ }
+
+ * {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ }
+
+ body {
+ font-family: system-ui, -apple-system, sans-serif;
+ line-height: 1.5;
+ color: var(--text);
+ background-color: var(--background);
+ padding: 2rem 1rem;
+ max-width: 800px;
+ margin: 0 auto;
+ }
+
+ header {
+ text-align: center;
+ margin-bottom: 2rem;
+ }
+
+ header h1 {
+ font-size: 2rem;
+ color: var(--primary);
+ margin-bottom: 0.5rem;
+ }
+
+ header p {
+ color: #64748b;
+ }
+
+ form {
+ background: white;
+ padding: 1.5rem;
+ border-radius: 0.5rem;
+ box-shadow: var(--shadow);
+ margin-bottom: 2rem;
+ }
+
+ .input-group {
+ margin-bottom: 1rem;
+ }
+
+ label {
+ display: block;
+ margin-bottom: 0.5rem;
+ font-weight: 500;
+ }
+
+ input {
+ width: 100%;
+ padding: 0.75rem;
+ border: 1px solid var(--border);
+ border-radius: 0.25rem;
+ font-size: 1rem;
+ }
+
+ button {
+ width: 100%;
+ padding: 0.75rem;
+ background: var(--primary);
+ color: white;
+ border: none;
+ border-radius: 0.25rem;
+ font-size: 1rem;
+ cursor: pointer;
+ transition: background 0.2s;
+ }
+
+ button:hover {
+ background: var(--primary-hover);
+ }
+
+ .results-grid {
+ display: grid;
+ gap: 1rem;
+ }
+
+ .result-card {
+ background: white;
+ padding: 1.5rem;
+ border-radius: 0.5rem;
+ box-shadow: var(--shadow);
+ }
+
+ .result-card h3 {
+ color: var(--primary);
+ margin-bottom: 1rem;
+ }
+
+ .result-card p {
+ margin-bottom: 0.5rem;
+ }
+
+ footer {
+ text-align: center;
+ margin-top: 2rem;
+ color: #64748b;
+ }
+
+ @media (min-width: 600px) {
+ .results-grid {
+ grid-template-columns: repeat(2, 1fr);
+ }
+ }