Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Si vous codez en Go, vous aurez forcément besoin de cette lib un jour. Elle s’appelle Excelize et elle permet de manipuler des fichiers Excel directement dans vos programmes écrits en Go.

Elle permet ainsi de lire et d’écrire des fichiers Excel de différents formats ( XLAM, XLSM, XLSX et XLTX) et prend également en charge les anciennes versions 2007 et ultérieures.

Excelize permet ainsi de traiter de gros fichiers, donc de gros volumes de fichiers ce qui est super pratique pour vos moulinettes du boulot ou créer des process de traitements divers et variés. Et oui, le format Excel est une saloperie, mais c’est très utilisé donc il faut composer avec notamment dans le monde professionnel.

Pour l’installer, il vous suffit d’ouvrir un terminal et de taper la commande suivante :

go install github.com/xuri/[email protected]

Une fois installée, vous pourrez alors utiliser Excelize pour créer de nouveaux fichiers Excel ou pour lire des fichiers existants. Voici un exemple de code pour illustrer la création d’un nouveau fichier Excel et ajouter une feuille de calcul et une valeur à cette feuille.

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    // Créer une nouvelle feuille.
    index := f.NewSheet("Sheet2")
    // Définir la valeur d'une cellule.
    f.SetCellValue("Sheet2", "A2", "Hello world.")
    f.SetCellValue("Sheet1", "B2", 100)
    // Définir la feuille active du classeur.
    f.SetActiveSheet(index)
    // Enregistrer le fichier xlsx par le chemin donné.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Easyyyy !

Ensuite, pour lire un fichier Excel, vous pouvez utiliser la méthode « ReadFile » comme ceci :

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f, err := excelize.OpenFile("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // Obtenir la valeur de la cellule par nom de feuille de calcul donné et axe.
    cell, err := f.GetCellValue("Sheet1", "B2")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(cell)
    // Obtenez toutes les lignes de la feuille Sheet1.
    rows, err := f.GetRows("Sheet1")
    if err != nil {
        fmt.Println(err)
        return
    }
    for _, row := range rows {
        for _, colCell := range row {
            fmt.Print(colCell, "\t")
        }
        fmt.Println()
    }
}

Pratique non ?


Si vous aimez passer du temps sur Instagram et que parfois vous avez besoin de récupérer une vidéo ou une photo pour en faire Dieu sait quoi, j’ai une super extension Chrome pour vous.

Elle s’appelle pompeusement « Save & Repost for Instagram » et une fois installée sur votre navigateur (Chrome compatible donc Edge ça fonctionne aussi), elle rajoute 2 petits boutons discret squi vous permettra en 1 click d’obtenir la vidéo ou la photo que vous avez sous les yeux.

Ça vous évitera de devoir aller gratter dans le code source de la page ou dans les éléments chargés en ouvert la console développeur de votre browser.

Plus fort encore, en cliquant sur le second bouton, vous pourrez carrément reposter un contenu sur votre page Instagram.

Bref, ce n’est pas grand-chose, mais ça fonctionne bien !

C’est disponible ici si ça vous dit.


Editly est à la fois un outil bien pratique, mais également un framework conçu pour faire de l’édition vidéo à l’aide Node.js et ffmpeg.

Et alors me direz-vous ?

Et bien ça vous permet de créer facilement et surtout de manière programmatique une vidéo à partir de tous vos clips vidéos, images, fichiers audio et éventuellement des titres (texte) en y ajoutant évidemment des transitions et de la musique. L’outil s’utilise en ligne de commande, mais vous pouvez aussi lui donner un fichier de config à digérer pour qu’il fasse exactement ce que vous voulez à partir de tous les paramètres spécifiés dans ce JSON. Comme je le disais en intro, c’est également un framework, vous vous pouvez utiliser son API JavaScript qui est encore plus flexible.

import editly from 'editly';

// See editSpec documentation
await editly(editSpec)

Totalement inspiré de ffmpeg-concat, Editly est beaucoup plus rapide et ne nécessite pas énormément d’espace de stockage, car il édite la vidéo à la volée. On peut également étendre ses fonctionnalités avec des modules si besoin.

En termes de fonctionnalités, il permet d’éditer des vidéos, d’en créer « from scratch » à partir de couleurs et d’effets aléatoirement générés et il prend en charge de toutes les résolutions comme des vidéos 4K ou des photos DSLR. Au niveau des exports, c’est pareil, il peut aussi bien pondre un post Instagram (1:1), une story Instagram (9:16), un format pour YouTube (16:9) ou toutes les autres dimensions dont vous avez besoin. C’est vraiment un outil génial pour les créateurs qui font de la vidéo et qui ont besoin de sortir un même contenu sur plusieurs plateformes qui acceptent des formats et des tailles de vidéos différentes.

Voici un rendu d’une vidéo produite avec Editly :

