Datant de 2009-2010, ce vario du fabricant Suisse Flytec reste un instrument fiable et robuste même après une quinzaine d’années.
Seul bémol, la puce qu’il intègre, notamment pour le chargement des vols et la communication avec un PC sont dépassés et peuvent poser problème. Il s’agit du Prolific PL2303 dont le pilote n’est plus supporté sous Windows 11. Un message d’erreur est même affiché avec les dernières versions du pilote/windows 11: « PL2303HXA Phased out since 2012. Please Contact your supplier« .
Il est possible, pour ~45 CHF de l’envoyer à Naviter (actuel propriétaire de la marque) pour upgrade du chip. Cependant il existe une solution encore plus rapide qui permet de faire reconnaître correctement le vario sous Windows 11.
La solution consiste à installer le pilote de 2008 (3.3.2.105). Pour le sélectionner, aller sur le périphérique et choisir: Mise à jour du pilote-> Recherche des pilotes sur votre ordinateur -> Choisir parmi une liste de pilotes disponibles sur mon ordinateur.
Depuis la dernière version de Windows 11, il semble impossible de choisir un pilote différent sur l’ordinateur (lié au message: « PL2303HXA PHASED OUT… ». Pour régler le problème, il faut choisir un port COM différent (chez moi, le passage du COM4 à COM6 a permis de régler le problème).
Il y a peu, j’ai été forcé de mettre à jour mon site basé sur une version obsolète d’un Framework, Twig/Symfony 3. En débutant l’implémentation avec CodeIgniter, j’ai vite compris que le portage des templates allait être compliqué. Je me suis donc orienté vers quelque chose de plus dynamique et moderne : un frontend en React avec un backend allégé par CodeIgniter. Le hic ? Je n’avais pratiquement aucune expérience en React. Pourtant, en quelques heures et grâce à une poignée de prompts à Grok 3, l’IA de xAI, j’ai réussi cette refonte. Voici comment ça s’est passé.
Une refonte en quelques étapes
J’ai d’abord repensé l’organisation de mon projet. Fini le mélange frontend-backend : j’ai créé deux espaces distincts, un pour le backend et un pour le frontend. Le challenge était de configurer mon serveur local pour que les requêtes API et les pages React aillent là où il faut. J’ai demandé conseil à Grok 3, et en une réponse, il m’a orienté vers une solution simple pour gérer ces redirections, sans que j’aie à me perdre dans des détails techniques.
Pour le backend, migrer de Symfony à CodeIgniter a été assez naturel. J’ai simplifié mes anciennes routes en endpoints légers, et Grok m’a aidé à m’assurer que tout restait cohérent et prêt à alimenter mon futur frontend.
Le frontend React, un défi relevé avec Grok
C’est là que les choses auraient pu se compliquer. Avec presque zéro expérience en React, je partais de loin. Mais Grok 3 a permis de relever le défi. Je lui ai demandé comment démarrer un projet React de zéro et comment en faire une version statique pour mon site. Ses réponses étaient claires, étape par étape, comme un guide patient qui ne me laissait jamais dans le flou. En un rien de temps, j’avais un frontend fonctionnel. Quand j’ai buté sur une erreur où mes données ne s’affichaient pas, Grok a tout de suite compris et m’a donné une astuce simple pour connecter React à mon backend. Grok a même réussi là où les autres LLM (GPT 4o, Claude 3.5) avaient échoués: calculer le rendu, en React, de mon menu hiérarchique venant d’un json retourné par API. A prompt égal, c’est le seul à avoir réussi.
Quelques ajustements et un résultat bluffant
Tout n’a pas marché du premier coup. A plusieurs reprises j’ai confronté les résultats de Github Copilot, une recherche Google classique et Grok, Grok donne en général la meilleure des réponses avec le moins d’informations. C’est assez bluffant sachant que Github Copilot est totalement intégré à l’IDE contrairement à Grok qui n’a qu’un minimum d’information.
Une transformation éclair malgré mon inexpérience
En quelques heures et une poignée d’échanges avec Grok 3, j’ai métamorphosé mon vieux site Twig/Symfony en une application moderne React + CodeIgniter. Le frontend, presque entièrement conçu avec l’aide de Grok malgré mon manque d’expérience en React, est fluide et réactif. Le backend, lui, reste léger et efficace.
Si vous envisagez de moderniser votre site, même sans être un pro de React ou d’un autre outil, je ne peux que vous encourager à tester Grok 3. Attention toutefois à ce que vous lui transmettez comme information, Grok n’est pas connu pour protéger vos données, exit donc les mots de passe, données privées, etc.
Catégorie : Uncategorized|Commentaires fermés sur J’ai redéveloppé mon site avec React et CodeIgniter grâce à Grok 3, sans presque aucune expérience en React.
Pourquoi je quitte Symfony pour CodeIgniter Après des années à travailler avec Symfony, j’ai pris une décision radicale : abandonner ce framework pour migrer mon site vers CodeIgniter. Mon site actuel repose sur Symfony 3.4, une version qui commence sérieusement à dater. Avec la dernière mise à jour PHP imposée par mon hébergeur, je n’avais plus le choix : il fallait porter le projet vers Symfony 7 pour rester compatible. Mais ce qui devait être une simple mise à jour s’est transformé en galère…
Une migration qui tourne au fiasco Initialement, je me suis dit : « Faisons simple ». J’ai tenté de migrer un seul composant – une page, un menu ou une API – pour voir comment ça se passait. Spoiler : ça s’est mal passé. Très mal passé. Le gros problème ? L’absence de procédure claire pour passer de Symfony 3.4 à Symfony 7. Les guides officiels sont flous, les étapes manquent de précision, et quand une méthode est dépréciée, on ne te dit pas toujours par quoi la remplacer. Résultat : on se retrouve à tâtonner pour des choses pourtant simples.
Avec les versions 6 et 7, Symfony introduit plusieurs manières de faire la même chose. Génial sur le papier, mais en pratique, ça complique tout. La documentation, qui devrait être une boussole, est devenue une source de confusion. Trop d’options, pas assez de clarté. J’ai passé des heures durant un week-end à essayer de faire fonctionner ne serait-ce qu’une petite partie de mon site. À bout de patience, j’ai décidé de tester une alternative.
Un test pour une solution alternative Sur un coup de tête, j’ai configuré CodeIgniter dans un nouveau répertoire et l’ai connecté à la base de données pour voir ce que ça donnait. En moins de 30 minutes, j’avais une page fonctionnelle qui servait mes données exactement comme je le voulais. Trente minutes ! Là où Symfony me faisait tourner en rond depuis des heures, CodeIgniter m’a offert simplicité et efficacité. Pas de configuration interminable, pas de documentation alambiquée : juste un framework qui fait le job.
Pourquoi CodeIgniter et pas Laravel ? CodeIgniter n’est pas nouveau pour moi. J’ai déjà développé plusieurs sites avec, et je connais sa légèreté et sa flexibilité. C’est exactement ce qu’il me faut pour mon site. Laravel, qui est souvent cité comme une alternative moderne à Symfony. Mais pour le type de site que je développe Laravel me semblait « overkill »: Trop de fonctionnalités dont je n’ai pas besoin, alors que CodeIgniter va droit au but.
Symfony n’est pas pour autant un mauvais framework Ce framework reste une alternative solide pour des projets conséquents, mais il nécessite un suivi régulier avec les mises à jour et des refactorings. Il est possible que je rencontre des problèmes de mises à jour avec CodeIgniter, mais comme ce framework est plus « simple », il sera plus rapide à adapter.
Bye Symfony ! Symfony m’a accompagné pendant longtemps, et j’apprécie sa puissance pour des projets d’envergure. Mais pour mon cas d’usage, il est devenu un frein plus qu’un allié. La migration vers Symfony 7 m’a fait réaliser que je perdais trop à adapter le code au framework, au lieu de construire avec lui. CodeIgniter, lui, répond à mon besoin : simplicité, rapidité, efficacité.
Je tourne la page, mon site va renaître sous CodeIgniter, et je suis impatient de retrouver le faire évoluer une fois la migration effectuée.
Cette configuration se faisant de manière relativement simple sous Home Assistant, je voulais également calculer le coût quotidien de l’électricité.
Enphase propose déjà la gestion de tarif sur enlighten (leur portail online) mais je voulais avoir la même chose sur Home Assistant afin de ne pas dépendre d’Enphase pour stocker et consulter ces données.
Cet article traite le cas où les pinces sont branchées en consommation et en production. Il faut donc calculer la puissance produite et consommer. A cet effet, il faut déclarer deux senseurs dans configuration.yaml :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
template:
- sensor:
name: Grid Import Power
state_class: measurement
icon: mdi:transmission-tower
unit_of_measurement: W
state: >
{{ [0, states('sensor.envoy_<id>_current_power_consumption') | int(0) - states('sensor.envoy_<id>_current_power_production') | int(0) ] | max }}
- sensor:
name: Grid Export Power
state_class: measurement
icon: mdi:transmission-tower
unit_of_measurement: W
state: >
{{ [0, states('sensor.envoy_<id>_current_power_production') | int(0) - states('sensor.envoy_<id>_current_power_consumption') | int(0) ] | max }}
Nous allons également déclarer un senseur pour le tarif heure pleine / heure creuse de la Romande Energie.
Il s’agit du tarif horaire, ne comprenant pas la taxe d’abonnement de 9CHF / mois mais comprenant : Electricité + acheminement + taxe Swissgrid+ Taxe valais + TVA.
Il est ensuite possible de configurer les senseur pour l’import / export d’énergie:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
sensor:
- platform: integration
name: Grid Import Energy
source: sensor.grid_import_power
unit_prefix: k
unit_time: h
method: left
- platform: integration
name: Grid Export Energy
source: sensor.grid_export_power
unit_prefix: k
unit_time: h
method: left
ainsi qu’un « utility_meter » pour le tarif:
1 2 3 4 5 6 7 8
utility_meter:
daily_energy:
source: sensor.grid_import_energy
name: Daily Import Meter
cycle: daily
tariffs:
- hp
- hc
ainsi que l’automatisation pour la bascule du tarif (dans automations.yaml)
En 2024, le tarif heure creuse est valable de 22h à 7h en semaine ainsi que les week-end.
Starship est un prompt « cross-shell », amélioré, ultra-rapide et personnalisable.
En cherchant comment personnaliser l’affichage de mon shell dans différente conditions, je suis tombé sur starship qui présente de nombreux avantages:
multi-shell
compatible avec WSL
personnalisable
performant, avec un faible impact sur les ressources
L’installation est on ne peut plus simple et est décrite sur la page de documentation. Ci-après, je décris comment l’installer sous n’importe quelle distribution Linux WSL (Debian dans mon cas):
Lancer le script d’installation :
1
curl -sS https://starship.rs/install.sh | sh
Ajouter la ligne suivante à la fin de ~/.bashrc
1
eval "$(starship init bash)"
Recharge la config bash:
1
source ~/.bashrc
Starship est maintenant installé. Vous l’aurez remarqué, l’affichage est un peu « buggé ». C’est normal, il faut encore ajouter une Font supportant les icones. Pour ça, il y a l’excellent site nerdfonts.com. Dans mon cas j’ai choisi le « Hack Nerd Font ». L’installation est on ne peut plus simple:
Télécharger le font (sous Windows)
Ouvrir les fichiers polices souhaités et clicker sur « Installer
Il reste deux étapes importantes à effectuer pour avoir un prompte hyper pratique:
La première, il faut configurer la police installée dans le Terminal Windows: Paramètre -> Debian -> Apparence
La deuxième étape, il faut customiser starship. Ca s’effectuer en éditant le fichier ~/.config/starship.toml.
Exemple de ma configuration (attention, les icônes ne seront pas reprise correctement car la police n’est pas installée sur ce site, il faut les adapter selon votre besoin. Ce fichier se trouve également sur mon repo Github
# Shows kubernetes context and namespace
[kubernetes]
format = 'via [ $context\($namespace\)](bold purple) '
disabled = true
# ---
[vagrant]
disabled = true
[docker_context]
disabled = true
[helm]
disabled = true
[python]
disabled = true
[nodejs]
disabled = true
[ruby]
disabled = true
[terraform]
disabled = true
Une fois le fichier starship.toml, la prochaine ligne de shell sera directement à jour avec la configuration.
Quelques exemples du résultat dans le Terminal (j’ai masqué mes info host/machine):
La dernière étape consiste à configurer VSCode pour supporter l’affichage. Comme pour le Terminal, il faut lui préciser la police à utiliser, sans quoi, les icônes ne seront pas affichées:
Dans settings.json, ajouter les configurations suivante, selon vos préférences :
1 2
"terminal.integrated.fontFamily": "Hack Nerd Font Mono",
"terminal.integrated.fontSize": 12
Voilà VSCode configurer avec starship dans le terminal WSL. La méthode s’applique dans d’autres terminaux également ce qui permet de retrouver une uniformité entre différents shell avec un niveau élevé de personnalisation assurance un gain en productivité
Catégorie : Windows|TagLinux, VsCode, wsl2|Commentaires fermés sur Configurer Starship avec WSL pour booster sa productivité
Ce guide va présenter comment configurer ElasticSearch et Kibana sur un NAS Synology avec Docker. Le but n’est pas d’avoir une machine ultra-performante mais de pouvoir avoir une installation ElasticSearch facilement maintenable pour des tests ou juste découvrir l’outil. Il sera ainsi possible de mettre à jour rapidement la version dl’ElasticSearch sans perdre de données grâce à l’utilisation de Docker.
Récupération des images Docker
Récupérer les images elastic/elastic-search et elastic/kibana, ce sont les images officielles. Si vous possédez un Synology équiper d’un processeur 64bit, vous pouvez utiliser l’image amd64.
Création des conteneurs: elasticsearch
Pour créer un conteneur, aller dans Image, sélectionner l’image, puis « Lancer »:
Ensuite, choisir « Paramètres avancés »
Paramètres généraux: choisir le nom du conteneur
Volume: configurez deux dossier, config et data avec accès en écriture. C’est là que seront stockés les configurations ainsi que les données des indexes
Fichier/Dossier: le répertoire sur votre NAS, à définir selon votre structure de répertoire.
Chemin d’accès:
/usr/share/elasticsearch/config
/usr/share/elasticsearch/data
Configurer les ports locaux pour les ports du conteneur 9200 et 9300 du conteneur elasticsearch.
Dans environnement, ajouter le paramètre discovery.type = single-node
Création des conteneurs: kibana
Similaire à elasticsearch:
Pour les ports locaux, attention de bien le spécifier, sans ça, impossible d’accéder à Kibana (port 5601 par défaut)
redémarrer le conteneur puis, dans le shell, mettre à jour les mots de passe (attention de ne pas les perdre, en particulier celui de kibana_system): ./bin/elasticsearch-setup-passwords interactive
Dans kibana.yml, configurer le mot de passe kibana_system selon ce qui a été défini dans le conteneur elastic. Adapter le port elasticsearch si nécessaire.
En voulant tester quelques bouts de code utilisant Tensorflow, j’ai constaté que mon PC datait un peu: il n’a pas de support CPU supportant les instructions AVX.
Une version « raspberry-pi » existe depuis 2018 mais elle est loin de permettre de travailler efficacement. L’exemple classic sur le dataset MNIST prend en effet un temps assez conséquent à s’exécuter:
Depuis une année, Google propose Colab : https://colab.research.google.com qui permet gratuitement un environnement Jupyter avec tensorflow pré-installé. Il y a même des GPU disposition.
Sous Gentoo, l’environnement Python est particulièrement sensible car il est utilisé par le gestionnaire de packages: portage. L’outil pip, également utilisable pour installer des paquets Python risque d’interférer avec l’environnement du système.
Il est parfois nécessaire d’avoir des paquets python qui ne sont pas proposé directement par la distribution Gentoo. Dans cette situation, il est préférable d’utiliser virtualenv.
Cet outil permet d’installer un environnement python complètement séparé de celui du système.
Installation:
emerge virtualenv
mkdir ~/virtualenv/dev cd ~/virtualenv/dev virtualenv .
activer l’environnement:
source ./bin/activate
et installer les paquets requis
pip install ....
Catégorie : Uncategorized|TagGentoo, python|Commentaires fermés sur Développement Python sous Gentoo sans perturber l’environnement du système
Il peut être pratique d’avoir un environnement de développement ARM utilisable directement depuis un environnement x86 lorsqu’on ne possède pas d’environnement dédié (périphérique cible, raspberry PI par exemple) ou qu’on ne veut pas émuler tout un système d’exploitation dans Qemu pour lancer un simple binaire.
Les étapes suivantes décrivent comment installer l’environnement de compilation (GCC) ainsi que les outils permettant d’exécuter directement un binaire ARM.