Les logiciels libres

Logiciels libres, open-source, ça vous évoque quelque chose? On les a évoqués dans l’article sur Symfony il y a quelques jours, et aujourd’hui nous allons mettre tout ça au clair.
Open source software, easyclix.fr
Open source software, easyclix.fr
Projet GNU
Projet GNU

Commençons par… des définitions!
Les logiciels libres signifient que  les utilisateurs ont la liberté d’exécuter, copier, distribuer, étudier, modifier et améliorer ces logiciels. Comme le précise le site du projet gnu.org, qui a participé à formalisé ce concept,  le  » « logiciel libre » fait référence à la liberté, pas au prix(pour comprendre ce concept, vous devez penser à « liberté d’expression », pas à « entrée libre »). »
Il précise également qu’il y a 4 libertés fondamentales:

  • la liberté d’exécuter le programme comme vous voulez, pour n’importe quel usage (liberté 0) ;
  • la liberté d’étudier le fonctionnement du programme, et de le modifier pour qu’il effectue vos tâches informatiques comme vous le souhaitez (liberté 1) ; l’accès au code source est une condition nécessaire ;
  • la liberté de redistribuer des copies, donc d’aider votre voisin (liberté 2) ;
  • la liberté de distribuer aux autres des copies de vos versions modifiées (liberté 3) ; en faisant cela, vous donnez à toute la communauté une possibilité de profiter de vos changements ; l’accès au code source est une condition nécessaire.
Logo Open Source
Logo Open Source

Puisqu’on parle de code source, parlons de l’open source! Open source, source ouverte/accessible, signifie tout simplement que le code source du programme, autrement toutes les lignes de code qui le constituent, sont libre d’accès (ça ne veut pas dire gratuit attention).

En fait, ces 2 types de logiciels se matérialisent sous forme de licence d’exploitation, avec leur différentes caractéristiques. Ces licences ont donc des modalités variées, qui joueront sur la possibilité de modification, de distribution, et de droits d’auteurs par exemple, pour ne citer que quelques exemples.
Les valeurs qu’elles défendent sont également différentes: l’open source part plutôt d’une méthode de développement au travers de la réutilisation du code source, tandis que le logiciel libre représente « un impératif éthique, l’indispensable respect de la liberté de l’utilisateur«  et a donc plus une vocation sociale.

Et dans la vraie vie alors? Qu’est-ce que ça fait? Est-ce que ce ne sont pas un peu des débats de geeks sans réelle importance pour les non-initiés?

Et bien dans la vraie vie, les logiciels libres ou open sources ont de nombreuses applications réelles. (les logiciels libres cités ci dessous seront en gras et les logiciels open source en italique. Vous pouvez cliquer sur les noms pour accéder aux sites de ces logiciels.)
Par exemple, pour écrire un article de blog tel que celui-ci, il vous faut un ordinateur par exemple, et donc un système d’exploitation. Oubliez Windows pour un moment, et essayez donc Ubuntu! Ensuite, il vous faut évidemment un navigateur internet, tel que Mozilla Firefox ou Chromium, la version libre de Google Chrome. Vous pouvez, pour créer et gérer votre blog, vous servir d’un CMS (Content Management System) comme par exemple WordPress, Joomla! ou Drupal, pour citer les plus connus.
D’ailleurs, peut-être que parmi vous certains ont une boutique e-commerce, avec Magento ou PrestaShop?
Pour installer votre blog, avec WordPress disons, vous avez télécharger l’archive .zip sur le site officiel, et la décompressez avec 7-Zip, puis l’installer sur votre serveur avec Filezilla.
Ca y est, votre blog est enfin créé! 🙂
Maintenant, passons au plus important, le contenu.
Pour commencer votre article vous pouvez d’abord le taper sur un document de traitement de texte fourni par LibreOffice ou OpenOffice. Si vous avez une âme d’artiste, vous pouvez l’illustrer  en manipulant et retouchant des images avec GIMP,  dessiner des images vectorielles avec Inkscape pour un rendu impeccable, voire carrément créer des objets en 3D avec Blender. Et oui quoi de mieux qu’une bonne illustration pour faire comprendre vos propos?
Et voilà! Votre article est prêt à être publié.
Vous avez bien travaillé, vous pouvez vous détendre en regardant un film sur votre ordinateur, ou un épisode de votre série préférée. Si vous n’êtes pas adeptes du streaming, rien de tel que le lecteur VLC, qui gère un très grand nombre de formats et sous-titres sans le moindre souci!
Retour au travail… Vous utilisez peut-être un gestionnaire de contenus d’entreprise (ECM)? Si oui, connaissez-vous Alfresco?
Bien sûr, je n’ai cité ici que ceux qui me semblaient être les plus connus ou utilisés, mais la liste est bien plus longue en réalité (voir ici sur Wikipédia)!

