La structuration d'Hydra est articulée autour de plusieurs éléments :
Pour le bon fonctionnement, il est nécessaire également :
Les tests sont réalisés sur des versions LTR et le bon fonctionnement d'Hydra n'est pas garanti sur des versions autres que celles-ci (non matures)
Il est important de pouvoir faire correspondre la version de QGIS et la version d'hydra, notamment lors de la recherche d'une ancienne configuration de fonctionnement
Pour ce faire consulter attentivement le tableau de compatibilité :
| Version Hydra | Version QGIS LTR |
|---|---|
| 1.21 à 1.71 | 2.16 |
| 1.71 à 2.6.0 | 2.18 |
| 3.0 - 3.6 | 3.10 |
| 3.6 | 3.16 |
| 3.6-3.10.10 | 3.22 - 3.28 |
| 3.10.10 - 3.10.13 | 3.34.13 |
Vous disposez du programme de setup setup_hydra.exe.
Vous devez disposer des droits d'administraterur complets pour exécuter ce programme car :
L'installation est visible dans le dossier C:\Programmes\Hydra :
A la fin de cette installation, deux vérifications peuvent être faites :
Ce point d'étape est important car il garantit que la communication avec la base de données est effective. Le plugin Hydra nécessite une connexion fonctionnelle pour pouvoir exécuter ses tâches.
C'est à partir de là que l'installation du plugin Hydra (avec une version appropriée) au sein de la version de QGIS soigneusement choisie prend sens.
L'installation du plugin comprend les étapes suivantes :
Lorsque l'installation a correctement abouti, le logo d'Hydra doit apparaître à droite de la barre de menu de l'espace de travail de QGIS.
Le bon fonctionnement va être confirmé par la création d'un modèle vide. Pour ce faire, depuis le gestionnaire de projets :
L'ensemble des couches d'Hydra va être créé pour ce modèle et sont visibles dans la colonne des couches disponibles du projet QGIs et disponibles en édition. Il est donc possible à présent de pouvoir éditer son projet, signe de bonne santé du fonctionnement d'hydra.
La présentation de la structure a montré des dépendances techniques et humaines, et parfois, rien ne se passe comme prévu !
Nous pouvons lister plusieurs facteurs déstabilisants :
Plusieurs erreurs-type sont listées ci-après avec une voie de résolution possible, pour permettre une résolution des problèmes en toute autonomie
Les messages apparaissent souvent sous la forme d'une fenêtre informative dédiée, avec un message déplaisant en rouge, ou dans le Journal des messages QGIS, onglet "Erreur Python", sans compter le bandeau rouge en haut du cadre de carte...
| Message / Symptôme | Voie de résolution |
|---|---|
| SSL Error / Erreur de certificat | Vérifier le pare-feu et les droits associés pour permettre la communication avec le domaine hydra-software.net |
| cannot find geos_c.dll | Problème de version de numpy et shapely, probablement lié au fait que la version d'Hydra est récente par rapport à la version de QGIS. Une version 3.34.13 de QGIS assure la présence d'un environnement Python 3.12 avec les dernières version de numpy et shapely |
| psycopg2.OperationnalError : connection to server at '127.0.0.1', port 5454 failed : Connection refused (XXX) Is the server running on that host and accepting TCP/IP connections ? | Ce message montre une connexion défaillante à la base de données Postgres/PostGIS. C'est le résultat d'une installation avec des droits d'administration qui n'étaient probablement pas complets, conduisant à une possible absence de fichier .pg_service.conf dans le répertoire utilisateur (C:\users<vous>) et/ou à unservice postgresql-x64-13-hydra non démarré automatiquement. Armé des droits administrateur, vérifier l'existence du fichier .pg_service.conf, et/ou rendez-vous dans le gestionnaire des tâches de Windows et rendre le service postgresql-x64-13-hydra démarré en permanence |
Hydra est composé de deux éléments : une interface graphique et un moteur de calcul. Ces deux composants utilisent l'utilitaire wmic, un composant windows historique qui permet de retourner le numéro de série de la machine. Cela est nécessaire au niveau du plugin pour la validation de la licence, et pour le kernel pour la vérification de la licence.
Ce composant a été retiré par défaut par Microsoft depuis l'avènement de la version 25H2 de Windows 11. Les responsables des systèmes d'information peuvent néanmoins décider de réajouter le composant. Dans ce cas-là, la vie est belle. Sauf que dans la majorité des cas, il n'est pas ajouté à postériori.
Depuis la version 3.11.0 d'Hydra, l'appel au composant wmic a été remplacé par un appel à Powershell (disponible déjà sous Windows 10 et donc sous Windows 11). Cependant vous pouvez être amenés à utiliser des versions plus anciennes qui de fait ne fonctionnent plus si vous utilisez une version. Trois messages d’erreur peuvent alors apparaitre :
subprocess.CalledProcessError : Command '['wmic','bios','get','serialnumber']' : returned non-zero exist status""'wmic' nest pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. stop : erreur de licence. erreur détectée au cxours de l'exécution du programme. Le message d'erreur se trouve dans le fichier .log", ou "licence inadaptée à la machine et / ou expirée il y a 0 jours""An error occured during scenario : 'utf-8' codec can't decode byte 0x82 in position 82 : invalid start byte"Nous n'assurons que les mises à jour vers des versions les plus récentes, et nous ne reprenons pas le code des versions les plus anciennes.
Dans ce cas là, nous allons ruser, et présenter à Hydra ce qu'il souhaite : le numéro de série de la machine. Il recherche un exécutable nommé wmic. Donnons le lui.
c:\users\<users>\.hydra si il n'existe pas, et ajoute ce répertoire au Path du système lors de l'ouverture de QGIS.Si vous voulez conserver le plugin dans son installation classiue (sans passer par linstalleur) et que vous n'avez pas les droits d'administrateur pour placer le fichier wmic.bat dans un répertoire défini par défaut dnas le Path, voici la procédure à suivre.
Nous allons nous aider du répertoire principal .hydra (c:\users<vous-même>.hydra) qui contient les fichiers de projet, et nous allons l'ajouter aux chemins de recherche des exécutables (le fameux "PATH").
Pour faire les modifications, bien fermer Hydra et QGIS préalablement.
Etape 1 : Télécharger le fichier wmic.bat sur le lien suivant : https://hydra-software.net/telechargement/wmic et copiez le dans le répertoire .hydra (A l'exécution , Powershell est invoqué pour retourner le numéro de série. Le fichier .bat est un exécutable windows et fait partie des éléments appelables en premier argument de ligne de commande).
Etape 2 : Ajout du répertoire .hydra au PATH
Le .bat doit être ajouté à l'environnement d'exécution PATH (si vous n'êtes pas admin; sinon vous pouvez ajouter c:\users<vous-même>.hydra au PATH avec l'utilitaire "Modifier les variables d'environnement", ou appliquer la précidure décrite précédemment).
Le fichier à modifier pour ce faire est le fichier
c:\users\<vous-même>\AppData\Roaming\QGIS\QGISX\default (ou autre profil utilisateur)\python\plugins\hydra\plugin.py. Vous pouvez l'ouvrir avec un éditeur de code de préférence (Notepad++) ou avec un éditeur de texte, mais dans ce dernier cas en étant particulièrement précautionneu(x - se) sur les espacements qui précèdent le texte de code.En effet, le principe du code Python est de séparer la condition (instruction if ou la boucle) des instructions sous-jacentes par une série de ces espacements. Ces espacements peuevent être différents selon le système d'exploitation : soit c'est une série d'espaces (2 ou 4 de manière courante), soit des tabulations.
Essayez de repérer le passage suivant (aux alentours de la ligne 140) dans le fichier plugin.py
if os.name == "nt": # create notepad++ syntax file (on expresseau's basis, ne fonctionne que pour Windows) notepad_user_defines_lang = os.path.join(os.path.expanduser('~'), 'AppData', 'Roaming', 'Notepad++', 'userDefineLangs') if not os.path.exists(notepad_user_defines_lang): os.makedirs(notepad_user_defines_lang) for f in ('hydra_ctl.xml', 'hydra_extract.xml'): if not os.path.exists(os.path.join(notepad_user_defines_lang, f)): shutil.copy(os.path.join(_plugin_dir, f), os.path.join(notepad_user_defines_lang, f))Vous pouvez le modifier ainsi :
if os.name == "nt": os.environ["PATH"] = "C:\\Users\\<vous-même>\\.hydra;" + os.environ["PATH"] # create notepad++ syntax file (on expresseau's basis, ne fonctionne que pour Windows) notepad_user_defines_lang = os.path.join(os.path.expanduser('~'), 'AppData', 'Roaming', 'Notepad++', 'userDefineLangs') if not os.path.exists(notepad_user_defines_lang): os.makedirs(notepad_user_defines_lang) for f in ('hydra_ctl.xml', 'hydra_extract.xml'): if not os.path.exists(os.path.join(notepad_user_defines_lang, f)): shutil.copy(os.path.join(_plugin_dir, f), os.path.join(notepad_user_defines_lang, f))Enregistrer le fichier.
Vous avez donc créé l'exécutable de contournement et l'ajout au path au chargement du plugin.
Il vous suffit de relancer QGIS et d'activer au besoin le plugin Hydra.
Vous avez fait toutes les étapes nécessaires au bon fonctionnement, ça devrait être bon !
En dernier ressort, en cas de configuration particulière, vous pouvez contacter le support à l'adresse (mailto:support@hydra-software.net)