Editly peut également accélérer / ralentir automatiquement les vidéos pour recaler comme il faut vos clips, superposer du texte, des images (y compris transparentes) et des sous-titres sur les vidéos, les images ou les arrière-plans. Il supporte également du JavaScript / HTML5 Canvas / Fabric.js pour tout ce qui est « écrans personnalisés » ou pour pouvoir ajouter des superpositions dynamiques sur les vidéos.

Vous pourrez également exporter un GIF, ajouter des effets de vignette, conserver 1 seule source audio ou au contraire en mixer plusieurs, ou encore rajouter des fondus automatiques et de la normalisation sur le son.

En ce qui concerne l’installation, cette merveille peut fonctionner sous Windows, macOS ou Linux.

Pour l’installer, vous devez entrer la commande suivante :

npm i -g editly

Une fois installé, vous pourrez alors utiliser l’interface en ligne de commande pour assembler rapidement une vidéo ou utiliser son API JavaScript pour créer des choses plus complexes. Et comme je l’évoquais avant, vous pouvez également utiliser des fichiers JSON pour spécifier les paramètres du montage attendu. Je vous invite à lire la documentation pour en savoir plus.

Ce mode de fonctionnement « automatisé » de l’édition vidéo va vous faire gagner un max de temps si vous souhaitez par exemple créer un diaporama à partir de dizaines d’images en rajoutant du texte par-dessus, ou encore créer une bande-annonce ou une vidéo promo. Certain font même des chaines YouTube avec du contenus entièrement générés comme ça.

Mais vous pouvez l’utiliser simplement pour recadrer automatiquement une vidéo pour l’avoir dans plusieurs formats, c’est également super pratique.

Bref, j’ai trouvé ça génial et c’est à tester ici !


Qui n’a jamais rêvé d’avoir une belle page de monitoring sur son serveur pour suivre l’état de santé de ses applications ?

Statping-ng (fork de Statping) est un outil simple d’utilisation qui permet de créer ce genre de page de statut pour toutes vos applications et vos sites web. Ce script va automatiquement récupérer les données de vos app et en faire une belle page de statut.

Tout est personnalisable donc vous pouvez rendre ça vraiment joli ou en tout cas, adapté à vos besoins. Ainsi, si votre serveur tombe en panne, votre page de statut devrait toujours être en ligne pour informer vos utilisateurs de l’indisponibilité. Veuillez quand même à bien héberger Statping-ng sur un autre serveur que celui de vos applications ^^.

Pour le lancer avec Docker, c’est hyper simple :

docker run -it -p 8080:8080 adamboutcher/statping-ng

Il peut aussi se lancer avec le Docker Compose fourni (j’adore Docker Compose ^^). Heureusement pour vous, Statping-ng est une application très légère, dispo pour Linux, Mac et Windows qui peut même tourner sur un simple Raspberry Pi. Ce serait dommage de s’en priver !

Une application mobile est également disponible sur l’App Store et Google Play gratuitement. Elle vous permettra de consulter l’était de vos services et évidemment de recevoir des notifications lorsque l’un d’entre eux est hors ligne. Vous pouvez même envoyer directement des emails ou encore des messages sur Slack grâce à ses webhook.

En résumé, Statping-ng est un outil vraiment utile pour les développeurs et les administrateurs systèmes car il vous permettra enfin de créer une page de statut pour vos applications et sites web, très rapidement, avec toutes les fonctionnalités et la personnalisation dont vous avez toujours rêvé.

Plus d’infos ici.

Et dans le même style, il y a également Kuma dont j’ai déjà parlé ici.


Hé salut les amis !

Si vous cherchez un moyen facile de recadrer vos images pour différentes plateformes sans avoir à télécharger de logiciel, alors ce site est fait pour vous !

Nommé CropScore, ce site web vraiment cool vous permet de télécharger des images aux formats PNG, WEBP et JPEG et de les recadrer soit au format voulu, soit grâce à toute une une gamme de tailles de recadrage prédéfinies pour les plateformes de réseaux sociaux courantes : Twitter, Facebook, Médium, Pinterest, YouTube, et j’en passe.

L’idée c’est de pouvoir recadrer une image pour en faire une cover YouTube, une bannière Twitter ou un avatar pour Facebook. À vous de voir !

CropScore vous offre aussi des outils de déplacement, de zoom et de rotation pour affiner vos recadrages, avec des données de résolution en temps réel pour vous aider à évaluer la qualité de votre recadrage. Vous pouvez même prévisualiser votre image recadrée avant de la télécharger.

Et si vous faites une erreur, pas de panique : vous pouvez réinitialiser l’image et les fenêtres de recadrage à leur état d’origine.

Bref, CropScore c’est la solution idéale pour recadrer vos images facilement et rapidement, que vous soyez un pro de la retouche photo ou simplement quelqu’un qui veut partager des photos sur les réseaux sociaux. À bookmaker d’urgence !

Le CropScore est à découvrir ici.


Mes gazouillis

Création d’un service de l’intelligence artificielle à la CNIL et lancement des travaux sur les bases de données d’… https://t.co/eg3C5MDnLO
Les débiles 🤣🤣 #kbn https://t.co/vtrzoZRUdP