Voilà la force des logiciels libres et open source: il y en a pour tous les goûts et les usages. Énormément sont gratuits, et disposent généralement d’une communauté toujours disponible pour répondre à vos questions.

Si vous voulez plus d’informations, vous pouvez consulter le site de GNU notamment.

 

Framework, Symfony: on vous explique

Un framework d’abord, qu’est-ce que c’est? Et Symfony?
Logo du framework Symfony
Logo du framework Symfony

Chez Kreatys, nous nous servons du framework Symfony pour développer nos projets web. Voyons ensemble ce que cela signifie concrètement.

Commençons par le commencement: le framework.

Framework se traduirait de l’anglais par « cadre de travail« , et désigne « un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d’un logiciel (architecture) » comme le dit si bien Wikipédia. Cet outil a pour but d’aider les développeurs en leur fournissant par exemple des normes de programmation, des outils développés par d’autres programmeurs, et leur permet ainsi de ne pas avoir à réinventer la roue à chaque projet!

Néanmoins, utiliser un framework ne garantit pas un bon code: c’est un outil, il n’y a aucune garantie que vous l’utiliserez correctement. Un peu comme si on vous donnait un stylo: c’est quand mieux que de le refabriquer soi-même à chaque fois, mais le simple fait d’avoir un stylo ne garantit pas que vous deviendrez Victor Hugo, vous restez responsable de l’usage que vous en faites. Comme ce grand homme l’a d’ailleurs dit, « tout ce qui augmente la liberté augmente la responsabilité ».
Ensuite, tous les développeurs ne servent pas de framework: certains trouvent en effet le cadre trop contraignant, limitant l’apprentissage et l’innovation. Il est vrai que lorsqu’on a un cadre, on ne va pas forcément chercher à en sortir. J’ai un stylo, pourquoi m’embêter à essayer d’en réinventer un? C’est tout à fait compréhensible, mais si on se limitait  à cet encadrement cela risquerait de brider toute créativité de la part de nos codeurs et les langages de programmation n’évolueraient plus.
Bien évidemment, nous n’en sommes pas là du tout 😉

L'avis de Victor Hugo sur les frameworks
L’avis de Victor Hugo sur les frameworks

Donc voilà pour les frameworks. Et Symfony du coup?

D’après eux-mêmes , « Symfony est un ensemble de composants PHP, un framework pour application web, une philosophie, ainsi qu’une communauté — le tout fonctionnant en harmonie. ».

Donc vous l’aurez compris, Symfony est utilisé par les développeurs web qui codent en PHP. Et ça tombe bien, nous en avons 2 avec nous à Kreatys! Nous leur avons brièvement demandé leur avis sur la question:
– Olivier : « Symfony, c’est très structuré, très cadré, ce qui est pratique quand on travaille à plusieurs sur un même projet car on comprend plus facilement le code de chacun. »
– Rémi : « Avant je travaillais sous CakePHP, et justement d’un côté j’aimais bien la souplesse qu’il offrait. En plus je trouve que c’est plus abordable, tu peux rapidement arriver à sortir des pages pour ton site en étant débutant, alors que Symfony est plus long à prendre en main.  Par contre c’est vrai que Cake pouvait devenir vite une usine à gaz, et fallait vraiment mettre les mains dans le cambouis.»
– Olivier :  « Oui, alors que là avec Symfony et leur bundles, c’est assez clair et efficace. En plus ils sont libres*, donc on trouve pas mal de ressources, de données partagées par les autres développeurs. »

En conclusion, Symfony est pour nos développeurs un moyen efficace de travailler en équipe sans problème, et de part son appartenance aux logiciels libres il prône des valeurs de collaboration et de partage qui nous sont importantes.
*logiciel libre: désigne un programme sous une licence permettant son utilisation, sa modification et sa distribution par tout le monde. Par exemple, Firefox, Ubuntu, VLC, OpenOffice ou encore Gimp, sont tous des logiciels libres.

Google docs vous obéit à la voix et à l’oeil

Google a annoncé avant-hier que dorénavant, une série de commandes vocales seraient mises à disposition des utilisateurs de Google Docs.

(vidéo en anglais)

Une liste, disponible ici en français, décrit toutes les commandes possibles: cela va de la « simple » dictée de textes à la mise en forme, voire l‘insertion de tableaux.

Ce dispositif peut présenter pas mal d’avantages pour ceux qui travaillent par exemple avec des tablettes: sans souris mettre en forme du texte peut vite devenir une plaie. On imagine également que cela pourrait présenter un intérêt en terme d’accessibilité pour des personnes ayant des handicaps, en ne se limitant pas à la dictée vocale.

Il reste maintenant à tester ces fonctionnalités dans des situations réelles!