Initial commit: existing turf_saas codebase

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
ML Engineer
2026-04-25 17:18:43 +02:00
commit ed07c8a3d1
137 changed files with 36398 additions and 0 deletions

123
idees_local.html Executable file
View File

@@ -0,0 +1,123 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>💡 Boîte à Idées</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, sans-serif; background: #1a1a2e; color: #eee; padding: 15px; }
h1 { color: #2ec4b6; text-align: center; margin-bottom: 20px; }
.form { background: #16213e; padding: 20px; border-radius: 12px; margin-bottom: 20px; }
input, select, textarea { width: 100%; padding: 12px; margin: 8px 0; background: #0f3460; border: 1px solid #333; border-radius: 8px; color: #fff; }
button { width: 100%; padding: 14px; background: #2ec4b6; border: none; border-radius: 8px; color: #000; font-weight: bold; margin-top: 10px; }
.idea { background: #16213e; padding: 15px; border-radius: 10px; margin: 10px 0; border-left: 4px solid #2ec4b6; }
.idea.eleve { border-left-color: #00ff88; }
.idea.moyen { border-left-color: #ffd700; }
.idea-title { font-weight: bold; margin-bottom: 5px; }
.idea-meta { color: #888; font-size: 12px; }
.idea-desc { color: #ccc; margin-top: 10px; font-size: 13px; }
.badge { background: #7b2cbf; padding: 3px 10px; border-radius: 10px; font-size: 11px; margin-right: 5px; }
a { color: #888; text-decoration: none; display: block; text-align: center; margin-top: 20px; }
.home-btn{position:fixed;top:10px;left:10px;z-index:9999;background:linear-gradient(135deg,#00d9ff,#7b2cbf);color:#fff;border:none;border-radius:8px;padding:10px 15px;font-size:14px;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:8px;box-shadow:0 2px 10px rgba(0,217,255,0.3);transition:all 0.3s;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.home-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,217,255,0.5)}
</style>
</head>
<body>
<a href="https://portal-kolifee.duckdns.org/" class="home-btn" title="Retour au portail"><span style="font-size:18px">🏠</span><span>Accueil</span></a>
<h1>💡 Boîte à Idées</h1>
<div class="form">
<h3> Nouvelle Idée</h3>
<input type="text" id="title" placeholder="Titre *">
<select id="category">
<option value="tech">Tech & IA</option>
<option value="saas">SaaS</option>
<option value="service">Service</option>
<option value="produit">Produit</option>
<option value="invest">Investissement</option>
</select>
<input type="text" id="subcategory" placeholder="Sous-catégorie">
<textarea id="description" placeholder="Description" rows="3"></textarea>
<select id="status">
<option value="idee">Idée</option>
<option value="encours">En cours</option>
<option value="teste">Testé</option>
<option value="lance">Lancé</option>
</select>
<select id="potential">
<option value="moyen">Potentiel Moyen</option>
<option value="eleve">Potentiel Élevé</option>
<option value="faible">Potentiel Faible</option>
</select>
<button onclick="addIdea()"> Ajouter</button>
</div>
<div id="ideas"></div>
<a href="/">← Retour au Portail</a>
<script>
// Default ideas
const defaultIdeas = [
{id:1, title:"🤖 Turf Predictor AI", category:"saas", subcategory:"IA", description:"Système automatisé de prédictions hippiques avec IA.", status:"teste", potential:"eleve", created:"2026-02-21"},
{id:2, title:"🌐 Template site web pros", category:"tech", subcategory:"Site web", description:"Templates pour artisans, restaurants, boulangeries.", status:"idee", potential:"eleve", created:"2026-02-24"},
{id:3, title:"🤖 Agent IA Support Client", category:"tech", subcategory:"IA", description:"Assistant IA pour gérer les demandes clients.", status:"idee", potential:"eleve", created:"2026-02-24"},
{id:4, title:"📱 App Fitness Collectif", category:"produit", subcategory:"Mobile", description:"Application pour défis fitness entre amis.", status:"idee", potential:"moyen", created:"2026-02-24"},
{id:5, title:"📊 Dashboard Trading Crypto", category:"saas", subcategory:"Finance", description:"Dashboard suivi cryptos avec alerts.", status:"idee", potential:"eleve", created:"2026-02-24"},
{id:6, title:"🔍 Scrapper annuaires", category:"tech", subcategory:"Scraping", description:"Scraper annuaires pour prospecter clients.", status:"idee", potential:"eleve", created:"2026-02-24"}
];
// Load from localStorage or use default
let ideas = JSON.parse(localStorage.getItem('ideas')) || defaultIdeas;
function save() {
localStorage.setItem('ideas', JSON.stringify(ideas));
}
function render() {
const container = document.getElementById('ideas');
container.innerHTML = ideas.map(i => `
<div class="idea ${i.potential}">
<div class="idea-title">${i.title}</div>
<div class="idea-meta">
<span class="badge">${i.category}</span>
<span class="badge" style="background:#2ec4b6;color:#000">${i.status}</span>
📅 ${i.created}
</div>
<div class="idea-desc">${i.description || ''}</div>
</div>
`).join('');
}
function addIdea() {
const title = document.getElementById('title').value;
if (!title) { alert('Titre requis!'); return; }
const newIdea = {
id: Date.now(),
title: title,
category: document.getElementById('category').value,
subcategory: document.getElementById('subcategory').value,
description: document.getElementById('description').value,
status: document.getElementById('status').value,
potential: document.getElementById('potential').value,
created: new Date().toISOString().split('T')[0]
};
ideas.unshift(newIdea);
save();
render();
// Clear form
document.getElementById('title').value = '';
document.getElementById('description').value = '';
document.getElementById('subcategory').value = '';
alert('Idée ajoutée!');
}
render();
</script>
</body>
</html>