Date Picker dans une class based view

Petite astuce permettant de gérer un date picker (calendrier qui apparaît pour la saisie d’une date dans un champ date) avec Django, Crispy-forms, bootstrap 5.

Cette astuce est très courte, mais j’ai passé plus d’une heure à trouver une solution qui me convenait, c’est la raison pour laquelle je la mets ici.

J’ai trouvé plein de solutions sur le web qui permettaient de le faire, en ajoutant notamment des modules plus ou moins bien faits, ou des scripts javascripts, des css et tout ça. Je voulais rester simple. Mes contraintes étaient les suivantes :

  • rester sur une class based view, donc sans form.py
  • utiliser uniquement le type="date" de la balise <input> qui permet d’avoir un date picker avec un navigateur moderne
  • rester avec une génération automatique d’un formulaire en bootstrap 5 avec le très minimaliste filtre crispy dans ma template :
{{ form|crispy }}
Read more « Date Picker dans une class based view »

Gérer ses secrets dans des variables d’environnement

Vous vous demandez sans doute pourquoi un article sur ce sujet alors qu’on trouve plein de documentation sur le sujet sur le web. Eh bien parce que j’ai un tout petit peu galéré pour savoir où il fallait mettre ces satanées variables d’environnement pour que tout fonctionne bien.

Read more « Gérer ses secrets dans des variables d’environnement »

Gestion des environnements dev, préproduction, production

Cet article vous propose une méthode de gestion du fichier settings.py de python pour déployer facilement et rapidement avec GIT depuis l’environnement de développement, en préproduction puis en production sans rien changer dans le code.

La façon la plus intéressante de gérer les variables du fichier settings.py de Django est sans doute d’utiliser les variables d’environnement. Je parlerai de ces variables dans un autre article. Toutefois, que faire si l’environnement de pré-production et l’environnement de production sont hébergés sur le même serveur apache ? Je vous propose une solution que j’ai mise en place et qui me fait gagner un temps précieux.

Read more « Gestion des environnements dev, préproduction, production »

WordPress Upgrade Script – mise à jour automatique

Ces dernières années, j’ai cherché à automatiser au maximum la gestion de l’ensemble des sites hébergés en WordPress. J’avais notamment une méthode de mise à jour à partir de différents scripts en Bash présentés dans un article précédent.

Toutefois, cette méthode imposait de dupliquer et de modifier certains scripts lors de l’ajout de nouveaux sites hébergés. J’ai donc décidé de réaliser un script en python qui utilise un fichier de configuration des différents sites. L’ajout d’un nouveau site ne représente donc que peu de travail à savoir l’ajout d’une nouvelle section dans le fichier de configuration. Read more « WordPress Upgrade Script – mise à jour automatique »

Site WordPress en https

Dans un article précédent, nous avons vu comment créer un certificat avec Let’s Encrypt et comment l’installer sur un reverse-proxy ou un serveur web Nginx, mais ce n’est pas tout à fait suffisant pour réaliser la migration d’un site WordPress https. Cet article vous présente donc les étapes complémentaires pour compléter la migration d’un site WordPress. Read more « Site WordPress en https »

Envoi automatique de production photovoltaïque

Envoyer sa production photovoltaïque sur BDPV peut s’avérer un peu difficile si l’on souhaite totalement l’automatiser. Nous allons voir comment avec un simple Raspberry Pi, il est possible de relever l’index d’un onduleur SMA en Bluetooth avec SBFspot et de stocker les données dans une base MySQL, puis, chaque nuit, d’envoyer le dernier index de production photovoltaïque sur le site www.bdpv.fr pour archiver la production et pouvoir la comparer aux installations alentour. Read more « Envoi automatique de production photovoltaïque »

Let’s Encrypt, reverse-proxy NginX, https

Avec l’arrivée de Let’s Encrypt, il est désormais possible pour les particuliers d’obtenir des certificats SSL/TLS pour leurs sites et de passer ainsi de http à https. Je vous propose dans cet article de voir comment obtenir des certificats Let’s Encrypt et comment les installer sur un reverse-proxy Nginx. Read more « Let’s Encrypt, reverse-proxy NginX, https »