Categories
Programming

Newspipe 7.1.3

Newspipe 7.1.3 est disponible. Cette nouvelle version regroupe des modifications plutôt intéressantes.

Le crawler par défaut a été amélioré à différents niveaux. Il prend maintenant en compte un intervalle de rafraîchissement pour chaque flux. Du coup, je n’ai pas encore avancé sur le nouveau crawler alternatif.

Voici un exemple de profil public d’un utilisateur. Cette page liste les flux publics suivis par l’utilisateur en question. Les flux privés ne sont pas visibles (en général il y a un token privé dans l’adresse).

Voici un exemple de page pour un flux public d’un utilisateur.

La capture d’écran ci-dessous montre l’interface d’édition de flux.

newspipe_713_feed_edition

Cette page est souvent utilisée juste après l’ajout d’un nouveau flux. La page principale permet aussi de modifier les données d’un flux.

newspipe_713_main_page

Si vous voulez tester, c’est par ici.

Categories
Programming

Newspipe

pyAggr3g470r, JARR et maintenant Newspipe!

Promis, c’est le dernier changement de nom du projet. Pourquoi ce nouveau changement? Pour différentes raisons. Premièrement, cela fait maintenant quelque temps que je veux utiliser un nom de domaine qui m’appartient (de préférence en .io ou .org). Ceci me permet surtout de ne plus utiliser mon adresse email personnelle pour les notifications (ça fait aussi un peu plus «pro»). Malheureusement jarr.org coûte beaucoup trop chère (plus de 2000 euros lorsque je m’étais renseigné). Seconde raison, j’avais envie pour ce projet d’un nom qui ne contienne pas l’acronyme «RSS». Troisième raison, je voulais avoir un nom différent par rapport au fork principal de JARR. Le nom revient naturellement à ce fork comme c’était une idée du mainteneur. Les deux projets vont pouvoir évoluer de leur côté sans ambiguïté. C’est la combinaison de ces raisons qui fait que j’ai voulu changer de nom. À la limite si le nom de domaine avait été abordable, je n’aurai pas changé.

Voici donc la nouvelle adresse: https://www.newspipe.org. Cette instance est plus réactive et la base de données pourra stocker bien plus d’information. J’ai même utilisé un certificat Let’s Encrypt afin de satisfaire le plus grand nombre. En général je préfère CAcert.
Bref, n’hésitez pas à tester!

Sinon, j’ai récemment revu le déploiement via Vagrant. Évidemment, vous pouvez aussi simplement installer Newspipe sur votre système avec le script install.sh qui fonctionne maintenant plutôt bien (./install.sh sqlite ou ./install.sh postgresql).

Si vous voulez des informations sur ce qui a changé, c’est ici. Le projet devient un chouia plus sociale avec cette page (à activer dans votre profil). Il sera aussi bientôt possible de s’abonner aux nouvelles (non privées) d’un utilisateur.
Dans un second temps, j’aimerai avoir un nouveau crawler qui pourra être distribué. L’actuel est simplement exécuté avec une règle cron.

Juste pour terminer: Gandi + Heroku + Let’s Encrypt = ❤ Après avoir acquis le nom de domaine, tout peut se faire en quelques minutes via la ligne de commande.

P.S.: n’oubliez pas d’activer 2FA sur votre compte Gandi.

Categories
Programming

Quelques nouvelles de JARR

Cela fait un petit bout de temps que je ne donne pas de nouvelles de JARR (Just Another RSS Reader). Il faut avouer qu’il évolue bien plus lentement. Je suis toujours sur mon problème de notes privées pour les articles. Il faut que je trouve le temps pour terminer ceci, j’y tiens. D’un autre côté les fonctionnalités actuelles de JARR me suffisent.
Mais passons aux choses nouvelles.

Première nouveauté: une page liste les flux les plus populaires ajoutés récemment par les utilisateurs. Elle utilise le bookmarklet afin de permettre aux utilisateurs de s’abonner rapidement à un des ces flux. Je suis assez content de cette page.

Seconde nouveauté: une page de profil. Par défaut la page n’existe pas, l’utilisateur doit d’abord accepter d’avoir un profil public. Je trouve cette fonctionnalité un peu moins intéressante. Je vais la conserver pour le moment. Elle n’évoluera certainement pas.

Categories
Programming

Installation de Python

J’installe régulièrement Python sur mon système. Afin d’avoir une nouvelle version ou plus souvent parce que je veux tester une librairie qui nécessite une re-compilation avec un paramètre spécifique (dernièrement theano). Et de temps à autre je tombe sur un nouveau problème après l’installation. Alors voilà, maintenant avec ce gist j’ai un petit script d’installation fonctionnel écrit dans le marbre (plutôt le cloud, plus volatil). Je pense qu’il sera mis à jour de temps en temps.

