> For the complete documentation index, see [llms.txt](https://documentation.efalia.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.efalia.com/documentations/efalia-process/administration/administration-technique/demarrage-arret-serveur.md).

# Démarrage et Arrêt Serveur

Efalia Process est déployé sur **Apache Tomcat**. Cette page décrit les procédures de démarrage, d'arrêt et de redémarrage du serveur, ainsi que les vérifications à effectuer après chaque opération.

***

## Prérequis

Avant d'effectuer toute opération sur le serveur :

{% hint style="warning" %}
**Informez les utilisateurs**

Prévenez les utilisateurs avant d'arrêter le serveur en production. Activez le **mode maintenance** depuis la console d'administration (`/workey/admin`) pour afficher un message d'indisponibilité avant l'arrêt.
{% endhint %}

* Variable `CATALINA_HOME` : répertoire racine de votre installation Tomcat (ex : `/opt/tomcat` sous Linux, `C:\tomcat` sous Windows)
* L'utilisateur système doit avoir les droits d'exécution sur les scripts Tomcat

***

## Démarrage

{% tabs %}
{% tab title="Linux" %}

```bash
<CATALINA_HOME>/bin/startup.sh
```

Ou via un service systemd si configuré :

```bash
sudo systemctl start tomcat
```

**Vérifier le démarrage :**

```bash
tail -f <CATALINA_HOME>/logs/catalina.out
```

**Message attendu :**

```
Server startup in [X] ms
```

{% endtab %}

{% tab title="Windows" %}

```cmd
<CATALINA_HOME>\bin\startup.bat
```

Ou via les services Windows si configuré :

```cmd
net start Tomcat9
```

**Vérifier le démarrage :** Consultez le fichier `<CATALINA_HOME>\logs\catalina.out` dans un éditeur de texte ou via la console de service.
{% endtab %}
{% endtabs %}

📸 **CAPTURE : admin-tech-demarrage-01-startup.png**

> Terminal Linux affichant le démarrage Tomcat avec le message "Server startup in X ms"

***

## Arrêt

{% tabs %}
{% tab title="Linux" %}

```bash
<CATALINA_HOME>/bin/shutdown.sh
```

Ou via systemd :

```bash
sudo systemctl stop tomcat
```

**Vérifier l'arrêt complet :**

```bash
ps aux | grep tomcat
```

Aucun processus `java` lié à Tomcat ne doit apparaître.
{% endtab %}

{% tab title="Windows" %}

```cmd
<CATALINA_HOME>\bin\shutdown.bat
```

Ou via les services Windows :

```cmd
net stop Tomcat9
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
⚠️ **Délai d'arrêt**

Tomcat peut prendre jusqu'à 30 secondes pour terminer les requêtes en cours avant de s'arrêter proprement. Si le processus ne s'arrête pas dans un délai raisonnable, identifiez la cause dans les logs avant de forcer l'arrêt.
{% endhint %}

***

## Redémarrage

Un redémarrage est une séquence arrêt puis démarrage. Il est nécessaire après :

* Modification du fichier `catalina.properties`
* Déploiement d'un nouveau fichier WAR
* Mise à jour du fichier de licence `workey-license.xml`
* Modification de la configuration JVM (`setenv.sh` / `setenv.bat`)

{% tabs %}
{% tab title="Linux" %}

```bash
<CATALINA_HOME>/bin/shutdown.sh && sleep 5 && <CATALINA_HOME>/bin/startup.sh
```

Ou via systemd :

```bash
sudo systemctl restart tomcat
```

{% endtab %}

{% tab title="Windows" %}

```cmd
<CATALINA_HOME>\bin\shutdown.bat
:: Attendre l'arrêt complet
<CATALINA_HOME>\bin\startup.bat
```

{% endtab %}
{% endtabs %}

***

## Vérifications Post-Démarrage

Après chaque démarrage, vérifiez que les 4 interfaces sont accessibles :

| Interface       | URL                                            | Résultat attendu           |
| --------------- | ---------------------------------------------- | -------------------------- |
| Application web | `http://[serveur]:8080/workey`                 | Page de connexion          |
| Console d'admin | `http://[serveur]:8080/workey/admin`           | Interface d'administration |
| Designer HTML   | `http://[serveur]:8080/workey/designer`        | Interface de modélisation  |
| API REST        | `http://[serveur]:8080/workey/workey-j2ee-api` | Documentation API          |

***

## Journaux (Logs)

Les journaux Tomcat et Efalia Process sont essentiels pour le diagnostic.

| Fichier                    | Localisation            | Contenu                                                                |
| -------------------------- | ----------------------- | ---------------------------------------------------------------------- |
| `catalina.out`             | `<CATALINA_HOME>/logs/` | Journal principal Tomcat (démarrage, erreurs JVM, logs Efalia Process) |
| `catalina.YYYY-MM-DD.log`  | `<CATALINA_HOME>/logs/` | Journal Tomcat rotatif par date                                        |
| `localhost.YYYY-MM-DD.log` | `<CATALINA_HOME>/logs/` | Erreurs de déploiement de l'application                                |
| `log4j.properties`         | `<CATALINA_HOME>/conf/` | Configuration du niveau de journalisation                              |

**Consulter les logs en temps réel :**

```bash
# Linux
tail -f <CATALINA_HOME>/logs/catalina.out

# Filtrer les erreurs
grep -i "ERROR\|WARN\|Exception" <CATALINA_HOME>/logs/catalina.out | tail -50
```

***

## Niveaux de Journalisation

Le niveau de journalisation d'Efalia Process est configurable dans `<CATALINA_HOME>/conf/log4j.properties`.

| Niveau  | Utilisation recommandée                              |
| ------- | ---------------------------------------------------- |
| `ERROR` | Production — uniquement les erreurs critiques        |
| `WARN`  | Production — erreurs et avertissements               |
| `INFO`  | Production standard — informations de suivi          |
| `DEBUG` | Diagnostic / développement uniquement (très verbeux) |

{% hint style="info" %}
💡 Le niveau `DEBUG` génère un volume très important de logs et peut dégrader les performances en production. Ne l'activez que temporairement pour un diagnostic ciblé.
{% endhint %}

***

## Mode Maintenance

Le mode maintenance permet de bloquer l'accès utilisateur sans arrêter le serveur. Il est recommandé avant toute opération de maintenance.

**Activer le mode maintenance :**

1. Connectez-vous à la console d'administration (`/workey/admin`)
2. Naviguez vers **Paramètres**
3. Activez **Mode Maintenance**

En mode maintenance :

* L'application web affiche un message d'indisponibilité
* La console d'administration et le Designer restent accessibles
* Les agents planifiés continuent de s'exécuter

***

## Résolution des Problèmes

<details>

<summary>Tomcat démarre mais Efalia Process n'est pas accessible</summary>

1. Vérifiez que le fichier WAR est bien déployé dans `<CATALINA_HOME>/webapps/`
2. Vérifiez que Tomcat a bien décompressé le WAR (présence du répertoire `workey` dans `webapps/`)
3. Consultez `localhost.YYYY-MM-DD.log` pour les erreurs de déploiement de l'application
4. Vérifiez que la licence `workey-license.xml` est présente dans `<CATALINA_HOME>/workey/`

</details>

<details>

<summary>Tomcat ne s'arrête pas proprement (processus persistant)</summary>

Si `shutdown.sh` ne termine pas le processus après 60 secondes :

```bash
# Identifier le PID du processus Tomcat
ps aux | grep java

# Arrêt propre
kill -15 [PID]

# En dernier recours uniquement
kill -9 [PID]
```

{% hint style="danger" %}
⚠️ `kill -9` interrompt le processus sans nettoyage — risque de corruption de données en cours d'écriture. À n'utiliser qu'en dernier recours.
{% endhint %}

</details>

<details>

<summary>Erreur "OutOfMemoryError" au démarrage ou en cours d'utilisation</summary>

Augmentez la mémoire JVM dans `setenv.sh` / `setenv.bat` :

```bash
JAVA_OPTS="-Xms512m -Xmx4096m"
```

Recommandations mémoire selon la volumétrie :

* Moins de 100 utilisateurs : `-Xmx2048m` (2 Go)
* Entre 100 et 500 utilisateurs : `-Xmx4096m` (4 Go)
* Plus de 500 utilisateurs : consulter Efalia pour dimensionnement spécifique

</details>

<details>

<summary>Le fichier catalina.out grossit trop vite</summary>

Vérifiez le niveau de journalisation dans `log4j.properties` — un niveau `DEBUG` activé en production peut générer plusieurs Go de logs par jour. Repassez en niveau `INFO` ou `WARN`.

Configurez également la rotation des logs Tomcat pour limiter la taille du fichier `catalina.out` :

* Ajoutez `juli.FileHandler` dans la configuration Tomcat
* Ou utilisez `logrotate` sous Linux pour archiver automatiquement les logs

</details>

***

Pour aller plus loin :

* [Accès aux Applications](/documentations/efalia-process/administration/administration-technique/acces-applications.md)
* [Procédure d'Installation](/documentations/efalia-process/administration/administration-technique/procedure-installation.md)
* [Annexes Techniques](/documentations/efalia-process/administration/administration-technique/annexes-techniques.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentation.efalia.com/documentations/efalia-process/administration/administration-technique/demarrage-arret-serveur.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
