Document project rules and development setup
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# Arkteos — règles de contribution
|
||||
|
||||
## Périmètre
|
||||
|
||||
Ce dépôt prépare l'intégration custom Home Assistant `arkteos` pour une PAC
|
||||
Arkteos Zuran 4. L'intégration est strictement en lecture seule.
|
||||
|
||||
## Connexion réseau
|
||||
|
||||
- Se connecter exclusivement au proxy TCP de l'addon Home Assistant séparé.
|
||||
- Ne jamais établir de connexion directe avec la PAC.
|
||||
- Le port de référence du proxy est `9641`; il doit rester configurable.
|
||||
- Ne jamais émettre d'octet, de commande ou d'acquittement vers le proxy sans
|
||||
preuve explicite que ce comportement est requis et sans décision explicite.
|
||||
|
||||
## Référence protocolaire
|
||||
|
||||
- La source de vérité actuelle est `references/arkteos_nodered_flow.json`.
|
||||
- `references/proxy_protocol_notes.md` documente le contexte connu.
|
||||
- Préserver chaque champ décodé par le flow Node-RED de référence.
|
||||
- Ne pas déduire de champ, d'offset, d'unité, d'encodage ou de règle de
|
||||
découpage TCP qui ne soit pas démontré par ces références ou par des captures
|
||||
de trames versionnées.
|
||||
- Toute nouvelle connaissance du protocole doit citer sa source et être testée
|
||||
avec une capture anonymisée ou un cas de test reproduisible.
|
||||
|
||||
## Changements
|
||||
|
||||
- Ne supprimer aucune ligne, commentaire, test ou fichier existant sans
|
||||
justification explicite de l'utilisateur.
|
||||
- Avant chaque modification, indiquer les fichiers ou zones concernés et la
|
||||
raison du changement; après modification, récapituler ce qui a été fait.
|
||||
- Expliquer la zone concernée et présenter le diff avant toute modification
|
||||
importante.
|
||||
- Préserver les fichiers de référence et ne jamais les réécrire pour adapter
|
||||
l'intégration.
|
||||
|
||||
## Validation
|
||||
|
||||
- Ajouter des tests unitaires pour chaque règle de parsing introduite.
|
||||
- Exécuter les tests après chaque modification fonctionnelle.
|
||||
- Tester les données tronquées, concaténées et inconnues avant de considérer
|
||||
la gestion du flux TCP comme fiable.
|
||||
- Vérifier que les plateformes Home Assistant exposées ne permettent aucune
|
||||
action d'écriture.
|
||||
|
||||
## Architecture et dépôt
|
||||
|
||||
- Séparer le parsing, le transport TCP et le code des entités Home Assistant.
|
||||
- Ne jamais versionner d'identifiant, d'adresse IP, de jeton, de mot de passe
|
||||
ni de capture privée.
|
||||
- Préférer des commits petits et facilement relisibles.
|
||||
- Créer les commits nécessaires et indiquer explicitement quand la branche est
|
||||
prête à être poussée.
|
||||
@@ -0,0 +1,45 @@
|
||||
# Arkteos — développement
|
||||
|
||||
Ce dépôt prépare une intégration custom Home Assistant en lecture seule pour
|
||||
une PAC Arkteos Zuran 4.
|
||||
|
||||
L'intégration devra lire exclusivement le flux du proxy TCP fourni par l'addon
|
||||
Home Assistant séparé, sur le port de référence `9641`. Elle ne doit jamais se
|
||||
connecter directement à la PAC ni écrire sur le proxy.
|
||||
|
||||
## Références disponibles
|
||||
|
||||
- `references/arkteos_nodered_flow.json` : flow Node-RED fonctionnel en
|
||||
production et seule référence actuelle pour le parsing.
|
||||
- `references/proxy_protocol_notes.md` : notes de contexte sur le proxy et les
|
||||
tailles de trames rapportées.
|
||||
|
||||
## État du dépôt
|
||||
|
||||
L'intégration Home Assistant n'est pas encore écrite. Aucun comportement de
|
||||
framing TCP ne doit être supposé sans captures ou tests démonstratifs.
|
||||
|
||||
## Arborescence cible proposée
|
||||
|
||||
```text
|
||||
custom_components/
|
||||
arkteos/
|
||||
__init__.py
|
||||
manifest.json
|
||||
config_flow.py
|
||||
const.py
|
||||
coordinator.py
|
||||
parser.py
|
||||
sensor.py
|
||||
binary_sensor.py
|
||||
strings.json
|
||||
translations/
|
||||
fr.json
|
||||
tests/
|
||||
components/
|
||||
arkteos/
|
||||
references/
|
||||
```
|
||||
|
||||
Cette arborescence est une proposition : elle ne crée encore aucun de ces
|
||||
fichiers.
|
||||
|
||||
Reference in New Issue
Block a user