diff --git a/README.md b/README.md
index f0140b20..2572f519 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ Gestió de presència, incidències i més per a Instituts, Escoles i Acadèmies
- [1. Introducció](#introduccio)
- [2. Requisits del sistema operatiu per instal·lar Django-Aula](#requisits)
-- [3. Desplegament d'una Demostració de Django-Aula (Quick Demo) amb Docker 🐳 ](#quickdemo)
+- [3. Desplegament d'una Demostració de Django-Aula amb Docker 🐳 ](#demodocker)
- [4. Instal·lació i càrrega de dades de Django-Aula per ús real a un Centre Educatiu](#produccio)
- [5. Equip Desenvolupador i Suport Tècnic](#dev-suport-tecnic)
@@ -54,10 +54,10 @@ Per qualsevol tipus d'instal·lació, ja sigui per un ús real o per l'entorn de
---
-
-## Desplegament d'una Demostració de Django-Aula (Quick Demo) amb Docker 🐳
+
+## Desplegament d'una Demostració de Django-Aula amb Docker 🐳
-L'entorn de demostració, conegut com Demo, és una versió funcional del sistema i que es pot posar en funcionament en molt pocs minuts. Disposa de dades fictícies (usuaris, professors, alumnat i un horari mínim) que faciliten observar l'aspecte visual i interaccionar, des de diferents rols, amb les funcionalitats de l'aplicatiu real Django-Aula.
+L'entorn de demostració, conegut com Demo, és una versió funcional del sistema i que es pot posar en funcionament en pocs minuts. Disposa de dades fictícies (usuaris, professors, alumnat i un horari mínim) que faciliten observar l'aspecte visual i interaccionar, des de diferents rols, amb les funcionalitats de l'aplicatiu real Django-Aula.
El desplegament de la Demo s'ha automatitzat amb l'execució de dues comandes i consta de dues passes consecutives:
@@ -78,17 +78,17 @@ Es recomana crear un subdirectori dins el directori de l'usuari instal·lador pe
```bash
mkdir demo-djau-docker && cd demo-djau-docker && \
-wget -q -O install_quick_demo_docker.sh https://raw.githubusercontent.com/ctrl-alt-d/django-aula/refs/heads/master/docker/install_quick_demo_docker.sh && \
-chmod +x install_quick_demo_docker.sh && \
-bash ./install_quick_demo_docker.sh
+wget -q -O install_demo_docker.sh https://raw.githubusercontent.com/ctrl-alt-d/django-aula/refs/heads/master/docker/install_demo_docker.sh && \
+chmod +x install_demo_docker.sh && \
+bash ./install_demo_docker.sh
```
-Tot i que el procés anterior és autònom i interactivament configurable, es recomana llegir la informació, molt més detallada del procés, segons el tipus de màquina (no virtualitzada, virtualitzada o servidor d'accés públic) on s'instal·larà la Demo. També hi haurà qui estarà interessat en dur a terme la instal·lació manual, tant de l'entorn de docker com de la Demo. Per tots aquests casos es recomana consultar els següents detallats documents:
+Tot i que el procés anterior és autònom i interactivament configurable, es recomana llegir la informació, molt més detallada del procés, segons el tipus de màquina (no virtualitzada, virtualitzada o servidor d'accés públic) on s'instal·larà la Demo. També hi haurà qui estarà interessat en dur a terme la instal·lació manual, tant de l'entorn de Docker com de la Demo. Per tots aquests casos es recomana consultar els següents detallats documents:
-➡️ **[Instal·lació de l'entorn de Docker i Docker Compose](docs/USER_MANUAL/demo/install_entorn_docker.md)**.
+➡️ **[Instal·lació automatitzada de l'entorn de Docker i Docker Compose](docs/USER_MANUAL/demo/install_entorn_docker.md)**.
-➡️ **[Instal·lació ràpida de la Demo amb Docker](docs/USER_MANUAL/demo/install_demo_docker.md)**.
+➡️ **[Instal·lació automatitzada de la Demo amb Docker](docs/USER_MANUAL/demo/install_demo_docker.md)**.
➡️ **[Instal·lació manual de la Demo (sense Docker)](docs/USER_MANUAL/demo/install_demo_manual.md)**.
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 00fb6f47..48029289 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -5,9 +5,13 @@ ENV PYTHONUNBUFFERED=1
WORKDIR /app
COPY djau/. .
-RUN apt-get update && apt-get install -y git wait-for-it \
+RUN apt-get update && apt-get install -y \
+ git \
+# wait-for-it \
+ postgresql-client \
libgl1 \
libglib2.0-0 && \
- apt clean && rm -rf /var/lib/apt/lists/*
+ apt clean && \
+ rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip && pip install -r requirements.txt
diff --git a/docker/carrega_inicial.old b/docker/carrega_inicial.old
new file mode 100755
index 00000000..35fe9daa
--- /dev/null
+++ b/docker/carrega_inicial.old
@@ -0,0 +1,18 @@
+#!/bin/bash
+set -e
+
+wait-for-it db:5432 --timeout=30 --strict
+
+if [ ! -f /app/storage/.inicialitzat ]; then
+ echo "Inicialitzant dades ..."
+ python manage.py migrate
+ python manage.py collectstatic --noinput
+ ./scripts/fixtures.sh
+ python manage.py loaddemodata
+ touch /app/storage/.inicialitzat
+else
+ echo "Dades ja inicialitzades."
+fi
+
+exec python manage.py runserver 0.0.0.0:8000
+
diff --git a/docker/carrega_inicial.sh b/docker/carrega_inicial.sh
index 35fe9daa..b019b7b5 100755
--- a/docker/carrega_inicial.sh
+++ b/docker/carrega_inicial.sh
@@ -1,18 +1,44 @@
#!/bin/bash
set -e
+echo "Mostrant 'logs'..."
+echo
+echo "⌛ Esperant que la base de dades estigui operativa..."
-wait-for-it db:5432 --timeout=30 --strict
+TIMEOUT=60
+COUNT=0
+
+# Utilitzem pg_isready per minimitzar el temps d'espera fent la comprovació amb motor de postgres
+until pg_isready -h db -U "$DB_USER" >/dev/null 2>&1; do
+ sleep 1
+ ((COUNT+=1))
+
+ if [ $COUNT -ge $TIMEOUT ]; then
+ echo "❌ ERROR: La base de dades no ha respost en $TIMEOUT segons."
+ echo " El procés d'inicialització s'ha aturat. Revisa els logs amb: 'docker logs demo_db' o amb 'make logs'."
+ exit 1
+ fi
+done
+
+echo "✅ PostgreSQL està llest! (El procés de preparació ha trigat $COUNT segons)"
+echo
+echo "📦 Aplicant migracions i preparant dades..."
+echo
if [ ! -f /app/storage/.inicialitzat ]; then
echo "Inicialitzant dades ..."
python manage.py migrate
+ echo -e "\n"
python manage.py collectstatic --noinput
+ echo -e "\n"
./scripts/fixtures.sh
+ echo -e "\n"
python manage.py loaddemodata
touch /app/storage/.inicialitzat
else
- echo "Dades ja inicialitzades."
+ echo "Les dades ja s'havien inicialitzant anteriorment."
fi
-
+echo
+echo "Engengant el servidor de desenvolupament..."
+echo
exec python manage.py runserver 0.0.0.0:8000
diff --git a/docker/install_demo_docker.sh b/docker/install_demo_docker.sh
new file mode 100644
index 00000000..0e4efbc1
--- /dev/null
+++ b/docker/install_demo_docker.sh
@@ -0,0 +1,235 @@
+#!/bin/bash
+# -------------------------------------------------------------
+# Script per a la instal·lació de la Demo Docker de django-aula.
+# Descarrega els fitxers de configuració i comprova la base de dades.
+# -------------------------------------------------------------
+
+# --- 0. Configuració de rutes i repositori
+
+# Ruta on s'executa el script (Directori arrel de la instal·lació)
+BASE_DIR=$(pwd)
+
+# Dades del repositori
+REPO_USER="ctrl-alt-d"
+REPO_NAME="django-aula"
+REPO_BRANCA="master"
+
+# Rutes locals
+DJAU_PATH="${BASE_DIR}/djau"
+DOCKER_SRC="${DJAU_PATH}/docker"
+FUNCTION_PATH="${DJAU_PATH}/setup_djau"
+
+# URLs
+REPO_URL="https://github.com/${REPO_USER}/${REPO_NAME}.git"
+
+clear
+echo "---------------------------------------------------------------"
+echo "--- Instal·lador automàtic de la Demo Docker de django-aula ---"
+echo "--- Branca: $REPO_BRANCA | Arrel: $BASE_DIR ---"
+echo "---------------------------------------------------------------"
+echo
+sleep 1
+
+# --- 1. Clonació del repositori
+
+# Instal·lar git, si cal.
+
+echo "🔧 Comprovant que 'git' estigui instal·lat..."
+if ! command -v git &> /dev/null; then
+ echo " Instal·lant 'git'..."
+ sudo apt-get update -y >/dev/null 2>&1
+ sudo apt-get install -y git
+ if ! command -v git &> /dev/null; then
+ echo " ERROR a la instal·lació de 'git'"
+ exit 1
+ fi
+else
+ echo " ✅ 'git' ja està disponible."
+fi
+echo -e "\n"
+
+# COMPROVACIÓ: El directori existeix i no està buit?
+if [ -d "$DJAU_PATH" ] && [ "$(ls -A "$DJAU_PATH")" ]; then
+ rm -Rf $DJAU_PATH
+fi
+
+echo -e "Clonant $REPO_URL, branca '$REPO_BRANCA' en $DJAU_PATH."
+echo
+
+# Clonar el repositori com l'usuari de l'aplicació, forçant la branca especificada i amb profunditat mínima (no interessa tot l'historial)
+git clone --depth 1 -b "$REPO_BRANCA" "$REPO_URL" "$DJAU_PATH"
+
+if [ $? -ne 0 ]; then
+ echo -e "❌ ERROR: Fallida en clonar la branca '$REPO_BRANCA' del repositori '$REPO_URL'."
+ echo "Comprovi la URL, conexió a internet o permisos de l'usuari."
+ echo -e "\n"
+ exit 1
+fi
+echo
+echo -e "✅ Repositori clonat (Branca: $REPO_BRANCA) a '$DJAU_PATH'."
+
+echo -e "\n"
+sleep 2
+
+# Carrega de la llibreria de funcions
+echo "Important variables de colors i funcions de la llibreria 'functions.sh'"
+if [ -f "$FUNCTION_PATH/functions.sh" ]; then
+ source "$FUNCTION_PATH/functions.sh"
+ echo -e "${C_EXITO}✅ Llibreria de funcions carregada amb èxit.${RESET}"
+else
+ echo -e "\n\e[31m\e[1m❌ ERROR:\e[0m No s'ha trobat l'arxiu functions.sh dins el directori $FUNCTION_PATH."
+ echo "No es pot continuar sense la llibreria de funcions."
+ exit 1
+fi
+echo -e "\n"
+
+# --- 2. Fitxers a descarregar ---
+
+FILES_ORIGIN=(
+ "Dockerfile"
+ "docker-compose.demo.automatica.yml"
+ "Makefile.demo.automatica"
+ "env.demo.automatica"
+)
+FILES_DEST=(
+ "Dockerfile"
+ "docker-compose.yml"
+ "Makefile"
+ ".env"
+ )
+
+# --- 3. Descarregar fitxers de configuració i dades ---
+
+echo -e "${C_INFO}📦 Preparant fitxers pel desplegament des de ${DOCKER_SRC}...${RESET}"
+echo
+
+for i in "${!FILES_ORIGIN[@]}"; do
+ SRC="${DOCKER_SRC}/${FILES_ORIGIN[$i]}"
+ DST="${BASE_DIR}/${FILES_DEST[$i]}"
+
+ if [ -f "$SRC" ]; then
+ cp "$SRC" "$DST"
+ echo -e "${C_EXITO} ✅ ${FILES_DEST[$i]} preparat.${RESET}"
+ else
+ echo -e "${C_ERROR} ❌ No s'ha trobat l'origen: ${FILES_ORIGIN[$i]}${RESET}"
+ exit 1
+ fi
+done
+
+echo
+echo -e "${C_EXITO}✅ Tots els fitxers s'han descarregat correctament. Com a comprovació es llista el contingut del directori:${RESET}"
+ls -lah Dockerfile docker-compose.yml Makefile .env
+
+echo
+
+# --- 4. Instal·lar make si cal ---
+
+echo -e "${C_INFO}🔧 Comprovant que 'make' estigui instal·lat...${RESET}"
+if ! command -v make &> /dev/null; then
+ echo -e "${C_INFO} Instal·lant 'make'...${RESET}"
+ sudo apt-get update -y >/dev/null 2>&1
+ sudo apt-get install -y make
+ if ! command -v make &> /dev/null; then
+ finalitzar_amb_error " Error a la instal·lació de 'make'"
+ fi
+else
+ echo -e "${C_EXITO} ✅ 'make' ja està disponible.${RESET}"
+fi
+
+# --- 5. Pregunta pel domini o IP ---
+
+echo
+echo -e "${C_INFO}🌍 Si la Demo ha de funcionar en una xarxa local cal definir quina IP té. Si es vol instal·lar en un servidor en internet (VPS) caldrà informar de la seva IP pública i del domini o subdomini, si n'hi ha.${RESET}"
+echo
+read_prompt "Vol afegir un domini o IP a **DEMO_ALLOWED_HOSTS** per poder accedir-hi externament a la Demo? (Per defecte NO: sí/NO): " REPLY "no"
+RESPONSE_LOWER=$(echo "$REPLY" | tr '[:upper:]' '[:lower:]')
+#read -p "Vol afegir un domini o IP a **DEMO_ALLOWED_HOSTS** per poder accedir-hi externament a la Demo? (S/n): " REPLY
+
+if [[ "$RESPONSE_LOWER" = "sí" ]] || [[ "$RESPONSE_LOWER" = "si" ]] || [[ "$RESPONSE_LOWER" = "s" ]]; then
+ read -p "👉 Introdueix els dominis o IPs separats per comes (ex: demo.elteudomini.cat,192.168.1.46): " HOSTS
+ if [ -n "$HOSTS" ]; then
+ sed -i "s|^DEMO_ALLOWED_HOSTS=.*|DEMO_ALLOWED_HOSTS=${HOSTS}|" .env
+ echo -e "${C_EXITO}✅ Fitxer .env actualitzat amb DEMO_ALLOWED_HOSTS=${HOSTS}${RESET}"
+ else
+ echo -e "${C_INFO}⚠️ No s'ha introduït cap domini/IP. Es manté buit.${RESET}"
+ fi
+else
+ echo -e "${C_INFO}ℹ️ No s'ha modificat DEMO_ALLOWED_HOSTS. Es manté buit.${RESET}"
+fi
+
+# --- 6. Posar en marxa els contenidors ---
+
+# Comprovant que l'arxiu .env existeix
+if [ -f .env ]; then
+ set -a
+ source .env # carregar DB_USER, etc.
+ set +a
+else
+ finalitzar_amb_error "⚠️ No s'ha trobat el fitxer .env. No es pot comprovar l'estat de la base de dades."
+fi
+
+echo
+echo -e "${C_INFO}🕓 Posant en marxa els contenidors de la Demo i de la Base de Dades PostgreSQL...${RESET}"
+echo
+make build
+make serve
+echo
+
+# --- 7. Informació sobre els contenidors en marxa ---
+
+echo
+echo -e "${C_INFO}--------------------------------------------${RESET}"
+echo -e "${C_INFO}📦 Estat final de l'estat dels contenidors ${RESET}"
+echo -e "${C_INFO}--------------------------------------------${RESET}"
+docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
+echo -e "${C_INFO}--------------------------------------------${RESET}"
+echo
+echo
+
+# --- 8. Espera a la finalització de la preparació ---
+
+echo -e "${C_INFO}Progrès de preparació de la base de dades i del servidor de la demo (logs).${RESET}"
+echo -e "${C_INFO}El procés finalitzarà automàticament quan el servidor estigui llest.${RESET}"
+echo -e "${C_INFO}---------------------------------------------------------------------------${RESET}"
+echo -e "\n"
+
+# Iniciem el bucle de lectura de logs
+docker logs -f demo_web 2>&1 | while read -r line; do
+
+ # 1. Bloc per ocultar els SyntaxWarning, per neteja visual. Si, per dev, es vol veure tota la sortida cal fer make logs
+ if [[ "$line" == *"SyntaxWarning"* ]]; then
+ continue
+ fi
+
+ # 2. Imprimim la línia en gris per diferenciar-la del script
+ echo -e "${GRIS}${line}${RESET}"
+
+ # 3. Condició de sortida: Quan Django ens diu que ja escolta al port 8000
+ if [[ "$line" == *"Starting development server at"* ]]; then
+ echo -e "${C_INFO}----------------------------------------------------------------------------------------${RESET}"
+ echo -e "\n"
+ echo -e "${C_EXITO}✅ EL SERVIDOR ESTÀ PREPARAT.${RESET}"
+ # Matem el procés 'docker logs' per sortir del bucle 'while'
+ pkill -P $$ -f "docker logs"
+ break
+ fi
+done
+
+# --- 9. Missatge final ---
+
+echo -e "\n"
+sleep 1
+
+echo -e "${C_INFO}----------------------------------------------------------------------------------------"
+echo -e "ℹ️ Informació addicional${RESET}"
+echo -e "\n"
+echo -e "${C_INFO}Instruccions disponibles amb la comanda **make** per la Demo:${RESET}"
+echo -e "${C_INFO} 1. Si no està en marxa, executi: ${RESET}${CIANO}make serve${RESET}"
+echo -e "${C_INFO} 2. Per veure els logs: ${RESET}${CIANO}make logs${RESET}"
+echo -e "${C_INFO} 3. Per detenir la Demo: ${RESET}${CIANO}make stop${RESET}"
+echo -e "${C_INFO} 4. Per eliminar els contenidors: ${RESET}${CIANO}make down${RESET}${C_INFO} i després -> docker system prune -a"
+
+echo
+echo -e "🌐 Si ha definit IP o dominis a DEMO_ALLOWED_HOSTS, provi ara d'accedir-hi al navegador!"
+echo -e " (p. ex. http://demo.elteudomini.cat:8000 o http://IP:8000)${RESET}"
+echo
diff --git a/docker/install_quick_demo_docker.sh b/docker/install_quick_demo_docker.sh
deleted file mode 100644
index e79ba479..00000000
--- a/docker/install_quick_demo_docker.sh
+++ /dev/null
@@ -1,219 +0,0 @@
-#!/bin/bash
-# -------------------------------------------------------------
-# Script per a la instal·lació ràpida de la Demo Docker de django-aula.
-# Descarrega els fitxers de configuració essencials i comprova la base de dades.
-# -------------------------------------------------------------
-
-# --- 1. Informació del repositori ---
-
-REPO="ctrl-alt-d/django-aula"
-BRANCA="master"
-URL_BASE="https://raw.githubusercontent.com/${REPO}/refs/heads/${BRANCA}/docker"
-
-clear
-echo -e "⚙️ Iniciant instal·lació ràpida de la Demo en Docker...\n"
-echo
-
-# ----------------------------------------------------------------------
-# --- 1.1. CLONACIÓ DEL REPOSITORI
-# ----------------------------------------------------------------------
-
-echo "------- Clonant repositori ----------------------------"
-echo "-------------------------------------------------------"
-echo -e "\n"
-
-# --- Instal·lar git si cal ---
-
-echo "🔧 Comprovant que 'git' estigui instal·lat..."
-if ! command -v git &> /dev/null; then
- echo " Instal·lant 'git'..."
- sudo apt-get update -y >/dev/null 2>&1
- sudo apt-get install -y git
- if ! command -v git &> /dev/null; then
- echo " ERROR a la instal·lació de 'git'"
- exit 1
- fi
-else
- echo " ✅ 'git' ja està disponible."
-fi
-
-FULL_PATH="./djau"
-REPO_URL="https://github.com/${REPO}.git" # repositori del projecte
-GIT_BRANCH=${BRANCA} # Si es vol instal·lar una branca concreta. Exemple: "feat/upgrade-bootstrap"
-
-# COMPROVACIÓ: El directori existeix i no està buit?
-if [ -d "$FULL_PATH" ] && [ "$(ls -A "$FULL_PATH")" ]; then
- rm -Rf $FULL_PATH
-fi
-echo -e "Clonant $REPO_URL, branca '$GIT_BRANCH' en $FULL_PATH."
-
-# Clonar el repositori com l'usuari de l'aplicació, forçant la branca especificada
-git clone -b "$GIT_BRANCH" "$REPO_URL" "$FULL_PATH"
-
-if [ $? -ne 0 ]; then
- echo -e "❌ ERROR: Fallida en clonar la branca '$GIT_BRANCH' del repositori '$REPO_URL'."
- echo "Comprovi la URL, conexió a internet o permisos de l'usuari."
- echo -e "\n"
- exit 1
-fi
-echo -e "✅ Repositori clonat (Branca: $GIT_BRANCH) a '$FULL_PATH'."
-
-
-echo -e "\n"
-sleep 3
-
-# --- 2. Fitxers a descarregar ---
-
-FILES_TO_DOWNLOAD=(
- "Dockerfile"
- "docker-compose.demo.automatica.yml"
- "Makefile.demo.automatica"
- "env.demo.automatica"
-)
-DEST_FILES=(
- "Dockerfile"
- "docker-compose.yml"
- "Makefile"
- ".env"
- )
-
-
-# --- 3. Descarregar fitxers de configuració i dades ---
-
-echo "📦 Descarregant fitxers necessaris..."
-
-for i in "${!FILES_TO_DOWNLOAD[@]}"; do
- ORIGIN="${FILES_TO_DOWNLOAD[$i]}"
- DEST="${DEST_FILES[$i]}"
-
- # Crear el directori si no existeix
- mkdir -p "$(dirname "${DEST}")"
-
- echo " -> Descarregant ${ORIGIN} com a ${DEST}..."
- if cp "${FULL_PATH}/docker/${ORIGIN}" "${DEST}"; then
- echo " ✅ Fitxer ${DEST} descarregat correctament."
- else
- echo " ❌ Error en descarregar ${ORIGIN}."
- exit 1
- fi
-
- echo
-done
-
-echo "✅ Tots els fitxers s'han descarregat correctament."
-echo
-
-ls -lah Dockerfile docker-compose.yml Makefile .env
-
-echo
-
-
-# --- 4. Instal·lar make si cal ---
-
-echo "🔧 Comprovant que 'make' estigui instal·lat..."
-if ! command -v make &> /dev/null; then
- echo " Instal·lant 'make'..."
- sudo apt-get update -y >/dev/null 2>&1
- sudo apt-get install -y make
- if ! command -v make &> /dev/null; then
- echo " ERROR a la instal·lació de 'make'"
- exit 1
- fi
-else
- echo " ✅ 'make' ja està disponible."
-fi
-
-
-# --- 5. Pregunta pel domini o IP ---
-
-echo
-echo "🌍 Si la Demo ha de funcionar en una xarxa local cal definir quina IP té. Si es vol instal·lar en un servidor en internet (VPS) caldrà informar de la seva IP pública i del domini o subdomini, si n'hi ha."
-echo -e "\n"
-read -p "Vol afegir un domini o IP a **DEMO_ALLOWED_HOSTS** per poder accedir-hi externament a la Demo? (y/n): " REPLY
-
-if [[ $REPLY =~ ^[Yy]$ ]]; then
- read -p "👉 Introdueix els dominis o IPs separats per comes (ex: demo.elteudomini.cat,192.168.1.46): " HOSTS
- if [ -n "$HOSTS" ]; then
- sed -i "s|^DEMO_ALLOWED_HOSTS=.*|DEMO_ALLOWED_HOSTS=${HOSTS}|" .env
- echo "✅ Fitxer .env actualitzat amb DEMO_ALLOWED_HOSTS=${HOSTS}"
- else
- echo "⚠️ No s'ha introduït cap domini/IP. Es manté buit."
- fi
-else
- echo "ℹ️ No s'ha modificat DEMO_ALLOWED_HOSTS. Es manté buit."
-fi
-
-
-# --- 6. Posar en marxa els contenidors ---
-
-# Comprovant que l'arxiu .env existeix
-if [ -f .env ]; then
- set -a
- source .env # carregar DB_USER, etc.
- set +a
-else
- echo "⚠️ No s'ha trobat el fitxer .env. No es pot comprovar l'estat de la base de dades."
- exit 1
-fi
-
-echo
-echo "🕓 Posant en marxa els contenidors de la Demo i de la Base de Dades PostgreSQL..."
-echo
-make build
-make serve
-echo
-
-# --- 7. Esperar que la base de dades estigui llesta ---
-
-echo
-echo "⌛ Esperant que la base de dades estigui llesta (pot trigar uns segons)..."
-TIMEOUT=60
-COUNT=0
-until docker exec demo_db pg_isready -U "$DB_USER" >/dev/null 2>&1; do
- sleep 2
- ((COUNT+=2))
- if [ $COUNT -ge $TIMEOUT ]; then
- echo "❌ Error: la base de dades no ha respost en $TIMEOUT segons."
- echo " Revisa els logs amb: docker logs demo_db"
- exit 1
- fi
-done
-echo " ✅ PostgreSQL està llest!"
-
-echo
-echo "--------------------------------------------"
-echo "📦 Estat final de l'estat dels contenidors"
-echo "--------------------------------------------"
-docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
-echo "--------------------------------------------"
-echo
-echo
-
-# --- 8. Espera a la finalització de la preparació ---
-
-echo "Premi qualsevol tecla per continuar i mostrar el progrés de la preparació de la demo."
-read -p "posteriorment CTRL-C per deixar de mostrar la informació." -n1 -s
-
-docker logs -f demo_web
-
-# --- 9. Missatge final ---
-
-echo
-echo
-echo "Finalització de l'automatització!"
-
-echo
-echo
-echo "ℹ️ Informació addicional"
-echo
-echo "Instruccions disponibles amb la comanda **make** per la Demo:"
-echo " 1. Si no està en marxa, executi: make serve"
-echo " 2. Per veure els logs: make logs"
-echo " 3. Per detenir la Demo: make stop"
-echo " 4. Per eliminar els contenidors: make down i després -> docker system prune -a"
-
-echo
-echo "🌐 Si ha definit IP o dominis a DEMO_ALLOWED_HOSTS, provi ara d'accedir-hi al navegador!"
-echo " (p. ex. http://demo.elteudomini.cat:8000 o http://IP:8000)"
-echo
-
diff --git a/setup_djau/functions.sh b/setup_djau/functions.sh
index 641af007..d63b1d26 100755
--- a/setup_djau/functions.sh
+++ b/setup_djau/functions.sh
@@ -16,6 +16,7 @@ ROJO='\e[31m'
CIANO='\e[36m'
AMARILLO='\e[33m'
MAGENTA='\e[35m'
+GRIS='\033[0;90m' # Gris clar (ideal per a logs)
# Estils compostos
C_EXITO="${NEGRITA}${VERDE}" # Éxit i confirmacions (✅)
@@ -23,7 +24,7 @@ C_ERROR="${NEGRITA}${ROJO}" # Errors o fallades (❌)
C_PRINCIPAL="${NEGRITA}${AZUL}" # Fases principals (FASE 1, FASE 2)
C_CAPITULO="${NEGRITA}${CIANO}" # Títuls de Capítul (1. DEFINICIÓ...)
C_SUBTITULO="${NEGRITA}${MAGENTA}" # Títuls de Subcapítul (1.1, 1.2)
-C_INFO="${NEGRITA}${AMARILLO}" # Informació important (INFO, ATENCIÓN)
+C_INFO="${NEGRITA}${AMARILLO}" # Informació important (INFO, ATENCIÓ)
# ===========================================================================