logo

La passerelle par défaut d’IPFS permet de télécharger tous les fichiers présents sur IPFS, ce qui peut prendre beaucoup de bande passante et sembler que nous hébergeons n’importe quoi comme fichiers.

Pour permettre de limiter l’accès à certains chemins et à avoir l’air d’un site normal (non hébergé sur IPFS), j’ai créé ce proxy inversé qui affiche le contenu d’un répertoire IPFS précis selon le nom d’hôte demandé.

Spécificités:

  • Transmet l’entête X-Ipfs-Path pour permettre aux utilisateurs aillant IPFS et le compagnon d’installés sur leur ordinateur d’accéder directement au site via leur IPFS local.
  • Si un chemin est donné en mode « /ìpns/ », ce chemin est transformé en « /ipfs/ » et mis à jour chaque minute pour empêcher les détails lorsque la valeur n’est plus dans le cache.

Il est disponible:

Technologies: ,

Initialement, j’utilisais Supervisord lorsque j’avais besoin d’exécuter plusieurs applications dans un conteneur Docker. Par contre, cela impliquait d’installer cette application Python en plus de tout l’environnement Python dans toutes les images Docker à utiliser.

Au lieu de l’installer dans toutes les images, je voulais « monter » un répertoire avec les logiciels communs. Comme c’est en Python, il faudrait aussi « monter » Python, ce qui n’est pas simple.

À la place, j’ai créé un logiciel en Golang qui peut exécuter plusieurs applications.

Spécificités:

  • Fichier de configuration en JSON
  • Affiche les stdout/stderr dans le stdout/stderr commun pour tout voir avec « docker logs »
  • Dès qu’une application s’arrête, toutes les autres applications sont arrêtées

Il est disponible:

Technologies:

Une application pour aider à configurer des bases de données.

Spécificités:

  • Prends un fichier de configuration en format JSON avec toutes les informations sur l’état final désiré.
  • Crée et efface les bases de données.
  • Crée et efface les utilisateurs.
    • Peut en ignorer certains, tels ceux administratifs (root).
  • Donne et enlève les permissions des utilisateurs sur les bases de données.
  • Supporte MariaDB et MongoDB.
  • Peut rouler continuellement et réappliquer l’état désiré périodiquement et lorsque le fichier de configuration change.

Disponibilité:

Technologies: , ,

Auparavant, j’utilisais Apache James directement, mais ce n’était pas optimal pour facilement configurer cette application avec mes composantes supplémentaires de gestion des comptes et des redirections.

Spécificités:

  • Utilise Apache James comme librairie à cette application Java
  • Utilise MariaDB
  • Lit un fichier de configuration en JSON et vérifie s’il est modifié. Il configure
    • Les domaines servis
    • Les comptes avec leur mot de passe (en clair ou en SHA-512)
    • Les redirections

Disponibilité:



Technologies: , , ,

J’avais créé ce logiciel web en 2015 en utilisant Groovy et Grails et je l’ai réécris en Java pour le mettre à jour.

Spécificités:

  • Utilise VueJS pour le frontend
  • Permet de gérer
    • Des clients
    • Des items
    • Des items récurrent (par mois / par année)
    • Des transactions
  • Multilingue (français et anglais)
  • Affiche des rapports sur les états de comptes et items par catégorie par mois
  • Permet de créer des factures et de les envoyer par courriel (une facture est une transaction avec plusieurs items)

Disponibilité:

Technologies: , , ,