Menu principal

Statut de la page

Mes scripts i3blocks pour générer les éléments ma barre i3-wm

i3-wm est le gestionnaire de fenêtres que j'utilise depuis quelques d'années maintenant. Au fur et à mesure du temps, j'ai fais évoluer mon interface et j'ai écris des scripts pour générer les informations affichées dans la barre du dessus. Parce que je suis plus à l'aise avec ce langage, l'ensemble des scripts est écrit en PHP 7. Ces scripts sont exécutés au travers de i3blocks, l'utilitaire qui gère les exécutions et les rendus des blocs. Le fichier de configuration a cette [...]
Lire la suite
Vus : 84
Publié par Simon Vieille : 54

Mes scripts i3blocks pour générer les éléments de ma barre i3-wm

i3-wm est le gestionnaire de fenêtres que j'utilise depuis quelques d'années maintenant. Au fur et à mesure du temps, j'ai fais évoluer mon interface et j'ai écris des scripts pour générer les informations affichées dans la barre du dessus. Parce que je suis plus à l'aise avec ce langage, l'ensemble des scripts est écrit en PHP 7. Ces scripts sont exécutés au travers de i3blocks, l'utilitaire qui gère les exécutions et les rendus des blocs. Le fichier de configuration a cette forme [...]
Lire la suite
Vus : 52
Publié par Simon Vieille : 54

Équivalent du MATCH AGAINST de MySQL sur PostgreSQL

Le blog est propulsé sur un système de gestion de contenu écrit sur Symfony. Les données sont gérées dans une base MariaDB et ça tourne très très bien :) Pour apprendre à utiliser PostgreSQL, je me suis donné comme défi de rendre compatible ce blog avec PostgreSQL. Fort heureusement, j'ai un ORM et 90% du boulot est géré par 3 lignes de configuration. Le moteur de recherche est un peu plus compliqué à migrer puisque j'ai généré des requêtes en dehors de l'ORM. Son fonctionnement est relativement standard car quand un utilisateur saisi des mots clés, une première requête SQL va donner un score aux articles du blog publiés et je vais afficher ceux qui dépassent une valeur donnée. Pour ce faire, j'utilise MATCH AGAINST de MySQL/MariaDB et la requête donne ça [...]
Lire la suite
Vus : 89
Publié par Simon Vieille : 54

[tips] PHP FPM : récupérer la vraie adresse IP du visiteur

Mon serveur web fonctionne par couches. La première couche est gérée par Nginx et traite les requetes HTTP des internautes. Nginx gère les problématiques de cache sur les assets, c'est à dire les images, les fichiers javascripts et enfin les fichiers CSS. Ensuite, il transmet les requêtes au serveur web Apache qui va délivrer le site web concerné et faire appel au process manager de PHP (FPM) pour exécuter PHP. En l'état, il n'est pas possible de connaître l'adresse IP de l'internaute via la variable globale $_SERVER en utilisant l'index REMOTE_ADDR. En effet, si j'affiche le contenu de $_SERVER['REMOTE_ADDR'], j'aurai comme résultat 127.0.0.1 qui est l'IP locale de Nginx. Cependant, j'ai configuré Nginx de tel sorte qu'il ajoute les entêtes HTTP X-Forwarded-For et [...]
Lire la suite
Vus : 223
Publié par Simon Vieille : 54

Sharepoint Office365 sur Linux : automatiser l'authentification

Suite de l'aventure avec Sharepoint ! On a pu passer 2 étapes cruciales pour jouer avec Sharepoint Online : Sharepoint Office365 sur Linux (Webdav/Davfs) avec des fichiers accentués Monter un partage Sharepoint Office365 sur Linux (Webdav/Davfs) Après quelques jours d'utilisation, il s'avère que les cookies d'authentification ne sont plus valables. C'est un gros problème car c'est pénible de les récupérer manuellement pour ensuite les injecter dans le fichier de configuration Davfs. J'ai planché quelques heures sur une solution : réaliser le parcours de connexion d'un utilisateur qui passerait par [...]
Lire la suite
Vus : 300
Publié par Simon Vieille : 54

