" Contribuer par la maîtrise d'un environnement productif au déploiement rapide d'applications web plus robustes"

En quelques mots...

Ruby on Rails est un framework web conçu pour rendre les développeurs plus productifs.

Ruby est un langage de programmation dont le but est d'être facile à lire comme à écrire.


Ruby

Étant relativement récent, Ruby incorpore le meilleur de ses ancêtres: la structure simple d'un langage de script, un paradigme orienté objet poussé à l'extrème (même un nombre entier est un objet), et les closures des langages fonctionnels.

Ces différentes caractéristiques en font un langage élégant, naturel à lire et facile à écrire, pour le plus grand bonheur des développeurs et une productivité maximale.

Il est également multi-plateforme et supporté par de nombreux serveurs web, dont Apache et IIS.


Ruby on Rails

Rails pour les intimes, ce framework est sans conteste la meilleure plateforme de développement web du moment.

En plus d'être écrit en Ruby, Rails fait un maximum pour augmenter la productivité de ses utilisateurs en proposant un modèle de développement basé sur MVC et de nombreuses conventions, permettant aux développeurs de disposer d'une architecture robuste après un minimum de configuration et avant d'écrire la moindre ligne de code. Et grâce aux générateurs, une ébauche d'application peut être prête en quelques heures.

Rails est flexible et se marie naturellement aux méthodes agiles. Son framework de tests unitaires, fonctionnels et d'intégration rend la vérification des applications simple et rapide, et le support natif d'XML facilite l'intégration avec d'autres applications.

Enfin, Rails est un framework web pur, sans compromis, et indépendant du navigateur et de la plateforme client.


Active Record

ORM par défaut de Rails, Active Record permet d'intéragir avec la base de données via des objets plutôt que SQL, améliorant grandement la lisibilité du code et la productivité, et offrant l'indépendance du SGBD utilisé.

Les migrations permettent également de définir la structure de la base de données de façon claire, rapide et indépendante, et de faire évoluer cette structure en fonction des besoins.

Expérience

2011+

Belighted, Louvain-la-Neuve

Développeur web
Développement d'applications web avec Ruby on Rails
2010

Agilitic SRCL, Mons

Développeur stagiaire
Création d'un front-end JavaScript (SproutCore) pour une application CRM conçue en Ruby on Rails, et modification de celle-ci selon les besoins de clients mobiles (iPhone et Android)
2001-2010

Missions étudiant / freelance

Développement
  • Gestionnaire web (PHP, CodeIgniter) de serveur FTP
  • Système d'authentification centralisé (Ruby on Rails)
  • Système de notification (Java, XML, XSLT)
  • Outil de sauvegarde de serveur mail Exchange avec Webmail (PHP)
Création de sites web
Hébergement
Gestion de serveurs Debian et Ubuntu

Parcours académique

2011

Master en Sciences Informatiques - UMONS

Mémoire: Coévolution des modèles et code source
2009-2011 Membre du Conseil Facultaire des Sciences
2008-2010 Président de l'Assemblée Générale des Étudiants de Sciences (AGE)
2005

Enseignement secondaire - Athénée Royal de Waterloo

Section Mathématiques

Acquis

Langages

Ruby, PHP, Java, Python, Bash, HTML/CSS, XML, XSLT

Frameworks

Ruby on Rails, .NET

Systèmes d'exploitation et SGBD

GNU/Linux, Windows XP & 7, Mac OS X, Android
MSSQL, MySQL, SQLite

Langues

Français (langue maternelle)
Anglais (écrit et parlé)
Néerlandais (connaissance passive)

Mes principaux projets personnels


Ohm Interface web de gestion de serveur Linux

Ruby on Rails, Ruby, Bash

Minidoudou Application web de personnalisation de ROM Android

Ruby on Rails, Ruby

Prefer HTTPS Extension Google Chrome

JavaScript

minimindex Script de listing de dossiers

PHP

QR Générateur de codes QR et d'URLs courts

PHP

Ohm

Ohm est une application de gestion de serveur, permettant aux administrateurs et utilisateurs de modifier la configuration d'un serveur Linux via une interface web simple et conviviale, à l'instar de Plesk ou cPanel.

La première version (incomplète) constituait un projet pour l'UMONS.

Plus de détails, des screenshots et une documentation seront disponibles une fois le projet stable, mais vous pouvez déjà télécharger (et améliorer) le code source.

Dernière version: Pas encore disponible
Langages/frameworks: Ruby on Rails, Ruby, Bash
Licence: Noyau: GNU LGPLv3 - Modules: GNU GPLv3
Copyright: 2009-2010 UMONS, 2010 Joel Cogen
Liens: Code source (GitHub)
Minidoudou

Minidoudou est une application web de personnalisation de ROM Android, et constitue l'évolution de mon propre projet de ROM maintenant abandonné: Minimou.

Minimou était une modification de CyanogenMod qui proposait une version épurée pour HTC Sapphire.

Cette évolution permet maintenant de personnaliser sa ROM en ligne dans une interface simplifiée, pour qu'elle soit ensuite générée sur le serveur. La nouvelle ROM peut alors être téléchargée et installée sur le téléphone à l'instar d'autres ROMs venant de la communauté.

Dernière version: N/A
Langages/frameworks: Ruby on Rails, Ruby
Licence: Domaine public
Copyright: N/A
Liens: Application en ligne - Code source (GitHub)
Prefer HTTPS

Extension pour Google Chrome qui tente de passer à la version HTTPS des sites visités quand celle-ci est disponible.

Dernière version: 1.3.2
Langages/frameworks: JavaScript
Licence: Domaine public
Copyright: N/A
Liens: Chrome Web Store - Code source (GitHub)
minimindex

Script de listing de dossier web public permettant d'offrir une vue plus agréable que celle proposée par le serveur web, tout en concervant la gestion de fichiers native du serveur.

Dernière version: 1.1
Langages/frameworks: PHP
Licence: Creative Commons Attribution-ShareAlike 3.0 United States
Copyright: 2010 Joel Cogen
Liens: Téléchargement et démo


Documentation (en anglais)

Difference between 0.1 and 1.x

Versions 0.1 and 1.x have important differences, please read this before choosing which one you’re going to use.

Version 0.1 is a single index.php file, that you have to copy into each public folder (it only lists the current folder). The copy part can be a hassle, but it’s a lot easier to configure and can be a good choice if you have few folders. It has a less features and download count can be buggy, but it’s still pretty nice.

Version 1.x is a set of files used to list a sub-folder. It only works with Apache because it uses an .htaccess file. It’s a little more complicated to configure (read: you have 4 parameters to change instead of none), but once it’s setup, you can just forget about it and create your subfolders. You can also store the download count in a MySQL database, which is a lot less buggy that using a file.

Installation

For 0.1, just rename the file to index.php and copy it in all your public folders.

For 1.x: extract all the files to your root public folder (e.g. /var/www/pub/) and edit config.php:
basedir is the URL of your public folder, without the domain (e.g. /pub for http://joelcogen.com/pub)
realdir is the sub-folder where your files actually are (e.g. files)
Then edit .htaccess and change /pub/ by your basedir, adding a trailing slash.

QR

Front-end pour la librairie QR de Laurent Minguet, complétée de génération d'URL courts via ur.ly

Dernière version: 1.0 (librairie: 0.99)
Langages/frameworks: PHP
Licence: Domaine public (librairie: GNU LGPL)
Copyright: Librairie: Laurent Minguet
Liens: Application en ligne - Téléchargement et code source