md
Table des matières en programmation
2018-10-30

Installer Free Pascal et Lazarus sur Linux avec FPCUPdeluxe

Ceci est révision du billet du 17 août 2018 intitulé Installer Free Pascal et Lazarus sur Ubuntu 18.04 avec fpcupdeluxe. Les instructions de ce billet initial utilisées sur une nouvelle distribution de Mint 19 se sont avérée incomplètes. Il se trouve que j'avais laissé de côté certaines exigences à installer. Celles-ci étaient présentes lorsque j'ai utilisé FPCUPdeluxe pour la première fois en raison d'installations d'autre programmes. [...plus]

2018-10-07

Moteur de recherche Qwant

J'ai ajouté un quatrième moteur de recherche pour effectuer des recherches sur l'ensemble de mon site Web. Il s'agit de Qwant qui ressemble à DuckDuckGo par la promesse qu'il ne conserve aucune information au sujet des recherches effectuées. Qwant utilise une syntaxe d’URL inhabituelle pour limiter les recherches à un site Web particulier. J'ai décidé d'utiliser une approche autre que celle recommandée par le site pour faire ces recherches locales [...plus]

2018-09-29

Autres IPAs météorologiques

En février, j'examinais comment récupérer les conditions et prévisions météorologiques de Yahoo Weather avec un programme écrit en Pascal. J'ai décidé d'étendre l'étude à d'autres fournisseurs: Apixu, Dark Sky, MET Norway, OpenWeatherMap et Weatherbit.io [...plus]

2018-09-03

Noyau ESP8266/Arduino 2.4.2 et WPS

La prise en charge de la connexion Wi-Fi du ESP8266 avec WPS (Wi-Fi Protected Setup) n'est pas disponible dans la version courante du noyeau ESP8266/Arduino (version 2.4.2). On peut toutefois l'inclure en engendrant un nouveau fichier de définitions des cartes ESP8266 [...plus]

2018-09-01

Installation de Ubuntu 18.04.1, ajouts et ajustements

Ce billet est une continuation de la discussion au sujet du passage à la nouvelle version LTS de Ubuntu. Il est question de la mise à jour de deux logiciels: Virtual Box et l'environnement de développement intégré Arduino. J'ai aussi ajouté un logiciel important, Timeshift, pour faire des sauvegardes du système à intervalles réguliers. D'autres sujets moins importants sont abordés: les icônes génantes dans Thunderbird et les polices de base de Microsoft [...plus]

2018-08-17

Installer Free Pascal et Lazarus avec fpcupdeluxe sur Ubuntu 18.04

Dernièrement, j'ai installé les dernières versions (svn trunk) du compilateur Free Pascal et de l'EDI Lazarus avec l'outil fpcupdeluxe avec le système d'exploitation Ubuntu 18.04.1. Il y avait une légère complication associée aux bibliothèques OpenGL. Après beaucoup de mésaventures, dont j'étais la cause principale, tout semble fonctionner comme prévu. [...plus]

J'ai renommé le billet de février au sujet de Free Pascal / Lazarus sur Ubuntu 17.10 pour mieux différencier les deux articles.

2018-08-13

Installation de Ubuntu 18.04.1

Ce long billet est un aide-mémoire qui décrit l'installation de Ubuntu 18.04.1 sur un disque dur vierge. J'ai préféré installer la nouvelle mouture de Ubuntu plutôt que de mettre à jour la version 17.10 utilisée depuis novembre 2017. [...plus]

2018-06-24
Mise à jour : 2018-06-27

Un troisième temporisateur de surveillance du ESP8266, version finale

Enfin la version finale du chien de garde loop est disponible sous forme de bibliothèque qui s'intègre à l'EDI Arduino. Cette version ne fonctionne qu'avec la mémoire vive de l'horloge en temps réel du ESP8266. [...plus]

2018-06-12

Récupérer automatiquement des redémarrages en boucle du ESP8266

Ce billet, une suite de celui du 9 juin, propose une stratégie pour casser une boucle de redémarrages causée par une exception ou l'action d'un des temporisateurs de surveillance du ESP8266. Supposant que c'est la conséquence d'une erreur de programmation, il propose un téléchargement automatique et sans fil d'une version antérieure du micrologiciel du ESP. [...plus]

2018-06-09

