> 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/procedure-installation.md).

# Procédure d'Installation

Cette page guide les administrateurs techniques dans l'**installation initiale** d'Efalia Process sur un serveur. Pour une mise à jour d'une version existante, consultez l'article [Installation et Mise à Jour](/documentations/efalia-process/administration/administration-technique/installation-mise-a-jour.md).

***

## Avant de Commencer

Assurez-vous d'avoir réuni tous les prérequis avant de démarrer l'installation :

{% hint style="warning" %}
**Checklist pré-installation :**

☐ Serveur conforme aux [préconisations matérielles](/documentations/efalia-process/administration/administration-technique/preconisations-materielles.md) (JDK 1.8.x, Tomcat 8.5+) ☐ Base de données créée en **UTF-8** avec mode transactionnel ☐ Compte base de données avec droits de création (tables, séquences, triggers, indexes) ☐ Annuaire LDAP ou Active Directory disponible ☐ Compte SMTP pour l'envoi d'emails ☐ Archive des [livrables](/documentations/efalia-process/administration/administration-technique/livrables.md) téléchargée (bonne version + bon SGBD) ☐ Fichier de licence `workey-license.xml` fourni par Efalia
{% endhint %}

***

## Phase 1 : Préparation de la Base de Données

{% stepper %}
{% step %}

#### Créer la base de données

Créez une base de données dédiée à Efalia Process dans votre SGBD :

**MySQL :**

```sql
CREATE DATABASE workey CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'workey'@'%' IDENTIFIED BY 'votre_mot_de_passe';
GRANT ALL PRIVILEGES ON workey.* TO 'workey'@'%';
FLUSH PRIVILEGES;
```

**PostgreSQL :**

```sql
CREATE DATABASE workey ENCODING 'UTF8';
CREATE USER workey WITH PASSWORD 'votre_mot_de_passe';
GRANT ALL PRIVILEGES ON DATABASE workey TO workey;
```

{% hint style="warning" %}
⚠️ La base doit être créée en **UTF-8** obligatoirement. Une base avec un autre encodage causera des problèmes d'affichage des caractères accentués.
{% endhint %}
{% endstep %}

{% step %}

#### Télécharger le driver JDBC

Téléchargez le driver JDBC correspondant à votre SGBD :

| SGBD             | Driver à télécharger                                 |
| ---------------- | ---------------------------------------------------- |
| **MySQL**        | `mysql-connector-java-X.X.X.jar` (MySQL Connector/J) |
| **Oracle**       | `ojdbc8.jar` (Oracle JDBC Driver)                    |
| **PostgreSQL**   | `postgresql-XX.X.X.jar`                              |
| **SQL Server**   | `mssql-jdbc-X.X.X.jar`                               |
| {% endstep %}    |                                                      |
| {% endstepper %} |                                                      |

***

## Phase 2 : Installation des Fichiers

{% stepper %}
{% step %}

#### Décompresser l'archive des livrables

Décompressez l'archive Efalia Process dans un répertoire temporaire :

```
workey-6.14.2-mysql/
├── dev/
├── tools/
└── server/
    ├── common/
    └── mysql/
```

{% endstep %}

{% step %}

#### Déployer le driver JDBC

Copiez le driver JDBC dans le répertoire des librairies Tomcat :

```
<driver>.jar → <CATALINA_HOME>/lib/
```

*`<CATALINA_HOME>` est le répertoire racine d'Apache Tomcat (ex : `/opt/tomcat`, `C:\tomcat`)*
{% endstep %}

{% step %}

#### Déployer les fichiers de configuration

Copiez les fichiers de configuration depuis l'archive :

| Fichier source (archive)            | Destination             |
| ----------------------------------- | ----------------------- |
| `server/common/catalina.properties` | `<CATALINA_HOME>/conf/` |
| `server/common/log4j.properties`    | `<CATALINA_HOME>/conf/` |

{% hint style="warning" %}
⚠️ Si ces fichiers existent déjà (mise à jour), **sauvegardez les fichiers existants** avant de les remplacer. Ils contiennent votre configuration spécifique.
{% endhint %}
{% endstep %}

