Commit 3e9350a5 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

doc

parent 0728cfbe
Loading
Loading
Loading
Loading
Loading

odconv/doc.md

0 → 100644
+104 −0
Original line number Diff line number Diff line
**Documentation Utilisateur - Service de Conversion LibreOffice**

### **Configuration Docker**
Le service est conteneurisé avec Docker. Pour exposer le service sur le port 80 :

1. **Créez un fichier `docker-compose.override.yaml`** :
```yaml
services:
  odconv:
    ports:
      - "80:80"  # Port hôte:port conteneur
```

2. **Lancez le service** :
```bash
docker-compose up -d
```

Le service sera accessible sur `http://localhost`.

---

### **Endpoint**
**POST** `http://localhost/convert`

### **Paramètres**
- `source` (Fichier, requis) : Le fichier à convertir (ex: `.docx`, `.odt`, `.xlsx`).
- `format` (Chaîne, requis) : Le format de sortie souhaité (ex: `pdf`, `odt`, `html`).

---

### **Utilisation**
#### 1. **Via curl**
```bash
curl -X POST "http://localhost/convert" \
  -F "source=@monfichier.docx" \
  -F "format=pdf" \
  --output resultat.pdf
```

#### 2. **Via Python (requests)**
```python
import requests

url = "http://localhost/convert"
files = {"source": open("monfichier.docx", "rb")}
data = {"format": "pdf"}

response = requests.post(url, files=files, data=data)

if response.status_code == 200:
    with open("resultat.pdf", "wb") as f:
        f.write(response.content)
else:
    print("Erreur:", response.text)
```

---

### **Formats Supportés**
Les formats dépendent de LibreOffice. Incluent notamment :
- **Entrée** : DOC, DOCX, ODT, XLS, XLSX, ODS, PPT, PPTX, ODP, etc.
- **Sortie** : PDF, ODT, DOCX, HTML, TXT, RTF, etc.

> 🔍 *Pour la liste complète, consultez la [documentation LibreOffice](https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options).*

---

### **Configuration Docker avancée**
Le service est pré-configuré avec :
- Limite mémoire : `1GB`
- CPUs : `2.0`
- Timeout : `300s`
- Workers : `4` (ajustable via la variable env `WORKERS`)

Ajustez ces valeurs dans votre `docker-compose.override.yml` selon vos besoins.

---

### **Notes importantes**
1. **Performance** :
    - Pour un usage intensif, augmentez les ressources dans `docker-compose.override.yml`.
    - Monitorer les logs avec `docker-compose logs odconv`.

2. **Sécurité** :
    - Le service est isolé dans un conteneur Docker.
    - Limitez l'accès au port 80 via un firewall si nécessaire.

3. **Dépannage** :
    - Vérifiez que LibreOffice est bien installé dans l'image Docker.
    - Les logs sont accessibles via `docker-compose logs odconv`.

---

### **Exemple de réponse**
**Succès** :
- HTTP 200 avec le fichier converti en pièce jointe.

**Erreur** :
```json
{
  "detail": "La conversion a échoué : fichier de sortie non généré."
}
```
 No newline at end of file