â€č retour

đŸŽ™ïž rewind.website et Cast Rewinder

La naissance et les choix d’un petit outil qui permet de s’abonner Ă  un podcast depuis le dĂ©but.

Fin juin j’avais dĂ©veloppĂ© un outil web en Python (ça s’appelle Pyctogram et qui a son billet sur ce carnet). J’en Ă©tais restĂ© lĂ , Ă©tant donnĂ© que j’ai d’autres choses Ă  faire, entre ma recherche d’emploi, Paris Web qui arrive et les vacances qui se prĂ©parent


Et puis en Ă©coutant un podcast au sujet du monde des podcasts (ça s’appelle Bitrate, l’épisode date du 29 juin), j’ai entendu une trĂšs bonne idĂ©e par un des animateurs : quand on s’intĂ©resse aux podcasts, on en dĂ©couvre parfois un, qu’on aimerait commencer depuis le dĂ©but
 ça serait cool de pouvoir s’y abonner et recevoir les plus anciens Ă©pisodes d’abord, Ă  intervalle prĂ©dĂ©fini.

Et donc je me suis dit, j’ai du temps (j’en avais pas vraiment), je sais faire (j’étais pas sĂ»r de tout bien connaitre) et ça me sera utile (peut-ĂȘtre). Et donc je l’ai fait.

Le rĂ©sultat s’appelle Cast Rewinder, et il marche Ă  l’adresse rewind.website.

Quelques choix techniques

Jusqu’à prĂ©sent, ce qui me retenait le plus avant de faire un projet comme ça, c’est faire les bons choix techniques. C’est surtout parce que j’y connaissais pas grand chose. C’est un peu comme quand on se retrouve au supermarchĂ© dans le rayon des cĂ©rĂ©ales, trop de choix, rien qui nous ressemble. Quand on n’y connait rien, il y a trois tonnes de choses Ă  apprendre avant de commencer Ă  faire des choix.

Je connais Python, depuis que j’ai jouĂ© avec des Raspberry Pi, ces petits ordinateurs. C’est un langage que je trouve simple et Ă©lĂ©gant—pas de fioritures, si on veut faire quelque chose il existe dĂ©jĂ  un module qui le fait bien et qui va droit au but.

J’aurais pu utiliser PHP, que je frĂ©quente depuis plus de dix ans au grĂ© des CMS que j’utilise, WordPress, Kirby ou Symfony (je ne dĂ©veloppe pas en Symfony, je laisse ça Ă  des gens plus rĂ©sistants que moi, je n’y fait que de l’intĂ©gration web), mais ça me parait toujours Ă©prouvant de coder dans ce langage.

Mon projet Pyctogram d’il y a trois semaines est en Python, et il utilise le framework Flask. C’est pas le moyen le plus simple de faire un site web en Python, mais il a beaucoup d’extensions intĂ©ressantes, pour ne pas avoir Ă  tout coder moi-mĂȘme. En revanche, lĂ  oĂč la semaine prochaine j’avais fait ma propre sauce avec les bases de donnĂ©es, lĂ  j’ai voulu aller un peu plus loin et dĂ©couvrir un ORM, on m’a conseillĂ© SQLAlchemy. J’avais dĂ©jĂ  vu un ORM en action avec ce que mes collĂšgues dĂ©veloppeurs faisaient dans Symfony (et Doctrine), et il Ă©tait temps que je dĂ©couvre Ă  quoi ça sert. En gros, ça aurait pu m’économiser quelques heures d’arrachage de cheveux sur Pyctogram


Comme je voulais publier l’outil sur le web, je voulais une base de donnĂ©es qui tienne le coup—on m’a proposĂ© de remplacer SQLite par PostgreSQL et j’ai dit banco, je n’en savais rien et ça marche quand mĂȘme. Et pour le dĂ©ploiement, j’hĂ©sitais entre utiliser une petite machine de cloud Ă  configurer moi-mĂȘme, ou aller chez un fournisseur qui vend des environnements dĂ©jĂ  faits, comme Heroku ou Python Anywhere. Au final c’est l’offre la moins chĂšre de Scaleway qui a fait pencher la balance—et si j’ai besoin de plus de rapiditĂ© je pourrai passer Ă  la machine au dessus.