{% step %}

#### Déployer l'application WAR

Copiez le fichier WAR dans le répertoire des applications web Tomcat :

```
server/[sgbd]/workey.war → <CATALINA_HOME>/webapps/
```

Tomcat décompressera automatiquement l'application au démarrage.
{% endstep %}

{% step %}

#### Créer le répertoire de licence et déployer la licence

Créez le répertoire `workey` dans `<CATALINA_HOME>` s'il n'existe pas, puis copiez le fichier de licence :

```bash
mkdir <CATALINA_HOME>/workey
cp workey-license.xml <CATALINA_HOME>/workey/
```

**Chemin final :** `<CATALINA_HOME>/workey/workey-license.xml`
{% endstep %}
{% endstepper %}

***

## Phase 3 : Configuration du Serveur

{% stepper %}
{% step %}

#### Configurer la JVM

Ajoutez les paramètres JVM dans le script de démarrage Tomcat (`setenv.sh` sous Linux / `setenv.bat` sous Windows) :

```bash
# Mémoire
JAVA_OPTS="-Xms512m -Xmx2048m"

# Encodage
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

# Timezone
JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Europe/Paris"

# Locale
JAVA_OPTS="$JAVA_OPTS -Duser.language=fr -Duser.country=FR"
```

{% hint style="info" %}
💡 Adaptez `-Xmx` selon la RAM disponible sur votre serveur. La valeur minimale est `2048m` (2 Go).
{% endhint %}
{% endstep %}

{% step %}

#### Configurer la datasource

Éditez le fichier `catalina.properties` pour configurer la connexion à la base de données :

**Paramètres essentiels :**

```properties
# URL de connexion JDBC
workey.datasource.url=jdbc:mysql://localhost:3306/workey?useUnicode=true&characterEncoding=UTF-8

# Compte base de données
workey.datasource.username=workey
workey.datasource.password=votre_mot_de_passe

# Driver JDBC
workey.datasource.driverClassName=com.mysql.jdbc.Driver
```

{% endstep %}

{% step %}

#### Configurer l'annuaire LDAP

Dans `catalina.properties`, renseignez les paramètres de connexion LDAP :

```properties
# URL du serveur LDAP
workey.ldap.url=ldap://ldap-server:389

# DN de l'utilisateur de service LDAP
workey.ldap.userDn=cn=service,dc=company,dc=com
workey.ldap.password=mot_de_passe_ldap

# Base de recherche des utilisateurs
workey.ldap.userSearchBase=ou=users,dc=company,dc=com
```

{% endstep %}

{% step %}

#### Configurer le répertoire de données

Définissez l'emplacement du répertoire de données Efalia Process (`WORKEY_DATA`) :

```properties
workey.data.dir=/data/workey-data
```

Ce répertoire contiendra :

* Le fichier `settings.json`
* Les pièces jointes et documents
* Les thèmes (skins)
* Les archives
* Les fichiers de configuration générés

{% hint style="warning" %}
⚠️ Assurez-vous que le répertoire de données a suffisamment d'espace disque et que l'utilisateur Tomcat dispose des droits en lecture/écriture.
{% endhint %}
{% endstep %}
{% endstepper %}

***

## Phase 4 : Premier Démarrage

{% stepper %}
{% step %}

#### Démarrer Tomcat

Démarrez le serveur Apache Tomcat.

**Linux :**

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

**Windows :**

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

📸 **CAPTURE : admin-tech-installation-01-demarrage-tomcat.png**

> Terminal avec la sortie du démarrage Tomcat et la confirmation "Server startup in X ms"
> {% endstep %}

{% step %}

#### Vérifier le démarrage

Consultez les logs Tomcat pour vérifier qu'il n'y a pas d'erreurs :

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

**Messages attendus :**

* `Server startup in [X] ms` → Tomcat démarré avec succès
* Initialisation de la base de données Efalia Process (création des tables au premier démarrage)