Gist 1.9.0 en ligne… Vive le monde du dev front !

La version 1.8.3 aussitôt publiée, j'avais complètement oublié la mort de bower au profit de yarn. Du coup, une tentative d'installation et tout fonctionne sauf les assets qui étaient gérés avec bower.

J'avais 2 choix possibles : utiliser yarn pour remplacer bower pour sans doute le voir disparaître dans quelques mois ou choisir un outil un peu plus bas niveau : NPM. La version 1.9.0 inclue donc NPM pour gérer les assets de Gist.

Dans cette version, il y a également un script exécuté à la fin des commandes composer pour configurer l'application sans passer par une édition manuelle des fichiers :

Pour mettre à jour votre application Gist coté client et serveur : make à la racine du projet.

Vus : 275
Publié par Simon Vieille : 54

Gist 1.8.3 released! 2 bugs majeurs fixés

Gist est un service en ligne et une application auto-hébergeable pour partager du code sur le web et en ligne de commande.

J'ai publié à l'instant la version 1.8.3 qui corrige 2 bugs majeurs concernant l'API :

  • La mise à jour d'un GIST requêtait le mauvais end point (diff)
  • Le contrôleur PHP pour la mise à jour d'un Gist pouvait récupérer un Gist qui n'était pas celui qu'on voulait mettre à jour (diff)

Pour mettre à jour votre application Gist coté client et serveur :

Vus : 234
Publié par Simon Vieille : 54

Remote i3-wm WS : ma télécommande pour bureau Debian GNU/Linux

Il m'arrive d'avoir besoin de prendre le contrôle de ma machine via mon Android (bouger la souris, scroller et taper du texte). J'ai quasiment toujours utilisé l'application Pointer Host. elle s'appuie sur un serveur Java lancé sur ma machine. Pour bouger la souris et générer des cliques, elle est très efficace. Cependant, l'écriture de caractères a toujours posé problème (chiffres et lettres accentuées erronés). Depuis quelques semaines, j'ai envie de jouer avec les websockets et réécrire une appli du genre m'a semblé être un bon exercice. Ce que je vais vous présenter est une POC. Cette application n'est pas sécurisée et est orientée pour mes besoins. Il est cependant très simple de la faire évoluer. Voici mon [...]
Lire la suite
Vus : 371
Publié par Simon Vieille : 54

GDPR : impact sur l’ensemble de vos développements

Le GDPR (ou RGPD en français) est le nouveau règlement européen en matière de protection des données personnelles. Pas d’inquiétude, je ne vais pas faire de présentation complète du sujet! C’est indigeste et je ne suis pas coutumier des gros dossiers. Il s’agit d’un article de vulgarisation, il y a des raccourcis et des approximations, l’objectif est de donner un aperçu grossier de ce que la GDPR implique. De plus, l’article sera très grandement inspiré de l’article anglophone de Bozho (n’hésitez pas à lire la version originale), ce dernier est très orienté pour les développeurs. Nous allons plutôt parler fonctionnalité et implémentation que règlement. Le GPDR en [...]
Lire la suite
Vus : 909
Publié par Wodric : 12

Exploiter du JSON en Bash avec PHP

Faire du JSON avec PHP ou tout autre langage orienté web, c’est trivial. Mais lorsqu’il faut commencer à se le coltiner en Bash, c’est déjà plus galère.. Pour un besoin personnel, je dois justement lire du JSON dans un shell. Le cahier des charges est simple : J’ai PHP et Python sur la bécane (un serveur), et dans l’optique de partager ce code plus tard, je ne souhaite pas avoir de dépendances. Exit donc jq, qui est [...]
Lire la suite
Vus : 384
Publié par Max Koder : 16
Powered by BilboPlanet