NÉO - INSTALLATION O2SWITCH

1. Créer une base MySQL dans cPanel.
2. Importer le fichier dist/neo-o2switch-import.sql via phpMyAdmin dans cette base.
3. Uploader le contenu du ZIP dans l'application Node.js o2switch.
4. Dans l'interface Node.js, définir :
   NODE_ENV=production
   BASE_URL=https://askneo.fr
   SESSION_SECRET=une_valeur_longue_et_aleatoire
   DB_HOST=localhost
   DB_PORT=3306
   DB_USER=votre_user_mysql
   DB_PASSWORD=votre_mot_de_passe_mysql
   DB_NAME=votre_base_mysql
   API_FOOTBALL_BASE_URL=https://v3.football.api-sports.io
   API_FOOTBALL_KEY=votre_cle_api_football
   GOOGLE_CLIENT_ID=votre_client_id_google
   GOOGLE_CLIENT_SECRET=votre_client_secret_google
   GOOGLE_CALLBACK_URL=https://askneo.fr/auth/google/callback
   APPLE_CLIENT_ID=fr.askneo.web
   APPLE_TEAM_ID=votre_team_id_apple
   APPLE_KEY_ID=votre_key_id_apple
   APPLE_PRIVATE_KEY_PATH=/chemin/vers/AuthKey_xxxxx.p8
   APPLE_CALLBACK_URL=https://askneo.fr/auth/apple/callback
   GEMINI_API_KEY=votre_cle_gemini_si_utilisee
   GEMINI_MODEL=gemini-2.5-flash
   STRIPE_SECRET_KEY=votre_cle_stripe
   STRIPE_WEBHOOK_SECRET=votre_secret_webhook
   STRIPE_PRICE_PRO_WEEKLY=price_xxx
   STRIPE_PRICE_PRO_MONTHLY=price_xxx
   STRIPE_PRICE_PRO_6_MONTHS=price_xxx

5. Lancer npm install --omit=dev si o2switch ne le fait pas automatiquement.
6. Commande de démarrage : npm start

Pages légales et Apple :
- Les pages /mentions-legales, /conditions-generales-de-vente, /conditions-utilisation, /confidentialite, /jeu-responsable et /support sont incluses.
- Avant publication, compléter les informations exactes de l'éditeur dans controllers/appController.js.
- Pour une future app iOS, utiliser /confidentialite comme URL de politique de confidentialité et /support comme URL d'assistance dans App Store Connect.

Base existante :
- Importer database/migrations/2026-06-16-api-tokens.sql pour activer les tokens Bearer de l'API iOS.
- Aucune migration nouvelle n'est nécessaire pour la résiliation PRO immédiate : les statuts "canceled" existent déjà dans le schéma.
- Importer database/migrations/2026-06-15-pro-packs.sql si la table subscriptions existe déjà.
- Importer database/migrations/2026-06-15-daily-featured-analyses.sql si l'erreur "Table daily_featured_analyses doesn't exist" apparaît.
- Importer database/migrations/2026-06-15-oauth-accounts.sql pour activer Google/Apple sur une base existante.
- Redémarrer l'application Node.js après upload.

Comptes :
- Aucun compte de démonstration n'est créé.
- Créer le premier compte via /inscription.
- Si un accès admin est nécessaire, mettre le champ role à "admin" en base pour le compte concerné.

Important : le ZIP ne contient pas .env ni node_modules.
