• gtKonvert : 1ère application en Go avec GTK

    Je pensais créer un premier projet avec IHM en utilisant Fyne, je me suis finalement tourné vers la librairie GTK. Fyne est très prometteur, mais n'est pas assez "tunable" à mon goût. J'ai beaucoup utilisé la librairie de Widgets Qt, et aussi un peu GTK. Je n'ai pas trouvé ce que je voulais dans Fyne, j'y reviendrai donc probablement d'ici quelques mois...

    gtKonvert est une simple application de conversion d'unités qui va me servir de base pour exposer certains concepts de Go et de la librairie GTK.

     

    Lire la suite...


    votre commentaire
  •  

    batteryCheck : pour vous aider à préserver votre batterie de portable.

    batteryCheck est un petit programme que j'ai développé en Go pour préserver la batterie de mon portable. Il se lance avec 2 paramètres : la charge mini, et la charge maxi autorisée. Il affichera un message indiquant qu'il est temps de rebrancher le secteur lorsque la décharge de l'ordinateur atteindra la valeur mini autorisée, et affichera de même un message invitant à débrancher le secteur quand la charge aura atteint le max autorisé. Il s'appuie sur acpi pour la récupération de l'information de la charge courante, et zenity pour l'affichage des messages sur le bureau.

    Lire la suite...


    votre commentaire
  • Un super article qui aborde tout ces sujets de manière progressive et très bien expliqué !

    Article original sur https://ichi.pro

    --------------------------------------------------------------------------------------------------------------------------------------

    Road to Golang pro - Pointeurs et fonctions

     

    Quelques mots avant de commencer. Vous pouvez trouver le code utilisé dans ce didacticiel dans ce référentiel . Vous pouvez trouver le contenu complet de Road to Go Pro ici . Si vous avez manqué le dernier, vous pouvez le retrouver via ce lien .

    Nous avons parlé des contrôles de flux et des boucles dans la dernière partie du didacticiel. Dans celui-ci, nous couvrirons les pointeurs et les fonctions. Après avoir terminé les 4 premières parties de Road to Go Pro, vous êtes bien équipé pour commencer à écrire des scripts ou des applications console à l'aide de Go.

    Lire la suite...


    5 commentaires
  • Une petite video (en anglais), qui m'a bien débloqué pour mieux comprendre la notion de module et la commande "go mod init"

    Comment faire pour inclure vos propres modules/packages quand vous ne souhaitez pas les mettre sur un dépôt git?

    Les explications dans cette video...


    votre commentaire
  • J'ai eu un peu de mal à trouver un article qui m'explique clairement comment passer un pointeur vers une fonction comme paramètre d'entrée d'une autre fonction. Celui-ci, bien "qu'étrange" au niveau du français m'a permis de comprendre comment cela fonctionnait, et comment utiliser ces pointeurs de fonction.

    Je reprendrai ce sujet dans un article plus personnel au sujet d'un programme que je suis en train de terminer, programme qui me servira de support pour aborder certains points du Golang.

    --------------------------------------------------------------------------------------------------------------------------------------

    Article original sur askcodez.com

     

    Golang: pointeur vers la fonction de chaîne de caractères (nom de la fonction)

     

    Y-a-il une chance d'obtenir un pointeur vers une fonction à partir du nom de la fonction, passé comme une chaîne de caractères? Cela est nécessaire par exemple pour envoyer une fonction comme argument d'une autre fonction. Une sorte de métaprogrammation...

     


    votre commentaire
  • Ce blog me sert en grande partie d'aide-mémoire. Aussi, je reprendrai (tout en citant les sources) probablement pas mal d'articles répondant à des questions que l'on se pose forcément un jour ou l'autre.... on ne va pas ré-inventer la roue.... Aussi, ces articles pouvant être considérés commes des pointeurs vers des articles "extérieurs", leur titre sera préfixé du signe *

    Pour aujourd'hui donc, une page expliquant simplement comment parcourir un slice...

    --------------------------------------------------------------------------------------------------------------------------------------

    Article original sur golangprograms.com

     

    Comment parcourir un slice en Go

    How to Iterate Over a Slice in Golang?


    You can loop through the list items by using a for loop.

    Example

    package main
    
    import "fmt"
    
    func main() {
    	var strSlice = []string{"India", "Canada", "Japan", "Germany", "Italy"}
    
    	fmt.Println("\n---------------Example 1 --------------------\n")
    	for index, element := range strSlice {
    		fmt.Println(index, "--", element)
    	}
    
    	fmt.Println("\n---------------Example 2 --------------------\n")
    	for _, value := range strSlice {
    		fmt.Println(value)
    	}
    
    	j := 0
    	fmt.Println("\n---------------Example 3 --------------------\n")
    	for range strSlice {
    		fmt.Println(strSlice[j])
    		j++
    	}
    }

    votre commentaire
  • Lucas Willems

    LUCAS WILLEMS

    Un étudiant de 23 ans passionné par les maths et la programmation

    English
     
     

    Lien vers le site de Lucas : Tutoriel pour maîtriser les expressions régulières


    votre commentaire
  • Présentation de quelques concepts de base pour la programmation en Go avec un exemple basique.

    Le but ici est de récupérer les arguments passés à la ligne de commande et de les afficher.

    Voici le code :

    Lire la suite...


    votre commentaire
  • French Go, la renaissance de ce blog

     

    Ce blog est en sommeil depuis presque plus d'un an déjà.... Pas trop de temps à y consacrer, pas de motivation particulière jusqu'à...

    ..jusqu'à ce jour où je viens de (re)-décourvrir Go (Golang), le langage créé (chez Google!) par Robert Griesemer, Rob Pike et Ken Thompson.

    Je suis depuis plusieurs années à la recherche du "langage idéal", multiplateforme, rapide, efficace, et permettant facilement de programmer des IHM pour applications Desktop.

    Je viens plutôt du C++/Qt, intéressant, pour ne pas dire une référence, mais le C++ reste une approche assez lourde et complexe.

    Je suis aussi passé par Python, qui présente beaucoup d'avantages (bibliothèque impressionnante couvrant beaucoup de domaines, grammaire plutôt simple) mais qui peut pêcher par son "manque d'efficacité" parfois.

    Go me permettra-t'il de me rapprocher du Graal ? Des éléments de réponses à cette question ne manqueront pas d'apparaître dans de prochains articles. :-)

    En attendant, voilà ci-dessous un extrait de l'article sur Go sur Wikipédia :

    Lire la suite...


    votre commentaire
  •  

    Je me suis aperçu ce matin d'un bug critique en utilisant pyFC (enfin, pyFC-GUI). L'utilisation d'un mot de passe (optionnel, pour une couche de chiffrement supplémentaire en AES) faisait crasher l'application !

    Je n'avais jamais rencontré ce problème auparavant... mais après réflexion, ces dernières utilisations de pyFC remontent à quelques mois, et la version de python que j'utilisais à cette époque était python 3.6.

    Je suis passé depuis sous Linux Mint 20, et la version courante de python est la 3.8... BINGO !

    Lire la suite...


    votre commentaire
  •  

     

    Voici (enfin) la nouvelle mouture de pyFC en version 0.3, avec au menu des nouveautés :

    •  Une "nouvelle" interface graphique (les allergiques à la ligne de commande n'ont plus d'excuses ! :-))
    •  La possibilité de choisir la taille des jeux de clés
    •  Une "surcouche" (optionnelle) de chiffrement en ajoutant un mot de passe (AES 256 bits) si vous le souhaitez en plus du chiffrement avec les jeux de clés
    • Une révision du code permettant un fonctionnement sous Windows qui n'a (presque) rien à envier à celui sous Linux

     

    Lire la suite...


    votre commentaire
  •  

     

    En développant sous Python, (donc en utilisant beaucoup la console), j'ai pu constater à quel point 'cmd' sous Windows, ça pique les yeux !

    Sans vouloir en rajouter une couche sur mes préférences en matière d'OS, il faut avouer que quand on passe ses journées à coder, avoir une console, un éditeur de texte et un environnement de développement un minimum confortable et ergonomique n'est pas du luxe...

    En cherchant un peu, je suis tombé sur cmder : un émulateur de terminal sous Windows incluant bash et git qui est vraiment bien fait !

     

    Lire la suite...


    votre commentaire
  •  

     

    Il y a parfois des applications pour lesquelles il serait pratique d'avoir un accès directement dans l'explorateur de fichiers. C'est le cas de pyFC. En effet, plutôt que d'aller ouvrir un terminal et d'y entrer toute une ligne de commande afin de chiffrer ou déchiffrer un fichier ou répertoire particulier, il serait bien plus logique de pouvoir sélectionner à l'aide d'un clic-droit ce fichier ou répertoire, et d'y appliquer le traitement désiré. C'est chose possible en éditant les actions des navigateurs de fichiers comme Nautilus ou Caja sous Linux... Je ne sais pas ce qu'il en est de Dolphin, j'ai arrếté d'utiliser KDE depuis des années (trop lourd pour mes machines!)...

     

    Lire la suite...


    votre commentaire
  •  

     

    J'ai publié assez récemment un article sur une première mouture de mon script pyFC.py (voir ici) dédié au chiffrement des données. J'ai dans cette nouvelle version 0.2 corrigé quelques défauts de jeunesse, notamment le fait que le chiffrement pouvait produire en sortie plusieurs fichiers, ce qui n'est pas forcément facile pour s'y retrouver. De plus, les noms de ces fichiers étaient définis à partir du 'Unix timestamp' relevé au moment du chiffrement, ce qui n'aide pas non plus à savoir ce que contiennent les blocs chiffrés. Dans cette nouvelle version, le fichier final produit n'est plus un ensemble de blocs chiffrés, mais un seul "vrai-faux" fichier pdf qui portera le nom soit du fichier, soit du répertoire que l'on vient de traiter.  

    Lire la suite...


    votre commentaire
  •  

     

    Lors de la création de ce blog, j'ai rencontré un problème dont la solution (plusieurs existent) - enfin - la solution idéale et facile à mettre en place n'a pas été si facile à dénicher. Dans ce blog, je voulais pouvoir facilement intégrer du code source, si possible avec un beau rendu. Je passerai ici les diverses tentatives infructueuses pour aller directement vous parler de highlight. Ce programme existe sous Linux, Mac et Windows, et est capable après avoir parsé votre code source de créer une page html avec le rendu de votre choix. Ce rendu est obtenu à partir de divers paramètres que vous aurez passé à highlight, comme la police d'écriture, le thème à appliquer, etc...

    Lire la suite...


    votre commentaire
  •  

     

    Aujourd'hui, nous allons voir un peu comment protéger nos fichiers avec Python3. Le but est de chiffrer (crypter pour les malpolis :-)) n'importe quel fichier ou répertoire de manière à pouvoir l'envoyer sur un cloud ou sur une boite mail sans que le fournisseur de services puisse mettre son nez dedans...

    Oui, je sais Google, “ tes serveurs s'ennuient ” ... Vous pourrez voir ce charmant message si vous videz complètement votre compte Gmail... Comme quoi, ils sont bien occupés à lire vos courriers si vous utilisez leurs services...

    Lire la suite...


    votre commentaire
  • Tampon DNS

    Ce premier article traite d'un script python permettant de mettre à jour mon fichier hosts (sous Linux). J'utilise ce fichier hosts comme 'tampon DNS' afin d'accélérer ma navigation internet, et en même temps pour filtrer un peu certains trackers et autres sites qui se régalent de nos données de navigation. Attention, je ne gère ici que l'IPV4 !

    Avant toute requête DNS, le navigateur va regarder dans ce fichier hosts si l'URL y est présente et utilisera dans ce cas l'adresse IP correspondante. L'expérience montre que l'on gagne énormément en vitesse de navigation par cette méthode, le principal problème étant que certains sites changent régulièrement d'adresse IP...

    Lire la suite...


    votre commentaire



    Suivre le flux RSS des articles
    Suivre le flux RSS des commentaires