Si vous avez des suggestions…

Categories
Steganography

Stéganô 0.6

wall

$ sudo pip3.5 install --upgrade Stegano
$ wget --no-check-certificate https://blog.cedricbonhomme.org/wp-content/uploads/2016/08/wall.png
$ echo -e `lsb-set reveal -i wall.png -g eratosthenes`
Categories
Steganography

Avancées du projet Stéganô

Stéganô, le module Python de stéganographie, a beaucoup évolué ces derniers jours. J’ai principalement été motivé par quelques commentaires de personnes. Cela faisait aussi quelque temps que je voulais mieux structurer le code.

L’organisation du module est entièrement revue. Le découpage en sous-modules en fonction des différentes techniques est plus logique.
Les performances sont meilleures lors de l’utilisation de la technique LSB.
Il est maintenant possible de donner directement une fonction (pour générer les ensembles de pixels) aux fonctions lsb.hide() et lsb.reveal().
L’ensemble des changements est détaillé dans les notes de versions.

Le tutoriel a aussi été amélioré et est plus clair. Voici un bon exemple. Les nouveaux tests unitaires permettent également de mieux comprendre l’usage du module.

Si vous avez des commentaires ou idées, n’hésitez pas !

Categories
Programming

Des nouvelles du projet JARR

Alors, quoi de neuf ?

L’interface graphique de JARR a beaucoup évoluée ces derniers temps ! L’ensemble est plus dynamique et plus moderne. Il y a encore un peu plus de JavaScript (avec React) grâce à jaesivsm. Un des avantages est qu’il est possible de lire les articles sans quitter la page principale (j’admets que j’aurais pu faire ça depuis longtemps). En tout cas avec React et compagnie, j’ai pas mal de choses à apprendre. Et comme vous le savez, moi et les interfaces…

Aussi, il est maintenant possible de catégoriser les flux. Enfin ! Beaucoup l’ont demandé. Et même si je ne fais pas un grand usage de cette fonctionnalité, je dois avouer que ceci permet d’avoir un menu plus clair et simple à lire.

Il y a également un certain nombre d’améliorations et corrections sous le capot. Notamment au niveau du crawler qui utilise dorénavant la syntaxe await des coroutines.

Enfin bref. Préparez-vous bien, car voici un aperçu de la nouvelle interface:

JARR-new-UI

Je vous invite à tester et me faire quelques retours. Vous pouvez aussi l’installer localement. Je pense que JARR est resté assez simple à déployer sur un serveur personnel. Y compris sur Heroku. Pour information, sur Heroku la version 3.5.1 de Python est utilisée.

Il y a 6 ans je n’aurais jamais pensé que ce projet arriverait à ce stade. Pour mémoire, voici la première version.

Categories
Programming

Apprendre Python avec Minecraft

Voici un nouveau livre pour appendre Python avec Minecraft. Je trouve ça vraiment super comme idée. Par contre, il faut avoir préalablement acheté le jeu. Il serait bien de plutôt pouvoir utiliser Minetest.

Categories
Programming

Pourquoi j’aime bien utiliser Flask

def post_postprocessor(updated_user=None, **kw):
    socketio.emit('update_user_representation', updated_user, namespace="/user")
 
with app.app_context():
    blueprint_user = manager.create_api_blueprint(models.User,
                                    methods=['GET', 'POST', 'PUT', 'DELETE'],
                                    allow_delete_many = True,
                                    postprocessors = {
                                        'POST': [post_postprocessor]
                                    })
    app.register_blueprint(blueprint_user)
 
if __name__ == "__main__":
    socketio.run(app,
                host=conf.WEBSERVER_HOST,
                port=conf.WEBSERVER_PORT,
                debug=conf.WEBSERVER_DEBUG)

Voici une API ReSTful pour un modèle (User) qui permet de propager vers différents clients les modifications effectuées sur un object.
Je trouve ça vraiment beau.

Categories
Programming

Just Another RSS Reader

JARR (Just Another RSS Reader) est le nouveau nom de pyAggr3g470r.

Ce changement répond à quelques critiques reçues. Le nouveau nom, qui me plaît bien, a été proposé par jaesivsm. Il est évidemment plus court, plus simple à écrire et à prononcer. Il manque juste le logo qui ira bien avec. Mais pour ça, il va falloir attendre un peu.

Voici la page officielle du projet.

Mais il n’y a pas uniquement le nom qui a changé. Un billet un peu plus technique va bientôt être publié.