Skyduino:~#
Articles
projet

[Carnet du Maker] Code 2.0

Bonjour tout le monde !

J’espère que vous passez de bonnes vacances pour ceux qui ont la chance de profiter de l’été (non non, je ne suis pas jaloux 🙂 ) et que la rentrée n’a pas été trop dure pour les autres 😉

Depuis maintenant quelques semaines, c’est le calme plat sur le blog. Et pour cause, je suis actuellement en short dans un sauna, en train d’écrire ces quelques lignes tout en dégoulinant de sueur.
La vue depuis la fenêtre du sauna est pas trop mal, les habitants du coin sont sympa et le WiFi est correct. Bon, le temps n’est pas terrible par moment, mais ce n’est pas trop grave.
Je sais ce que vous vous dites : « Le salaud, il se paye des vacances alors qu’il devrait être en train de préparer la bêta v2.0 du site carnetdumaker ! »

La vérité, c’est qu’en fait je suis à l’atelier et que la climatisation ne marche plus. Avec 34°C à l’ombre, je ne suis pas loin de pouvoir expérimenter par moi même les effets d’une combustion spontanée.
Avec en bonus toute la partie informatique qui chauffe, je suis à deux doigts de déménager l’atelier dans ma salle de bain. Pas sûr que les instruments de mesure et mon PC sont à la norme IP67, mais tant pis. Aux grandes chaleurs, les grands seaux d’eau 🙂

Les blagues les plus courtes étant les meilleures, j’ai le plaisir de vous annoncer la mise en ligne du code v2.0 du site carnetdumaker sur GitHub.
Pour les curieux, c’est ici que ça se passe :
https://github.com/TamiaLab/carnetdumaker

Ce n’est pas une version définitive, c’est une version bêta améliorée. La quasi-totalité du code de la première bêta a été revue et modifiée. Une montagne de bugs (connus ou non) a été fixée et beaucoup de fonctionnalités manquantes dans la bêta v1 ont été ajoutées. Exemple parmi d’autres : il est maintenant possible de changer son adresse email depuis la page « mon compte ».
Il reste encore beaucoup de tests unitaires a ajouter pour pouvoir passer le projet en « Production/Stable », mais en l’état le code marche.

Si j’ai décidé de partager le code sur GitHub sous licence AGPLv3 (attention, la licence ne couvre que les fichiers de code, pas les templates/images/logo/etc.), c’est pour trois raisons :

  • Premièrement, parce que j’en avais envie. Garder le code du site closed-source n’aurait pas grand intérêt et ferait un peu tache venant de quelqu’un qui passe son temps à écrire des articles vantant l’utilisation d’outils open source.
  • Deuxièmement, parce que je suis seul sur un projet qui demanderait facilement 4 ou 5 développeurs à plein temps si c’était un logiciel commercial. Donc toute aide, même mineure est la bienvenue, et pour ça l’open source est un vrai bonheur (mais aussi parfois un vrai cauchemar).
  • Troisièmement, parce que j’ai (encore) fait ce que je fais quand je conçois quelque chose pour moi même : je suis allez très (trop) loin dans mon délire de développeur.

J’avais une idée très claire de ce que je voulais : un site type blog, avec un forum, un système de connexion centralisé, un système de notification/messagerie interne et la possibilité d’intégrer le tout avec un système de vente en ligne par la suite.
Et c’est ainsi que, pour des raisons indépendantes de ma volonté toute forme de bons sens, j’ai codé un framework application complet par dessus le framework web Django.
Même les plus sceptiques ne pourront que tirer une drôle de tête devant la liste des 33 applications composants le site carnetdumaker.
Gestionnaire de comptes utilisateurs, moteur de blog, forum, gestionnaire de notifications, messagerie interne, antispam sans CAPTCHA, système d’inscription avec confirmation par email, galerie d’images, tout y est passé. Il y a même un système pour publier des extraits de code (un petit délire de 4h le week-end dernier) et un système de verrous exclusifs en base de données.
(Python ne fournit pas de bibliothèque pour cela et zc.lockfile est connu pour ne pas gérer les problèmes d’exécution. Donc (╯°□°)╯︵ ┻━┻ j’ai fait ma propre bibliothèque)

Certains modules (liste complète ici) n’ont pas encore de tests unitaires et sont donc « broken by design » jusqu’à ce que les tests disent « OK c’est bon, tout marche comme prévu ». J’ai cependant testé manuellement tous les modules.

Je vais mettre en ligne le nouveau code sur le serveur du site carnetdumaker.net d’ici la fin de la semaine. Théoriquement vendredi le site devrait être en ligne, mais comme je dois réinstaller intégralement le serveur pour remettre au propre l’envoi des mails, je préfère ne pas donner de date (loi de Murphy, tout ça).
Les comptes utilisateurs existants ont été sauvegardés, seuls les profils utilisateurs seront remis à zéro.

J’en profite aussi pour faire une seconde annonce (de taille) : je vais dans les prochains jours commencer une série d’au moins 8 articles expliquant comment mettre en ligne un serveur web et déployer une application Django. Du choix de l’hébergeur, à la mise en place du service de monitoring et du serveur web, en passant par la sécurisation des services réseau, tout va y passer.

L’idée est simple : au début de la série d’articles vous savez allumer un PC, à la fin vous savez déployer une application web Django et gérer un serveur web GNU/Debian 8 Jessie. Les seuls prérequis seront de savoir ce qu’est SSH, GIT et Debian.
Des connaissances en développement Python et Django seront un plus, même si ce ne sera pas requis pour comprendre les articles (je ne vais pas faire un tutoriel sur Python ou Django. Bien que ça me tente pas mal. J’ai une grosse série d’articles sur Arduino à faire pour le site carnetdumaker, mais Python/Django pourrait bien être le sujet suivant).

Arduinistes et autres amateurs d’Internet des Objets, je vous conseille de suivre cette série d’articles de près. Mon petit doigt me dit que vous pourriez en avoir besoin plus tard 😉
Pour les plus impatients, chercher « Python 3 », « Django », « pygal » sur Gogole et posez-vous la question suivante : « Si je couple ça à une carte Arduino avec une shield Ethernet/GPRS/WiFi, j’obtiens quoi ? ».

Dans tous les cas, les choses sérieuses commencent 😉

Discussion

3 réflexions sur “[Carnet du Maker] Code 2.0

  1. Bonjour,

    Haaaa que votre article fait envie, que vous êtes agréable à lire:
    HopHopHop, direction la béta pour inscription et… ha bah nan ça veut pas.

    « Bonjour Henky,

    Une demande d’inscription sur example.com a été effectuée via votre adresse mail h…..;@gmail.com.

    Si vous êtes à l’origine de cette demande, merci de cliquer sur le lien ci-dessous pour finaliser votre inscription :
    Activer mon compte example.com

    Attention : le lien ci-dessus n’est valable que pendant 2 jours.

    Si vous n’êtes pas à l’origine de cette demande, vous pouvez tout simplement ignorer ce mail.

    Votre adresse mail sera supprimée de nos bases de données d’ici 2 jours si vous n’activez pas votre compte.

    Cordialement,

    L’équipe de example.com »

    quand je clic ça me donne:

     »
    Example Domain

    This domain is established to be used for illustrative examples in documents. You may use this domain in examples without prior coordination or asking for permission.

    More information…
     »

    Moi pas trop bien comprendre 😥

    Publié par Henky | 24 août 2015, 11 h 18 min

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.