Categories
Programming

Déploiement de Newspipe

J’ai récemment fait quelques efforts pour faciliter le déploiement de Newspipe. Vous pouvez utiliser le bouton disponible à cette page pour le déploiement sur Heroku. C’est la méthode la plus facile. Pour les personnes qui ne souhaitent pas utiliser Heroku, l’installation via Vagrant est également simple. Pour le moment, l’instance principale n’accepte plus la création de nouveaux comptes (je paye…). Cette page fournit plus de détails à propos du déploiement.

Python 3.6 sera utilisé par défaut sur une installation Heroku ou Vagrant. Cette version de Python est aussi conseillée pour «l’installation manuelle». Une nouvelle page permet de vérifier la version de Python utilisée.

Categories
Programming

Utiliser pyAggr3g470r avec la nouvelle stack Heroku

Évidemment pyAggr3g470r fonctionne avec la nouvelle stack Cedar-14 (basée sur Ubuntu 14.04).
Voici comment mettre à jour votre instance:

$ heroku stack:set cedar-14
Stack set. Next release on pyaggr3g470r will use cedar-14.
Run `git push heroku master` to create a new release on cedar-14.
 
$ git commit --allow-empty -m "Upgrading to Cedar-14"
[master 203eef6] Upgrading to Cedar-14
 
$ git push heroku master
Enter passphrase for key '/home/cedric/.ssh/id_rsa': 
Fetching repository, done.
Counting objects: 1, done.
Writing objects: 100% (1/1), 200 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
 
-----> Python app detected
-----> Stack changed, re-installing runtime
-----> Installing runtime (python-2.7.7)
-----> Installing dependencies with pip
.
.
.
-----> Discovering process types
       Procfile declares types -> init, web
 
-----> Compressing... done, 46.6MB
-----> Launching... done, v283
       http://pyaggr3g470r.herokuapp.com/ deployed to Heroku
 
To git@heroku.com:pyaggr3g470r.git
   a4f7e8c..203eef6  master -> master

C’est aussi simple que ça. Vous trouverez plus d’information ici.

Vous pouvez tester pyAggr3g470r et me faire des retours:

Deploy
Categories
Programming

Petite amélioration du déploiement de pyAggr3g470r dans les nuages

Le processus de déploiement automatique de pyAggr3g470r a été légèrement amélioré. Il permet dorénavant d’initialiser l’adresse email ainsi que le mot de passe du compte administrateur. Ceci avec le formulaire généré par Heroku (voir la capture ci-dessous).
Il est également (facultativement) possible de fixer les variables d’environnement pour la clé API de Postmark (envoie des notifications par emails) et pour les clés nécessaires au système reCAPTCHA.

pyAggr3g470r-new-deployment-settings

Ces données sont modifiables avec la commande: heroku config:set NOM_VARIABLE=VALEUR. Et même certainement en passant par l’interface Web Heroku. Il faudrait vérifier.

Deploy
Categories
Programming

Une nouvelle façon de déployer pyAggr3g470r

Et c’est carrément génial! Il suffit tout simplement d’avoir un compte Heroku et de cliquer sur le bouton ci-dessous.

Deploy

Juste avant que pyAggr3g470r soit déployé vous aurez l’occasion de choisir une adresse ainsi que la région de votre instance (États-Unis ou Europe). La base de données ainsi que les variables d’environnement seront automatiquement configurées. Vous pourrez ensuite vous connecter avec l’identifiant root@pyAggr3g470r.localhost et le mot de passe password. Aucune extension payante ne sera utilisée.

Comment ça fonctionne? Simplement avec ce fichier.

Categories
Cloud

pyAggr3g470r vient juste d’exploser la base de données

Et c’est une très bonne nouvelle. Nouvelle qui m’a été transmise cette nuit par une alerte de Heroku concernant l’application pyAggr3g470r. Voici un extrait.

The database HEROKU_POSTGRESQL_CYAN_URL on Heroku app pyaggr3g470r has exceeded its allocated storage capacity. Immediate action is required.

