Aujourd'hui, le Blog du Webdesign vous propose une liste d'ORM pour vous simplifier le travail avec vos bases de données.

Qu'est ce qu'un ORM ?

Connaissez-vous les ORM ? Cet acronyme signifie Object Relational Mapping. Il s'agit d'outils simplifiant la gestion de votre base de données en la mappant de façon à pouvoir traiter tous ses enregistrements comme des objets. Cela n'a peut-être l'air de rien quand on ne connaît pas, mais les avantages sont légion.

– Pour commencer, on n'écrit (presque) plus aucune ligne SQL soi-même. Cela permet d'éviter d'oublier de sanitize un argument, et donc de laisser une faille SQL grosse comme le bras dans votre site ou application. De plus, les enchainements de méthodes sont quand même bien plus simples à lire que les query SQL correspondantes.

– Il est possible de définir des relations entre les objets : Qui appartient à qui, qui possède quoi. Après ça, il est très simple d'accéder à la liste d'articles d'un auteur, par exemple, et ce en une seule petite ligne.

– Ils permettent de séparer le code correspondant aux instances de vos enregistrements du reste de la page. Et croyez moi, ranger son code, c'est important, même si la plupart des ressources PHP que vous trouverez dans la nature tendent à prouver le contraire.

– Ils permettent une séparation très claire entre la base de données utilise et les commandes. Comme cela, passer de mysql à postgres ne sera pas plus compliqué que de changer l'adaptateur entre votre ORM et votre base de données.

J'ajouterais aussi, bien que ce ne soit pas réellement un avantage au sens propre : Tous les frameworks ou presque en utilisent un. Donc apprendre à les connaitre et à les utiliser ne sera pas perdu, cela vous simplifiera la tâche quand vous aurez à apprendre à utiliser un Framework.

Quelques ORM pour en savoir plus

Pour finir, voila quelques ressources pour vous aider a démarrer : 6 ORM en ruby et PHP

Redbean (php)

Propel (php)

doctrine (php)

Ruby

Sequel (ruby)

Datamapper (ruby)

Active record (ruby)

Active record est un peu spécial à cause de ça très forte intégration dans Rails. Il est néanmoins simple du l'utiliser en stand-alone. Une toute perite recherche devrait vous donner tous les tutos nécessaires.

Notez qu'il existe aussi un portage php pour active record. Je vous ai d'ailleur trouve un Tuto pour active record en PHP (payant mais pas cher).