Qu’est-ce que c’est?
Le projet Aube est une galerie d’image quotidienne. A destination des photographes, artistes, créateurs ou plus simplement toute personne souhaitant partager une image chaque jour. Photographies, dessins, croquis, schémas, captures d’écran, les utilisations sont nombreuses.
Inspiration
L’idée en elle-même n’est pas nouvelle. Ma première rencontre avec le concept s’effectue sur le site de la Nasa Astronomy Picture of the Day. J’en deviens pendant une période un visiteur régulier. Plus tard, j’envisage donc de reprendre l’idée pour afficher quotidiennement les créations des joueurs d’un serveur Minecraft.
Chronologie
Une première version a d’abord été écrite en PHP/MySQL, au courant de l’été 2011. Elle sera terminé en octobre 2011 et utilisé jusqu’en décembre 2011. Le design est inexistant, juste le minimum pour afficher les informations correctement. La page d’archive ne contient que le titre d’une image associé à la date d’apparition. Un lien permet de consulter une image des archives.
Avril – Juin 2012, je me penche à nouveau sur le concept et ébauche la nouvelle structure du projet. Je réécris la structure de la base de données et fais quelques croquis de maquettes.
Octobre 2012. Nouvelles rencontres, nouvelles découvertes. J’envisage de supprimer la partie base de données SQL, qui n’a que peu d’intérêt au vue des informations qui y sont stockées. Je pose les premières briques du serveur écrit avec Node.Js. Les différentes pages sont construites.
Décembre 2012. Je change la structure de mon projet en utilisant Backbone, le code se fait plus lisible, l’arborescence des fichiers plus structurée. J’ajoute l’affichage des données exif de l’image.
Janvier 2013. Il est plus que temps d’écrire les premiers tests. J’utilise Mocha pour vérifier à la fois le côté client et le côté serveur. La page d’archive s’améliore et se complète. Bien qu’encore expérimentale, je teste l’API fullscreen du HTML5 que j’intègre dans le projet. Toujours pas de CSS, même si on se rapproche au fur et à mesure du moment où il faudra s’en occuper.
Février 2013. Je me concentre sur une première internationalisation du projet. En parallèle, je réfléchis à la façon de mettre en place un système d’authentification pour restreindre l’accès à la page d’ajout.
Mars 2013. Je pose les bases du système d’authentification qui me permet ainsi de restreindre l’accès à la page d’ajout d’image.
Avril – Novembre 2013. Peu d’évolution. Je travaille sur deux autres projets utilisant les même technologies. J’envisage la réécriture et la réorganisation de certaines parties du code pour profiter de l’expérience acquise sur les autres projets.
Technologies
La première version du projet est écrite en HTML/CSS, PHP et MySQL. Aujourd’hui, changement complet. Si la base reste la même avec du HTML5/CSS3, le reste a bien changé. La base de données a maintenant disparue, je fais donc du NoSQL au sens propre du terme. Le PHP a cédé la place au JavaScript, aussi bien côté client que côté serveur. En effet, la partie serveur repose sur Node.Js, avec le paquet Express pour faciliter l’écriture du serveur. Côté client, on retrouve bien sûr du JQuery pour effectuer diverses actions sur le Dom. A cela s’ajoute encore Backbone pour la structuration des pages et Require.Js.
Pourquoi Aube?
Ce projet porte le nom de code Aube car c’est un commencement. En l’occurrence, c’est mon premier projet avec un réel objectif de publication sous licence libre. C’est également un début dans l’utilisation des technologies qui le composent, en particulier Node.Js et Backbone. Mais l’aube, est aussi un recommencement… quotidien, et le projet actuel est déjà la deuxième version d’une idée.
Victor