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-NeuveDéveloppeur webDéveloppement d'applications web avec Ruby on Rails |
| 2010 |
Agilitic SRCL, MonsDéveloppeur stagiaireCré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 / freelanceDéveloppement
Hébergement Gestion de serveurs Debian et Ubuntu |
Parcours académique
| 2011 |
Master en Sciences Informatiques - UMONSMé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 WaterlooSection Mathématiques |
Acquis
LangagesRuby, PHP, Java, Python, Bash, HTML/CSS, XML, XSLT |
FrameworksRuby on Rails, .NET |
Systèmes d'exploitation et SGBDGNU/Linux, Windows XP & 7, Mac OS X, AndroidMSSQL, MySQL, SQLite |
LanguesFrançais (langue maternelle)Anglais (écrit et parlé) Néerlandais (connaissance passive) |
Mes principaux projets personnels
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.
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 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é.
Langages/frameworks: Ruby on Rails, Ruby
Licence: Domaine public
Copyright: N/A
Liens: Application en ligne - Code source (GitHub)
Extension pour Google Chrome qui tente de passer à la version HTTPS des sites visités quand celle-ci est disponible.
Langages/frameworks: JavaScript
Licence: Domaine public
Copyright: N/A
Liens: Chrome Web Store - Code source (GitHub)
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.
Langages/frameworks: PHP
Licence: Creative Commons Attribution-ShareAlike 3.0 United States
Copyright: 2010 Joel Cogen
Liens: Téléchargement et démo
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.
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.
Front-end pour la librairie QR de Laurent Minguet, complétée de génération d'URL courts via ur.ly
Langages/frameworks: PHP
Licence: Domaine public (librairie: GNU LGPL)
Copyright: Librairie: Laurent Minguet
Liens: Application en ligne - Téléchargement et code source