Restructuration majeure du projet: migration de flutt vers app, ajout de l'API et mise à jour du site web

This commit is contained in:
d6soft
2025-05-16 09:19:03 +02:00
parent b5aafc424b
commit 5c2620de30
391 changed files with 19780 additions and 7233 deletions

81
app/backup.sh Executable file
View File

@@ -0,0 +1,81 @@
#!/bin/bash
# Chemin du projet
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_NAME="$(basename "$PROJECT_DIR")"
TIMESTAMP="$(date +%Y%m%d_%H%M%S)"
BACKUP_FILENAME="${PROJECT_NAME}_${TIMESTAMP}.tar.gz"
TEMP_BACKUP_DIR="/tmp"
BACKUP_PATH="${TEMP_BACKUP_DIR}/${BACKUP_FILENAME}"
# Charger les variables d'environnement
if [ ! -f "${PROJECT_DIR}/.env-backup" ]; then
echo "❌ Fichier .env-backup manquant"
exit 1
fi
source "${PROJECT_DIR}/.env-backup"
# Fonction pour gérer les erreurs
error_exit() {
echo "$1"
exit 1
}
# Fonction pour nettoyer les anciens backups
cleanup_old_backups() {
local server_ip=$1
local server_port=$2
local server_user=$3
local server_key=$4
local server_path=$5
echo "🧹 Nettoyage des backups plus anciens que ${BACKUP_RETENTION_DAYS} jours sur $server_ip..."
ssh -i "$server_key" -p "$server_port" "$server_user@$server_ip" \
"find $server_path -name '${PROJECT_NAME}_*.tar.gz' -type f -mtime +${BACKUP_RETENTION_DAYS} -delete" || \
echo "⚠️ Avertissement: Nettoyage des anciens backups sur $server_ip échoué"
}
# Création du backup
echo "📦 Création du backup de ${PROJECT_NAME}..."
cd "${PROJECT_DIR}/.."
tar -czf "$BACKUP_PATH" \
--exclude="${PROJECT_NAME}/build" \
--exclude="${PROJECT_NAME}/.dart_tool" \
--exclude="${PROJECT_NAME}/.pub" \
--exclude="${PROJECT_NAME}/.flutter-plugins-dependencies" \
--exclude="${PROJECT_NAME}/ios/Pods" \
--exclude="${PROJECT_NAME}/android/.gradle" \
--exclude="${PROJECT_NAME}/.git" \
--exclude="${PROJECT_NAME}/node_modules" \
"${PROJECT_NAME}/" || error_exit "Création du backup échouée"
echo "✅ Backup créé: $BACKUP_PATH ($(du -h "$BACKUP_PATH" | cut -f1))"
# Transfert vers le serveur 1
echo "📤 Envoi du backup vers ${BACKUP_SERVER1_IP}..."
scp -i "$BACKUP_SERVER1_KEY" -P "$BACKUP_SERVER1_PORT" "$BACKUP_PATH" \
"${BACKUP_SERVER1_USER}@${BACKUP_SERVER1_IP}:${BACKUP_SERVER1_PATH}/" || \
error_exit "Transfert vers ${BACKUP_SERVER1_IP} échoué"
echo "✅ Backup envoyé vers ${BACKUP_SERVER1_IP}"
cleanup_old_backups "$BACKUP_SERVER1_IP" "$BACKUP_SERVER1_PORT" "$BACKUP_SERVER1_USER" \
"$BACKUP_SERVER1_KEY" "$BACKUP_SERVER1_PATH"
# Transfert vers le serveur 2
echo "📤 Envoi du backup vers ${BACKUP_SERVER2_IP}..."
scp -i "$BACKUP_SERVER2_KEY" -P "$BACKUP_SERVER2_PORT" "$BACKUP_PATH" \
"${BACKUP_SERVER2_USER}@${BACKUP_SERVER2_IP}:${BACKUP_SERVER2_PATH}/" || \
error_exit "Transfert vers ${BACKUP_SERVER2_IP} échoué"
echo "✅ Backup envoyé vers ${BACKUP_SERVER2_IP}"
cleanup_old_backups "$BACKUP_SERVER2_IP" "$BACKUP_SERVER2_PORT" "$BACKUP_SERVER2_USER" \
"$BACKUP_SERVER2_KEY" "$BACKUP_SERVER2_PATH"
# Nettoyage du fichier temporaire
echo "🧹 Suppression du fichier temporaire..."
rm "$BACKUP_PATH" || echo "⚠️ Avertissement: Suppression du fichier temporaire échouée"
echo "✅ Backup terminé avec succès à $(date '+%H:%M:%S') !"
echo "📂 Fichiers sauvegardés sur:"
echo " - ${BACKUP_SERVER1_IP}:${BACKUP_SERVER1_PATH}/${BACKUP_FILENAME}"
echo " - ${BACKUP_SERVER2_IP}:${BACKUP_SERVER2_PATH}/${BACKUP_FILENAME}"