Compare commits
13 Commits
cf2b76bb1b
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
518e941be9 | ||
|
|
7d3824830b | ||
|
|
808c3814cb | ||
|
|
47209eac41 | ||
|
|
293c5f2fa3 | ||
|
|
66fdd5250f | ||
|
|
8b4ae992f8 | ||
|
|
dbf422a543 | ||
|
|
d5563aa4db | ||
|
|
73e4d40b4d | ||
|
|
0233338224 | ||
|
|
b0a725dd37 | ||
|
|
767c533023 |
15
.env
15
.env
@@ -56,8 +56,9 @@ PROD_URL=https://www.e-cosplay.fr
|
||||
VAPID_PK=DsOg7jToRSD-VpNSV1Gt3YAhSwz4l-nqeu7yFvzbSxg
|
||||
VAPID_PC=BKz0kdcsG6kk9KxciPpkfP8kEDAd408inZecij5kBDbQ1ZGZSNwS4KZ8FerC28LFXvgSqpDXtor3ePo0zBCdNqo
|
||||
|
||||
CLOUDFLARE_ZONE_ID=a26d2ecd33d18c984f348eeb060ed5b3
|
||||
CLOUDFLARE_API_TOKEN=Kq_hpaH_ng-hAeGsJo6KhQb2TxYW1v6lRGE84aOR
|
||||
CLOUDFLARE_ZONE_ID=f9e2a44aa512b455c99286d2ae845862
|
||||
CLOUDFLARE_API_EMAIL=contact@e-cosplay.fr
|
||||
CLOUDFLARE_API_KEY=cfk_wXHshV0AmOoKbWE19CIPoWJBeUCtSDUXo2mgkGuNe99eeac8
|
||||
MARCHAND_ID=5685183792
|
||||
###> google/apiclient ###
|
||||
GOOGLE_API_KEY=
|
||||
@@ -79,15 +80,15 @@ TURNSTILE_SECRET=1x0000000000000000000000000000000AA
|
||||
###> stripe/stripe-php ###
|
||||
STRIPE_SECRET_KEY=sk_test_***
|
||||
###< stripe/stripe-php ###
|
||||
NOTIFUSE_CLIENT_EMAIL=jovann@siteconseil.fr
|
||||
NOTIFUSE_CLIENT_EMAIL=contact@e-cosplay.fr
|
||||
NOTIFUSE_CLIENT_SECRET=d04zCk3Fa45oOjDWHpAvc1AZxnLdGffOnNWK+Jt2yXf37+FTfuMMHb8flcfPMqLluRR3rvhbr555r6j1DEigrA==
|
||||
NOTIFUSE_WORKSPACE_ID=ecosplay
|
||||
|
||||
|
||||
KEYCLOAK_URL=https://auth.esy-web.dev
|
||||
KEYCLOAK_REALM=master
|
||||
KEYCLOAK_CLIENT_ID=ecosplay
|
||||
KEYCLOAK_CLIENT_SECRET=Cr2WycUH1Vti6xKYMOQSs0etO4tfHj1Q
|
||||
KEYCLOAK_URL=https://auth.e-cosplay.fr
|
||||
KEYCLOAK_REALM=ecosplay
|
||||
KEYCLOAK_CLIENT_ID=ecosplay_web
|
||||
KEYCLOAK_CLIENT_SECRET=TQfTHqfHBZSddXid1enwyPCs8Hqahw1U
|
||||
|
||||
DISCORD_CLIENT_ID=1392734559099158549
|
||||
DISCORD_CLIENT_SECRET=upafzLsVMvwX_VC0Jw6Thy7d8lPpQGts
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
Ce projet est strictement confidentiel et **n'accepte aucune contribution externe**.
|
||||
|
||||
Aucune demande d'accès, pull request ou proposition de modification ne sera acceptée.
|
||||
L'accès au code source est limité aux membres autorisés explicitement par SARL SITECONSEIL.
|
||||
L'accès au code source est limité aux membres autorisés explicitement par l'association E-Cosplay.
|
||||
|
||||
Toute tentative d'accès non autorisé ou de diffusion du contenu de ce projet pourra faire l'objet de poursuites légales.
|
||||
|
||||
---
|
||||
|
||||
Pour toute question, veuillez contacter : [s.com@siteconseil.fr]
|
||||
Pour toute question, veuillez contacter : [contact@e-cosplay.fr]
|
||||
|
||||
@@ -240,11 +240,6 @@
|
||||
- "{{ path }}/public/pwa"
|
||||
- "{{ path }}/public/idb"
|
||||
- "{{ path }}/public/workbox"
|
||||
- name: Exécuter ecosplay:abonement dans le répertoire de l application
|
||||
ansible.builtin.command: php bin/console ecosplay:abonement
|
||||
become: false
|
||||
args:
|
||||
chdir: "{{ path }}"
|
||||
- name: Exécuter app:cloudflare:purge dans le répertoire de l application
|
||||
ansible.builtin.command: php bin/console app:cloudflare:purge
|
||||
become: false
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
www.e-cosplay.fr {
|
||||
tls {
|
||||
dns cloudflare cfut_2WvRdf8MffLcQxNKuLbikhvJVAPzfqNAoWhgWCBS289868ec
|
||||
dns cloudflare cfat_rIHZqzCm9GKK3xVnQDNGfu6J91TseIDdTKeuWSFUdf6ccd31
|
||||
}
|
||||
root * {{ path }}/public
|
||||
encode zstd gzip
|
||||
@@ -31,7 +31,6 @@ www.e-cosplay.fr {
|
||||
write_timeout 300s
|
||||
dial_timeout 100s
|
||||
env HTTP_PROXY ""
|
||||
header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
|
||||
}
|
||||
}
|
||||
handle {
|
||||
@@ -39,10 +38,8 @@ www.e-cosplay.fr {
|
||||
}
|
||||
}
|
||||
datas.e-cosplay.fr {
|
||||
tls {
|
||||
dns cloudflare Kq_hpaH_ng-hAeGsJo6KhQb2TxYW1v6lRGE84aOR
|
||||
}
|
||||
tls {
|
||||
dns cloudflare cfat_rIHZqzCm9GKK3xVnQDNGfu6J91TseIDdTKeuWSFUdf6ccd31
|
||||
}
|
||||
reverse_proxy localhost:27502
|
||||
}
|
||||
|
||||
|
||||
|
||||
144
backup.sh
Executable file
144
backup.sh
Executable file
@@ -0,0 +1,144 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
# ============================================================================
|
||||
# E-COSPLAY - Script de sauvegarde pour migration vers un autre serveur
|
||||
# ----------------------------------------------------------------------------
|
||||
# N'UTILISE PAS DOCKER. S'appuie sur les binaires installés sur l'hôte
|
||||
# (pg_dump, psql, tar, gzip) et lit DATABASE_URL depuis .env.local.
|
||||
#
|
||||
# Sauvegarde :
|
||||
# - Base PostgreSQL distante via DATABASE_URL (pg_dump logique)
|
||||
# - Fichiers uploadés (public/storage)
|
||||
# - Fichiers d'environnement et credentials (.env.local, google.json, ...)
|
||||
#
|
||||
# Le tout est empaqueté dans une archive tar.gz horodatée.
|
||||
# ============================================================================
|
||||
|
||||
RED='\033[0;31m'
|
||||
ORANGE='\033[0;33m'
|
||||
GREEN='\033[0;32m'
|
||||
CYAN='\033[0;36m'
|
||||
RESET='\033[0m'
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
TIMESTAMP="$(date +%Y%m%d_%H%M%S)"
|
||||
BACKUP_DIR="${BACKUP_DIR:-$PROJECT_DIR/var/backups}"
|
||||
WORK_DIR="$BACKUP_DIR/tmp_$TIMESTAMP"
|
||||
ARCHIVE="$BACKUP_DIR/e-cosplay_backup_$TIMESTAMP.tar.gz"
|
||||
|
||||
STORAGE_DIR="${STORAGE_DIR:-public/storage}"
|
||||
|
||||
echo "${CYAN}############################${RESET}"
|
||||
echo "${CYAN}# E-COSPLAY BACKUP START #${RESET}"
|
||||
echo "${CYAN}############################${RESET}"
|
||||
echo "${CYAN}Destination : ${ARCHIVE}${RESET}"
|
||||
|
||||
mkdir -p "$WORK_DIR"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 1) Vérifications
|
||||
# ---------------------------------------------------------------------------
|
||||
for bin in pg_dump tar gzip; do
|
||||
if ! command -v "$bin" >/dev/null 2>&1; then
|
||||
echo "${RED}Binaire introuvable : $bin${RESET}" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2) Récupération de DATABASE_URL
|
||||
# Priorité : variable d'env existante > .env.local > .env.prod.local > .env
|
||||
# ---------------------------------------------------------------------------
|
||||
get_database_url() {
|
||||
if [ -n "${DATABASE_URL:-}" ]; then
|
||||
echo "$DATABASE_URL"
|
||||
return 0
|
||||
fi
|
||||
for f in .env.local .env.prod.local .env.prod .env; do
|
||||
if [ -f "$PROJECT_DIR/$f" ]; then
|
||||
url="$(grep -E '^DATABASE_URL=' "$PROJECT_DIR/$f" | tail -n1 | sed -E 's/^DATABASE_URL=//; s/^"(.*)"$/\1/; s/^'"'"'(.*)'"'"'$/\1/')"
|
||||
if [ -n "$url" ]; then
|
||||
echo "$url"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
DATABASE_URL_RAW="$(get_database_url || true)"
|
||||
if [ -z "$DATABASE_URL_RAW" ]; then
|
||||
echo "${RED}DATABASE_URL introuvable (ni en env, ni dans .env.local/.env)${RESET}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Strip des paramètres Doctrine (serverVersion, charset, ...) que libpq ignore
|
||||
DATABASE_URL_CLEAN="$(echo "$DATABASE_URL_RAW" | sed -E 's/\?.*$//')"
|
||||
|
||||
# Affiche une URL masquée (cache le mot de passe)
|
||||
DATABASE_URL_MASKED="$(echo "$DATABASE_URL_CLEAN" | sed -E 's#(://[^:]+:)[^@]+(@)#\1***\2#')"
|
||||
echo "${CYAN}> DATABASE_URL : ${DATABASE_URL_MASKED}${RESET}"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 3) Dump PostgreSQL
|
||||
# ---------------------------------------------------------------------------
|
||||
echo "${CYAN}> Dump PostgreSQL...${RESET}"
|
||||
pg_dump "$DATABASE_URL_CLEAN" \
|
||||
--clean --if-exists --no-owner --no-privileges \
|
||||
| gzip -9 > "$WORK_DIR/database.sql.gz"
|
||||
echo "${GREEN} ✓ database.sql.gz ($(du -h "$WORK_DIR/database.sql.gz" | cut -f1))${RESET}"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 4) Fichiers uploadés
|
||||
# ---------------------------------------------------------------------------
|
||||
if [ -d "$PROJECT_DIR/$STORAGE_DIR" ]; then
|
||||
echo "${CYAN}> Sauvegarde de ${STORAGE_DIR}...${RESET}"
|
||||
tar -C "$PROJECT_DIR" -czf "$WORK_DIR/storage.tar.gz" "$STORAGE_DIR"
|
||||
echo "${GREEN} ✓ storage.tar.gz ($(du -h "$WORK_DIR/storage.tar.gz" | cut -f1))${RESET}"
|
||||
else
|
||||
echo "${ORANGE} ! ${STORAGE_DIR} introuvable, étape ignorée${RESET}"
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 5) Fichiers d'environnement et credentials
|
||||
# ---------------------------------------------------------------------------
|
||||
echo "${CYAN}> Copie des fichiers d'environnement et credentials...${RESET}"
|
||||
mkdir -p "$WORK_DIR/env"
|
||||
for f in .env .env.local .env.prod .env.prod.local google.json account.json; do
|
||||
if [ -f "$PROJECT_DIR/$f" ]; then
|
||||
cp -a "$PROJECT_DIR/$f" "$WORK_DIR/env/$f"
|
||||
echo "${GREEN} ✓ $f${RESET}"
|
||||
fi
|
||||
done
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 6) Métadonnées
|
||||
# ---------------------------------------------------------------------------
|
||||
{
|
||||
echo "timestamp=$TIMESTAMP"
|
||||
echo "hostname=$(hostname)"
|
||||
echo "git_commit=$(git -C "$PROJECT_DIR" rev-parse HEAD 2>/dev/null || echo unknown)"
|
||||
echo "git_branch=$(git -C "$PROJECT_DIR" rev-parse --abbrev-ref HEAD 2>/dev/null || echo unknown)"
|
||||
echo "database_url=$DATABASE_URL_MASKED"
|
||||
echo "storage_dir=$STORAGE_DIR"
|
||||
} > "$WORK_DIR/manifest.txt"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 7) Empaquetage final
|
||||
# ---------------------------------------------------------------------------
|
||||
echo "${CYAN}> Empaquetage de l'archive finale...${RESET}"
|
||||
tar -C "$BACKUP_DIR" -czf "$ARCHIVE" "tmp_$TIMESTAMP"
|
||||
rm -rf "$WORK_DIR"
|
||||
|
||||
echo "${GREEN}############################${RESET}"
|
||||
echo "${GREEN}# BACKUP TERMINÉ #${RESET}"
|
||||
echo "${GREEN}############################${RESET}"
|
||||
echo "${GREEN}Archive : ${ARCHIVE}${RESET}"
|
||||
echo "${GREEN}Taille : $(du -h "$ARCHIVE" | cut -f1)${RESET}"
|
||||
echo
|
||||
echo "${CYAN}Pour transférer vers le nouveau serveur :${RESET}"
|
||||
echo " scp \"$ARCHIVE\" user@nouveau-serveur:/chemin/vers/e-cosplay/var/backups/"
|
||||
echo " ssh user@nouveau-serveur 'cd /chemin/vers/e-cosplay && ./restore.sh \"var/backups/$(basename "$ARCHIVE")\"'"
|
||||
@@ -31,7 +31,7 @@ nelmio_security:
|
||||
- "'self'"
|
||||
- "https://sentry.esy-web.dev"
|
||||
- "https://chat.esy-web.dev"
|
||||
- "https://auth.esy-web.dev"
|
||||
- "https://auth.e-cosplay.fr"
|
||||
- "https://cloudflareinsights.com"
|
||||
- "https://challenges.cloudflare.com"
|
||||
- "https://tools-security.esy-web.dev"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.5 KiB |
184
restore.sh
Executable file
184
restore.sh
Executable file
@@ -0,0 +1,184 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
# ============================================================================
|
||||
# E-COSPLAY - Script de restauration sur un nouveau serveur
|
||||
# ----------------------------------------------------------------------------
|
||||
# N'UTILISE PAS DOCKER. S'appuie sur les binaires installés sur l'hôte
|
||||
# (psql, tar, gunzip) et lit DATABASE_URL depuis .env.local après l'avoir
|
||||
# restauré depuis l'archive.
|
||||
#
|
||||
# Usage : ./restore.sh <chemin/vers/e-cosplay_backup_YYYYMMDD_HHMMSS.tar.gz>
|
||||
#
|
||||
# Étapes :
|
||||
# 1. Décompresse l'archive
|
||||
# 2. Restaure les fichiers d'environnement (.env.local, etc.)
|
||||
# 3. Restaure la base PostgreSQL via psql + DATABASE_URL
|
||||
# 4. Restaure les fichiers uploadés (public/storage)
|
||||
# 5. Vide le cache Symfony et applique les migrations Doctrine
|
||||
#
|
||||
# ATTENTION : la restauration ÉCRASE les données existantes (DB + storage).
|
||||
# ============================================================================
|
||||
|
||||
RED='\033[0;31m'
|
||||
ORANGE='\033[0;33m'
|
||||
GREEN='\033[0;32m'
|
||||
CYAN='\033[0;36m'
|
||||
RESET='\033[0m'
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "${RED}Usage : $0 <archive.tar.gz>${RESET}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARCHIVE="$1"
|
||||
if [ ! -f "$ARCHIVE" ]; then
|
||||
echo "${RED}Archive introuvable : $ARCHIVE${RESET}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
case "$ARCHIVE" in
|
||||
/*) ARCHIVE_ABS="$ARCHIVE" ;;
|
||||
*) ARCHIVE_ABS="$(pwd)/$ARCHIVE" ;;
|
||||
esac
|
||||
|
||||
STORAGE_DIR="${STORAGE_DIR:-public/storage}"
|
||||
|
||||
WORK_DIR="$(mktemp -d /tmp/e-cosplay_restore.XXXXXX)"
|
||||
trap 'rm -rf "$WORK_DIR"' EXIT
|
||||
|
||||
echo "${CYAN}#############################${RESET}"
|
||||
echo "${CYAN}# E-COSPLAY RESTORE START #${RESET}"
|
||||
echo "${CYAN}#############################${RESET}"
|
||||
echo "${CYAN}Archive : ${ARCHIVE_ABS}${RESET}"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Vérifications
|
||||
# ---------------------------------------------------------------------------
|
||||
for bin in psql tar gunzip; do
|
||||
if ! command -v "$bin" >/dev/null 2>&1; then
|
||||
echo "${RED}Binaire introuvable : $bin${RESET}" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Confirmation interactive (skip avec FORCE=1)
|
||||
# ---------------------------------------------------------------------------
|
||||
if [ "${FORCE:-0}" != "1" ]; then
|
||||
printf "${ORANGE}La restauration va ÉCRASER la base et les fichiers existants. Continuer ? [y/N] ${RESET}"
|
||||
read -r answer
|
||||
case "$answer" in
|
||||
y|Y|yes|YES) ;;
|
||||
*) echo "Annulé."; exit 0 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 1) Décompression
|
||||
# ---------------------------------------------------------------------------
|
||||
echo "${CYAN}> Décompression de l'archive...${RESET}"
|
||||
tar -xzf "$ARCHIVE_ABS" -C "$WORK_DIR"
|
||||
SRC="$(find "$WORK_DIR" -mindepth 1 -maxdepth 1 -type d | head -n1)"
|
||||
if [ -z "$SRC" ] || [ ! -f "$SRC/manifest.txt" ]; then
|
||||
echo "${RED}Archive invalide : manifest.txt introuvable${RESET}" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "${GREEN} ✓ Manifest :${RESET}"
|
||||
sed 's/^/ /' "$SRC/manifest.txt"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2) Restauration des fichiers d'environnement
|
||||
# ---------------------------------------------------------------------------
|
||||
if [ -d "$SRC/env" ]; then
|
||||
echo "${CYAN}> Restauration des fichiers d'environnement...${RESET}"
|
||||
for f in "$SRC"/env/*; do
|
||||
[ -e "$f" ] || continue
|
||||
name="$(basename "$f")"
|
||||
if [ -f "$PROJECT_DIR/$name" ]; then
|
||||
cp -a "$PROJECT_DIR/$name" "$PROJECT_DIR/$name.bak.$(date +%s)"
|
||||
fi
|
||||
cp -a "$f" "$PROJECT_DIR/$name"
|
||||
echo "${GREEN} ✓ $name${RESET}"
|
||||
done
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 3) Récupération de DATABASE_URL (après restauration des fichiers env)
|
||||
# ---------------------------------------------------------------------------
|
||||
get_database_url() {
|
||||
if [ -n "${DATABASE_URL:-}" ]; then
|
||||
echo "$DATABASE_URL"
|
||||
return 0
|
||||
fi
|
||||
for f in .env.local .env.prod.local .env.prod .env; do
|
||||
if [ -f "$PROJECT_DIR/$f" ]; then
|
||||
url="$(grep -E '^DATABASE_URL=' "$PROJECT_DIR/$f" | tail -n1 | sed -E 's/^DATABASE_URL=//; s/^"(.*)"$/\1/; s/^'"'"'(.*)'"'"'$/\1/')"
|
||||
if [ -n "$url" ]; then
|
||||
echo "$url"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
DATABASE_URL_RAW="$(get_database_url || true)"
|
||||
if [ -z "$DATABASE_URL_RAW" ]; then
|
||||
echo "${RED}DATABASE_URL introuvable${RESET}" >&2
|
||||
exit 1
|
||||
fi
|
||||
DATABASE_URL_CLEAN="$(echo "$DATABASE_URL_RAW" | sed -E 's/\?.*$//')"
|
||||
DATABASE_URL_MASKED="$(echo "$DATABASE_URL_CLEAN" | sed -E 's#(://[^:]+:)[^@]+(@)#\1***\2#')"
|
||||
echo "${CYAN}> DATABASE_URL : ${DATABASE_URL_MASKED}${RESET}"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 4) Restauration PostgreSQL
|
||||
# ---------------------------------------------------------------------------
|
||||
if [ -f "$SRC/database.sql.gz" ]; then
|
||||
echo "${CYAN}> Restauration de la base PostgreSQL...${RESET}"
|
||||
gunzip -c "$SRC/database.sql.gz" \
|
||||
| psql "$DATABASE_URL_CLEAN" -v ON_ERROR_STOP=1 >/dev/null
|
||||
echo "${GREEN} ✓ Base restaurée${RESET}"
|
||||
else
|
||||
echo "${ORANGE} ! database.sql.gz absent, étape ignorée${RESET}"
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 5) Restauration des fichiers uploadés
|
||||
# ---------------------------------------------------------------------------
|
||||
if [ -f "$SRC/storage.tar.gz" ]; then
|
||||
echo "${CYAN}> Restauration de ${STORAGE_DIR}...${RESET}"
|
||||
if [ -d "$PROJECT_DIR/$STORAGE_DIR" ]; then
|
||||
backup_path="$PROJECT_DIR/${STORAGE_DIR}.bak.$(date +%s)"
|
||||
mv "$PROJECT_DIR/$STORAGE_DIR" "$backup_path"
|
||||
echo "${ORANGE} ! ancien dossier déplacé vers $backup_path${RESET}"
|
||||
fi
|
||||
tar -xzf "$SRC/storage.tar.gz" -C "$PROJECT_DIR"
|
||||
echo "${GREEN} ✓ ${STORAGE_DIR} restauré${RESET}"
|
||||
else
|
||||
echo "${ORANGE} ! storage.tar.gz absent, étape ignorée${RESET}"
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 6) Cache Symfony + migrations Doctrine
|
||||
# ---------------------------------------------------------------------------
|
||||
if [ -x "$PROJECT_DIR/bin/console" ] && command -v php >/dev/null 2>&1; then
|
||||
echo "${CYAN}> Vidage du cache Symfony...${RESET}"
|
||||
php "$PROJECT_DIR/bin/console" cache:clear --no-warmup || true
|
||||
php "$PROJECT_DIR/bin/console" cache:warmup || true
|
||||
|
||||
echo "${CYAN}> Application des migrations Doctrine éventuelles...${RESET}"
|
||||
php "$PROJECT_DIR/bin/console" doctrine:migrations:migrate --no-interaction --allow-no-migration || true
|
||||
fi
|
||||
|
||||
echo "${GREEN}#############################${RESET}"
|
||||
echo "${GREEN}# RESTORE TERMINÉ #${RESET}"
|
||||
echo "${GREEN}#############################${RESET}"
|
||||
echo "${GREEN}Pense à vérifier :${RESET}"
|
||||
echo " - les variables d'environnement spécifiques au nouveau serveur (PATH_URL, DEV_URL, ...)"
|
||||
echo " - les permissions du dossier $STORAGE_DIR (utilisateur du serveur web)"
|
||||
echo " - la conf Caddy / Nginx / Apache et les certificats TLS"
|
||||
@@ -21,14 +21,15 @@ class CloudflarePurgeCommand extends Command
|
||||
private const CLOUDFLARE_API_URL = 'https://api.cloudflare.com/client/v4/zones/%s/purge_cache';
|
||||
|
||||
private string $zoneId;
|
||||
private string $apiToken;
|
||||
private string $apiEmail;
|
||||
private string $apiKey;
|
||||
private HttpClientInterface $httpClient;
|
||||
|
||||
public function __construct(HttpClientInterface $httpClient)
|
||||
{
|
||||
// Les variables sont injectées via le conteneur de services (services.yaml)
|
||||
$this->zoneId = $_ENV['CLOUDFLARE_ZONE_ID'];
|
||||
$this->apiToken = $_ENV['CLOUDFLARE_API_TOKEN'];
|
||||
$this->apiEmail = $_ENV['CLOUDFLARE_API_EMAIL'];
|
||||
$this->apiKey = $_ENV['CLOUDFLARE_API_KEY'];
|
||||
$this->httpClient = $httpClient;
|
||||
|
||||
parent::__construct();
|
||||
@@ -38,8 +39,8 @@ class CloudflarePurgeCommand extends Command
|
||||
{
|
||||
$io = new SymfonyStyle($input, $output);
|
||||
|
||||
if (empty($this->zoneId) || empty($this->apiToken)) {
|
||||
$io->error('CLOUDFLARE_ZONE_ID ou CLOUDFLARE_API_TOKEN ne sont pas définis. Veuillez vérifier votre fichier .env.');
|
||||
if (empty($this->zoneId) || empty($this->apiEmail) || empty($this->apiKey)) {
|
||||
$io->error('CLOUDFLARE_ZONE_ID, CLOUDFLARE_API_EMAIL ou CLOUDFLARE_API_KEY ne sont pas définis. Veuillez vérifier votre fichier .env.');
|
||||
return Command::FAILURE;
|
||||
}
|
||||
|
||||
@@ -52,8 +53,8 @@ class CloudflarePurgeCommand extends Command
|
||||
sprintf(self::CLOUDFLARE_API_URL, $this->zoneId),
|
||||
[
|
||||
'headers' => [
|
||||
// Utilisation du Token API (méthode recommandée par Cloudflare)
|
||||
'Authorization' => 'Bearer ' . $this->apiToken,
|
||||
'X-Auth-Email' => $this->apiEmail,
|
||||
'X-Auth-Key' => $this->apiKey,
|
||||
'Content-Type' => 'application/json',
|
||||
],
|
||||
// Le payload pour purger tout le cache
|
||||
|
||||
@@ -33,7 +33,6 @@ class SitemapSubscriber
|
||||
$decoratedUrlHome->addImage(new GoogleImage($this->cacheManager->resolve('assets/partenair/couronnes-d-or.jpg','webp')));
|
||||
$decoratedUrlHome->addImage(new GoogleImage($this->cacheManager->resolve('assets/partenair/cosplay-familly.jpg','webp')));
|
||||
$decoratedUrlHome->addImage(new GoogleImage($this->cacheManager->resolve('assets/partenair/house-of-geek.jpg','webp')));
|
||||
$decoratedUrlHome->addImage(new GoogleImage($this->cacheManager->resolve('assets/partenair/siteconseil.png','webp')));
|
||||
$decoratedUrlHome = new GoogleMultilangUrlDecorator($decoratedUrlHome);
|
||||
foreach ($langs as $lang) {
|
||||
$decoratedUrlHome->addLink($urlGenerator->generate('app_home',['lang'=>$lang], UrlGeneratorInterface::ABSOLUTE_URL), $lang);
|
||||
|
||||
@@ -36,7 +36,7 @@ class AmazonSesClient
|
||||
public function send(string $html, string $address, string $subject): void
|
||||
{
|
||||
$email = (new Email())
|
||||
->from('no-reply@siteconseil.fr')
|
||||
->from('no-reply@e-cosplay.fr')
|
||||
->to($address)
|
||||
->subject($subject);
|
||||
|
||||
@@ -77,7 +77,7 @@ class AmazonSesClient
|
||||
{
|
||||
$messageIdHeader = $email->getHeaders()->get('message-id');
|
||||
$messageFormat = $messageIdHeader ? $messageIdHeader->getBody()[0] : '';
|
||||
$messageFormat = str_replace('@siteconseil.fr', '', $messageFormat);
|
||||
$messageFormat = str_replace('@e-cosplay.fr', '', $messageFormat);
|
||||
|
||||
$mailData = new Mail();
|
||||
$mailData->setDest($email->getTo()[0]->getAddress());
|
||||
|
||||
@@ -127,10 +127,7 @@ L'overflow-y-auto n'est plus nécessaire ici car c'est le <body> qui gère le sc
|
||||
|
||||
<!-- 2.3. Footer (Pied de Page) - bg-gray-800 -->
|
||||
<footer class="p-4 bg-gray-800 border-t border-gray-700 text-center text-sm text-gray-400 flex-shrink-0">
|
||||
Développé par SARL SITECONSEIL. Tous droits réservés.
|
||||
<a href="https://www.siteconseil.fr/" target="_blank" rel="noopener noreferrer" class="text-indigo-400 hover:text-indigo-300 transition duration-150 font-medium ml-1">
|
||||
https://www.siteconseil.fr/
|
||||
</a>
|
||||
© {{ "now"|date("Y") }} E-Cosplay. Tous droits réservés.
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
@@ -62,7 +62,6 @@
|
||||
{ 'name': 'Accueil'|trans, 'route': 'app_home' },
|
||||
{ 'name': 'Qui sommes-nous'|trans, 'route': 'app_about' },
|
||||
{ 'name': 'Nos membres'|trans, 'route': 'app_members' },
|
||||
{ 'name': 'epage_cosplay'|trans, 'route': 'app_pages' },
|
||||
{ 'name': 'Nos événements'|trans, 'route': 'app_events' },
|
||||
{ 'name': 'Boutiques'|trans, 'route': 'app_shop' },
|
||||
{ 'name': 'Documents'|trans, 'route': 'app_doc' },
|
||||
@@ -209,7 +208,7 @@
|
||||
<div class="flex flex-col md:flex-row justify-between items-center gap-6">
|
||||
<div class="text-center md:text-left">
|
||||
<p class="font-black uppercase text-sm">© {{ "now"|date("Y") }} E-COSPLAY.</p>
|
||||
<p class="text-[10px] font-bold opacity-70">RNA N°W022006988 - DEV BY SITECONSEIL</p>
|
||||
<p class="text-[10px] font-bold opacity-70">RNA N°W022006988</p>
|
||||
</div>
|
||||
<div class="flex flex-wrap justify-center gap-3">
|
||||
{% set footer_links = [
|
||||
|
||||
@@ -135,8 +135,7 @@
|
||||
{% for partner in partners|default([
|
||||
{ 'image': '/assets/partenair/house-of-geek.jpg', 'name': 'House Of Geek', 'facebook_link': 'https://www.facebook.com/houseofgeek02' },
|
||||
{ 'image': '/assets/partenair/cosplay-familly.jpg', 'name': 'Cosplays family arts', 'facebook_link': 'https://www.facebook.com/profile.php?id=61568494078902' },
|
||||
{ 'image': '/assets/partenair/couronnes-d-or.jpg', 'name': 'Le Comité des Couronnes D’or', 'facebook_link': 'https://www.facebook.com/p/Le-Comit%C3%A9-des-Couronnes-Dor-61576548182126/' },
|
||||
{ 'image': '/assets/partenair/siteconseil.png', 'name': 'SARL SITECONSEIL', 'facebook_link': 'https://www.facebook.com/siteconseil','website':'https://www.siteconseil.fr' }
|
||||
{ 'image': '/assets/partenair/couronnes-d-or.jpg', 'name': 'Le Comité des Couronnes D’or', 'facebook_link': 'https://www.facebook.com/p/Le-Comit%C3%A9-des-Couronnes-Dor-61576548182126/' }
|
||||
]) %}
|
||||
<a href="{% if partner.website is defined and partner.website %}{{ partner.website }}{% else %}{{ partner.facebook_link ?? '#' }}{% endif %}" target="_blank"
|
||||
class="group bg-white border-4 border-gray-900 p-8 flex flex-col items-center shadow-[6px_6px_0px_rgba(0,0,0,1)] hover:bg-gray-50 hover:translate-y-[-4px] transition-all">
|
||||
|
||||
@@ -21,31 +21,11 @@
|
||||
|
||||
<div class="space-y-24">
|
||||
|
||||
{# SECTION 1 : OPÉRATEUR TECHNIQUE #}
|
||||
{# SECTION 1 : HÉBERGEMENT DU SITE #}
|
||||
<section class="relative">
|
||||
<div class="inline-block bg-[#0f172a] text-yellow-500 px-6 py-3 font-black italic skew-x-[-15deg] mb-6 shadow-xl border-b-2 border-yellow-600">
|
||||
<span class="skew-x-[15deg] block uppercase tracking-wider text-lg">
|
||||
// 1. {{ 'hosting_tech_operator_title'|trans }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bg-white border-2 border-gray-900 p-8 rounded-lg shadow-[8px_8px_0px_rgba(0,0,0,1)]">
|
||||
<div class="bg-gray-50 p-6 border-l-4 border-gray-900 skew-x-[-2deg]">
|
||||
<p class="font-black text-xl text-gray-900 uppercase italic">{{ 'hosting_tech_operator_name'|trans }}</p>
|
||||
<p class="text-sm italic leading-relaxed mt-2 text-gray-600">
|
||||
{{ 'hosting_tech_operator_address'|trans|raw }}
|
||||
</p>
|
||||
<p class="text-[10px] mt-4 font-mono font-bold tracking-widest text-gray-400">
|
||||
{{ 'hosting_tech_operator_siret'|trans }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{# SECTION 2 : INFRASTRUCTURE CLOUD #}
|
||||
<section class="relative">
|
||||
<div class="inline-block bg-[#0f172a] text-yellow-500 px-6 py-3 font-black italic skew-x-[-15deg] mb-6 shadow-xl border-b-2 border-yellow-600">
|
||||
<span class="skew-x-[15deg] block uppercase tracking-wider text-lg">
|
||||
// 2. {{ 'hosting_infrastructure_title'|trans }}
|
||||
// 1. {{ 'hosting_infrastructure_title'|trans }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bg-gray-900 text-white p-8 rounded-lg border-r-8 border-yellow-500 shadow-xl overflow-hidden">
|
||||
@@ -55,18 +35,18 @@
|
||||
<p class="text-sm italic text-gray-400 leading-relaxed">{{ 'hosting_location_detail'|trans }}</p>
|
||||
</div>
|
||||
<div class="flex gap-4">
|
||||
<span class="text-[10px] bg-white/10 px-3 py-1 font-mono uppercase border border-white/20">Region: eu-west4</span>
|
||||
<span class="text-[10px] bg-white/10 px-3 py-1 font-mono uppercase border border-white/20">France</span>
|
||||
<span class="text-[10px] bg-green-500/20 text-green-400 px-3 py-1 font-mono uppercase border border-green-500/30">Tier 3+ Compliance</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{# SECTION 3 : ÉDITEUR DU SITE #}
|
||||
{# SECTION 2 : ÉDITEUR DU SITE #}
|
||||
<section class="relative">
|
||||
<div class="inline-block bg-[#0f172a] text-yellow-500 px-6 py-3 font-black italic skew-x-[-15deg] mb-6 shadow-xl border-b-2 border-yellow-600">
|
||||
<span class="skew-x-[15deg] block uppercase tracking-wider text-lg">
|
||||
// 3. {{ 'hosting_editor_title'|trans }}
|
||||
// 2. {{ 'hosting_editor_title'|trans }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bg-white border-2 border-gray-900 p-8 rounded-lg shadow-[8px_8px_0px_rgba(0,0,0,1)] grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
@@ -85,11 +65,11 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{# SECTION 4 : STACK TECHNIQUE & SÉCURITÉ #}
|
||||
{# SECTION 3 : STACK TECHNIQUE & SÉCURITÉ #}
|
||||
<section class="relative">
|
||||
<div class="inline-block bg-[#0f172a] text-yellow-500 px-6 py-3 font-black italic skew-x-[-15deg] mb-6 shadow-xl border-b-2 border-yellow-600">
|
||||
<span class="skew-x-[15deg] block uppercase tracking-wider text-lg">
|
||||
// 4. {{ 'hosting_security_title'|trans }}
|
||||
// 3. {{ 'hosting_security_title'|trans }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bg-white border-2 border-gray-900 p-8 rounded-lg shadow-[8px_8px_0px_rgba(0,0,0,1)] grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
@@ -108,11 +88,11 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{# SECTION 5 : SYSTÈME DE MESSAGERIE #}
|
||||
{# SECTION 4 : SYSTÈME DE MESSAGERIE #}
|
||||
<section class="relative">
|
||||
<div class="inline-block bg-[#0f172a] text-yellow-500 px-6 py-3 font-black italic skew-x-[-15deg] mb-6 shadow-xl border-b-2 border-yellow-600">
|
||||
<span class="skew-x-[15deg] block uppercase tracking-wider text-lg">
|
||||
// 5. {{ 'hosting_mail_system_title'|trans }}
|
||||
// 4. {{ 'hosting_mail_system_title'|trans }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bg-gray-900 text-white p-8 rounded-lg border-l-8 border-red-600 shadow-xl">
|
||||
@@ -126,11 +106,11 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{# SECTION 6 : CONFORMITÉ & SIGNALEMENT #}
|
||||
{# SECTION 5 : CONFORMITÉ & SIGNALEMENT #}
|
||||
<section class="relative">
|
||||
<div class="inline-block bg-[#0f172a] text-yellow-500 px-6 py-3 font-black italic skew-x-[-15deg] mb-6 shadow-xl border-b-2 border-yellow-600">
|
||||
<span class="skew-x-[15deg] block uppercase tracking-wider text-lg">
|
||||
// 6. {{ 'hosting_compliance_title'|trans }}
|
||||
// 5. {{ 'hosting_compliance_title'|trans }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bg-white border-2 border-gray-900 p-8 rounded-lg shadow-[8px_8px_0px_rgba(0,0,0,1)] grid grid-cols-1 md:grid-cols-2 gap-12">
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<span class="skew-x-[15deg] block uppercase text-sm">// {{'legal_section3_title'|trans}}</span>
|
||||
</div>
|
||||
<div class="bg-white border-2 border-gray-900 p-6 rounded-lg shadow-[6px_6px_0px_rgba(0,0,0,1)] italic text-sm">
|
||||
<p class="font-black text-gray-900 uppercase mb-2">Google Cloud Platform</p>
|
||||
<p class="font-black text-gray-900 uppercase mb-2">OVHcloud</p>
|
||||
<p class="text-gray-600">{{'legal_host_address'|trans}}</p>
|
||||
<p class="mt-4 text-[10px] font-mono bg-gray-100 p-2">{{'legal_host_data_location'|trans}}</p>
|
||||
</div>
|
||||
|
||||
@@ -135,17 +135,13 @@
|
||||
// 6. {{ 'rgpd_additif_title'|trans }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bg-white border-2 border-gray-900 p-8 rounded-lg shadow-[8px_8px_0px_rgba(0,0,0,1)] grid grid-cols-1 lg:grid-cols-3 gap-8">
|
||||
<div class="lg:col-span-2 space-y-6 italic text-sm">
|
||||
<div class="bg-white border-2 border-gray-900 p-8 rounded-lg shadow-[8px_8px_0px_rgba(0,0,0,1)]">
|
||||
<div class="space-y-6 italic text-sm">
|
||||
<p>{{ 'rgpd_additif_collecte_text'|trans }}</p>
|
||||
<div class="bg-gray-900 text-white p-4 font-mono text-[10px] uppercase">
|
||||
<span class="text-yellow-500">// SSL</span> CLOUDFLARE + LET'S ENCRYPT
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-yellow-500 p-6 border-2 border-gray-900 h-fit">
|
||||
<h3 class="font-black uppercase text-xs mb-4 italic tracking-widest border-b border-gray-900/20 pb-2">DPO SITECONSEIL</h3>
|
||||
<p class="text-[10px] font-bold uppercase italic text-gray-900 leading-tight">LEGRAND Philippe<br>03 23 05 62 43</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -220,9 +220,6 @@
|
||||
'strong_end_tag': '</span>'
|
||||
})|raw }}
|
||||
</p>
|
||||
<p class="text-[10px] text-gray-400 uppercase font-black tracking-widest border-t-2 border-gray-100 pt-4">
|
||||
PARTNER_REFERRAL: SARL SITECONSEIL
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -274,33 +271,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# BLOC PARTENARIAT #}
|
||||
<div class="mt-32 p-10 bg-white border-8 border-cyan-500 shadow-[12px_12px_0px_rgba(6,182,212,1)] flex flex-col md:flex-row items-center gap-10">
|
||||
<div class="flex-1 text-left">
|
||||
<h3 class="text-3xl font-black text-cyan-600 uppercase italic tracking-tighter mb-4">
|
||||
{{ 'page.presentation.siteconseil_partner.title'|trans }}
|
||||
</h3>
|
||||
<p class="text-gray-800 font-bold uppercase text-sm leading-tight">
|
||||
{{ 'page.presentation.siteconseil_partner.intro'|trans({
|
||||
'page_span': '<span class="text-cyan-600 font-black underline">EPage</span>',
|
||||
'strong_tag': '<b>',
|
||||
'strong_end_tag': '</b>'
|
||||
})|raw }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="bg-gray-900 text-white p-6 border-4 border-gray-900 shadow-[8px_8px_0px_rgba(6,182,212,0.5)] max-w-sm">
|
||||
<p class="text-xs font-black text-cyan-400 uppercase mb-4 tracking-widest">{{ 'page.presentation.siteconseil_partner.recommended'|trans }}</p>
|
||||
<p class="text-sm font-bold mb-6">
|
||||
{{ 'page.presentation.siteconseil_partner.cms_info'|trans({
|
||||
'partner_strong': '<span class="text-cyan-400">SARL SITECONSEIL</span>',
|
||||
'cms_strong': '<span class="text-yellow-400 font-black">Esy-Flex</span>'
|
||||
})|raw }}
|
||||
</p>
|
||||
<a href="https://www.siteconseil.fr" target="_blank" class="block text-center py-3 bg-cyan-500 text-gray-900 font-black uppercase text-xs border-2 border-white hover:bg-white transition-colors">
|
||||
{{ 'page.presentation.siteconseil_partner.discover_button'|trans }} _
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# --- JAVASCRIPT --- #}
|
||||
|
||||
@@ -171,16 +171,16 @@ hosting_page_title_long: 托管和技术服务提供商详细信息
|
||||
|
||||
# Section 1 : Hébergeur Principal
|
||||
hosting_section1_title: 1. 主要托管服务商
|
||||
hosting_section1_p1: '%site_url%网站托管在 Google 的云基础设施上。'
|
||||
hosting_section1_p1: '%site_url%网站托管在 OVHcloud 的云基础设施上。'
|
||||
hosting_label_host_name: 托管服务商名称
|
||||
hosting_label_service_used: 使用的服务
|
||||
hosting_service_compute_cloud: Compute Cloud (计算和数据基础设施)
|
||||
hosting_label_company: 公司
|
||||
hosting_label_address: 注册地址
|
||||
hosting_label_data_location: 数据托管地点(欧洲)
|
||||
hosting_data_location_details: "Google Cloud Netherlands B.V.(通常从爱尔兰管理:O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, Irelande)。"
|
||||
hosting_data_location_details: "OVH SAS,数据中心位于法国。"
|
||||
hosting_label_contact: 联系方式
|
||||
hosting_contact_details: 通常通过 Google Cloud 支持平台以电子方式联系。
|
||||
hosting_contact_details: 通常通过 OVHcloud 支持平台以电子方式联系。
|
||||
hosting_section1_disclaimer: 根据 GDPR,用户数据的主要存储保证在欧盟内。
|
||||
|
||||
# Section 2 : Autres Prestataires
|
||||
@@ -265,8 +265,8 @@ legal_label_technical_contact: 技术联系方式
|
||||
# Section 3 : Hébergement
|
||||
legal_section3_title: 3. 网站托管
|
||||
legal_section3_p1_host_intro: "网站由以下机构托管:"
|
||||
legal_host_address: 1600 Amphitheatre Parkway, Mountain View, CA 94043, 美国(注册地址)
|
||||
legal_host_data_location: Google Cloud Netherlands B.V., O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, 爱尔兰。
|
||||
legal_host_address: 2 rue Kellermann, 59100 Roubaix, 法国(注册地址)
|
||||
legal_host_data_location: OVH SAS,数据中心位于法国。
|
||||
|
||||
# Section 4 : Propriété Intellectuelle et Droit à l'Image
|
||||
legal_section4_title: 4. 知识产权和肖像权
|
||||
@@ -679,14 +679,6 @@ events.details.back_to_list: 返回活动列表
|
||||
|
||||
page:
|
||||
presentation:
|
||||
siteconseil_partner:
|
||||
discover_button: 探索 SITECONSEIL
|
||||
offer_info: 快速创建您的网站,并享受量身定制的优惠。
|
||||
cms_info: 我们的合作伙伴 partner_strong 提供其 cms_strong 内容管理系统解决方案。
|
||||
recommended: 推荐合作伙伴
|
||||
intro: "page_span 非常适合您的 Cosplay 展示,但如果您希望为您的专业活动或个人品牌建立一个 strong_tag完整、个性化且可扩展的网站strong_end_tag:"
|
||||
title: 🚀 您的完整网站
|
||||
|
||||
js:
|
||||
periodic_billing: 按 %duration% 个月计费。平均每月 %average_price%。
|
||||
annual_billing: 按年计费。平均每月 %average_price%。
|
||||
@@ -707,7 +699,6 @@ page:
|
||||
choose_period: 选择您的订阅期限
|
||||
|
||||
additional_features:
|
||||
siteconseil_referral: '<p class="text-base sm:text-lg leading-relaxed mt-3">我们会告知您是否可行,或者我们是否需要将您转介给我们的合作伙伴 partner_strong_cyan 来创建您的定制网站。</p>'
|
||||
request_support: 如果您需要 page_span 上当前没有提供的额外功能,strong_tag请咨询 E-Cosplay 支持strong_end_tag。
|
||||
title: ⚡ 需要更多功能?
|
||||
|
||||
@@ -966,13 +957,9 @@ rules_art5_stand_desc: "协会参展时,将优先要求主办方提供门票
|
||||
hosting_main_title: "法律信息与托管"
|
||||
hosting_bg_text: "服务器 (SERVER)"
|
||||
hosting_responsibilities_label: "责任声明"
|
||||
hosting_tech_operator_title: "技术运营商"
|
||||
hosting_tech_operator_name: "SARL SITECONSEIL"
|
||||
hosting_tech_operator_address: "27 RUE LE SERURIER<br>02100 SAINT-QUENTIN"
|
||||
hosting_tech_operator_siret: "SIRET: 41866405800025"
|
||||
hosting_infrastructure_title: "云基础设施"
|
||||
hosting_cloud_provider: "Google Cloud Platform (GCP)"
|
||||
hosting_location_detail: "荷兰 (eu-west4)"
|
||||
hosting_infrastructure_title: "网站托管"
|
||||
hosting_cloud_provider: "OVHcloud"
|
||||
hosting_location_detail: "法国"
|
||||
hosting_editor_title: "网站出版商"
|
||||
hosting_editor_name: "E-Cosplay 协会"
|
||||
hosting_editor_address: "42 rue de Saint-Quentin<br>02800 Beautor"
|
||||
@@ -995,7 +982,7 @@ hosting_privacy_alert_desc: "我们的服务器和 Amazon SES 处理本网站发
|
||||
hosting_compliance_title: "合规与 GDPR"
|
||||
hosting_compliance_desc: "基础设施配置符合欧盟境内的安全标准和 GDPR(通用数据保护条例)。"
|
||||
hosting_signalement_label: "违规举报"
|
||||
hosting_signalement_email: "signalement@siteconseil.fr"
|
||||
hosting_signalement_email: "signalement@e-cosplay.fr"
|
||||
|
||||
# 技术补充 (Addendum)
|
||||
rgpd_additif_title: "技术补充条款"
|
||||
|
||||
@@ -173,16 +173,16 @@ hosting_page_title_long: Detailed Information on Hosting and Technical Providers
|
||||
|
||||
# Section 1 : Hébergeur Principal
|
||||
hosting_section1_title: 1. Main Host
|
||||
hosting_section1_p1: The website %site_url% is hosted on Google's cloud infrastructure.
|
||||
hosting_section1_p1: The website %site_url% is hosted on OVHcloud's cloud infrastructure.
|
||||
hosting_label_host_name: Host Name
|
||||
hosting_label_service_used: Service Used
|
||||
hosting_service_compute_cloud: Compute Cloud (Computing and Data Infrastructure)
|
||||
hosting_label_company: Company
|
||||
hosting_label_address: Headquarters Address
|
||||
hosting_label_data_location: Data Hosting Location (Europe)
|
||||
hosting_data_location_details: "Google Cloud Netherlands B.V. (often managed from Ireland: O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, Ireland)."
|
||||
hosting_data_location_details: "OVH SAS, datacenters located in France."
|
||||
hosting_label_contact: Contact
|
||||
hosting_contact_details: Generally by electronic means via Google Cloud support platforms.
|
||||
hosting_contact_details: Generally by electronic means via OVHcloud support platforms.
|
||||
hosting_section1_disclaimer: In compliance with the GDPR, the main storage of user data is guaranteed within the European Union.
|
||||
|
||||
# Section 2 : Autres Prestataires
|
||||
@@ -267,8 +267,8 @@ legal_label_technical_contact: Technical Contact
|
||||
# Section 3 : Hébergement
|
||||
legal_section3_title: 3. Site Hosting
|
||||
legal_section3_p1_host_intro: "The site is hosted by:"
|
||||
legal_host_address: 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States (Headquarters)
|
||||
legal_host_data_location: Google Cloud Netherlands B.V., O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, Ireland.
|
||||
legal_host_address: 2 rue Kellermann, 59100 Roubaix, France (Headquarters)
|
||||
legal_host_data_location: OVH SAS, datacenters located in France.
|
||||
|
||||
|
||||
# Section 4 : Propriété Intellectuelle et Droit à l'Image
|
||||
@@ -751,14 +751,6 @@ events.details.organizer: Organizer
|
||||
events.details.back_to_list: Back to Events List
|
||||
page:
|
||||
presentation:
|
||||
siteconseil_partner:
|
||||
discover_button: Discover SITECONSEIL
|
||||
offer_info: Create your website quickly and benefit from a suitable offer.
|
||||
cms_info: Our partner partner_strong offers its CMS solution cms_strong.
|
||||
recommended: Recommended Partner
|
||||
intro: "The page_span is perfect for your Cosplay showcase, but if you want a strong_tagcomplete, personalized, and scalable websitestrong_end_tag for your professional activity or personal brand:"
|
||||
title: 🚀 Your Complete Website
|
||||
|
||||
js:
|
||||
periodic_billing: Billed for %duration% months. An average of %average_price% per month.
|
||||
annual_billing: Billed annually. An average of %average_price% per month.
|
||||
@@ -779,7 +771,6 @@ page:
|
||||
choose_period: Choose Your Subscription Period
|
||||
|
||||
additional_features:
|
||||
siteconseil_referral: '<p class="text-base sm:text-lg leading-relaxed mt-3">We will let you know if its feasible or if we need to direct you to our partner partner_strong_cyan for the creation of your custom website.</p>'
|
||||
request_support: If you need additional features not currently available on the page_span, strong_tagask E-Cosplay supportstrong_end_tag.
|
||||
title: ⚡ NEED MORE FEATURES?
|
||||
|
||||
@@ -1039,13 +1030,9 @@ rules_art5_stand_desc: "When a stand is held by the association, the organizer w
|
||||
hosting_main_title: "Legal Information & Hosting"
|
||||
hosting_bg_text: "SERVER"
|
||||
hosting_responsibilities_label: "Responsibilities"
|
||||
hosting_tech_operator_title: "Technical Operator"
|
||||
hosting_tech_operator_name: "SARL SITECONSEIL"
|
||||
hosting_tech_operator_address: "27 RUE LE SERURIER<br>02100 SAINT-QUENTIN"
|
||||
hosting_tech_operator_siret: "SIRET: 41866405800025"
|
||||
hosting_infrastructure_title: "Cloud Infrastructure"
|
||||
hosting_cloud_provider: "Google Cloud Platform (GCP)"
|
||||
hosting_location_detail: "Netherlands (eu-west4)"
|
||||
hosting_infrastructure_title: "Site Hosting"
|
||||
hosting_cloud_provider: "OVHcloud"
|
||||
hosting_location_detail: "France"
|
||||
hosting_editor_title: "Site Editor"
|
||||
hosting_editor_name: "E-Cosplay Association"
|
||||
hosting_editor_address: "42 rue de Saint-Quentin<br>02800 Beautor"
|
||||
@@ -1066,9 +1053,9 @@ hosting_mail_system_desc: "Internal mail server (mail.esy-web.dev) with Amazon S
|
||||
hosting_privacy_alert_label: "Privacy"
|
||||
hosting_privacy_alert_desc: "Our server and Amazon SES process the content and metadata of emails sent by the site."
|
||||
hosting_compliance_title: "Compliance & GDPR"
|
||||
hosting_compliance_desc: "Infrastructure (GCP, Cloudflare, Sentry) is configured to respect security standards and GDPR within the European Union."
|
||||
hosting_compliance_desc: "Infrastructure (OVHcloud, Cloudflare, Sentry) is configured to respect security standards and GDPR within the European Union."
|
||||
hosting_signalement_label: "Report a violation"
|
||||
hosting_signalement_email: "signalement@siteconseil.fr"
|
||||
hosting_signalement_email: "signalement@e-cosplay.fr"
|
||||
|
||||
# Technical Addendum
|
||||
rgpd_additif_title: "Technical Addendum"
|
||||
|
||||
@@ -172,16 +172,16 @@ hosting_page_title_long: Información detallada sobre el hosting y proveedores t
|
||||
|
||||
# Sección 1: Proveedor Principal
|
||||
hosting_section1_title: 1. Proveedor de Hosting Principal
|
||||
hosting_section1_p1: El sitio %site_url% está alojado en la infraestructura en la nube de Google.
|
||||
hosting_section1_p1: El sitio %site_url% está alojado en la infraestructura en la nube de OVHcloud.
|
||||
hosting_label_host_name: Nombre del host
|
||||
hosting_label_service_used: Servicio utilizado
|
||||
hosting_service_compute_cloud: Compute Cloud (infraestructura de computación y datos)
|
||||
hosting_label_company: Empresa
|
||||
hosting_label_address: Dirección de la sede
|
||||
hosting_label_data_location: Ubicación de los datos (Europa)
|
||||
hosting_data_location_details: "Google Cloud Netherlands B.V. (a menudo gestionado desde Irlanda: O'Mahony's Corner, Block R, Spencer Dock, Dublín 1, Irlanda)."
|
||||
hosting_data_location_details: "OVH SAS, centros de datos situados en Francia."
|
||||
hosting_label_contact: Contacto
|
||||
hosting_contact_details: Generalmente de forma electrónica a través de las plataformas de soporte de Google Cloud.
|
||||
hosting_contact_details: Generalmente de forma electrónica a través de las plataformas de soporte de OVHcloud.
|
||||
hosting_section1_disclaimer: De acuerdo con el RGPD, el almacenamiento primario de los datos de los usuarios está garantizado dentro de la Unión Europea.
|
||||
|
||||
# Sección 2: Otros Proveedores
|
||||
@@ -266,8 +266,8 @@ legal_label_technical_contact: Contacto técnico
|
||||
# Sección 3: Hosting
|
||||
legal_section3_title: 3. Hosting del sitio
|
||||
legal_section3_p1_host_intro: "El sitio está alojado por:"
|
||||
legal_host_address: 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA (Sede social)
|
||||
legal_host_data_location: Google Cloud Netherlands B.V., O'Mahony's Corner, Block R, Spencer Dock, Dublín 1, Irlanda.
|
||||
legal_host_address: 2 rue Kellermann, 59100 Roubaix, Francia (Sede social)
|
||||
legal_host_data_location: OVH SAS, centros de datos situados en Francia.
|
||||
|
||||
# Sección 4: Propiedad Intelectual
|
||||
legal_section4_title: 4. Propiedad Intelectual y Derecho a la Imagen
|
||||
@@ -701,14 +701,6 @@ page:
|
||||
title: "Formulario de solicitud de EPage"
|
||||
description: "Formulario de solicitud de EPage"
|
||||
presentation:
|
||||
siteconseil_partner:
|
||||
discover_button: Descubrir SITECONSEIL
|
||||
offer_info: Crea rápidamente tu sitio y disfruta de una oferta adaptada.
|
||||
cms_info: Nuestro socio partner_strong ofrece su solución CMS cms_strong.
|
||||
recommended: Socio recomendado
|
||||
intro: "La page_span es perfecta para tu vitrina de cosplay, pero si quieres un strong_tagsitio web completo, personalizado y escalable para tu actividad profesional o tu marca personalstrong_end_tag:"
|
||||
title: 🚀 Tu sitio web completo
|
||||
|
||||
js:
|
||||
periodic_billing: Facturación por %duration% meses. Esto equivale a una media de %average_price% al mes.
|
||||
annual_billing: Facturación anual. Esto equivale a una media de %average_price% al mes.
|
||||
@@ -729,7 +721,6 @@ page:
|
||||
choose_period: Elige tu periodo de suscripción
|
||||
|
||||
additional_features:
|
||||
siteconseil_referral: '<p class="text-base sm:text-lg leading-relaxed mt-3">Te indicaremos si es factible o si debemos redirigirte a nuestro socio partner_strong_cyan para la creación de tu sitio a medida.</p>'
|
||||
request_support: Si necesitas funcionalidades adicionales que no están presentes actualmente en la page_span, strong_tagconsulta al soporte de E-Cosplaystrong_end_tag.
|
||||
title: ⚡ ¿NECESITAS MÁS FUNCIONALIDADES?
|
||||
|
||||
@@ -1031,14 +1022,9 @@ hosting_bg_text: "SERVIDOR"
|
||||
|
||||
hosting_responsibilities_label: "Responsabilidades"
|
||||
|
||||
hosting_tech_operator_title: "Operador Técnico"
|
||||
hosting_tech_operator_name: "SARL SITECONSEIL"
|
||||
hosting_tech_operator_address: "27 RUE LE SERURIER<br>02100 SAINT-QUENTIN"
|
||||
hosting_tech_operator_siret: "SIRET: 41866405800025"
|
||||
|
||||
hosting_infrastructure_title: "Infraestructura Cloud"
|
||||
hosting_cloud_provider: "Google Cloud Platform (GCP)"
|
||||
hosting_location_detail: "Países Bajos (eu-west4)"
|
||||
hosting_infrastructure_title: "Alojamiento del Sitio"
|
||||
hosting_cloud_provider: "OVHcloud"
|
||||
hosting_location_detail: "Francia"
|
||||
|
||||
hosting_editor_title: "Editor del sitio"
|
||||
hosting_editor_name: "Asociación E-Cosplay"
|
||||
@@ -1063,11 +1049,11 @@ hosting_privacy_alert_label: "Privacidad"
|
||||
hosting_privacy_alert_desc: "Nuestro servidor y Amazon SES procesan el contenido y los metadatos de los correos enviados a través del sitio."
|
||||
|
||||
hosting_compliance_title: "Conformidad y RGPD"
|
||||
hosting_compliance_desc: "La infraestructura (GCP, Cloudflare, Sentry) está configurada para cumplir con los estándares de seguridad y el RGPD dentro de la Unión Europea."
|
||||
hosting_compliance_desc: "La infraestructura (OVHcloud, Cloudflare, Sentry) está configurada para cumplir con los estándares de seguridad y el RGPD dentro de la Unión Europea."
|
||||
hosting_signalement_label: "Denuncia de abusos"
|
||||
hosting_signalement_email: "signalement@siteconseil.fr"
|
||||
hosting_signalement_email: "signalement@e-cosplay.fr"
|
||||
|
||||
# --- ADENDA TÉCNICA SITECONSEIL ---
|
||||
# --- ADENDA TÉCNICA ---
|
||||
rgpd_additif_title: "Adenda Técnica"
|
||||
rgpd_additif_collecte_title: "Recogida mínima y anonimizada"
|
||||
rgpd_additif_collecte_text: "El sitio se limita estrictamente a la recogida de datos técnicos necesarios para su buen funcionamiento (logs de errores, rendimiento). Estos datos se agregan de forma que no permitan identificar a un visitante específico."
|
||||
|
||||
@@ -172,16 +172,16 @@ hosting_page_title_long: Informations détaillées sur l'Hébergement et les Pre
|
||||
|
||||
# Section 1 : Hébergeur Principal
|
||||
hosting_section1_title: 1. Hébergeur Principal
|
||||
hosting_section1_p1: Le site internet %site_url% est hébergé sur l'infrastructure cloud de Google.
|
||||
hosting_section1_p1: Le site internet %site_url% est hébergé sur l'infrastructure cloud d'OVHcloud.
|
||||
hosting_label_host_name: Nom de l'Hébergeur
|
||||
hosting_label_service_used: Service utilisé
|
||||
hosting_service_compute_cloud: Compute Cloud (Infrastructure de calcul et de données)
|
||||
hosting_label_company: Société
|
||||
hosting_label_address: Adresse du Siège social
|
||||
hosting_label_data_location: Lieu d'hébergement des données (Europe)
|
||||
hosting_data_location_details: "Google Cloud Netherlands B.V. (souvent géré depuis l'Irlande : O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, Irelande)."
|
||||
hosting_data_location_details: "OVH SAS, datacenters situés en France."
|
||||
hosting_label_contact: Contact
|
||||
hosting_contact_details: Généralement par voie électronique via les plateformes de support de Google Cloud.
|
||||
hosting_contact_details: Généralement par voie électronique via les plateformes de support OVHcloud.
|
||||
hosting_section1_disclaimer: Conformément au RGPD, le stockage principal des données des utilisateurs est garanti au sein de l'Union Européenne.
|
||||
|
||||
# Section 2 : Autres Prestataires
|
||||
@@ -266,8 +266,8 @@ legal_label_technical_contact: Contact technique
|
||||
# Section 3 : Hébergement
|
||||
legal_section3_title: 3. Hébergement du Site
|
||||
legal_section3_p1_host_intro: "Le site est hébergé par :"
|
||||
legal_host_address: 1600 Amphitheatre Parkway, Mountain View, CA 94043, États-Unis (Siège social)
|
||||
legal_host_data_location: Google Cloud Netherlands B.V., O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, Irelande.
|
||||
legal_host_address: 2 rue Kellermann, 59100 Roubaix, France (Siège social)
|
||||
legal_host_data_location: OVH SAS, datacenters situés en France.
|
||||
|
||||
# Section 4 : Propriété Intellectuelle et Droit à l'Image
|
||||
legal_section4_title: 4. Propriété Intellectuelle et Droit à l'Image
|
||||
@@ -701,14 +701,6 @@ page:
|
||||
title: "Formulaire demande de EPage"
|
||||
description: "Formulaire demande de EPage"
|
||||
presentation:
|
||||
siteconseil_partner:
|
||||
discover_button: Découvrir SITECONSEIL
|
||||
offer_info: Créez votre site internet rapidement et profitez d'une offre adaptée.
|
||||
cms_info: Notre partenaire partner_strong propose sa solution CMS cms_strong.
|
||||
recommended: Partenaire Recommandé
|
||||
intro: "L'page_span est parfait pour votre vitrine Cosplay, mais si vous souhaitez un strong_tagsite complet, personnalisé et évolutifstrong_end_tag pour votre activité professionnelle ou votre marque personnelle :"
|
||||
title: 🚀 Votre Site Internet Complet
|
||||
|
||||
js:
|
||||
periodic_billing: Facturation pour %duration% mois. Soit %average_price% en moyenne par mois.
|
||||
annual_billing: Facturation annuelle. Soit %average_price% en moyenne par mois.
|
||||
@@ -729,7 +721,6 @@ page:
|
||||
choose_period: Choisissez Votre Période d'Abonnement
|
||||
|
||||
additional_features:
|
||||
siteconseil_referral: '<p class="text-base sm:text-lg leading-relaxed mt-3">Nous vous indiquerons si cela est réalisable ou si nous devons vous diriger vers notre partenaire partner_strong_cyan pour la création de votre site internet sur mesure.</p>'
|
||||
request_support: Si vous avez besoin de fonctionnalités supplémentaires non disponibles actuellement sur l'page_span, strong_tagdemandez au support E-Cosplaystrong_end_tag.
|
||||
title: ⚡ BESOIN DE PLUS DE FONCTIONNALITÉS ?
|
||||
|
||||
@@ -1054,16 +1045,10 @@ hosting_bg_text: "SERVER"
|
||||
# Section Responsabilités
|
||||
hosting_responsibilities_label: "Responsabilités"
|
||||
|
||||
# Opérateur Technique
|
||||
hosting_tech_operator_title: "Opérateur Technique"
|
||||
hosting_tech_operator_name: "SARL SITECONSEIL"
|
||||
hosting_tech_operator_address: "27 RUE LE SERURIER<br>02100 SAINT-QUENTIN"
|
||||
hosting_tech_operator_siret: "SIRET: 41866405800025"
|
||||
|
||||
# Infrastructure Cloud
|
||||
hosting_infrastructure_title: "Infrastructure Cloud"
|
||||
hosting_cloud_provider: "Google Cloud Platform (GCP)"
|
||||
hosting_location_detail: "Pays-Bas (eu-west4)"
|
||||
# Hébergement du Site
|
||||
hosting_infrastructure_title: "Hébergement du Site"
|
||||
hosting_cloud_provider: "OVHcloud"
|
||||
hosting_location_detail: "France"
|
||||
|
||||
# Éditeur
|
||||
hosting_editor_title: "Éditeur du Site"
|
||||
@@ -1092,11 +1077,11 @@ hosting_privacy_alert_desc: "Notre serveur et Amazon SES traitent le contenu et
|
||||
|
||||
# Conformité
|
||||
hosting_compliance_title: "Conformité & RGPD"
|
||||
hosting_compliance_desc: "L'infrastructure (GCP, Cloudflare, Sentry) est configurée pour respecter les standards de sécurité et le RGPD au sein de l'Union Européenne."
|
||||
hosting_compliance_desc: "L'infrastructure (OVHcloud, Cloudflare, Sentry) est configurée pour respecter les standards de sécurité et le RGPD au sein de l'Union Européenne."
|
||||
hosting_signalement_label: "Signalement d'infraction"
|
||||
hosting_signalement_email: "signalement@siteconseil.fr"
|
||||
hosting_signalement_email: "signalement@e-cosplay.fr"
|
||||
|
||||
# --- ADDITIF TECHNIQUE SITECONSEIL ---
|
||||
# --- ADDITIF TECHNIQUE ---
|
||||
rgpd_additif_title: "Additif Technique"
|
||||
rgpd_additif_collecte_title: "Collecte Minimale et Anonymisée"
|
||||
rgpd_additif_collecte_text: "Le site se limite strictement à la collecte de données techniques nécessaires au bon fonctionnement (logs d'erreurs, performance). Ces données sont agrégées de manière à ce qu'il soit impossible de remonter à un visiteur spécifique."
|
||||
|
||||
@@ -172,16 +172,16 @@ hosting_page_title_long: Detaillierte Informationen zum Hosting und zu den techn
|
||||
|
||||
# Abschnitt 1: Haupt-Hoster
|
||||
hosting_section1_title: 1. Haupt-Hoster
|
||||
hosting_section1_p1: Die Website %site_url% wird auf der Cloud-Infrastruktur von Google gehostet.
|
||||
hosting_section1_p1: Die Website %site_url% wird auf der Cloud-Infrastruktur von OVHcloud gehostet.
|
||||
hosting_label_host_name: Name des Hosters
|
||||
hosting_label_service_used: Genutzter Dienst
|
||||
hosting_service_compute_cloud: Compute Cloud (Rechen- und Dateninfrastruktur)
|
||||
hosting_label_company: Unternehmen
|
||||
hosting_label_address: Adresse des Hauptsitzes
|
||||
hosting_label_data_location: Ort der Datenspeicherung (Europa)
|
||||
hosting_data_location_details: "Google Cloud Netherlands B.V. (oft verwaltet von Irland aus: O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, Irland)."
|
||||
hosting_data_location_details: "OVH SAS, Rechenzentren in Frankreich."
|
||||
hosting_label_contact: Kontakt
|
||||
hosting_contact_details: In der Regel elektronisch über die Support-Plattformen von Google Cloud.
|
||||
hosting_contact_details: In der Regel elektronisch über die Support-Plattformen von OVHcloud.
|
||||
hosting_section1_disclaimer: Gemäß der DSGVO ist die primäre Speicherung der Nutzerdaten innerhalb der Europäischen Union garantiert.
|
||||
|
||||
# Abschnitt 2: Weitere Dienstleister
|
||||
@@ -266,8 +266,8 @@ legal_label_technical_contact: Technischer Kontakt
|
||||
# Abschnitt 3: Hosting
|
||||
legal_section3_title: 3. Hosting der Website
|
||||
legal_section3_p1_host_intro: "Die Website wird gehostet von:"
|
||||
legal_host_address: 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA (Hauptsitz)
|
||||
legal_host_data_location: Google Cloud Netherlands B.V., O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, Irland.
|
||||
legal_host_address: 2 rue Kellermann, 59100 Roubaix, Frankreich (Hauptsitz)
|
||||
legal_host_data_location: OVH SAS, Rechenzentren in Frankreich.
|
||||
|
||||
# Abschnitt 4: Geistiges Eigentum und Recht am eigenen Bild
|
||||
legal_section4_title: 4. Geistiges Eigentum und Recht am eigenen Bild
|
||||
@@ -701,14 +701,6 @@ page:
|
||||
title: "Antragsformular für EPage"
|
||||
description: "Antragsformular für EPage"
|
||||
presentation:
|
||||
siteconseil_partner:
|
||||
discover_button: SITECONSEIL entdecken
|
||||
offer_info: Erstellen Sie schnell Ihre Website und profitieren Sie von einem passenden Angebot.
|
||||
cms_info: Unser Partner partner_strong bietet seine CMS-Lösung cms_strong an.
|
||||
recommended: Empfohlener Partner
|
||||
intro: "Die page_span ist perfekt für Ihre Cosplay-Vitrine, aber wenn Sie eine strong_tagvollständige, personalisierte und skalierbare Website für Ihre berufliche Tätigkeit oder Ihre persönliche Marke wünschenstrong_end_tag:"
|
||||
title: 🚀 Ihre vollständige Internetseite
|
||||
|
||||
js:
|
||||
periodic_billing: Abrechnung für %duration% Monate. Das entspricht durchschnittlich %average_price% pro Monat.
|
||||
annual_billing: Jährliche Abrechnung. Das entspricht durchschnittlich %average_price% pro Monat.
|
||||
@@ -729,7 +721,6 @@ page:
|
||||
choose_period: Wählen Sie Ihren Abonnementzeitraum
|
||||
|
||||
additional_features:
|
||||
siteconseil_referral: '<p class="text-base sm:text-lg leading-relaxed mt-3">Wir werden Ihnen mitteilen, ob dies machbar ist oder ob wir Sie an unseren Partner partner_strong_cyan für die Erstellung Ihrer maßgeschneiderten Website verweisen müssen.</p>'
|
||||
request_support: Wenn Sie zusätzliche Funktionen benötigen, die derzeit auf der page_span nicht verfügbar sind, strong_tagfragen Sie den E-Cosplay Supportstrong_end_tag.
|
||||
title: ⚡ BENÖTIGEN SIE MEHR FUNKTIONEN?
|
||||
|
||||
@@ -1031,14 +1022,9 @@ hosting_bg_text: "SERVER"
|
||||
|
||||
hosting_responsibilities_label: "Verantwortlichkeiten"
|
||||
|
||||
hosting_tech_operator_title: "Technischer Betreiber"
|
||||
hosting_tech_operator_name: "SARL SITECONSEIL"
|
||||
hosting_tech_operator_address: "27 RUE LE SERURIER<br>02100 SAINT-QUENTIN"
|
||||
hosting_tech_operator_siret: "SIRET: 41866405800025"
|
||||
|
||||
hosting_infrastructure_title: "Cloud-Infrastruktur"
|
||||
hosting_cloud_provider: "Google Cloud Platform (GCP)"
|
||||
hosting_location_detail: "Niederlande (eu-west4)"
|
||||
hosting_infrastructure_title: "Website-Hosting"
|
||||
hosting_cloud_provider: "OVHcloud"
|
||||
hosting_location_detail: "Frankreich"
|
||||
|
||||
hosting_editor_title: "Herausgeber der Website"
|
||||
hosting_editor_name: "Verein E-Cosplay"
|
||||
@@ -1063,11 +1049,11 @@ hosting_privacy_alert_label: "Vertraulichkeit"
|
||||
hosting_privacy_alert_desc: "Unser Server und Amazon SES verarbeiten den Inhalt und die Metadaten der über die Website gesendeten E-Mails."
|
||||
|
||||
hosting_compliance_title: "Konformität & DSGVO"
|
||||
hosting_compliance_desc: "Die Infrastruktur (GCP, Cloudflare, Sentry) ist so konfiguriert, dass sie die Sicherheitsstandards und die DSGVO innerhalb der Europäischen Union erfüllt."
|
||||
hosting_compliance_desc: "Die Infrastruktur (OVHcloud, Cloudflare, Sentry) ist so konfiguriert, dass sie die Sicherheitsstandards und die DSGVO innerhalb der Europäischen Union erfüllt."
|
||||
hosting_signalement_label: "Meldung von Verstößen"
|
||||
hosting_signalement_email: "signalement@siteconseil.fr"
|
||||
hosting_signalement_email: "signalement@e-cosplay.fr"
|
||||
|
||||
# --- TECHNISCHER ZUSATZ SITECONSEIL ---
|
||||
# --- TECHNISCHER ZUSATZ ---
|
||||
rgpd_additif_title: "Technischer Zusatz"
|
||||
rgpd_additif_collecte_title: "Minimale und anonymisierte Erhebung"
|
||||
rgpd_additif_collecte_text: "Die Website beschränkt sich strikt auf die Erhebung technischer Daten, die für den ordnungsgemäßen Betrieb erforderlich sind (Fehlerprotokolle, Leistung). Diese Daten werden so aggregiert, dass kein Rückschluss auf einen spezifischen Besucher möglich ist."
|
||||
|
||||
Reference in New Issue
Block a user