Encore du drag and drop !

Et oui, j’ai pas encore fini  car après la recherche documentaire et la « remise à niveau » j’ai pu passer au codage proprement dis. À cette occasion j’ai essayé d’utiliser un logiciel de gestion de versions décentralisé pour garder trace de mes différentes étapes de développement.

Page d'accueil du site pour FlowChem

La plus grosse difficulté que j’ai eu au niveau de la programmation est au niveau de la gestion des évènements et de leur ordre pour réaliser le système d’ajout, de déplacement et de suppression des icônes en fonction de leur origine et de leur destination.

Pour le design c’est pas du définitif, ce n’est qu’une première version, mais le gros du travail est sur les icônes qui doivent être à la fois graphique, et évidente pour des chimistes.

Et puis la surprise de dernière minute c’est l’adaptation du site à une résolution de 800×600 en plus de la version plus standard pour 1024×748 et plus.

Voici les deux versions :

Je prend volontiers les retours sur le comportement de cette petite application sur votre terminal ! 🙂

Programmer pour téléphone portable Symbian, le jeu de Go TinyGo

Programmer pour téléphone portable Symbian, le jeu de Go TinyGo

rapport d'expérience sur le développement opensource : 

Recherche d’un projet

J’ai enfin trouvé un jeu de Go pour mobile qui me satisfait, il s’agit de TinyGo. Le jeu est opensource, je vais pouvoir télécharger les sources, faire des modifications et pourquoi pas les redistribuer. La grosse limitation pour la recherche, c’est que je voulais un jeu pour portable fonctionnant avec Symbian s40, ce fut difficile !!

Récupérer les sources

Voici donc la première étape, récupérer les sources. Le projet est hébergé par SourceForge, un site très bien fait, on trouve tout de suite la ligne de commande pour télécharger les sources :

svn co https://tinygo.svn.sourceforge.net/svnroot/tinygo tinygo

Cette ligne de commande est très simple, elle fait une copie du dossier distant sur le dossier local ./tinygo ( pour plus de détails allez voir svnbook.red-bean.com, un bouquin libre sur Subversion ).

Et voila, je me retrouve donc avec une version de travail de TinyGo sur mon disque dur. Maintenant il va falloir aller voir ce code et essayer d’en tirer quelque chose. Pour aujourd’hui si j’arrive à trouver où sont codés les menus et les traductions de l’application puis à la compiler ça sera bien.

Organisation de l’environnement de développement

Bon, je suis obligé de passer de MacOs X à Windows pour avoir toutes les librairies pour la compilation, ça ne va pas être facile de passer d’un environnement à l’autre. J’ai déjà pu commencer à comprendre la structure du code, des classes et des fonctions. Le code n’est pas très commenté, mais il est bien écrit.

Comme je ne sais pas programmer en java, j’y apprends des choses, comme l’existence des interfaces (voir aussi jdnet ) par exemple.

J’ai quand même réussi à trouver où sont codés les menus de l’application. Par contre je n’ai pas encore compris le système de traduction. D’ailleurs à ce propos, on va voir si le développeur de l’application est toujours vivant, je lui est laissé un message sur le forum du projet, on verra s’il y répond.

Conclusion provisoire

En cette fin de journée consacrée, entre autres, au développement, j’ai utilisé Subversion, installé des bibliothèques, analysé du code, contacté le développeur principal de l’application, et puis j’ai communiqué sur cette expérience de développement d’un projet opensource. Alors bien sur, cela ne fait pas une grande expérience, mais je compte bien faire la traduction de cette application.

Rendez-vous d’ici peu pour la suite de « l’aventure ».

Comment faire du beau code html

Tout le monde parle de la nouvelle balise video, mais la nouvelle spécification HTML5 ne s’arrête pas là.

Proposition pour html5, video

Proposition de recherche pour le terme html5 sur Google

En effet, cette norme introduit des nouveautés intéressantes qui vont nous permettre de rendre le code encore plus structuré, encore plus beau. Cependant, il ne faut pas oublier les anciennes pratiques. Il faudra toujours faire attention à la hiérarchie des titres, mettre un titre et un texte alternatif pour les balises images etc…

La balise article

Avec les nouvelles balises descriptives on peut délaisser les div avec des id et des class à répétition. A la place on utilisera par exemple la nouvelle balise article qui permet de définir une entité rédactionnelle indépendante du reste de la page, par exemple un article de blog, qui pourra être réutilisé dans d’autre contexte, comme un flux RSS, ou la page d’une catégorie.

Et à l’intérieure de celle-ci, on pourra utiliser les titres, bien sur, mais aussi hgroup qui représente un ensemble de titre, sous-titre et tag, et d’autre encore comme la balise footer.

La balise footer

Cette balise footer est intéressante, elle est utile pour le bas de page, mais aussi pour toute les parties qui ont besoin d’information : l’auteur, la date de rédaction ou encore les documents relatifs.

C’est important de comprendre qu’elle se rapporte à la section parente la plus proche, càd : article, aside, nav, section et pas seulement à la page globale. On pourra donc mettre autant de footer que de sections

Ouverture

En lisant la spécification du html5 on se rend compte que les changements sont bien plus important que l’ajout de video et de canvas ; aujourd’hui je me suis attardé sur les nouveautés qui auront un impact sur la structure d’une page html, et sur le code, mais il y a encore beaucoup à dire, sur CSS3, sur la géolocalisation, sur les applications offlines… Le domaine est vaste. Mais sans un beau code, ça sera vraiment beaucoup moins intéressant de développer des applications web et des sites internet.