The database contains 15,115 rows, exceeding the Dev plan limit of 10,000. INSERT privileges to the database will be automatically revoked in 7 days. This will cause service failures in most applications dependent on this database.

Il y a donc bien des personnes qui utilisent le service. Je suis également content de voir que le service Heroku n’a pas bloqué l’application et laisse même fonctionner la base durant 7 jours – ainsi malgré cette alerte l’équipe de pyAggr3g470r a pu continuer à dormir tranquillement.

Je viens donc juste de transférer la base vers une nouvelle. Et il faut dire que cette opération est plutôt simple à réaliser grâce au client, voyez:

$ heroku addons:add pgbackups
$ heroku addons:add heroku-postgresql:hobby-basic
$ heroku maintenance:on
$ heroku pgbackups:transfer HEROKU_POSTGRESQL_GOLD_URL
$ heroku pg:promote HEROKU_POSTGRESQL_GOLD_URL
$ heroku maintenance:off
$ heroku addons:remove HEROKU_POSTGRESQL_CYAN_URL

Pour le moment aucune action particulière supplémentaire sera réalisée. Toutefois je songe à mettre en place un plan payant (via Bitcoin de préférence) pour les utilisateurs qui dépasseront un certain seuil.

Categories
Programming

Planifier des tâches sur Heroku

Voici comment utiliser l’extension Heroku Scheduler.

Heroku-Scheduler

Comme le montre la capture, il vous suffit de l’activer (heroku addons:add scheduler:standard), puis de spécifier ce que vous voulez exécuter (ici, python fetch.py) et la fréquence.
Et voilà! pyAggr3g470r récupèrera vos flux automatiquement toutes les heures.

Si ça vous intéresse, voici une capture du tableau de bord de pyAggr3g470r sur Heroku.

Heroku-pyAggr3g470r-Dashboard

Comme vous pouvez le constater je ne dépense rien, en général les extensions peuvent être utilisées gratuitement (avec certaines limites).

Categories
Programming

pyAggr3g470r 5.1 – Changelog

Le changelog est court pour cette version:

  • la page de création de compte contient maintenant un captcha (comme annoncé précédemment);
  • un email de confirmation de création de compte est maintenant envoyé aux utilisateurs. Pour cela le service Postmark est utilisé. J’ai ajouté cette fonctionnalité car quelques personnes utilisent déjà de fausses adresses emails.
Categories
Programming

L’instance Heroku de pyAggr3g470r est ouverte

Entre deux coups de pioche dans le jardin, intégration d’un captcha pour la page de création de compte de pyAggr3g470r. Ceci grâce à Flask-WTF.

Categories
Programming

Nouvelle version de pyAggr3g470r

La version 4.8 de pyAggr3g470r est sortie hier et apporte d’importantes améliorations. Avec la base de test les performances sur mon ordinateur sont excellentes (avec deux utilisateurs et environ 100.000 articles). Évidemment sur Heroku avec mon compte limité les performances sont un peu moins bonnes.

De plus, gevent est maintenant utilisé par le module chargé de récupérer les articles. Aussi, la récupération de ces nouveaux articles est réalisée dans un processus dédié. J’étais un peu obligé afin de pouvoir télécharger 70 flux en même temps sur Heroku.

Encore quelques finitions et je pourrai presque songer à prendre un petit compte Heroku payant et ouvrir pyAggr3g470r au public (en échange de Bitcoins). Mais ça, c’est une autre étape.

Categories
Cloud Python

pyAggr3g470r dans le cloud

pyAggr3g470r est dorénavant déployable sur Heroku. Évidemment, il est toujours possible de l’utiliser sur un serveur traditionnel.

Voici comment le déployer sur Heroku. Rien de plus simple. Si vous désirez le tester mais que vous n’avez pas de compte Heroku, je peux vous créer un compte ici. Et oui, pyAggr3g470r est également multi-utilisateur maintenant!