Skip to content

Générer un ficher Excel en C++

Pour générer un fichier XLSX en C++ (sans nécessité d'avoir les produits offices installés), il existe plusieurs bibliothèques disponibles. Il est parfois difficile de s'y retrouver car nombres de bibliothèques s'avèrent n'être plus maintenues. Voici une petite sélection :

- libxlsxwriter : bibliothèque en C, simple à utiliser, très bien documentée et avec peu de dépendances.
- openxlsx : simple à utiliser, permet aussi de lire et manipuler des fichiers Excel.
- xlnt : même démarche de la bibliothèque précédente.
- qtxlswriter : simple a utilisée, elle est basée sur la bibliothèque Qt (Qtlib - est-ce encore du C++ ?)
- libxl : très complète, peut utilisée pour lire et modifier des fichier xlsx mais aussi xls. Pb : c'est la seule bibliothèque présentée ici qui n'est pas open-source. Elle nécessite en outre l'achat d'une licence dont le prix est de l'ordre de 200$ par développeur et par environnement (Windows, Linux, Ios, ...) - existe en version C, C++, C# et Delphi

Il serait intéressant aussi de voir quels outils utilise libre-office (écrit en C++) pour manipuler les fichier Excel...

Arrêter la carte Nvidia Optimus Prime sous Ubuntu 20.04

Ubuntu 20.04 fonctionne sans problème sur les portables utilisant une carte graphique hybride Nvidia Optimus (Prime). Le problème est que la carte Nvidia reste alimentée même si on ne l'utilise pas, ce qui est le cas lorsque l'on ne joue pas. Voici comment l'éteindre. Sur un ZeenbooK UX392FN, cela permet de diviser par deux la consommation (qui devient inférieur en mode surf internet à 4W), et donc de doubler l'autonomie. Par ailleurs, cela évite le démarrage du ventilateur qui bien que discret est audible dans une pièce très calme.

Pour arriver à cela, il faut
- installer les drivers nvidia
- sélectionner la carte graphique Intel
- installer bbswitch
- empêcher le driver open-source "nouveau" de se lancer au démarrage
- lancer bbswitch au démarrage pour éteindre la carte Nvidia

source : https://medium.com/@agathver/nvidia-gpu-optimus-prime-and-ubuntu-18-04-woes-f52e7f850f3d Continuer à lire "Arrêter la carte Nvidia Optimus Prime sous Ubuntu 20.04"

Pb de PhpMyAdmin avec PhP 7.2 : count(): Parameter must be an array or an object that implements Countable

Si un message de type Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable - apparaît lors de l'utilisation de PhpMyAdmin, il faut effectuer des modification à la main dans les fichiers php de la bibliothèque qui gère le SQL

Source : https://openclassrooms.com/forum/sujet/erreur-dans-phpmyadmin Continuer à lire "Pb de PhpMyAdmin avec PhP 7.2 : count(): Parameter must be an array or an object that implements Countable "

Mode portrait et touchpad sous Ubuntu

La Recherche, plus lisible en portrait...

Il est assez facile de réorienter l'écran sous Ubuntu, mais cela ne suffit pas. Il peut aussi être utile de retourner en même temps l'écran tactile et le touchpad (sinon il reste la possibilité d'utiliser une souris).

La commande xinput permet d'appliquer une matrice de transformation aux entrées de ces périphériques et d'inverser ainsi l'axe des X et celui des Y.

Sources :

⎡ X ⎤   ⎡ a11 a12 a13 ⎤   ⎡ X réél ⎤
⎜ Y ⎥ = ⎜ a21 a22 a23 ⎥ . ⎜ Y réél ⎥
⎣ Z ⎦   ⎣ a31 a32 a3  ⎦   ⎣ Z réél ⎦                          

Pourquoi un axe des Z alors que le périphérique n'est qu'en deux dimensions ? Hypothèse le Z représenterait la dimension max de l'écran. Si un coefficient est inférieur à 0 sur un ligne N, il faudrait ajuster le coefficient an3 de manière à ce que : an1+an2+an3=0.

Je ne peux véirifier l'hypothèse n'ayant pas d'écran tactile sous la main, étant donné que le touchpad, n'envoie, lui, que des (x,y) relatifs. Pour ce périphérique, les coefficient an3 ne semblent pas avoir d'effets.

Voici en pratique comment passer en portrait et revenir en paysage avec l'exemple de trois scripts.

Continuer à lire "Mode portrait et touchpad sous Ubuntu"

Google et site en JS

Processus d'indexation de Google
Google Indexe un site web en deux phases :

1) une indexation purement HTML
2) une indexation à l'aide un moteur de rendu (Chrome 41) qui permet de prendre en compte le Javascript.

Problème : la phase II n'est réalisée que lorsque des ressources sont disponibles dans les datacentres de Google. Dans la pratique; pluiseurs semaines peuvent s'écouler entre les deux phases.

Voir la vidéo : https://youtu.be/PFwUbgvpdaQ

Source : https://www.searchenginejournal.com/google-strongly-recommends-using-html-to-get-content-indexed-quickly/269841/ Continuer à lire "Google et site en JS"

Générateurs de sites web statiques

Les générateurs de sites statiques sont apparus en 2008 (Jeckyll, Middleman). Ils permettent à partir d'un CMS, typiquement un logiciel de blog dynamique de type Wordpress, de générer des pages statiques. Cette approche permet de mettre en ligne un site très performant et offrant très peu de surface aux attaques. Il n'impose de plus que peu de contrainte à l'hébergeur.

Cet article liste quelques générateurs de sites statiques.

Sources :

Continuer à lire "Générateurs de sites web statiques"