Un troisième temporisateur de surveillance du ESP8266, version simplifiée

Plutôt que traduire les trois billets en anglais au sujet des temporisateurs de surveillance du ESP8266 qui datent d'août et septembre de l'année dernière, il me semble préférable de tout réécrire dans l'espoir d'aboutir à une présentation plus claire et un code plus simple. Dans ce premier billet, il n'est question que du troisième chien de garde devant déceler quand la boucle principale d'un croquis Arduino n'est plus exécutée [...plus]

2018-06-05

Un meilleur chien de garde ESP8266 avec une meilleure récupération MISE-À-JOUR

En travaillant sur un projet ESP8266, j'ai été déçu par mon « meilleur » chien de garde. Il n'a pas rapporté le nom du module dans lequel il mordait. La cause de l'erreur a été difficile à découvrir, mais j'espère que c'est maintenant fait L'archive corrigée est maintenant nommée lwdt_full_example_0206.zip.

En examinant le code, j'ai décidé qu'il y avait place à amélioration, comme toujours. J'ai réécrit une nouvelle version qui fonctionne avec la mémoire RTC, je n'ai pas encore essayé la révision avec la mémoire EEPROM. Et bien sûr, je vais devoir tester à fond. [...plus (en anglais)]

2018-05-25

Contrôle d'une DEL, une bibliothèqe Arduino

Voici ma deuxième bibliothèque Arduino qui prend soin de la minutie de clignoter une DEL. C'est un blinky! Évidemment, il n'y a pas grand-chose, je voulais juste un module réutilisable qui avait une certaine flexibilité tout en restant simple. [...plus (en anglais)]

2018-05-23

Détection de clics successifs avec un bouton dans un croquis Arduino

Le Sonoff (un dispositif dont il est souvent question ici et qui est basé sur le ESP8266) possède une interface physique très limité: un seul bouton poussoir. J'avais besoin d'une routine pour retourner le nombre de fois que le bouton a été cliqué en succession rapide ou pour indiquer que le bouton a été enfoncé pendant une longue période. Avec l'aide d'articles d'experts trouvés sur Internet, j'ai mis en place une bibliothèque Arduino qui répond à mes besoins et semble fonctionner avec toutes les architectures Arduino. [...plus (en anglais)]

2018-05-16

Lecteur de postes de radio sur Internet avec MOC

Présentation d'un lecteur de radio Internet pour Linux basé sur le service Music On Console. C'est un banc d'essai pour un lecteur de radio Internet à être construit autour d'un Raspberry Pi devant améliorer une mini-chaîne stéréo plus vieille. Le code source est disponible. L'application est écrite avec Lazarus, l'EDI libre en Free Pascal [...more]

2018-04-09

Le jeux de float et clear en CSS et clearfix

Dans le HTML, les zones flottantes contenu dans un bloc type <div> ne modifient pas la taille de ce dernier. Il peut en résulter un problème d'alignement local. Il y a des solutions plus ou moins bien connues, il est question de certaines d'entre elles. [...plus]

2018-04-06

Un seul formulaire HTML pour accéder à plusieurs moteurs de recherche

Il y a peine deux jours, j'avais éliminé la barre de recherche du haut de chaque page de ce site. Je voulais avoir plus d'un moteur de recherche et je ne trouvais pas une façon compacte de le faire. Puis j'ai pensé à une boîte de saisie pour les mots recherchés suivie de trois boutons pour chacun des moteurs de recherche [...plus]

2018-03-02

L'unité cthreads sous Linux (Free Pascal)

Faisant suite à la note précédente, en voici une autre sur l'activation des fils d'exécution les programmes Free Pascal pour l'environnement Unix/Linux [...plus (en anglais)]

2018-02-24

Exécuter un processus dans un fil d'exécution (Free Pascal)

Une autre petite note au sujet d'un élément de Free Pascal que je connaissais mal, les fils d'éxécution (threads). J'y montre comment l'utilitaire aplay peut être lancé pour jouer un fichier wav dans un fil d'exécution de telle sort que l'interface graphique de l'application reste réactive et qu'il soit possible d'arrêter aplay à tout moment [...plus (en anglais)]

2018-02-23

Mise à jour de Free Pascal et Lazarus avec fpcupdeluxe sur Ubuntu 17.10

