> 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/connecteurs/connecteurs-metiers/solis.md).

# Solis

## Introduction

Le connecteur Solis ↔ Efalia Doc permet à l'application Solis (ArcheMC2) d'utiliser Efalia Doc comme espace de stockage centralisé, entièrement piloté depuis Solis. Solis intègre son propre composant d'appel API, développé et maintenu par l'éditeur ArcheMC2, qui pilote en temps réel la création et la gestion des dossiers métiers ainsi que le classement des documents dans Efalia Doc — sans manipulation spécifique à prévoir côté Efalia au-delà de l'installation décrite ici.

Cette page s'adresse aux chefs de projet techniques et décrit la préparation et l'installation de la partie Efalia du connecteur.

## Architecture du connecteur

Côté Efalia, le connecteur repose sur le déploiement du **module Solis Utilities**, qui gère la communication documentaire entre Solis et Efalia Doc. Il reçoit depuis Solis des documents métiers déposés via SFTP/FTPS/FTP (SFTP recommandé en SaaS), lit les balises intégrées pour découper, classer et alimenter automatiquement les métadonnées dans Efalia Doc, et gère les bannettes de rejet en cas d'erreur.

{% hint style="info" %}
Le module Solis Utilities s'appuie sur le mécanisme générique [Balises](/connecteurs/connecteurs-generiques/balises.md) d'Efalia Utilities pour interpréter les documents déposés par Solis.
{% endhint %}

### Synthèse des flux techniques

| Flux                          | Source                 | Destination (Efalia)   | Protocole / port | Contenu                            |
| ----------------------------- | ---------------------- | ---------------------- | ---------------- | ---------------------------------- |
| Gestion des dossiers          | Solis                  | Efalia Doc (API)       | REST / port 1202 | Création, modification, navigation |
| Gestion des documents métiers | Solis                  | Module Solis Utilities | SFTP/FTPS/FTP    | Documents PDF avec balises métiers |
| Gestion des documents métiers | Module Solis Utilities | Efalia Doc (API)       | REST / port 1202 | Découpage, classement, métadonnées |

{% hint style="info" %}
Cette documentation couvre uniquement la partie Efalia Doc et le module Solis Utilities. Toute la logique d'appels API et de gestion métier côté Solis est gérée nativement par l'application, sans manipulation supplémentaire côté Efalia.
{% endhint %}

## Pré-requis techniques et plan de classement type

### Versions logicielles requises

* **Efalia Doc** et **Efalia Utilities** : dernières versions en cours, sans contrainte de version minimale.
* **Solis** : version minimale gérée par ArcheMC2.

### Droits et accès nécessaires

* **Efalia Doc** : deux comptes techniques à créer.
  * compte **Solis** : consultation, création et modification des dossiers Procédure et Individu ;
  * compte **Utilities** : consultation et création des deux types de dossiers, création de documents sur les espaces définis par le plan de classement, accès à la bannette de rejet.
* **Efalia Utilities** : accès SSH à la machine pour modifier le fichier de configuration du module Utilities.

### Plan de classement minimal dans Efalia Doc

