diagram_ph/app/ipm/README_fr.md

37 lines
1.8 KiB
Markdown

# Intégration IPM native (app.ipm)
Ce dossier contient le wrapper Python qui appelle les bibliothèques natives (refifc).
Objectifs
- Centraliser le wrapper Python dans `app/ipm` pour que le code applicatif importe depuis `app.ipm.simple_refrig_api`.
- Fournir un emplacement clair pour les binaires natifs (DLL pour Windows, .so pour Linux).
Où placer les binaires
- Windows (local/dev) : placez vos DLL dans `app/ipm/lib/windows/`.
- Linux (container/production) : placez vos .so dans `app/ipm/lib/linux/`.
Le wrapper `app/ipm/simple_refrig_api.py` recherche automatiquement, en priorité, le répertoire `app/ipm/lib/<platform>` (`windows` ou `linux`) puis retombe sur le répertoire du package s'il ne trouve rien.
Ne pas committer les binaires
--------------------------------
Les fichiers natifs ne doivent pas être committés dans Git (poids, licence, portabilité). Le dépôt inclut une règle `.gitignore` qui exclut `app/ipm/lib/windows/*.dll` et `app/ipm/lib/linux/*.so`.
CI/CD
- Stockez les binaires dans un artefact sécurisé (release, storage interne, S3, etc.).
- Lors du pipeline, téléchargez-les et copiez-les dans `app/ipm/lib/<platform>` avant l'étape de build ou de déploiement.
Test rapide local
1. Copier les binaires dans le bon dossier (ex. `app/ipm/lib/windows/refifc.dll`).
2. Tester en local :
```powershell
.venv\Scripts\python -c "import app.ipm.simple_refrig_api as s; r=s.Refifc('R290'); print('hsl_px exists', hasattr(r,'hsl_px'))"
```
Bonnes pratiques
- Ne stockez pas les binaires dans Git.
- Documentez la provenance et la version des fichiers natifs dans vos notes de release.
- Préparez un script `scripts/copy-ipm-libs.*` pour automatiser la copie des binaires dans les environnements de build.
Pour la documentation en anglais, voir : [README_en.md](README_en.md)