Voici une courte note sur l'utilisation de FPCUpdeluxe pour mettre à niveau ou installer le compilateur Free Pascal et l'EDI Lazarus et la LCL sur un système Linux. Je suppose que ce serait la même chose sur un système Windows. [...plus (en anglais)]

2018-02-17

The Yahoo! Weather API with Free Pascal

Mea culpa pour une approche très locale afin d'obtenir des bulletins météo présentée dans un billet précédent qui n'aurait intéressé que quelques-uns. Voici une solution utilisant des reguêtes Yahoo! YQL avec une audience potentiellement plus large [...plus]

2017-12-14

Environnements virtuels de Python 3

Essayant d'apprendre Python en jouant avec des projets de reconnaissance vocale et de domotique, il est devenu évident que je devais me familiariser avec les environnements virtuels Python. Le principe n'est pas difficile, mais j'ai rencontré des problèmes pratiques. Ce billet, qui a demandé plus de deux semaines d'écriture, montre comment je gère et utilise les environnements virtuels Python sur trois distributions Linux basées sur Debian. [...plus (en anglais)]

2017-10-17

HTTPS, HTTP et GTML

Depuis la fin mai, l'entreprise qui héberge mon site Web, fourni des certificats SSL (OpenSSL de cPanel.inc). Un accès sécurisé du site est donc disponible via HTTPS. Voilà qui devrait inspirer confiance; le petit cadenas vert est maintenant visible dans la barre d'adresse. Il y avait un hic, les fichiers de style et les images n'étaient plus visibles alors qu'on descendait dans la hiérarchie des fichiers HTML. Il fallait trouver un solution. [...plus]

2017-09-11

Un meilleur chien de garde ESP8266 avec une meilleure récupération

Le chien de garde développé précédemment peut être amélioré. De plus, il y a moyen de récupérer automatiquement des cycles de redémarrages causés par des exceptions ou des déclenchements des chiens de garde. [...plus (en anglais)]

2017-08-28

Chien de garde du ESP8266 géré par un croquis Arduino

L'ajout d'un troisième chien de garde est une bonne chose pour certains projets basés sur ESP8266 / Arduino. C'est qu'il est très facile d'écrire un croquis qui alimente les chiens de garde intégrés, mais qui néanmoins se plante. La tâche de ce chien de garde est de s'assurer que la boucle Arduino, loop(), est exécutée régulièrement [...plus (en anglais)]

2017-08-27

Chiens de garde du ESP8266 dans Arduino

Alors que les temporisateurs de surveillance matériel et logiciel du ESP8266 sont essentiels, ils ne suffisent pas à assurer le type de fiabilité nécessaire d'un objet relié à l'Internet (IdO). Dans un billet futur, je discuterai de la mise en œuvre d'un troisième chien de garde pour améliorer encore la fiabilité du microprogramme programmé dans cette puce. Avant, j'ai pensé qu'il serait utile de discuter des chiens de garde en général et d'approfondir certains des détails de ceux déjà disponible sur le ESP8266. [...plus (en anglais)]

2017-03-14

Traduction d'applications de type console dans Free Pascal

Dernièrement, j'ai remarqué que les unités DefaultTranslator et LCLTranslator ne peuvent pas être utilisées dans les applications de type console. Elles dépendent du paquet LCL en entier et la fonction SetDefaultLang veut traduire toutes les fiches du projet alors même qu'il n'y en a pas. J'ai donc décidé de retirer la traduction des fiches du code dans LCLTranslator et d'enregistrer cette version modifiée dans une unité appelée UnitTranslator [...plus].

J'ai identifié ce problème en révisant le programme de démonstration tcalc de mon analyseur syntaxique. Conséquemment, ce projet a été mis à jour [...plus]

2017-01-30

NodeMCU, MQTT et Domoticz - partie 2

Ce post poursuit l'exploration de NodeMCU, MQTT et Domoticz commencée les 15 et 17 janvier. Le sujet est de savoir comment s'abonner aux messages MQTT avec NodeMCU afin d'effectuer une tâche basée sur des messages publiés vers l'agent MQTT par d'autres dispostifs. En particulier, un commutateur virtuel du logiciel d'automatisation domotique met la DEL du WeMos D1 Mini sous ou hors tension [...plus (en anglais)]