* **Dossier Procédure** (équivalent DDP dans d'autres connecteurs) : informations et documents relatifs à une procédure métier.
* **Dossier Individu** (équivalent DDID) : informations et documents relatifs à un individu.
* Il n'existe pas de notion de « Dossier de travail » pour Solis, contrairement à Multigest.
* Les dossiers Procédure et Individu sont liés entre eux pour permettre la navigation et le rattachement métier.
* Une métadonnée « statut » distingue les procédures ouvertes des procédures terminées.

{% hint style="warning" %}
🚧 À valider avec l'équipe projet : le plan de classement exact (structure JSON à importer dans Efalia Doc) et la version Solis minimale requise doivent être confirmés au cas par cas.
{% endhint %}

### Sécurité et flux réseau

* **Solis → Efalia Utilities** : dépôt de fichiers via SFTP, FTPS ou FTP (SFTP obligatoire en SaaS, avec filtrage IP si nécessaire).
* **Efalia Utilities → Efalia Doc** : API REST JSON sur le port 1202 (HTTPS).

Le format des balises intégrées dans les documents métiers transmis par Solis est spécifique à Solis (voir la documentation ArcheMC2).

## Installation du connecteur

{% stepper %}
{% step %}

## Préparation dans Efalia Doc

1. **Importer le plan de classement** fourni (structure Procédure / Individu).
2. **Créer les comptes techniques** Solis et Utilities (droits détaillés ci-dessus).
3. **Créer la bannette de rejet**, obligatoire pour gérer les erreurs d'envoi de fichiers par Utilities ; vérifier que le compte Utilities y a accès.
4. **Configurer les filtres d'accès** si nécessaire : créer le filtre et l'associer au gabarit de dossier Procédure dans l'administration.
   {% endstep %}

{% step %}

## Installation et configuration du module Solis Utilities

1. Se connecter au bastion Efalia, puis à la machine cible.
2. Vérifier la présence des dossiers SFTP :

   ```
   ls -lR /jail_sftp/
   ```
3. Éditer le fichier de configuration :

   ```
   cd /home/efalia/utilities/current/connecteurs/balises
   sudo vi config.php
   ```
4. Exemple de configuration (à adapter au contexte Solis) :

   ```php
   return [
       "name" => "efaliaDocBalises",
       "apiURL" => "https://connectorhub-doc.efalia.net:1202",
       "efaliaDocUrl" => "https://connectorhub-doc.efalia.net",
       "authenticationMode" => "login/password",
       "userLogin" => "#ACOMPLETER",
       "userPassword" => "#ACOMPLETER",
       "inputFolder" => "workspace/input",
       "outputFolder" => "workspace/output",
       "temporaryFolder" => "tmpdir",
       "archiveFolder" => "archive",
       "csvFileName" => "file.csv",
       "archiveInputs" => true,
       "archiveOutputs" => true,
       "cleanFolders" => true,
       "armoireGabaritSeparator" => '_',
       "bannette_tache_automatique" => "#ACOMPLETER",
       "bannette_de_rejet" => "#ACOMPLETER",
       "allowBatchProcess" => true,
       "emailHost" => "#ACOMPLETER",
       "emailPort" => 2525,
       "emailUser" => "#ACOMPLETER",
       "emailPassword" => "#ACOMPLETER",
       "emailExpd" => "#ACOMPLETER",
       "emailDestAddress" => "#ACOMPLETER",
       "emailDestName" => "#ACOMPLETER",
       "reportStatus" => 2,
       "sftpFolders" => ['/jail_sftp/sftp_generic/files/', '/jail_sftp/sftp_solis/files/'],
       "logs" => [
           "path" => "/logs",
           "journal" => 2,
           "debug" => true,
           "sftp" => true,
       ]
   ];
   ```

   * `apiURL` : URL de l'API REST Efalia Doc, port inclus.
   * `efaliaDocUrl` : URL web d'Efalia Doc (utilisée pour générer des liens directs vers la GED dans le rapport d'erreur).
   * `userLogin` / `userPassword` : identifiants du compte technique Efalia Doc.
   * `bannette_tache_automatique` : ID externe de la bannette des tâches automatiques, utilisée pour gérer le **versement différé** (voir ci-dessous).
   * `bannette_de_rejet` : ID externe de la bannette de rejet.
   * `emailHost`/`emailPort`/`emailUser`/`emailPassword`/`emailExpd`/`emailDestAddress`/`emailDestName` : paramètres SMTP pour les notifications.
   * `sftpFolders` : chemins des dossiers SFTP surveillés pour les dépôts de fichiers Solis.
5. Si Efalia Doc est en SaaS, activer le SFTP avec filtrage IP (demande à faire au service Exploitation).
   {% endstep %}

{% step %}

## Vérification et validation

* Tester la communication entre le module Utilities et Efalia Doc.
* Réaliser un test de dépôt de document via Solis et vérifier son classement et la gestion des erreurs (bannette de rejet).
* Vérifier que les droits attribués permettent toutes les opérations attendues (création, modification, accès, rejet…).
  {% endstep %}
  {% endstepper %}

## Vérifications post-installation

* Plan de classement (dossiers Procédure et Individu) en place et conforme à l'étude du projet.
* Droits des comptes techniques (Solis et Utilities) vérifiés ; création/modification d'un dossier testée pour chaque compte.
* Bannette de rejet accessible et opérationnelle pour le compte Utilities.
* Test d'envoi et de classement d'un document en mode nominal.
* Test d'envoi et de classement d'un document en mode versement différé.
* Test de rejet.
* Test de mise à jour du statut sur un dossier Procédure (ouverture/fermeture).

## Glossaire

| Terme                  | Définition                                                                                           |
| ---------------------- | ---------------------------------------------------------------------------------------------------- |
| Dossier Procédure      | Dossier métier rassemblant les informations et documents relatifs à une procédure                    |
| Dossier Individu       | Dossier contenant les informations et documents liés à une personne                                  |
| Bannette de rejet      | Dossier Efalia Doc dédié au stockage des documents en erreur                                         |
| Module Solis Utilities | Module déployé sur Efalia Utilities pour traiter et classer les documents métiers transmis par Solis |
| Compte technique       | Utilisateur dédié utilisé par le connecteur pour accéder à la GED via API                            |


---

# 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/connecteurs/connecteurs-metiers/solis.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.
