Magazine Focus Emploi

Mes projets sur GitHub

Publié le 18 mars 2012 par Abouchard

J’ai migré sur GitHub un certain nombre de projets dont je mène le développement.

L’URL est simple : https://github.com/Amaury

Voici une rapide présentation des projets en question.

Temma

Le framework que j’ai développé au sein de mon entreprise. C’est un framework MVC écrit en PHP, qui accélère les développements par son fonctionnement très facile à appréhender.

Toute la documentation est disponible sur http://www.temma.net

FineFS

C’est le système de fichier redondé utilisé là aussi dans mon entreprise. Son principe est de permettre l’accès à des fichiers depuis plusieurs machines d’un même cluster, avec un fonctionnement à la fois synchrone et asynchrone. Il est codé en PHP.

En attendant que toute la documentation soit migrée sur GitHub, elle est toujours visible sur GoogleCode : http://finefs.googlecode.com

FineBase

Il s’agit d’une bibliothèque de fonctionnalités basiques, écrite en PHP. C’est la brique de base sur laquelle Temma et FineFS sont fondés. Les fonctionnalités offertes sont :

  • Système de lock, pour empêcher plusieurs exécutions concurrentes d’un même programme ou plusieurs accès simultanés à une même ressource.
  • Système de log, pour écrire des messages qui vont être publiés (dans un fichier, sur la sortie d’erreur, via syslog, ou transmis à des handlers) en fonction de leur criticité et des seuils de criticité minimale définis pour chaque couche logicielle. Cela permet par exemple d’avoir un programme pour lequel on verra les erreurs des couches les plus basses, et tous les messages de débuggage pour les couches les plus hautes.
  • Un objet de gestion unifiée des sessions, un autre pour la base de données, un autre pour l’accès au cache (utilisant Memcache).
  • Une gestion unifiée
  • Un wrapper sur HTML Tidy pour nettoyer du code HTML généré par WYSIWYG.
  • Une file de messages stockée en base de données.
  • Une extension au SoapClient de PHP, pour supporter l’authentification WSSecurity.
  • Un chronomètre de temps d’exécution.
  • Un objet de registre, un objet d’écriture ANSI sur la ligne de commande, quelques objets d’exception, …

HeaderBrowser

C’est un outil de génération de documentation à partir de code source en C ou en C++. Dans l’idée, il est assez similaire à JavaDoc ou PHPdoc, se basant sur des commentaires contenant des marquages spéciaux. Par contre, la documentation générées est affichée d’une manière qui facilite grandement la navigation ; vous pouvez en trouver un exemple pour la bibliothèque Ylib (voir plus bas).

Écrit en C++, cet outil est maintenant un peu ancien.

Plus d’information sur le site http://www.headerbrowser.org

Ylib

Ce projet propose une bibliothèque de fonctions, écrite en C. Il y a pas mal de choses à l’intérieur :

  • Calcul de CRC, encodage/décodage en Base64 et quoted-printable.
  • Quelques helpers sur la gestion de la mémoire (malloc/free).
  • Gestion du lock et du log.
  • Chronomètre de temps d’exécution.
  • Décodage d’URL.
  • Chaîne de caractère bufferisée, vecteurs bufferisés.
  • Gestion simplifiée de scripts CGI.
  • Parseurs XML, SAX et DOM, et interprétation XPath.
  • Wrapper de connexion réseau, helper de création de démon.

La documentation, générée avec HeaderBrowser : http://ylib.amaury.net/hbresult-html/

Carta Genius

Là il s’agit d’un logiciel servant à créer des documents PDF de qualité professionnelle. Je l’avais créé au début pour faire des planches de cartes de jeu, que je faisais imprimer par des imprimeurs numériques professionnels. Cela demandait un certain nombre de fonctionnalités particulières : réutilisation d’images, transparence, traits de coupe (pour que l’imprimeur sache où couper, sans que les traits n’apparaissent sur les cartes), fond perdu, imposition (faire correspondre le recto et le verso), etc.

Par la suite, j’y ai ajouté pas mal de possibilités, qui permettent de l’utiliser pour générer tout type de PDF. J’y ai notamment ajouté un interpréteur, qui permet de faire des écritures assez poussées.

En conclusion

Je ne suis pas encore opérationnel à 100% avec Git. J’ai tellement l’habitude de Subversion que plusieurs choses me semblent inutilement complexes avec Git. Mais il faut reconnaître que c’est très pratique pour faciliter les contributions sur un projet open-source.

N’hésitez pas à cloner les projets et à faire des « pull requests » pour me proposer vos améliorations. J’y apporterai toute l’attention nécessaire.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Abouchard 392 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossiers Paperblog