Commit eef28e3f authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Compilation JS

parent 3c748542
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -155,6 +155,9 @@ Dockerfile_*
public/documentation
module/Demo

## Interface Graphique
public/js/oscar/vite

################################# 
## ANCIENS

+28 −1
Original line number Diff line number Diff line
# OSCAR 2.13 "Ripley" (Documentation technique)
# OSCAR 2.15 "Kusanagi" (Documentation technique)

## Compilation UI

### Installation de YARN/VITE (compilation de l'UI)

```bash

# Installation de NodeJS 22 LTS
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs

# installation de Yarn (gestionnaire de dépendance node)
npm install --global yarn

# installation du compilateur Vite/Vue
cd ui
yarn install
cd ../
```


## Compilation de l'UI

```bash
cd ui
yarn run build
```

## Derniers changements

+6 −3
Original line number Diff line number Diff line
@@ -3,12 +3,13 @@
## Contenu de cette mise à jour

### En cours

### Fonctionnel
 - **Fiche activité**
   - Disponibilité des champs
   - Champs requis
   - Nom/aide des champs
   
### Fonctionnel
 - **PCRU** : 
   - Système d'envoi automatique vers PCRU (CNRS)
 
@@ -24,6 +25,8 @@
   - Activité > Status
     - Les status peuvent être rendu indisponibles depuis le formulaire
     - Seul les statuts utilisés sont disponibles dans la recherche avancées
   - Type de document : Désactivation de certains choix possible
   - Disciplines : Désactivation de certains choix possible
   **Connecteur/Synchro**
     - Depuis la fiche personne, la synchronisation manuelle d'une personne retirée du SI supprime la personne dans Oscar si c'est possible.
 - **Organisation**
+72 −0
Original line number Diff line number Diff line
@@ -3,6 +3,71 @@
COMPOSER=composer
PHP=php

## Option --skip-node pour la version Docker (Il y'a un container dédié)
SKIP_NODE=0

for arg in "$@"; do
  case $arg in
    --skip-node)
      SKIP_NODE=1
      shift
      ;;
  esac
done

if [ "$SKIP_NODE" -eq 0 ]; then
  # Vérifier que Node.js est installé
  if ! command -v node >/dev/null 2>&1; then
    echo "❌ Node.js n'est pas installé."
    exit 1
  fi

  # Récupérer la version majeure de Node.js
  NODE_VERSION=$(node -v | sed 's/^v//')
  NODE_MAJOR_VERSION=$(echo "$NODE_VERSION" | cut -d. -f1)

  if [ "$NODE_MAJOR_VERSION" -lt 22 ]; then
    echo "❌ Node.js version 22 ou plus requise. Version actuelle : $NODE_VERSION"
    exit 1
  fi

  echo "✅ Node.js version $NODE_VERSION détectée (>= 22)"

  # Vérifier que Yarn est installé
  if ! command -v yarn >/dev/null 2>&1; then
    echo "❌ Yarn n'est pas installé."
    exit 1
  fi

  echo "✅ Yarn est installé."
fi

######################################################## PHP 8.2
PHP_VERSION=$(php -r "echo PHP_VERSION;")
PHP_MAJOR=$(echo "$PHP_VERSION" | cut -d. -f1)
PHP_MINOR=$(echo "$PHP_VERSION" | cut -d. -f2)

if [ "$PHP_MAJOR" -lt 8 ] || { [ "$PHP_MAJOR" -eq 8 ] && [ "$PHP_MINOR" -lt 2 ]; }; then
  echo "❌ PHP version 8.2 ou plus requise. Version actuelle : $PHP_VERSION"
  exit 1
fi
echo "✅ PHP version $PHP_VERSION détectée (>= 8.2)"

# === Vérification de Composer version exacte 2.2.24 ===
if ! command -v composer >/dev/null 2>&1; then
  echo "❌ Composer n'est pas installé."
  exit 1
fi

COMPOSER_VERSION=$(composer --version | awk '{print $3}')

if [ "$COMPOSER_VERSION" ~= "^2\.2\..*$" ]; then
  echo "❌ Composer version 2.2.x requise. Version actuelle : $COMPOSER_VERSION"
  exit 1
fi
echo "✅ Composer version $COMPOSER_VERSION détectée (== 2.2.24)"


echo "############################################### COMPOSER UPDATE"
## mise à jour des dépendances PHP
${COMPOSER} install
@@ -16,6 +81,13 @@ echo "############################################### CHECK PRIVILEGES"
## Mise à jour des privilèges
php bin/oscar.php check:privileges

if [ "$SKIP_NODE" -eq 0 ]; then
  echo "############################################### UI"
  cd ui
  yarn run build
  cd ../
fi

echo "############################################### UPDATE INFOS"
php bin/oscar.php infos