Il n’y a pas de morale dans cette histoire, j’aurais pu choisir PHP ou JavaScript et ça aurait eu le mĂȘme rĂ©sultat, grosso modo. Certains pourront critiquer avec raison la lenteur d’exĂ©cution de Python, mais je ne fais pas le prochain Facebook.

Quelques choix graphiques

LĂ  aussi, j’ai jouĂ© la rapiditĂ©. Le but de ce projet, c’était pour moi de voir si je pouvais le faire. Je n’avais pas envie de passer des heures devant Sketch ou Photoshop, Ă  faire des maquettes par dizaines, des wireframes UX par centaines et coller des post-its sur mes murs.

J’ai donc pris le framework Bulma et des emoji.

Je parle de frameworks depuis tout Ă  l’heure, mais j’explique pas ce que c’est. Basiquement, un framework c’est un kit Meccano. En soi, c’est une boite qui pĂšse lourd et qui a plein de piĂšces, mais quand on sait s’en servir on peut bĂątir la Tour Eiffel ou un tracteur comme sur la boĂźte, ou bien on peut imaginer et construire une machine Ă  sous. Le framework nous donne des piĂšces et des mĂ©canismes. LĂ , pour ce framework graphique, il donne des piĂšces graphiques, comme par exemple des formulaires. Je n’ai qu’à ajouter le code dans mon application, et la page apparait avec une organisation et une identitĂ© graphique basique, mais prĂ©sente.

Comme Bulma est assez neutre et minimaliste dans son approche graphique, j’utilise des emoji pour le logo. Je ne les utilise pas autant que pour Pyctogram, mais lĂ  n’est pas le but. Je n’ai pas besoin d’un logo particulier ou d’une identitĂ© ayant un caractĂšre unique. Les emoji font partie d’un langage commun. Pas d’une langue, mais juste d’un langage pictural. Le concept du site, de son nom Ă  sa fonction, peut rappeler les cassettes audio. L’emojo bouton rewind, âȘ, est donc tout Ă  fait pertinent. L’usage des emoji dans les interfaces visuelles de sites est d’ailleurs assez rĂ©pandu, voir par exemple Itty Bitty Sites, un projet que j’aime beaucoup.

Enfin bon, je ne vais pas passer des heures Ă  pontifier sur la pertinence culturelle des emoji dans l’environnement expĂ©rimental post-net.art Ă©tant donnĂ© que le principal motivateur de mon choix c’était la flemme.

Et maintenant ?

J’ai commencĂ© Ă  y travailler jeudi, le site est en ligne aujourd’hui
 j’aime cette rapiditĂ©. MĂȘme s’il me reste quelques modifications Ă  faire sur les contenus, je suis trĂšs content du rĂ©sultat.

Le principal souci dans les prochains mois va ĂȘtre de suivre la performance du server, prĂ©voir les bugs Ă  la lecture ou Ă  l’écriture de flux RSS, et ce genre de choses.

Si vous l’utilisez, n’hĂ©sitez pas Ă  me faire passer toutes les remarques, problĂšmes ou bugs rencontrĂ©s. J’ai mĂȘme une super adresse email : hello@rewind.website.


Billets liés


Feedback (en travaux)

Répondez sur votre propre site, envoyez une Webmention!

đŸŒ± 🌿 🍂 🌿 🌿 🍂 🍁 đŸŒ± đŸŒ± 🍁 🍂 🌿 🍂 🌿 🍂 đŸŒ± 🍁 🌿 🍂 🌿 🌿 🍂 🌿 🌿 đŸŒ± 🌿 🌿 🌿 đŸŒ± đŸŒ± 🍂 🌿 🌿 đŸŒ± 🌿 🌿 🍁 đŸŒ± đŸŒ± đŸŒ± đŸŒ± 🍂 🍂 đŸŒ± đŸŒ± 🍂 đŸŒ± 🍁 🍁 🍂 đŸŒ± 🍂 đŸŒ± đŸŒ± đŸŒ± 🍂