Paramètres des clients hérités
HandyCafe fonctionne aux côtés d'anciennes installations clientes V3 et V4 sans interruption. La page Paramètres des clients hérités contrôle deux fonctions distinctes :
- Protocole d'exécution. Active les écouteurs réseau qui permettent aux clients V3 et V4 de se connecter à ce serveur sur leurs ports d'origine.
- Migration de base de données. Importe éventuellement les membres, la tarification, les produits, les commandes, les transactions et les journaux depuis une ancienne installation locale vers la nouvelle base de données HandyCafe. Cette fonction est réservée à Windows.
Les deux fonctions sont indépendantes. Vous pouvez activer la prise en charge du runtime sans migrer les données, migrer les données sans activer la prise en charge du runtime, ou faire les deux.
Section Protocole d'exécution
Enable Legacy Client Support
Une bascule principale en haut de la section. Lorsqu'elle est activée, le serveur lance trois écouteurs réseau :
- Un écouteur UDP sur le groupe multicast configuré.
- Un écouteur de commandes TCP sur
UDP port + 2. - Un écouteur de transfert de fichiers TCP sur
UDP port + 7.
Désactiver la bascule arrête simultanément les trois écouteurs. Vous pouvez ajuster les numéros de port ou l'encodage pendant que la bascule est désactivée, puis la réactiver pour appliquer les changements.
Champs de configuration
| Champ | Valeur par défaut | Description |
|---|---|---|
| Auth Key | HANDYCAFE | Clé partagée de 10 caractères. Chaque trame entrante et sortante contient cette chaîne. Les trames qui ne correspondent pas sont ignorées. Tous vos clients hérités doivent utiliser la même clé. |
| UDP Multicast IP | 230.4.4.46 | Groupe multicast utilisé pour les beacons de découverte des clients et pour la distribution des commandes via UDP. Codé en dur dans la plupart des builds clients hérités. |
| Server UDP Port | 710 | Port UDP sur lequel le serveur écoute les beacons et commandes des clients. Les clients hérités envoient sur ce port. |
| Client UDP Port | 711 | Port UDP écouté par les clients hérités. Le serveur envoie les commandes de gestion unicast vers ce port sur l'adresse IP découverte du client. |
| Encoding | cp1254 | Encodage des champs texte au format filaire. Utilisez cp1254 pour les installations turques, cp1252 pour l'Europe occidentale. Les valeurs inconnues retombent sur cp1254 avec un avertissement dans les journaux du serveur. |
| Server Version | 3.4.01 | Chaîne de version diffusée dans chaque beacon UDP. Certains clients hérités refusent les trames provenant de versions qu'ils ne reconnaissent pas. Réglez cette valeur pour qu'elle corresponde à la chaîne de version de votre serveur d'origine. |
| Protocol Variant | STE | Sélection du format filaire. Voir la comparaison des variantes ci-dessous. |
| Inactivity Timeout | 10 | Secondes. Surveillance par MAC. Si aucun trafic n'arrive d'un client dans ce délai, le client est marqué hors ligne. Un délai de 10 secondes convient aux clients hérités qui diffusent un beacon toutes les 2 ou 3 secondes. |
Ports dérivés
Sous le formulaire, la page affiche une ligne en lecture seule qui montre les ports TCP dérivés :
Port TCP des commandes : 712 Port de transfert de fichiers : 717
Ces ports sont calculés à partir du port UDP du serveur. Vous ne les configurez pas séparément. Si vous modifiez Server UDP Port pour une autre valeur, les ports dérivés changent avec lui.
Variante du protocole
Le champ Protocol Variant sélectionne le format filaire utilisé par le serveur. Choisissez la variante qui correspond à la façon dont votre serveur hérité a été construit.
| Variante | Quand l'utiliser |
|---|---|
| STE (Smart/Turbo Edition) | La base de code héritée moderne. Ajoute un préfixe d'informations de licence de 70 octets à la structure de trame. La taille d'une trame est de 1337 octets. Choisissez cette option si votre installation héritée utilisait l'édition Smart ou Turbo. |
| Standard | La version héritée de base. La taille d'une trame est de 1267 octets, sans le préfixe d'informations de licence. Choisissez cette option uniquement si votre installation héritée était une édition Standard sans enregistrement de licence. |
Choisir la mauvaise variante provoque la suppression ou la mauvaise lecture des trames. Les symptômes incluent des clients qui apparaissent en ligne mais ignorent toutes les commandes, ou des données de commande décalées par le préfixe de 70 octets.
Coexistence avec les clients modernes
Les ports hérités (710, 711, 712, 717) sont totalement séparés des ports du protocole HandyCafe moderne (TCP 5001, 5002, 5003, UDP 5004). Les deux piles de protocoles fonctionnent simultanément sans conflit. Vous pouvez mélanger des clients anciens et nouveaux sur le même LAN et les gérer depuis le même Admin Panel.
Application des changements
Chaque champ de la section Protocole d'exécution est enregistré avec le bouton global Save en bas de la page. A l'enregistrement, le serveur :
- Arrête les trois écouteurs hérités s'ils étaient en cours d'exécution.
- Valide la clé d'authentification (elle ne doit pas être vide).
- Construit les nouvelles configurations d'écoute à partir des champs mis à jour.
- Redémarre les écouteurs en parallèle.
- Affiche une notification lorsque les trois sont de nouveau en ligne.
Si un port est déjà utilisé par un autre processus, le serveur renvoie une erreur et la bascule repasse à l'état désactivé. Vérifiez votre pare-feu et les autres services avec netstat, puis choisissez une plage de ports libre.
Section Migration de base de données (Windows uniquement)
Cette fonction n'est disponible que lorsque HandyCafe s'exécute sous Windows. Sur macOS et Linux, la section affiche un message : "Database migration is supported on Windows only."
Détection
A l'ouverture, le serveur analyse votre système à la recherche d'une installation héritée. La détection examine :
- Le registre et les chemins d'installation habituels tels que
Program Files\HandyCafeetC:\HandyCafe. - Le fichier de base de données situé à côté de l'installation.
- Les fichiers INI de configuration dans le répertoire d'installation.
Lorsque la détection réussit, la page affiche :
| Libellé | Signification |
|---|---|
| Install Path | Emplacement sur le disque de l'installation héritée. |
| Database Path | Chemin complet vers le fichier de base de données hérité. |
| Server Version | Version analysée depuis la configuration héritée. |
| INI File Count | Nombre de fichiers de configuration détectés. Utile pour vérifier rapidement que l'installation est complète. |
Si aucune installation n'est détectée, la page affiche "No legacy installation detected." Vous pouvez toujours activer la prise en charge du runtime ; la fonction de migration n'a simplement rien à importer.
Etat de la migration
La page suit l'historique des migrations :
| Etat | Signification |
|---|---|
never |
Vous n'avez encore lancé aucune migration. |
in_progress |
Une migration est en cours. Ne fermez pas le serveur pendant cet état. |
completed |
La dernière migration s'est terminée sans avertissement. |
completed_with_warnings |
La dernière migration s'est terminée mais certains enregistrements ont été ignorés (par exemple à cause d'erreurs d'encodage ou de dates mal formées). Consultez les avertissements avant de continuer. |
undone |
La dernière migration a été annulée. |
Après la première exécution réussie, le bouton Start Migration est renommé Re-run Migration.
Ce qui est migré
| Table | Description |
|---|---|
| Members | Enregistrements clients avec noms, coordonnées et soldes de compte. |
| Pricing | Tables de prix et tarifs horaire par heure. |
| Products | Entrées du catalogue de produits. |
| Orders | Historique des commandes avec références de session. |
| Transactions | Ecritures du grand livre avec horodatages, montants et modes de paiement. |
| Logs | Entrées d'audit et d'avertissement issues de la base héritée. |
Garantie "Files Safe"
La page affiche un message bleu : "The original database files are not deleted. You can safely delete them once migration is confirmed." La migration est en lecture seule sur la source. Même si vous lancez la migration plusieurs fois, la base héritée d'origine reste intacte. Cela vous permet de tester l'import, de vérifier les comptes et de revenir en arrière sans risque.
Start, Re-run et Undo
- Start Migration. Ouvre une fenêtre de progression. La fenêtre affiche la phase actuelle et les compteurs d'enregistrements pendant l'import. Ne fermez pas HandyCafe pendant ce temps.
- Re-run Migration. Disponible après une exécution terminée. Relance l'import depuis zéro. Le nouvel import remplace les données précédentes dans HandyCafe.
- Undo Migration. Disponible après une exécution terminée. Ouvre une boîte de confirmation. A la validation, chaque ligne migrée est supprimée de HandyCafe. La source héritée n'est pas touchée. Après l'annulation, l'état revient à
never.
Terminé avec avertissements
Si la migration se termine avec completed_with_warnings, une bannière jaune apparaît avec un lien Details. Cliquez pour afficher la liste des enregistrements ignorés et la raison. Raisons courantes :
- Incompatibilité d'encodage. La ligne source contient des caractères qui ne se décodent pas proprement avec l'encodage configuré. Modifiez le champ d'encodage (cp1254 ou cp1252) et relancez la migration.
- Dates mal formées. Certains enregistrements hérités contiennent des horodatages invalides. Ils sont ignorés afin que les lignes valides soient tout de même importées.
- Clés dupliquées. Un enregistrement portant le même identifiant existe déjà dans HandyCafe. La migration conserve l'enregistrement existant et ignore le doublon.
Conseils
- Arrêtez le serveur hérité avant de lancer une migration. Si l'ancien système écrit encore dans sa base de données, l'import peut voir des données obsolètes ou partielles.
- Faites correspondre le champ Encoding à votre locale héritée avant la première migration. Le modifier après import ne corrigera pas rétroactivement les noms déjà corrompus.
- Lancez toujours d'abord une migration test. Vérifiez les compteurs d'enregistrements sous "Last Counts" et contrôlez quelques lignes de membres et de transactions avant de faire basculer le personnel vers le nouveau système.
- Activez la prise en charge runtime et gardez vos clients hérités connectés pendant une période de transition. Cela vous permet de vérifier que le nouveau serveur leur sert exactement le même service avant d'abandonner l'ancien.
- Si vous modifiez Server UDP Port, n'oubliez pas que les ports dérivés de commande et de transfert de fichiers changent avec lui. Les règles de pare-feu doivent être mises à jour en conséquence.