Mettre Foot Factory Pro en ligne en moins de 10 minutes. Hébergement gratuit, URL publique, accessible depuis n'importe quel appareil.
ffp.vercel.app, CDN mondial. Plan gratuit suffisant pour toute la plateforme.foot-factory-pro → Public → Create repositoryfoot-factory-prohttps://foot-factory-pro.vercel.app// 1. Installer Vercel CLI
npm install -g vercel
// 2. Aller dans le dossier FFP
cd chemin/vers/foot-factory-pro
// 3. Déployer
vercel
// Suivre les instructions :
// ? Set up and deploy current directory? Y
// ? Which scope? (votre compte)
// ? Link to existing project? N
// ? Project name: foot-factory-pro
// ? Directory: ./
// → URL déployée !Node.js requis : nodejs.org
{
"version": 2,
"builds": [{ "src": "*.html", "use": "@vercel/static" }],
"routes": [
{ "src": "/(.*)", "dest": "/$1" }
],
"headers": [{
"source": "/(.*)",
"headers": [
{ "key": "Cache-Control", "value": "public, max-age=3600" },
{ "key": "X-Frame-Options", "value": "SAMEORIGIN" }
]
}]
}https://amazing-koala-12345.netlify.appfoot-factory-pro// Installer Netlify CLI
npm install -g netlify-cli
// Déployer
cd chemin/vers/foot-factory-pro
netlify deploy --prod --dir=.
// Suivre les instructions
// → URL déployée !npm install -g firebase-tools
firebase logincd chemin/vers/foot-factory-pro
firebase init hosting
# Public directory: .
# Single-page app: No
# Overwrite index.html: No
firebase deploy{
"hosting": {
"public": ".",
"ignore": ["firebase.json", ".gitignore"],
"rewrites": [{
"source": "/",
"destination": "/ffp-accueil.html"
}],
"headers": [{
"source": "**/*.@(js|html|css)",
"headers": [{
"key": "Cache-Control",
"value": "max-age=3600"
}]
}]
}
}index.html. Léger ajustement à faire.index.html comme page d'entrée. Renommer ffp-accueil.html en index.html dans votre dossier (ou créer une copie).// Option 1 : copier
cp ffp-accueil.html index.html
// Option 2 : créer un index.html de redirection
// (contenu ci-dessous)<!DOCTYPE html>
<html><head>
<meta http-equiv="refresh" content="0;url=ffp-accueil.html">
</head><body></body></html>https://votre-user.github.io/foot-factory-pro/-- Créer dans Supabase SQL Editor
-- Joueurs
CREATE TABLE joueurs (
id SERIAL PRIMARY KEY,
prenom TEXT NOT NULL,
nom TEXT NOT NULL,
poste TEXT,
numero INT,
date_naissance DATE,
taille INT,
poids INT,
club TEXT DEFAULT 'Foot Factory Pro',
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Évaluations
CREATE TABLE evaluations (
id SERIAL PRIMARY KEY,
joueur_id INT REFERENCES joueurs(id),
session_date DATE DEFAULT CURRENT_DATE,
technique JSONB,
physique JSONB,
tactique JSONB,
mental JSONB,
culture JSONB,
score_global DECIMAL(4,2),
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Événements (agenda)
CREATE TABLE evenements (
id TEXT PRIMARY KEY,
type TEXT,
titre TEXT NOT NULL,
date DATE NOT NULL,
heure TEXT,
lieu TEXT,
description TEXT,
obligatoire BOOLEAN DEFAULT FALSE,
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Messages
CREATE TABLE messages (
id TEXT PRIMARY KEY,
from_role TEXT,
from_name TEXT,
to_dest TEXT,
sujet TEXT,
corps TEXT,
priorite TEXT DEFAULT 'normale',
tag TEXT DEFAULT 'général',
lu_par TEXT[],
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Matchs
CREATE TABLE matchs (
id TEXT PRIMARY KEY,
titre TEXT NOT NULL,
adversaire TEXT,
date DATE,
lieu TEXT,
score_home INT DEFAULT 0,
score_away INT DEFAULT 0,
statut TEXT DEFAULT 'setup',
evenements JSONB,
stats JSONB,
notes JSONB,
rapport TEXT,
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Highlights
CREATE TABLE highlights (
id TEXT PRIMARY KEY,
joueur_id INT REFERENCES joueurs(id),
match_titre TEXT,
type TEXT,
ia_score DECIMAL(3,1),
tags TEXT[],
description TEXT,
views INT DEFAULT 0,
created_at TIMESTAMPTZ DEFAULT NOW()
);// Installer le client Supabase
// Dans le HTML, ajouter en head :
// <script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2"></script>
// Variables d'environnement
const SUPABASE_URL = 'https://xxxx.supabase.co';
const SUPABASE_KEY = 'votre-anon-public-key';
// Initialiser
const { createClient } = supabase;
const db = createClient(SUPABASE_URL, SUPABASE_KEY);
// Exemple : récupérer les joueurs
async function getJoueurs() {
const { data, error } = await db
.from('joueurs')
.select('*')
.order('nom');
return data;
}
// Exemple : sauvegarder un événement
async function saveEvent(event) {
const { data, error } = await db
.from('evenements')
.upsert(event);
return data;
}
// Exemple : écouter les nouveaux messages (temps réel)
db.channel('messages')
.on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'messages' },
(payload) => { handleNewMessage(payload.new); })
.subscribe();footfactorypro.com// A Record
Nom: @
Type: A
Valeur: 76.76.21.21
// CNAME Record
Nom: www
Type: CNAME
Valeur: cname.vercel-dns.comLa propagation DNS prend 15 min à 48h.
footfactorypro.comfootfactorypro.frffp-academy.comffp-platform.frfoot-factory.pro