À la une de SQLPAC

Python, matplotlib. Installation dans un environnement virtuel avec redirection X11

pythonSur Ubuntu, un script Python 3 exécutant Matplotlib pour afficher un graphique avec redirection X11 échoue. Matplotlib a besoin d’un backend graphique. La distribution Python doit être reconfigurée afin de pouvoir utiliser le module tkinter qui interagit avec les fonctionnalités graphiques de Tcl/Tk.

Python, matplotlib. Installation dans un environnement virtuel avec redirection X11

Latex, PgfPlots - Remplissage des aires sous et entre les courbes

latexDans certaines circonstances, les aires doivent être mises en évidence. La librairie fillbetween du package PgfPlots, très simple d’utilisation, effectue le remplissage des aires : entre 2 courbes, ou entre une courbe et l’axe des abcisses. L’aire peut être divisée en segments en fonction des intersections entre courbes afin d’appliquer un style différent de remplissage.

Latex, PgfPlots - Remplissage des aires sous et entre les courbes

MathJax 3 - Méthodes javascript avancées de rendu

javascriptComment rendre les équations MathJax après une entrée utilisateur, une injection de code tex brut ou du contenu ajouté dynamiquement. 2 fonctions simples à connaître avec MathJax 3 pour du contenu plus interactif : typesetPromise, tex2chtmlPromise

MathJax 3 - Méthodes javascript avancées de rendu

Latex, PgfPlots - Courbes en coordonnées polaires

latexPar commodité, les courbes peuvent être définies en coordonnées polaires. Comment afficher les courbes définies en coordonnées polaires avec Latex et le package PgfPlots ? Diverses techniques possibles de tracé : avec la librairie polar de PgfPlots en degrés ou en radians ou dans un repère cartésien classique.

Latex, PgfPlots - Courbes en coordonnées polaires

Javascript - Import de blocs HTML, fetch

javascriptPour des blocs HTML relativement statiques (entêtes, pieds de page…), on cherche souvent une méthode simple pour importer du code HTML à partir de fichiers. Il existait une méthode simple (<link rel="import" href="footer.html">) MAIS cette spécification a été rendue obsolète. Quelle est l’alternative ? Utiliser la méthode javascript fetch.

Javascript - Import de blocs HTML, fetch

Latex, package tzk-tab. Tableaux de signes et de variations de fonctions

latexComment dessiner de jolis tableaux de signes et de variations pour des publications mathématiques avec Latex et le puissant package tkz-tab ? Une fois que l’on a compris le mécanisme des trois principales macros à connaître (tkzTabInit, tkzTabLine, tkzTabVar), un tableau de signes et de variations est construit en quelques minutes.

Latex, package tzk-tab. Tableaux de signes et de variations de fonctions

Latex, pgfplots - axes des abcisses avec multiples de pi pour les fonctions trigonométriques

latexComment appliquer des étiquettes multiples de pi sur l’axe des abcisses, y compris des fractions, pour les fonctions trigonométriques ? La définition des propriétés xtick et xticklabels donne le rendu attendu facilement.

Latex, pgfplots - axes des abcisses avec multiples de pi pour les fonctions trigonométriques

Latex, graphiques sur papier millimétré

latexDans un document Latex, comment créer des graphiques sur papier millimétré ? Comment automatiser les arrières plans papier millimétré avec une macro Tex ?

Latex, graphiques sur papier millimétré

Création d’images PNG des schémas dans des documents TeX/LaTex

latexDans les publications scientifiques, des schémas sophistiqués sont créés dans des documents Latex avec des packages (circuitikz pour les circuits électriques, chemfig pour les molécules chimiques…). Comment créer des fichiers images png à partir de schémas dans des documents Latex avec MiKTeX et TexMaker ?

Création d’images PNG des schémas dans des documents TeX/LaTex

MathJax, Macros et packages. Commandes Tex simplifiées

mathjaxNon habitué à Latex, en utilisant le langage HTML et la bibliothèque javascript MathJax pour publier du contenu comportant des expressions mathématiques, on est rapidement confronté à des syntaxes lourdes et répétitives. Pour automatiser, uniformiser et simplifier les commandes Tex, la bibliothèque javascript MathJax supporte les macros Tex. Quelques exemples très concrets pour les débutants qui vont au-delà des exemples "Hello World" pour mettre du texte en gras.

MathJax, Macros et packages. Commandes Tex simplifiées

CSS, auto numérotation des éléments : titres, listes, pagination

cssL’auto numérotation des titres avec Word, OpenOffice… est bien connu depuis des décennies. Comment y parvenir lors de la publication de pages HTML? CSS est puissant, CSS peut faire le boulot. Toujours investiguer les fonctionnalités CSS avant de démarrer un développement (Javascript…), souvent CSS est capable de couvrir un besoin et très facilement.

CSS, auto numérotation des éléments : titres, listes, pagination

InfluxDB v2, le langage Flux et les bases de données SQL

influxdbGrande nouveauté de la base de données time series InfluxDB v2 et de son langage Flux : les passerelles vers les moteurs de bases de données SQL (PostgreSQL, MySQL, Microsoft SQL Server…). Pour interagir avec des bases de données SQL, 2 fonctions simples : sql.from et sql.to. Cas d’utilisation et considérations spécifiques sur les conversions des types de données.

