Pour mes besoins de gestion, je souhaite me développer de quoi alimenter une base de données PostgreSQL. Rien de très compliqué, mais qui va me faire gagner du temps et me permettre d'assurer le pilotage de mes affaires.
Par ou commencer ? Quel language est le plus simple à prendre en main, pour aller à l'essentiel (le service que va me rendre l'application) et une bonne intégration/usage avec mon poste de travail ?
Après une rapide étude et quelques tests :
* Php : certainement très bien, mais php n'est pas trop utilisé en dehors du web, et j'accroche pas à son fonctionnement.
* Ruby : superbe language, mais les gem c'est toujours la merde. J'ai voulu installer la gem rails et paff ça plante sur la compilation d'un module. Classique mais pénible.
* Python : ça ressemble à une piste valable. J'ai tjs lutter contre mais faut pas être c.. on va donc essayer. Plus particulièrement, il y a le framework Flask qui est réputé simple et rapide à prendre en mains.
Au quotidien, j'utilise **fish** comme shell, mais il y a quelques problèmes car le standard est bash. Ici le vrai problème que j'ai rencontré, c'est dans l'utilisation du serveur http intégré de Flask. Avec fish, il plante, avec bash tout va bien.
On va donc faire en sorte de lancer le serveur de développement, en étant sous bash.
La dérivation va nous créer un environnement avec python39 et flask. On peut y ajouter tout ce dont on a besoins, comme le moteur de la bdd PostgreSQL (ce qu'on fera plustard dans le projet)
Comme je suis faignant, je vais utiliser un fichier **.envrc** pour charger automatiquement mon nix-shell. On ajoute donc la ligne suivante dans le fichier **.envrc** :
Normalement, dès que vous entrez dans le dossier, le virtualenv est chargé, les variables d'environnement aussi et vous pouvez tester votre nouvelle application avec un simple :
flask run
Si vous avez besoins de modules via pip, il suffit de décommenter la ligne commençant par pip et de renseigner le fichier requirements.txt. Les modules seront automatiquement installés.
Reste plus qu'a mettre l'ensemble dans un dépôt git et à vous concentrer sur votre application.