En début d'année, nous avons exposé notre roadmap pour les softwares et librairies que nous proposons. Cette semaine, nous publiions le premier batch de librairies qui passent officiellement en v2.0. Il s’agit des librairies C++, C#, VB.net et Python.
Ces librairies étaient déjà disponibles en preview depuis un certain temps, mais dès aujourd'hui elles deviennent les versions officielles. Et remplacent les anciennes versions 1.10.
Les deux principales nouveautés de ces libraires sont le support pour le chiffrage des communications à l'aide de TLS et le support IPv6. Le chiffrement des communications ne fonctionne actuellement qu'avec VirtualHub v2.0 et VirtualHub for Web, mais d'autres nouveautés devraient arriver qui devraient profiter de cette fonctionnalité.
TLS
Pour utiliser une connexion sécurisée, il suffit d'ajouter le préfixe "secure://" à l'adresse de VirtualHub lors de l'appel à YAPI::RegisterHub. Le préfixe "secure://" force la libraire à établir une connexion chiffrée. Si la librairie essaie de se connecter à un hub qui ne supporte pas le chiffrement des données, l'appel retournera une erreur.
if (YAPI::RegisterHub("secure://vhub.example.com", errmsg) != YAPI_SUCCESS) {
cerr << "YAPI::RegisterHub failed: " << errmsg << endl;
}
...
Le préfixe "secure://" essaie de se connecter en priorité à l'aide du protocole "WebSocket Secure" et effectue un fallback sur HTTPS s'il n'est pas disponible (Ex VirtualHub for Web). Si vous voulez forcer un type particulier de connexion, vous pouvez utiliser les préfixes "https://" et "wss://".
Nous avons déjà plusieurs articles qui parlent de cette fonctionnalité:
- Preview de la nouvelle librairie C++ 2.0
- Les certificats TLS et la librairie C++ 2.0
- Preview des nouvelles librairies C#, Python et VB .Net
IPv6
Le support IPv6 est une fonctionnalité qui devrait concerner peu de gens. En effet, la plupart des machines continuent à supporter IPv4, mais certains de nos clients ont des infrastructures qui fonctionnent uniquement en IPv6. Si vous est dans ce cas, vous pouvez dorénavant utiliser ces librairies.
Dans l'exemple suivant, la libraire se connecte à l'adresse IPv6 "fe80::471b:5e9a:dfd3:8c70".
if (YAPI.RegisterHub("[fe80::471b:5e9a:dfd3:8c70]", ref errsmg) != YAPI.SUCCESS){
MessageBox.Show("RegisterHub error:" + errsmg)
}
Pour plus de détails, vous pouvez consulter notre précédent article : Yoctopuce et IPv6.
Comment obtenir ces librairies
Les nouvelles versions de ces librairies sont disponibles par les mêmes canaux que la v1.10. Elles peuvent être téléchargées sur notre site Web ou depuis GitHub. Les librairies C# et VB.net sont disponibles comme package NuGet depuis le repository Nuget.org. La librairie Python est disponible comme package PyPI. Dans tous les cas, il vous suffit de mettre à jour votre libraire avec les mêmes commandes que vous utilisez habituellement.
La commande suivante met à jour la librairie Python en utilisant le package PyPI
Conclusion
Comme d'habitude, ces librairies sont backward compatibles, sont utilisables tel quel avec des applications qui ont été écrites pour la version 1.10.
Si vous inspectez le code, vous verrez aussi que nous avons fait quelques petits fixes et changements par-ci, par-là. Mais si vous avez l'habitude de nos outils, vous ne devriez pas être dépaysé.