InfluxDB v2, le langage Flux et les bases de données SQL

InfluxDB - Langage Flux, fonctionnalités avancées

influxdbLe nouveau langage Flux dans InfluxDB v2 résout un bon nombre de limitations du langage InfluxQL. Tour d’horizon des fonctionnalités avancées du langage Flux : jointures, pivots, histogrammes, colonnes calculées (map), fonctions d’agrégat personnalisées (reduce). Dans la plupart des sujets, des cas d’utilisation réels sont abordés : joindre des données lorsque les horodatages diffèrent de quelques secondes, simuler une jointure externe en attendant les nouvelles méthodes de jointure à venir (left, right…), construire des histogrammes sans données cumulatives mais la différence…

InfluxDB - Langage Flux, fonctionnalités avancées

InfluxDB v2 : langage Flux, aide-mémoire

influxdbLangage Flux d’InfluxDB v2, guide rapide et aide-mémoire (cheat sheet). Interrogation des données, filtres, windowing, jointures, pivots, histogrammes, map, reduce, sources de données SQL…

InfluxDB v2 : langage Flux, aide-mémoire

Ubuntu - Certificats self-signed avec sa propre autorité de certification

ubuntuAvec les certificats auto-signés (self-signed), sans autorité de certificats, les erreurs "x509: certificate signed by unknown authority" tombent dès utilisation de lignes commandes pour des besoins très spécifiques (curl…). Il est tout à fait possible de créer sa propre petite autorité de certificats (CA) pour des certificats auto signés afin de ne pas devoir utiliser les options qui désactivent la vérification complète de la chaîne SSL jusqu’à l’autorité de certificats (curl --insecure, influx --skip-verify…).

Ubuntu - Certificats self-signed avec sa propre autorité de certification

InfluxDB - Passer du langage InfluxQL au langage Flux

influxdbPasser du langage InfluxQL (SQL-Like) au langage Flux d’InfluxDB v2 est un petit peu déroutant au tout premier abord, mais on acquiert très vite la mécanique. Un tour d’horizon sur la migration des requêtes InfluxQL existantes vers Flux (filtres, windowing, copie de données…) avec dans la mesure du possible une mise en parallèle des syntaxes.

InfluxDB - Passer du langage InfluxQL au langage Flux

InfluxDB : Migration vers la version 2, procédure

influxdbInfluxDB v2 est sorti officiellement en novembre 2020. La migration d’un serveur InfluxDB v1.8 vers InfluxDB v2 est assez simple. Ce qu’il faut retenir :
  • Une base de données + politique de rétention devient un bucket.
  • La rétro compatibilité avec les API 1.x est garantie, mais uniquement pour des users 1.x authentifiés.
  • Les continuous queries doivent être migrées en tâches Flux.
  • InfluQL est remplacé par le langage Flux.
  • Le support natif des protocoles OpenTSDB, Graphite… est retiré, Telegraf doit être mis en œuvre.
Un tour d’horizon de la migration avant de pouvoir profiter au mieux ultérieurement des fonctionnalités du langage Flux (jointures, pivots, packages SQL…)

InfluxDB : Migration vers la version 2, procédure

MySQL 8, clônage d’instances pour la réplication avec la commande CLONE

mysqlLe nombre d’étapes manuelles pour configurer une réplication est élevé en particulier lorsque l’instantané des bases de données du serveur source est effectué. À partir de MySQL 8.0.17, le nouveau plugin CLONE simplifie le provisionnement des replica. Quelques limitations à noter, sinon son utilisation est simple et l’opération de clônage peut même être monitorée. Bien pratique pour dupliquer des environnements, au delà de la réplication.

MySQL 8, clônage d’instances pour la réplication avec la commande CLONE

Réplication MySQL 8, binary log file position. Prise en main, démarrage rapide

mysqlPrise en main et installation rapide d’une réplication MySQL 8 par position dans les fichiers de logs binaires. Quelques spécificités MySQL 8 sont abordées :
  • changement de terminologie en cours dans les produits MySQL, changement qui impacte gradement la réplication.
  • effet de bord du nouveau nouveau plugin d’authentification caching_sha2_password.
  • nouveauté mode "read only" par base de données.

Réplication MySQL 8, binary log file position. Prise en main, démarrage rapide

Paramètres régionaux sur Ubuntu (locales), configuration des langues

ubuntuDans la plupart des langages de programmation, il est pratique d’utiliser les paramètres régionaux (locales) pour afficher des nombres, des dates… Les paramètres régionaux évitent le développement de fonctions pour formater les données. L’inconvénient majeur : les paramètres régionaux disponibles dépendent de l’OS. Si le paramètre régional demandé n’est pas installé sur l’OS hébergeant le programme, le formatage échoue ou revient à des paramètres par défaut. Un rapide survol des paramètres régionaux sur Ubuntu : installation, modification temporaire ou permanente.

Paramètres régionaux sur Ubuntu (locales), configuration des langues