{% hint style="info" %}
💡 Au **premier démarrage**, Efalia Process crée automatiquement toutes les tables nécessaires dans la base de données. Cette opération peut prendre quelques minutes.
{% endhint %}
{% endstep %}

{% step %}

#### Accéder à la console d'administration

Ouvrez votre navigateur et accédez à la console d'administration :

```
http://[serveur]:8080/workey/admin
```

📸 **CAPTURE : admin-tech-installation-02-console-admin.png**

> Page de connexion de la console d'administration Efalia Process
> {% endstep %}

{% step %}

#### Attribuer le premier Workflow Manager

**Étape obligatoire** : Sans Workflow Manager, les fonctionnalités administratives sont limitées.

1. Connectez-vous à la console d'administration (`/workey/admin`)
2. Naviguez vers **Utilisateurs**
3. Attribuez le rôle **Workflow Manager** à un premier utilisateur administrateur

**Résultat :** L'administrateur désigné peut maintenant accéder à l'ensemble des fonctionnalités d'Efalia Process.
{% endstep %}
{% endstepper %}

***

## Vérification de l'Installation

Après le premier démarrage, vérifiez que les 4 accès principaux sont fonctionnels :

| Application                  | URL                                            | Résultat attendu                 |
| ---------------------------- | ---------------------------------------------- | -------------------------------- |
| **Application web**          | `http://[serveur]:8080/workey`                 | Page de connexion Efalia Process |
| **Console d'administration** | `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                |

***

## ⚠️ Limitations et Points d'Attention

{% hint style="warning" %}
**Webhooks**

Si vous prévoyez d'utiliser les webhooks, pensez à autoriser l'accès à l'espace webhooks lors de la configuration :

```
$CONTEXT_PROCESS/workey/webhook/*
```

{% endhint %}

{% hint style="warning" %}
**Espace de publication**

L'espace de publication (pour héberger des ressources web, fichiers, images) nécessite une autorisation d'accès à configurer :

```
$CONTEXT_PROCESS/publish/public/*
```

{% endhint %}

***

## Questions Fréquentes

<details>

<summary>Peut-on changer le contexte d'accès (port ou chemin) d'Efalia Process ?</summary>

Oui. Le port d'écoute est configuré dans Tomcat (`server.xml`). Le chemin d'accès peut être modifié en renommant le fichier WAR avant déploiement (ex : `efalia-process.war` → accès via `/efalia-process`).

</details>

<details>

<summary>Que faire si la base de données ne se crée pas au premier démarrage ?</summary>

Vérifiez :

1. Que le compte base de données a les droits suffisants (CREATE TABLE, CREATE INDEX, etc.)
2. Que l'URL JDBC dans `catalina.properties` est correcte
3. Que le driver JDBC est bien présent dans `<CATALINA_HOME>/lib/`
4. Les logs Tomcat (`catalina.out`) pour le message d'erreur précis

</details>

<details>

<summary>Est-il possible d'installer Efalia Process derrière un reverse proxy ?</summary>

Oui. Efalia Process supporte les déploiements derrière Apache, Nginx ou un autre reverse proxy. La configuration du reverse proxy et des paramètres Tomcat (`proxyName`, `proxyPort`) doit prendre en compte les URLs générées par l'application.

</details>

<details>

<summary>Faut-il configurer HTTPS pour Efalia Process ?</summary>

HTTPS est fortement recommandé en production. La configuration SSL/TLS peut se faire directement dans Tomcat ou être déléguée à un reverse proxy en terminaison SSL. Consultez la documentation Apache Tomcat pour la configuration SSL.

</details>

***

Pour aller plus loin :

* [Accès aux Applications](/documentations/efalia-process/administration/administration-technique/acces-applications.md)
* [Annexes Techniques](/documentations/efalia-process/administration/administration-technique/annexes-techniques.md)
* [Installation et Mise à Jour](/documentations/efalia-process/administration/administration-technique/installation-mise-a-jour.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/procedure-installation.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.