January 21th, 2017

Wemos D1 mini et NodeMCU de nouveau

Le billet du 15 janvier a été légèrement retravaillé pour mieux expliquer le flux de travail lors de l'utilisation de NodeMCU avec des outils de ligne de commande. En particulier, le réglage correct du débit permet une expérience plus fluide [...plus (en anglais)]

2017-01-17

NodeMCU, MQTT et Domoticz - partie 1

Ce billet est une continuation du précédent. Je montre comment établir une connexion WiFi et comment mettre à jour un dispositif (un capteur de température) dans le logiciel de domotique Domoticz. Cela se fait de deux manières: en utilisant un courtier MQTT et en utilisant une requête HTTP. [...plus (en anglais)]

2017-01-15

Wemos D1 mini et NodeMCU

Lorsque j'ai acheté mes premiers commutateurs WiFi Sonoff de ITEAD, j'ai également obtenu un Wemos D1 mini. Je pensais qu'utiliser un kit de développement ESP8266 serait un bon moyen de se préparer à modifier les commutateurs. Dans ce billet, je raconte comment j'ai appris à programmer le ESP8266 en utilisant une chaîne d'outils composée du firmware NodeMCU et d'utilitaires de ligne de commande Python: esptool, nodemcu-uploader et miniterm. [...plus (en anglais)]

2016-08-30

Correction des unités ConvUtils et StdConvs de Free Pascal

Les unités ConvUtils et StdConvs ne sont pas compatible avec les unités du même nom de Delphi et on y retrouve quelques erreurs. J'ai décidé d'essayer de corriger le code Free Pascal dans l'espoir de soumettre ces corrections pour inclusion dans une future version du compilateur. Du coup, j'ai trouvé d'autre incompatibiltés avec Delphi dans dateutils [...plus]

2016-07-13

Évaluation des expressions mathématiques en Pascal objet

Pendant le portage du code à FreePascal / Lazarus, j'ai apporté quelques modifications à l'analyseur d'expression mathématique que j'avais initialement écrit dans Delphi. L'analyseur en une passe pour Free Pascal est complet, de même que la documentation [...plus]

2016-07-06

Séparateur de liste dans Linux

Il n'y a pas de séparateur de liste par défaut défini dans Linux. Alors quelle est la valeur affectée au champ nommé ListSeparator de l'enregistrement DefaultFormatSettings par le code de démarrage de Free Pascal ? C'est la virgule ',', comme aux États-Unis, qu'importe les paramètres régionaux sélectionnés par l'utilisateur. Puisque cela n'est pas toujours acceptable je propose une solution [...plus]

2016-04-04

Écueils dans Free Pascal/Lazarus

Après avoir tiqué sur une autre petite différence entre Free Pascal/Lazarus et Delphi, j'ai rédigé des notes au sujet de ces écueils. Les difficultés sont soulevées lors de l'affectation des types procéduraux et des gestionnaires d'événements, lors de l'appel d'une fonction sans paramètre à l'aide d'une variable procédurale, et lors de la récursion de fonctions sans paramètre. J'ai également couvert la création des modes de construction Debug et Release et l'ajout des symboles DEBUG et RELEASE dans le mode de construction approprié [...plus]

2016-01-27

Sliderbars - Deuxième partie

Deux composants s'ajoutent au paquet sujet de la discussion du 24 janvier. Le premier, nommé TSliderPlane, est une version deux dimensions de TSliderBar. Le second, TColorPlane est très spécialisé. Montrant un plan du cube de couleurs RVB, il peut être utilisé pour construire un sélectionneur de couleur en quelques lignes de code [...plus]

2016-01-24

Premiers composants Lazarus : sliderbars

Mes premiers composants pour Lazarus, sliderbars, sont maintenant disponibles. On peut les utiliser pour construire un dialogue de sélection de couleur en spécifiant les valeurs de rouge, vert et bleue. C'est très simple comme on peut le voir dans le deuxième programme de démonstration [...plus]

Cette page contient tout ce qui a été publié sur ce site au cours des ving-quatre derniers mois en rapport avec la programmation. La page Archives contient les liens vers tous les billets sur ce site. Éventuellement, on peut faire une recherche limitée au contenu de ce site avec la boîte de recherche qui se trouve au début de chaque page.