Build APK Android fonctionnel - Corrections finales

- Ajout de Java 21 dans Dockerfile pour compatibilité Capacitor
- Création de fichiers de types séparés (lib/types/) pour éviter dépendances API routes
- Configuration next.config.export.js pour export statique
- Exclusion temporaire des routes API pendant le build
- Correction configuration Gradle (Java 17/21)
- Script build-apk.sh amélioré avec gestion des routes API
- APK généré avec succès (4.5MB) dans dist/compagnon-admin-debug.apk

Fichiers de types créés:
- lib/types/place.ts
- lib/types/infos.ts
- lib/types/tides.ts
- lib/types/excursions.ts
- lib/types/sun-times.ts
- lib/types/notifications.ts

Tous les imports mis à jour pour utiliser les nouveaux fichiers de types.
This commit is contained in:
2025-11-23 10:07:34 +01:00
parent 51a74342f4
commit 115d8c05a7
83 changed files with 1143 additions and 679 deletions

View File

@ -26,13 +26,20 @@ docker compose -f docker-compose.build.yml run --rm android-builder bash -c "
set -e
cd /app
echo '📦 Vérification du volume node_modules...'
df -h /app/node_modules
ls -la /app/node_modules | head -5
echo '📦 Installation des dépendances Node.js...'
npm install --include=dev
echo '📦 Vérification des dépendances critiques...'
if ! npm list tailwindcss >/dev/null 2>&1; then
echo '⚠️ tailwindcss non trouvé, réinstallation...'
npm install tailwindcss postcss autoprefixer --save-dev
echo '📦 Vérification après installation...'
ls -la /app/node_modules/tailwindcss 2>&1 | head -3 || echo '❌ tailwindcss toujours absent'
npm list tailwindcss 2>&1 | head -3 || echo ' tailwindcss non listé'
if [ ! -d "/app/node_modules/tailwindcss" ]; then
echo '⚠️ tailwindcss manquant, installation forcée...'
npm install tailwindcss postcss autoprefixer --save-dev --force
fi
echo '📦 Installation des dépendances Capacitor...'
@ -41,20 +48,42 @@ docker compose -f docker-compose.build.yml run --rm android-builder bash -c "
echo '🧹 Nettoyage du cache Next.js...'
rm -rf .next
echo '⚙️ Sauvegarde de la configuration Next.js...'
cp next.config.js next.config.js.backup
echo '⚙️ Configuration Next.js pour export statique...'
if grep -q '\"output\": \"standalone\"' next.config.js; then
if [ -f next.config.export.js ]; then
cp next.config.export.js next.config.js
echo '✅ Configuration d export utilisée'
else
cp next.config.js next.config.js.backup
sed -i 's/\"output\": \"standalone\"/\"output\": \"export\"/' next.config.js
sed -i '/images:/a\ unoptimized: true,' next.config.js
echo '✅ Configuration modifiée pour export statique'
fi
echo '⚙️ Exclusion temporaire des routes API...'
if [ -d app/api ]; then
mv app/api /tmp/api-backup-$$ 2>/dev/null || mv app/api ../api-backup-$$
echo '✅ Routes API déplacées temporairement'
fi
echo '🏗️ Build de production Next.js...'
npm run build || npm run build -- --no-lint
echo '⚙️ Restauration des routes API...'
if [ -d /tmp/api-backup-$$ ]; then
mv /tmp/api-backup-$$ app/api
echo '✅ Routes API restaurées'
elif [ -d ../api-backup-$$ ]; then
mv ../api-backup-$$ app/api
echo '✅ Routes API restaurées'
fi
echo '⚙️ Vérification du dossier out...'
ls -la out/ 2>&1 | head -10 || echo '⚠️ Dossier out non trouvé'
echo '⚙️ Restauration de la configuration Next.js...'
mv next.config.js.backup next.config.js
if [ -f next.config.js.backup ]; then
mv next.config.js.backup next.config.js
fi
echo '⚙️ Initialisation Capacitor (si nécessaire)...'
if [ ! -f capacitor.config.ts ]; then