Affichage des articles dont le libellé est web. Afficher tous les articles
Affichage des articles dont le libellé est web. Afficher tous les articles

lundi 28 septembre 2009

Septembre 2009

Intro : J'ai décidément du mal à tenir ce blog à jour... Pourtant, il y a bien des sujets dont je souhaiterais parler ici ; mais entre les articles demandant trop d'investissement en temps et ceux qui seraient trop courts, au final, je ne publie pas. Donc j'ai décidé de me lancer dans une série mensuelle, listant rapidement des petites choses intéressantes, tout domaine confondu (enfin, surtout ceux habituellement traités ici...). En espérant donner un petit coup de fouet à ce blog qui refuse de mourir.

Logiciels :

Découvert au taf, Launchy est un petit lanceur d'application bien sympathique, disponible sous Windows et Linux. Très pratique (et libre).

M'étant mis tout récemment à la musique assistée par ordinateur (voir plus bas), je vous conseille Audacity (libre et multi-plateforme) que je découvre pour tout ce qui est enregistrement et montage audio. J'avoue que j'ai toujours eu peur des logiciels de MAO à cause de la complexité de certaines références (genre Cubase), mais là ça se présente de manière plutôt simple, même s'il faut creuser un peu pour certaines fonctionalités.

Enfin, j'ai récemment commencé à utiliser Eclipse au travail... Contre toute attente, je sens que ce soft va me réconcilier avec les IDE : bien que lourd, il fait un nombre de tâches hallucinant et facilite vraiment la vie du développeur sur pas mal de points assez peu intéressants (conventions syntaxiques, intégration du gestionnaire de configuration, génération automatique de méthode, commentaires, détection d'erreurs en live, etc...). J'ai sans doute l'air de découvrir la roue, mais bon... quand ça tourne bien, faut pas bouder son plaisir.


Musique

Certains le savent, d'autres non. Je suis un gros fan de Blues, et je joue depuis "presque" un an de l'harmonica diatonique (blues harp donc). Comme je l'avais déjà dit ici, je pense que ce sujet est un peu loin des thématiques habituelles de ce blog, et donc j'en parle chez Lefty.
Notamment ce mois-ci : un article sur une compilation de Blues très bien foutue pour ceux qui veulent découvrir, et un premier essai d'enregistrement avec Lefty à la gratte (d'où l'utilisation d'Audacity).


Pro

Suite à la fin de ma mission précédente, j'ai enchainé cet été sur un nouveau truc en... Java. Et plus précisément en Java3D.
Ce nouveau job me plait beaucoup, en bonne partie parce que j'apprends énormément de choses nouvelles, et que l'environnement est assez différent de mes expériences précédentes.
D'abord le domaine de la géométrie algorithmique (que je connaissais déjà dans un contexte de calcul scientifique/modélisation mathématique) qui est bigrement intéressant. Pour l'occasion, je me suis d'ailleurs (enfin) payé le Computational Geometry (de Berg - Cheong - van Kreveld - Overmars) que je ne saurais que trop conseiller à ceux qui s'intéressent à ces problématiques (attention cependant, il n'existe pas de traduction).
Ensuite, l'environnement très libre/open source : même si c'est en bonne partie des outils classiques de développement en Java, c'est toujours agréable de bosser avec des choses comme Eclipse (voir plus haut), Ant, TestNG, SVN, TRAC, plein de bibliothèques libres, etc... (plutôt que Visual Toto, des scripts batch halakon, des outils de test et des libs internes foireux, Clearcase et Rhapsody...). Ah oui, et un wiki pour la doc : si c'est pas cool ça...
Bon, et le Java, c'est pas si terrible.


IoGraphViz := Io + GraphViz

Comme je voulais depuis longtemps m'investir dans un vrai projet libre, et qu'en parallèle je voulais me pencher plus sérieusement sur le langage Io, je me suis lancé dans le projet IoGraphViz.
Il s'agit d'un binding, pour le langage Io, de l'outil de génération de graphes GraphViz. Il n'est pas encore stable/mature, mais j'espère sortir assez rapidement une première version fonctionelle. Pour l'instant je me base fortement sur l'équivalent en Ruby : RubyGraphViz, mais je compte diverger de plus en plus de ce (très bon) point de départ.
Ce qui est intéressant en se lançant dans ce genre de projet, c'est que ça implique de nombreuses contraintes qui sont assez formatrices :

  • Mieux maitriser le(s) langage(s) utilisé(s) bien sûr
  • Héberger son projet/maitriser un gestionnaire de configuration et/ou de version (dans mon cas, je me suis mis à Git via Github - sous Windows, c'est pas de la tarte au début mais on s'en sort...)
  • Et surtout rechercher toutes ces petites choses auxquelles on ne pense pas : de la doc sur des points ultra pointus, un générateur de documentation, tests unitaires, etc...


Je compte faire un vrai article d'introduction (in English if you please...) à la lib quand elle sera présentable.


Curiosités du web

International Dialects of English Archive propose des petits fichiers audio à l'écoute illustrant les accents (en anglais) de gens des quatre coins du monde. Amusant et pratique pour bosser son oreille.

Journée Mondiale présente une liste (non exhaustive mais impressionante) des journées mondiales/internationales/européennes/nationales de... tout et n'importe quoi (genre là on est entre la Journée Européenne des Langues et la Journée Mondiale de la Surdité... touss touss).

Buzzerl : un reddit pas bien, fait par des gens biens, utilisé par des gens biens et des gens pas biens (en Erlang).

vendredi 27 mars 2009

Comment utiliser Twitter ?

Vu l'énorme buzz du moment sur le service web Twitter, et les questions que j'entends fréquemment sur celui-ci, il me parait utile d'expliquer le plus simplement possible ce qu'est Twitter, et comment l'utiliser.


Qu'est-ce que Twitter ?

Le terme "Twitter" désigne plusieurs choses : un service web, le site web correspondant et la start-up (entreprise) le gérant/possédant. Je reviendrai sur la différence site / service web un peu plus loin.

Twitter permet de publier des "tweets" (gazouillis en Anglais. Twitter veut donc dire "gazouilleur", d'où les images de piafs du site). Ceux-ci correspondent à des "textes" de 140 caractères maximum, pouvant comporter des liens. Dans une certaine mesure, cela ressemble au "statut" sur FaceBook ("What are you doing ?" - la nouvelle interface de FaceBook s'inspire d'ailleurs de celle de Twitter), ou à l'"état" en messagerie instantané. Un exemple typique en Français (par Genma - vous noterez l'humour, en cette période d'HADOPI...) :

"Une mère insensée" de Christine Albanel (Auteur) en vente, sur Amazon : http://tinyurl.com/cvjvpo De la bonne lecture, en livre de chevet ?

Mais comme on dit, "Dans l'espace, personne ne vous entendra crier". Twitter permet donc de "suivre" d'autres utilisateurs et donc d'être suivis par d'autres utilisateurs. Basiquement, cela signifie que vous verrez leurs tweets (ou mise à jour) et inversement, par ordre chronologique.
Il y a de nombreuses fonctionnalités associées au suivi : blocage d'utilisateurs intempestifs, tweets privés, tweets adressés à une ou plusieurs utilisateurs en particulier, etc... J'y reviendrai plus tard. Twitter permet également dadresser des messages privés directement à un utilisateur (direct message) : pour cela, celui-ci doit déjà vous suivre, ceci afin d'éviter le spam.

Twitter est donc un outil de réseau social plutôt qu'un réseau social au sens strict (comme FaceBook ou LinkedIn). Personnellement, je le vois comme un nouveau mode de communication.
La différence entre site web et service web réside dans le fait que ceux-ci sont découplés. Plus simplement : rien ne vous oblige à utiliser le site web de Twitter pour tweeter, afficher vos tweets et/ou suivre d'autres personnes. Il existe en effet de nombreux moyens d'utiliser ce service : pléthore de logiciels tiers, plugins pour navigateurs, widgets et autres services web. Twitter en propose une liste non exhaustive ici. Dans la colonne de droite de ce blog, vous pouvez par exemple lire mes derniers tweets. Il est également possible de tweeter par SMS via son téléphone.


A quoi sert Twitter ?


Difficile d'être objectif sur ce point, tant les critiques du service peuvent être dythirambiques ou assassines.
Twitter est un outil de communication avant tout. Ce qui est intéressant, c'est qu'il peut être utilisé de nombreuses façons, pour des objectifs divers.
L'une des principales attaques contre Twitter consiste à dire que : "Dire ce que l'on est en train de faire est à la fois narcissique, impudique et contre-productif." (je résume volontairement).
Pour autant, je vous propose dans la suite quelques "modes" d'utilisation de Twitter qui tentent démontrer le contraire, après avoir décrit les quelques "normes d'utilisations".


Comment tweeter ?

Voici quelques normes courantes d'utilisation de Twitter :

  • RT signifie "ReTweet" : lorsque l'on lit un tweet intéressant et que l'on souhaite lui faire écho, il suffit de le copier et de le tweeter à son tour. Pour cela, on utilise cette syntaxe, avec "source" l'utilisateur du tweet de départ :
RT @source Un tweet très intéressant, sans doute avec un lien.
  • @user : dans un tweet, mettre @ devant le nom d'un utilisateur, sans espace, permet de mettre automatiquement un lien vers son profil. En particulier, lorsque l'on adresse un tweet à une personne , (pour répondre à son dernier tweet par exemple) le tweet doit commencer par ceci. Exemple :
@toto197 Moi aussi j'ai adoré ce bouquin, même si la fin est un peu abrupte.
  • #keyword : lorsque l'on souhaite que son tweet soit référencé dans certains moteurs de recherche et/ou puisse être classifié automatiquement dans une catégorie donnée par d'autres services, sites ou logiciels, on utilise le signe # devant le mot-clé employé, sans espace. Par exemple :
Tous à la manif contre #hadopi !
  • OH pour OverHead : moins fréquent, cela signifie que vous tweeter quelque chose que vous avez entendu. Exemple :
OH Ingenicono va licencier 1 milliard de consultants.



Comment utiliser Twitter : quelques "modes" d'utilisation

Liste non exhaustive, mais illustrant, à mon sens, les possibilités offertes par ce service, avec quelques outils, et exemples de tweets (à titre purement informatif, et non contractuels).

Microblogging : ma vie, mon œuvre, mon cµl

What ?

Grand classique du microblogging que l'on méprise tous (et qu'on est pourtant si nombreux à pratiquer...), il s'agit stricto sensu de tweeter ce que l'on est en train de faire, ou d'une manière plus large, ce qui nous arrive IRL (dans la "vraie" vie quoi...). Bien qu'assez inintéressant, il y a des cas, ou celà permet de rester en contact (d'une certaine façon, à chacun de juger) avec sa famille et ses amis. Aussi, on peut utiliser Twitter comme un IRC/MSN moins invasif.

How ?

Les bons outils pour cela sont (a priori : je pratique assez peu ce "mode") un bon petit pluggin pour son navigateur, histoire d'éviter de passer par le site, voire Flock, et tinypic pour partager ses photos (photos de sa vie, son oeuvre, etc...), et un bon forfait de SMS... A la limite, un logiciel tiers avec notifications (genre TweetDeck) pour une utilisation type instant messaging avec beaucoup de followers/followings. Passer en mode privé (c'est à dire n'autoriser que certainss followers) est une option s'il s'agit uniquement de rester en contact avec des proches IRL.

Like ?

  • Arrive à l'aéroport.
  • Bah, le café est pas bon !
  • Vais faire caca LOL
  • @sabrinette256 kikoo twa !

Microblogging : partage

What ?

Déjà plus intéressant, on peut utiliser Twitter comme un flux de partage et/ou tumblelog (comme Tumblr par exemple) ; c'est à dire pour partager ses liens web : lectures, images, vidéos, etc... ou ses propres oeuvres.

How ?

Peu de besoins finalement pour ce mode là : tinyurl pour raccourcir ses liens, tinypic pour loader ses images et vidéos et pourquoi un script du type "Tweet This", tweetant automatiquement la page courante de votre navigateur.

Like ?


Coworker

What ?

Application professionnelle : avoir un état de l'activité de ses collègues de travail. Ne riez pas, dans certains domaines, je pense que celà peut être extrêmement utile, et contrairement à ce qu'on pourrait croire, un gain de productivité. Effectivement, il est parfois vital de savoir sur quelle tâche sont vos collègues. Par ailleurs, je pense qu'on peut facilement imaginer un script parsant automatisant les tweets, et créant une ébauche de relevé d'activité (j'en reparlerai sans doute dans un prochain post).

How ?

Mode privé surtout (le monde n'a pas besoin de savoir, et dans ce contexte, il est contreproductif de suivre quelqu'un d'autre que vos collègues). Eventuellement un notifier discret ?

Like ?

  • Bug n°256 corrigé
  • J'attaque la spec IHM-93
  • En réunion client jusqu'à 16H
  • @jdupont il y a un soucis dans la 3° partie de ton rapport
  • Je pars voir l'expert dans 30 min. Pas de question sur le nouveau process ?

Commerce 2.0

What ?

Pas mal d'entreprises commencent à utiliser Twitter pour diffuser des infos, faire des annonces, et même avoir un retour sur leur dernier "produit" ou encore lancer des micro-sondages.

How ?

Les entreprises peuvent assez facilement développer/se payer des scripts ou autres bots tweetant automatiquement leurs infos. WeFollow par exemple, leur permet de se référencer facilement et d'augmenter leur visibilité. Cependant, il est nécessaire que celles-ci comprennent que Twitter n'est pas un média à sens unique, comme peut l'être la télévision par exemple : l'outil perd de son intérêt s'il est uniquement employé pour diffuser, et qu'aucun retour n'est pris en compte.
Par exemple, l'un des développeurs du logiciel Flock utilise régulièrement Twitter pour demander leur avis à ses followers sur les fonctionnalités qu'ils désirent dans le logiciel, comment celles-ci doivent se présenter / s'utiliser, etc... Il a ainsi un retour direct et synthétique (140 caractères...) d'un nombre important d'utilisateurs.

Like ?

  • Promo au magasin à partir de demain sur les chaussures rouges !
  • Notre nouveau modèle de netbook 2 Go sortira finalement courant Avril
  • Participez au concours d'IndusBidule : http://indusbidule.fr/concours/toto
  • Notre équipe IT cherche un nouveau responsable media : http://recruttruc/offre/244
  • Hausse de notre action de 7.8% : http://www.tousdanslesbourses.com/blague

Event Media

What ?

Twitter est un très bon outil pour les professionnels de l'évènementiel. Il permet rapidement d'informer de son dernier évènement : concert, festival, exposition, conférence, etc...

How ?

Ici encore pour le professionnel, les scripts et un bon référencement sont les bienvenus. Rien de particulier, si ce n'est que des liens restent nécessaires pour détaillé le tweet.

Like ?

  • Concert de Lyne la Coquine le 4 à Limoges au Grand Vase : http://llc-music.fr/concerts
  • Plus que quelques places pour l'opéra de Whessenfyerstrauss à Marseille le 12 Juin : http://...
  • Finalement, le jeune talent Elvis Presley n'assurera pas ces dates en France à partir du 1er Avril. Pour tout remboursement, contactez http://...

News

What ?

Les grands acteurs du monde de l'information se mettent à Twitter : CNN, BBC, The Guardian Tech, etc... En général, ils proposent des brèves, et des liens vers les articles de leurs sites respectifs. Personnellement, je ne trouve pas encore un intérêt majeur à ce mode là : il réinvente le flux RSS en moins pratique, sans apporter énormément de plus value.

How ?

Pour le follower, un logiciel tiers du type de TweetDeck, permettant de trier les tweets, semble approprié s'il suit plusieurs de ces sources : en effet, le nombre de tweets peut être important, et éventuellement noyer ses autres contacts.

Like ?


Lazy Web

What ?

Ce que j'appelle le "Lazy Web" (litéralement "Web paresseux") est la méthode consistant à demander une information aux autres, sur le web, plutôt que de la rechercher comme un grand garçon (ou une grande fille, ou un grand robot que s'il est sage il pourra jouer à pong). Autant je déteste passablement les gens en abusant sur les forums ("Hé, comment on fé pour désinstaller un logicielle sous L1nux ?" - il faut toujours qu'il y ait une bonne âme (aussi appelée un pigeon) pour répondre à ce genre de topic honteux), autant je dois reconnaître que sur Twitter, c'est un peu différent. D'abord parce que le tweet en question va polluer beaucoup moins longtemps la liste de vos followers que sur un forum ou autre. Ensuite parce que d'une certaine façon, vous vous adressez généralement à moins de personnes. Ensuite, parce que si c'est fait intelligemment, ça peut être efficace.

How ?

Pas d'outils particuliers pour cette utilisation. A noter que contrairement aux modes précédents, il ne saurait ici s'agir d'un mode d'utilisation de Twitter à part entière : qui vous suivra si vous ne faites que poser des questions ? Attention à ne pas en abuser donc...

Like ?

  • Je me tate entre l'achat d'un eeePC et d'un Aspire One : des avis ?
  • Quelle galère pour compiler tel logiciel sous Window$ : c'est normal, ou il faut carrément que je le compile sous Nix en croisé ?
  • Question au peuple : Gmail est mort aussi chez vous ?

Buzz Surfer

What ?

Twitter permet de s'informer des préoccupations des gens l'utilisant, quasiment en temps réel. Pour ceux qui sont accros à la nouveauté, au buzz (comme on dit chez les djeunz) et pour les beta-testeurs et early-adopters de tout poil, c'est une aubaine car certains outils sont vraiment efficaces pour ce faire.

How ?

Principalement ici : l'outil de recherche de Twitter, TwitterSearch. Celui-ci permet d'afficher en temps réel les tweets contenant un mot-clef. Il informe également des sujets du moment. Grâce à l'API très ouverte de Twitter, on voit également apparaître des outils communautaires très intéressantes, comme API's VS Hadopi.
C'est dans ce genre d'utilisation que les mots-clés (avec # devant) et les retweets prennent tous leur sens : référencement, phénomène d'écho, etc...

Like ?

  • Cuil is really a good... nah, just kidding...

Autres...

Bien d'autres utilisations sont possibles : communauté, jeux (on en reparlera), spam, bots, etc...

A chacun d'utiliser le service comme il l'entend, mais toujours avec moins de 140 caractères.

--------

Les commentaires sont ouverts pour toute question.
Je reparlerai très certainement de Twitter dans de prochains posts.

mardi 10 mars 2009

I luv' Sneakers : Sneakerz Reddit

C'est pas vraiment un secret : je suis un gros fan de sneakers (chaussures de sports / urban shoes). Du coup, je viens de lancer un petit subreddit sur ce thème : Sneakerz.

N'hésitez pas à aller jeter un coup d'œil ou à proposer vos liens si vous aussi vous pensez qu'une paire de Superstar est plus classe qu'un costard Hugo Boos.

mardi 24 février 2009

Diffusion du libre

Je ne sais pas si c'est une fausse impression de ma part, mais j'ai l'impression que la notion de logiciel libre est plus connue et mieux comprise par le grand public qu'il y a quelques années. Bien sûr, il reste du chemin à parcourir et de la "propagande" à faire, mais il me semble qu'il y a évolution (même si "libre" reste trop souvent synonyme de "gratuit").
Essayons de synthétiser les vecteurs de cette évolution, ou du moins, les facteurs contribuant le plus significativement à la propagation de la "culture libre" (au sens plus large qu'uniquement logicielle).

Vecteurs de diffusion de la "culture libre"

Bon, je passe sur Internet. C'est évidemment la clef de la naissance, l'évolution et la réussite du libre, depuis le départ. D'ailleurs, Internet et le web sont construits principalement sur des technologies (et des principes) libres ou du moins ouvertes : HTTP(S), SSH, CGI, FTP, Javascript, PHP, etc... (certes, il y a aussi le Flash...).

La fondation Mozilla, via Firefox a été et reste un acteur très important de propagation du libre. Même si la fondation est assez souvent critiquée par la communauté du libre, pour des raisons aussi diverses que de validité variable, elle mérite que l'on reconnaisse le bénéfice de ses actions.
D'abord Firefox est un bon à très bon produit, surtout comparativement à Internet Explorer. Pour autant, je ne pense pas que ce soit le logiciel libre le plus répandu auprès du grand public (les chiffres me manquent pour vérifier ça : si quelqu'un connaît une bonne source de statistiques à propos du libre, je suis preneur) : d'une part, Internet Explorer est encore majoritaire en terme de visites web, et d'autre part, on a tendance à oublier pas mal de programmes, énormément employés (en bonne partie de par leur gratuité) : VLC, eMule, Vuze (anciennement Azureus), The Gimp ou Java... La différence avec ces logiciels, est que Mozilla met largement en avant le côté libre de Firefox (et de ses autres produits), ce qui n'est pas le cas sur ces autres. C'est assez similaire sur la suite OpenOffice de Sun : le côté libre/open source est souvent souligné dans les pubs.

Wikipédia a, je pense, indirectement, mais fortement, contribué à diffuser la culture libre. Le principe d'encyclopédie collaborative est bien connue du public. Le droit de réutilisation du contenu est également bien admis (bien que les conditions de rediffusion imposées par la license de documentation libre GNU (GFDL) le soient nettement moins...). Sur les principes, le logiciel libre et les règles de Wikipédia sont très proches : tout le monde peut participer/contribuer, réutiliser, diffuser, etc... C'est en bonne partie Wikipédia qui fait connaître les licences Creatives Commons via Wikimedia Commons (de plus en plus de sites les mettent en avant cependant, comme Flickr récemment). Ces principes étant compris pour l'encyclopédie, ils deviennent plus clairs lorsqu'ils sont expliqués pour les logiciels.
Par ailleurs, la communauté libre utilisant Wikipédia de façon soutenue, les projets libres sont souvent mis en avant dans les articles du site (parfois de manière subjective et un peu pénible d'ailleurs : je ne pense pas qu'on ait besoin de ça...), ce qui permet une certaine forme de publicité : la pub par la doc (un logiciel (ou autre d'ailleurs) existe-t-il vraiment s'il n'a pas d'article sur Wikipédia ?).

Ensuite, phénomène commercial plus récent, l'apparition des netbooks ou ultra-portables a contribué à faire connaître le logiciel libre et surtout Linux (pas forcément en bien cependant) à un public de néophytes (à commencer par les vendeurs informatiques eux-mêmes...). Je ne suis pas persuadé que les gens aient bien compris la notion de logiciel libre en achetant un eeePC sous Xandros, mais ils ont au moins compris la différence de prix avec Windows... c'est déjà ça (c'est l'argument principal de vente de Linux, hormis la moindre consommation mémoire par rapport à Vista ou même XP).
Par contre, j'ai des doutes plus que prononcés sur l'efficacité de la "pub" des netbooks pour Linux. En effet, les 2 distributions majeures sur ces machines (majeures car les plus "vendues") sont Xandros (eeePC) et Linpus Linux (Acer Aspire One) : ces 2 distros sont... nazes. Bloquées, interfaces trop simplifiées, modification constructeur de packages "basiques" (sous Linpus : Firefox, Pidgin notamment...)... Bref, je les trouve extrêment mauvaises, assez loin de l'esprit de départ de Linux, et forcément décevantes pour le grand public issu de Windows XP. Il y a cependant des exception comme la Suse SLED sur le MSI Wind par exemple, ou d'autres sous Xubuntu.
Il faut par contre noter que l'apparition de ces machines a pas mal boosté la communauté et les entreprises sur le développement, la relance, ou l'adaptation de distros adaptées : gOS, Xubuntu (mon choix sur Aspire One A150 : XFCE devrait vraiment être relancé par les netbooks), Ubuntu Netbook Remix, Joli Cloud (à venir ?), Android (pas mal de boulot a été fait pour récupérer le dev effectué pour les OS de mobiles ou PDA)... plus l'adaptation matos pour les "grandes" distributions existantes : OpenSuse, Ubuntu, Mandriva, etc...
Je suis mal renseigné sur les BSD, mais il serait intéressant de savoir comment ces communautés ont réagi par rapport à ces nouvelles machines.

Bien sûr, il serait injuste de ne pas parler ici du travail constant fait par la communauté dans son ensemble : développement bien sûr, mais aussi et surtout : rencontres, stands, aide, forums, install parties, propagande, pétitions, etc... C'est un boulot souvent ingrat, faut reconnaître le mérite des gars et des gyals qui font ça (bénévolement en général, rappelons-le).
C'est aussi eux qui diffusent l'information lorsque le logiciel libre est adopté par une grande entreprise ou mieux, par une administration de l'état : c'est souvent un bon coup de pub pour le libre.
Plus méchant, les procès contre les entreprises ne respectant pas les licences libres (en France on a eu Free notamment pour du soft intégré dans la Freebox si je me souviens bien) ou contre les monopoles (Microsoft, bien souvent... mais bientôt Google probablement) font parler du libre, et sont toujours une occasion d'expliquer les fondamentaux.

Cela dit, tous ces facteurs doivent, selon moi, à terme devenir de moins en moins significatifs. Même la partie "éthique" du LL passe, à mon avis, au second plan derrière la qualité logicielle. Je ne parle pas ici d'une quelconque norme industrielle bancale : je parle simplement du fait que de par leur nature, les projets libres, ou open sources (sous réserve d'être suffisament "importants") doivent logiquement être d'une qualité supérieure à leurs homologues propriétaires (et à fortiori freewares). Cela peut se constater déjà sur de nombreux exemples : Firefox est probablement le meilleurs navigateur web actuellement (même si Opéra ou Chrome se défendent), la JVM est toujours probablement la meilleure machine virtuelle sur le marché (depar sa portabilité : faut se méfier de .Net sur d'autres aspects...), les langages libres sont systématiquement meilleurs que leurs homologues propriétaires (troll ?), OpenOffice arrive petit à petit au niveau d'offre de Microsoft Office, en science de nombreuses libs sous GPL ou autre dominent l'écosystème (Lapack entre autres...), Linux (troll ?), etc... Je n'ai pas parlé ici des domaines que je connais mal comme le P2P ou la messagerie instantanée où il y aurait des choses à dire...
C'est à mon avis sur ce point qu'il faut appuyer encore et toujours pour convaincre. Il faut croire que Microsoft a droit à l'erreur avec Vista, les migrations d'OS ayant surtout profité à Mac OS et à... Windows XP (!), mais dans le libre, un nouvel utilisateur déçu, c'est un utilisateur perdu ad vitam aeternam. Au boulot ! ^^


Notes :
Je comptais initialement faire un article pour présenter quelques logiciels libres que je considère comme étant injustement méconnus du grand public (Thunderbird, Pidgin, Sage et Freemind probablement). M'étant un peu enflammer sur la diffusion du LL, j'ai pas envie de coller le reste à la fin, ça viendra dans un prochain article.

Je ne prétends aucunement faire autorité sur les questions évoquées ci-dessus (même si mon "style", je m'en rends compte et m'en excuse, peut le laisser penser) : c'est plus un avis personnel, pour invitation à la réflexion et à la discussion sur ces sujets (les commentaires sont grand-ouverts).


Crédit images, par ordre d'apparition : libre.taxi par Gabriel Juan (utilisation commerciale interdite),

dimanche 14 décembre 2008

3 petits Reddits

Petit post publicitaire pour présenter à ceux qui ne connaissent pas Reddit, et 3 petits sub-reddits sympathiques.



Reddit est un site de "social news" ou de "social bookmarking", assez proche de Digg (l'aspect réseau social en moins), ou Scoopeo en Français (moins orienté "news" cependant) : son contenu consiste en une liste de liens proposés par la communauté des internautes, mise à jour en permanence. Afin de trier les liens par sujet, il existe de nombreux "sub-reddits", spécialisé dans un genre ou un thème donné. Parmi les plus connus de ces sub-reddits, on retrouve Pics, Politics, Technology, Science, Programming, Ruby, WTF (What The Fuck ? : C'est quoi ce bordel ?) ou encore NSFW (Not Safe For Work : pour du pOr|\|0 et autre...). Depuis plusieurs mois, il est possible de créer gratuitement ses propres sub-reddits, publics ou privés, sur des sujets de son choix, et ce, assez facilement.

Au niveau de l'utilisation, le principe est très simple. Vous pouvez proposer un lien qui vous a plu (ou pas d'ailleurs...) à l'un des sub-reddits. Ensuite, ce lien apparaitra dans la liste des nouveaux liens soumis. A partir de ce moment, les autres redditeurs pourront voter pour ou contre ce lien, le commenter et éventuellement le reporter en cas d'abus (par exemple si vous postez un lien prOn dans le reddit des trucs mimi). Si votre lien obtient un accueil favorable, il pourra éventuellement passer en première page.
Pour encourager les redditeurs, il existe un système de points appelés "points de karma". Ils sont supposés représenter le respect que vous doit la communauté en fonction de votre attitude : liens soumis appréciés, bons commentaires, etc... Sans être un but en soi, ils donnent un aperçu de l'activité de chacun sur le site.

Parenthèse pour les hackeurs, le code de Reddit est libre et donc disponible pour chacun. Au départ codé en LISP, il est désormais principalement implémenté en Python (sources).

Cependant, comme beaucoup de sites "web 2.0" reposant majoritairement sur l'activité de sa communauté, il est soumis à divers problèmes. Notamment, il est très difficile pour un sub-reddit de survivre si sa communauté n'est suffisament active, ou, tout simplement, nombreuse (ce qui est souvent le cas pour des sujets très spécifiques). De même, étant un site international, c'est l'Anglais qui domine très largement les autres langues (même s'il existe quelques reddits spécifiquement dans d'autres langues...). Il est d'ailleurs amusant de constater une certaine "animosité" à l'égard de liens dans certaines langues (dont le Français) ou l'absence totale dans certaines autres (dont l'Arabe)...

Je me permets donc de vous proposer ici 3 "petits" reddits qui me paraissent intéressants :

Pixel Art :

Ce très modeste sub-reddit se focalise sur le pixel art, bien sûr, mais également sur toute autre tentaive artistique liée à 'lunivers informatique.

Blues Music :

Autre sub-reddit sympathique, mais malheureusement très peu actif, Blues Music parle bien évidemment... de Blues. N'hésitez pas à proposer vos liens !


XFCE :

Enfin, l'un des plus "spé", le reddit de l'environnement graphique XFCE. Pour info, j'ai découvert cet environnement récemment via les nouveaux netbooks sous Linux, et je dois doit dire que dans ce type de matériel, il est particulièrement efficace et agréable.

lundi 1 décembre 2008

Changement de Design

Depuis quelques temps, une immonde barre bleue non identifiée était apparue dans le corps des messages de ce blog...

Malgré mes 47 secondes d'efforts acharnés, je n'ai pas réussi à corriger ce bug, et donc par flemme profonde (et désintérêt significatif pour le HTML/CSS/XML, il faut bien l'avouer... surtout quand il est aussi crade que dans Blogger !), j'ai décidé de changer le design de ce modeste blog... en en prenant un tout-fait-tout-prêt (ou presque), déniché ici. Celui-ci étant sous licence CC avec paternité, vous avez droit à un petit lien vers le site de l'auteur inclus, mais ça reste discret.

Je disais "presque" car il manquait un bon petit nuage de tags (que je préfère généralement aux vilaines listes de libellés basques de chez Blogger), ainsi que le petit outils de traduction Google qui peut être utiles à nos amis non-francophones.

Vos avis sur le nouveau design sont les bienvenus, en espérant qu'il me motive à me remettre à poster un peu plus fréquemment !

vendredi 31 octobre 2008

Pourquoi utiliser Ruby ?

Note préliminaire :

Il y a quelques temps, j'avais rédigé cette présentation à la demande de gars du Site du Zéro, dans le but de faire un topic de comparaison objective (Mama mia !) du Ruby et du Python. Ne connaissant que très peu le Python, je me suis chargé de la partie Ruby. Initialement rédigée en zCode, la première version de celle-ci est disponible à l'adresse suivante (à toute fin utile) : version zCode. (Merci par avance de me prévenir si vous détectez un problème dans cet article : lien mort, texte "bizarre" ou autre).

-~=.=~-

Pourquoi Ruby ?

Ruby

Ruby est un langage de programmation libre, interprété, à typage dynamique fort et orienté objet. L'écriture de ce langage d'origine japonaise a débuté en 1993 et est dirigée par différents principes :
En Ruby, toute donnée est un objet, et toute fonction est une méthode (une méthode étant elle même un objet...) : il n'existe pas de type primitif comme dans certains autres langages.

irb(main):001:0> 1.class
=> Fixnum
irb(main):002:0> Fixnum.class
=> Class
irb(main):003:0> Class.class
=> Class


Ruby est dynamique et flexible : possibilité de modifier le code à l'exécution, et/ou de redéfinir son implémentation de base.

# Exemple de modification du code natif # en cours d'execution

a = 1

puts a.class
#=>Fixnum

# to_s : methode native de conversion en String
puts a.to_s
#=>"1"

# Modification de to_s
class Fixnum
def to_s
"Huhuhu !"
end
end

puts a.to_s
#=>"Huhuhu !"


Le principe de moindre surprise veut que le développeur (expérimenté, ou venant d'un autre langage) soit le moins surpris/dépaysé/perturbé possible par la syntaxe ou les mots clés de Ruby.

"Convention plutôt que configuration." Ruby favorise ce concept, très repris dans certaines applications du langage, dont Rails.

Ruby est à comparer à d'autres langages dynamiques interprétés, dont : Python, Groovy, PHP, Io, Perl et Scheme, entre autres.

Pourquoi Ruby ?

Quelques avantages :



  • Entièrement objet, mais autorise le procédural, et dans une certaine mesure inspiré du fonctionnel. Le développeur est donc libre. De même il y a "Plusieurs façons de faire la même chose". Cela ne veut pas dire pour autant que toutes se vaillent.

  • Le core et l'API standard fournissent tout le nécessaire pour débuter (et continuer !) : threads, benchmark, gestion d'exceptions, parseurs...

  • Grandes possibilités de métaprogrammation.

  • Différentes implémentations du langage sont disponibles : MRI pour la principale en C, mais aussi JRuby (en Java, pour la JVM), IronRuby (pour la plate-forme .Net), Rubinius (en Ruby) et dernièrement MagLev, et quelques autres.

  • La prise en main est généralement rapide pour quelqu'un ayant déjà de premières bases en programmation et en POO.

  • Contrairement à ce qu'on peut souvent entendre, la documentation du coeur et des librairies standards est bonne et claire. Les ouvrages traitant du langage sont également assez nombreux, et parfois de très bonne qualité. Notamment : Why's (Poignant) Guide to Ruby, le Pickaxe, Ruby par l'Exemple, Design Patterns in Ruby...

  • Outils associés : TextMate (pour MacOS), Aptana RadRails (pour Eclipse ?), RDoc (génération automatique de documentation), RubyGems (gestionnaire de packages, appelés "gem" en Ruby), etc...

  • Communauté importante et active : RubyForge.

  • De nombreuses gems, portages et librairies de qualité pour le web (Rails, Merb, Ramaze, Camping...), pour la GUI (GTK, WxWidgets, FOX, Shoes, tk...), pour les sciences (BioRuby, LaPack...)...




  • Et quelques (malheureux) défauts :



    • D'abord, les performances en terme de vitesse d'exécution sont assez mauvaises pour un langage de ce type. A relativiser cependant : les performances sont rarement critiques pour un langage de ce type d'une part, et d'autre part, les améliorations sont régulières sur chacune des implémentations du langage (avec une certaine compétition qui favorise les progrès).

    • Manque de sécurité sur certains points : peu de warnings, constantes pas constantes... Ceci est principalement dû à la grande liberté du codeur.

    • Métaprogrammation riche, mais incomplète (à comparer à Io pour l'introspection/réflexion notamment).
    • Communauté très (trop ?) orientée Rails et web. Très anglophone également.

    • Gestion perfectible des blocks.

    • Certaines parties des librairies standards contestables (Math et Matrix entre autres).

    • Langage "non-pur" : à comparer à Io, Smalltalk ou Scheme (encore que le Scheme ne soit peut-être pas "purement" fonctionnel...). Ici encore, c'est surtout une conséquence de la liberté du programmeur. Et en conséquence, la relative facilité pour commencer à coder en Ruby peut donner de mauvaises habitudes aux débutants (ou l'impression d'avoir rapidement fait le tour...) ; on le constate régulièrement dans des codes pour Rails ou RPG Maker XP.



    • Ah ! Et dernier avantage du langage : son créateur est aussi un grand comique ^^




mardi 2 septembre 2008

Essai de Google Chrome en Live !

Après l'annonce hier de sa sortie imminente, Google Chrome, le navigateur web made in Google, est disponible depuis quelques (petites) heures en téléchargement (ici). Le géant du web diffusait déjà aujourd'hui cette BD (en anglais), expliquant par
 la voix de ses développeurs l'intérêt de ce logiciel et détaillant techniquement (parfois de manière assez poussée !) ses caractéristiques diverses.

Après mon dernier article sur le navigateur orienté social Flock, je ne résiste pas à vous refaire le coup du post écrit en live depuis ce nouveau browser.

De l'importance de la première impression...


Ce qui saute aux yeux à l'ouverture du soft, c'est la sobriété et la clarté de l'interface. Comme sur la plupart des applications Google (je pense surtout à Gmail et Google Reader), c'est une réussite : du bleu clair et du blanc, des icônes claires et populaires, etc... Le design de l'interface est entièrement tourné vers l'onglet, et non pas vers la fenêtre. Pour celle-ci, on oscille entre un visuel rappelant la dernière version de GTK, et l'interface de Windows Vista... pour le peu qu'on la remarque ! En effet, et comme annoncé, ce sont les onglets qui gouvernent ici, et donc, ceux-ci atteignent le haut de l'écran, un peu comme en mode plein écran sur d'autres navigateurs.

La barre principale est minimaliste, dans un style rappelant assez Safari : 4 boutons, la barre d'adresse et 2 icônes de menu déroulant ("contrôler la page actuelle" et "personnaliser et contrôler Google Chrome"). Même la barre de favori en dessous peut être enlevée (on y retrouve en coin le dossier des favoris sous forme de menu déroulant). Tout  à manifestement été fait pour que l'on oublie le navigateur lui même : clairement, on ne voit que sa page web.

Au niveau de l'affichage, c'est WebKit, le moteur de rendu utilisé par Safari (et dérivé du KHTML de Konqueror) qui est utilisé. J'avoue être très agréablement surpris par les progrès de celui-ci... même si c'est un peu déstabilisant lorsqu'on est "trop" habitué au moteur Gecko (employé par Firefox).

Oh, et un détail : il n'y a pas de panneau latéral !


Vite vite ?


Au démarrage, Chrome va vite. Chez moi (c'est important), il est à priori plus rapide que Flock (équivalent à un Firefox 2 dernière version avec quelques extensions) et plus rapide que Firefox 3... Au chargement, c'est assez difficilement mesurable à l'oeil nu, et surtout, ça me paraît plus "variable" qu'avec mes autres navigateurs (hormis peut-être Opera...) : sans doute un poil plus long, mais à faire vérifier par de vraies mesures. Par contre, le navigateur est impressionnant pour le javascript : Gmail et Google Reader (tiens des applis Google, comme par hasard...) sont extrêmement rapides (si vous n'êtes pas convaincus, à tester sur cet interpréteur online de Brainfuck... qui n'a pas été codé par Google...).

Au niveau de la consommation mémoire, chaque onglet est un processus séparé. Pour résumer pour les moins informaticiens d'entre nous, c'est à dire qu'ils se comportent comme étant chacun "un programme à part" : notamment, si l'un d'entre eux bugge, le programme dans son ensemble ainsi que les autres onglets continuent de fonctionner. Cela veut également dire que l'on peut surveiller la conso de chaque onglet : le programme propose un gestionnaire de tâches séparé de celui de l'OS ainsi qu'une page spéciale about:memory afin de gérer sa consommation.

A titre purement indicatif, sur ma modeste bécane (avec les mêmes pages ouvertes bien sûr mais probablement avec des différences de cache) :
  • Chrome : 131 M
  • Firefox 3 : 97 M
  • Flock 1.2.4 : 115 M
Chrome est donc encore assez loin des efforts de Mozilla pour diminuer la consommation mémoire.

J'ai par ailleurs l'"impression" que l'intégration du Flash est d'avantage réussi que dans mes autres navigateurs... Illusion d'optique ?

Clarté et Opacité


Parmi les exemples et fonctionnalités qui font la clarté de Chrome on a une barre d'état... inexistante : celle-ci apparaît uniquement au besoin, pendant le chargement d'une page ou lorsque l'on passe sur un lien. La barre d'adresse met également en relief le nom du site plutôt que l'adresse complète de la page courante. Les options sont également très claires. Et les principaux raccourcis de Firefox fonctionnent... La page d'acceuil est une sorte de Fast-Dial en mieux : il propose les pages les plus visitées par l'utilisateur mais aussi les favoris récents ou encore d'afficher l'historique : très bien conçu.

Cependant, certaines fonctionnalités me paraissent d'un accès assez difficile, comme le gestionnaire de tâches, le passage en mode "navigation privée" ou encore le gestionnaire d'extensions/plug-ins (pas trouvé). Par certains côté, Chrome me rappelle beaucoup les produits Mac de par son "opacité" sur les fonctions les moins employées par les utilisateurs (demandez donc à un Mac-User basique d'ouvrir un terminal et un éditeur de texte...).


Et Tic et Tac ?


Fini le live, parlons éthique... Ou plutôt, posons-nous quelques questions...

  • Est-il raisonnable d'utiliser un navigateur produit par l'entreprise leader (incontestée) du web ?
  • Quel est l'intérêt pour Google de financer ce navigateur ?
  • Celui-ci intègrera-t-il une forme de publicité ? (autre que pour la marque Google en elle-même)
  • Google finançant la fondation Mozilla, qu'en est-il de l'avenir des relations entre ces 2 entités ?
  • Faut-il craindre l'avènement du Big Browser ?
  • Si Google Chrome est open-source, n'est-ce pas en partie pour favoriser l'adoption des technologies "Google-made" par les autres grands acteurs du monde libre (Mozilla entre autres) ?
  • Quid du service de mise à jour de ce navigateur ? (élément de sécurité critique)
  • Quel sera l'impact de cette nouveauté sur le marché des navigateurs web ?
  • Qui vise Google ? Microsoft et/ou Mozilla ? (et/ou Apple ?)
  • Chrome ne sera-t-il que le navigateur d'Adroid ? (pour téléphones portables)
  • Pourquoi Chrome n'est-il disponible que sous Windows !!!? (pour l'instant...)
  • Où sont les extensions et les plug-ins ?
  • Juste un buzz ?

A chacun de répondre, pronostiquer et choisir.

Conclusion

Google Chrome est prometteur. Tous les paris ne sont pas encore gagnés pour lui, loin de là : performances, consommation mémoire, ouverture, sécurité et maintenance... Cependant, sa conception  relativement neuve (relativement car WebKit n'est pas non plus une révolution...), ses objectifs techniques et son originalité lui assureront inévitablement des adeptes. Cela suffira-t-il a changer significativement la donne dans le marché des navigateurs web, toujours (mais de moins en moins) dominé par Internet Explorer ? Rien n'est moins sûr... mais c'est Google, on ne sait jamais...
Par ailleurs, il soulève bien des interrogations, et même des inquiétudes, notamment dans le monde du libre. Sans sombrer dans la paranoïa et la suspicion pour toute société possédant plus de 4$, il est nécessaire de continuer à rester prudent vis-à-vis des pratiques de Google.


Ressources :


Note : Les images de cet article appartiennent à leurs propriétaires respectifs. 

mardi 19 août 2008

Essai de Flock en Live !

Ceci est un essai de l'éditeur de post du navigateur web Flock. Celui-ci est un dérivé de Firefox orienté "Social", c'est à dire disposant de nombreuses fonctionnalités pour les sites dits sociaux ou web 2.0 tels que les blogs, réseaux sociaux, "social bookmark", partage média et autres...

Commençons par ce que j'ai entre les doigts... Je découvre avec vous, en live !

L'Editeur

Smile, it's Flock !
Déjà, l'éditeur (qui se présente dans une fenêtre séparée) propose d'ajouter un titre et un texte alternatif avec chaque image : c'est un bon point par rapport à l'éditeur de base de Blogger (mais pourquoi n'ont-ils pas fait de même pour les liens !!!?). Il comporte 3 onglets : "Editor", "Source" et "Preview", consultables en permanence. L'aperçu est très pratique, par contre je regrette qu'il n'y ait pas de coloration syntaxique sur les sources...

So what ?

Cette dernière image a été ajouté directement via le "Web Clipboard" : du drag-N-drop d'un objet quelconque (texte, image, lien...) vers celui-ci et cet objet devient accessible directement pour le blogger ou le mailler, ou l'insérer dans un post en cours de rédaction... Pas mal.

Pas de récupération des tags (libellés) déjà utilisés depuis Blogger cependant. Dommage. Pas d'upload direct d'image depuis l'éditeur non plus... mais l'upload d'image constitue un outil à part entière du navigateur (voir plus loin).

La gestion de différents comptes de blog sur différentes plate-forme semble assez aisée.

Le Navigateur

Le navigateur en lui-même est assez agréable : très proche de Firefox évidemment, mais plus chargé, et avec un design de base assez moderne et ma foi agréable. Un grand nombre de favoris est déjà présent parmi les "applis sociales" : webmail divers, la plupart des plate-formes de blog, les réseaux (Facebook, etc...), les bookmarkers (Digg, Delicious, magnolia) et les médias (Youtube, Flickr, etc...). Peu d'add-on semblent cependant disponibles... rien pour reddit notamment.

Les fonctionnalités ont l'air plus ou moins utiles :

MyWorld semble être un compromis entre une page personnalisée (iGoogle ou NetVibes par exemple) et un Speed Dial à la Opera.

La People sidebar permet, après s'être loggé à son réseau social fav... bref, Facebook (ou Hi5 pour les Sud-Américains, c'est-à-dire pas pour les mecs de Blois...). Elle permet, donc d'avoir sous la main tous ses contacts : accès aux actions de base (message, wall, accès profil, etc...) et "flux média" (les photos quoi...). PLUS des notifiers pour les requêtes principales (mail, friend request, event, etc...). Pratique pour jeter un oeil sur ses contacts sans passer 2H sur site...

La Media Bar, elle, propose d'afficher en haut de page, sous forme de liste déroulante de vignettes, les "objets" en provenance d'un flux donné. Celui-ci peut être les images les plus vues de Flickr, une chaîne Youtube, les photos de ses amis sur Facebook, des images de news d'un site d'info ou autre. Pas mal.

La Feed Sidebar est un simple aggrégateur de flux RSS, Atom, etc... Plutôt sommaire, mais avec possibilité de créer des sous-dossier (par thème par exemple).

Le bouton Webmail est comparable au bouton Gmail de la barre d'outil Google pour Firefox. Pas bien plus mais ça marche.

La barre de favoris est déjà bien pleine : Facebook, Digg, Flickr, Photobucket, Delicious, etc... Elle est cependant scindée en 2 avec une partie "online" proposant d'accéder à et/ou partager ses favoris en ligne grâce au service de Flock. Mwooof.

Plus utile la barre Accounts and Services donne l'état de connexion/disponibilité de l'utilisateur sur les différentes applis supportées. Très utile en fait...

Il y a également un bouton pour le Web Clipboard que j'ai utilisé tout à l'heure. En image, dans la barre latérale :


Web Clipboard : FlockEnfin, il reste un bouton pour ouvrir l'éditeur de blog et un autre pour l'uploader de photos (Facebook, Picasa, Flickr, etc...). Extrêmement pratique dans les 2 cas.

Conclusion

Sincèrement, je suis assez surpris. Flock est très agréable et d'une grande facilité de prise en main, pour peu que l'on soit habitué à Firefox (et encore...) : de nombreux petits messages d'aide (discrets) apparaissent au fur et à mesure de l'utilisation pour faciliter la configuration des différents comptes et autres options. Painless. Au niveau navigation et options associées, c'est du Firefox, ni plus, ni moins. C'est clair, visuellement réussi, et assez ergonomique. Par ailleurs, l'installation se fait, "évidemment", avec l'importation des données de votre autre (vos autres...) navigateurs.
On peut trouver qu'il y a "trop" de choses useless. Par exemple, je n'utilise pas Digg, ni Flickr, ni un paquet de sites du genre : du coup beaucoup de raccourcis, et widgets me sont inutiles. Qu'à cela ne tienne, ils sont supprimables.
Pour ce qui est de l'intérêt d'un tel navigateur par rapport à Firefox (ou Opera voire Safari)... La question se pose clairement, étant données la qualité et le degré de customisation de ce(s) navigateur(s). Cela dit, pour une utilisation très "sociale" du web, Flock me semble très adapté. Ses aspects gadgets sont le reflet même de ce type d'utilisation du web : à chacun son utilisation des blogs, des réseaux sociaux et du web en général.

Liens :
Blogged with the Flock Browser

mercredi 13 août 2008

Tumblelog

En général, j'essaie d'éviter de "metablogger" (blogger au sujet de mon blog, ou du fait même de blogger). Mais une fois n'est pas coutume...

Les quelques courageux qui suivent ce blog régulièrement auront sans doute constaté que malgré mes efforts, ma fréquence de publication a pour le moins "baissé" depuis quelques mois. Plus de travail, moins de temps libre, etc... Donc, moins de temps pour écrire des articles "corrects".
Cependant, il y a une solution pour partager rapidement des liens, articles et infos intéressantes : un tumblelog.

Sur le principe, un tumblelog est comparable à un blog, mais avec des billets très courts : de simples notes ou liens, en général sans commentaires. Entre la page de partage et le flux de liens, avec un contenu souvent plus divers qu'un blog classique. Il semblerait que le terme ait été introduit par Why The Lucky Stiff, hacker ruby populaire. Attention à ne pas confondre avec le Microblogging qui consiste à partager sous forme de courts tickets les instants passionnants de sa vie (cf. Twitter et autres sites buggés...).

Et il se trouve que j'utilise la page de partage de Google Reader comme Tumblelog à cette adresse, les derniers articles apparaissant dans la colonne de droite de cette page. Par rapport à ce blog, la fréquence de post est bien supérieure et les sujets plus variés (programmation bien sûr, mais aussi design, art, BD, jeux...).

Pour le principe, j'ajoute ici une liste de tumbles et pages de partage que je suis, en vrac :

Au passage, j'en profite : j'ai "nettoyé" ma colonne de droite : plus de pub, moins de liens useless. J'ai également ajouté un bouton reddit en bas d'article pour ceux qui utilisent cet outil (on en reparlera...). Bonne lecture.

dimanche 22 juin 2008

Le Logiciel Libre expliqué à ma Maman (et à toute personne non portée sur l'informatique...)

Le logiciel libre est une notion importante en informatique actuelle. Mais si n'importe quel geek, informaticien ou programmeur maîtrise ce concept, ce n'est pas le cas du grand public et particulièrement des personnes pour qui l'informatique n'est qu'un outil nécessaire, mais souvent un peu compliqué.

Le but de cet article est donc de tenter d'expliquer à ma maman, et par extension à toute personne peu portée sur l'informatique ce qu'est un logiciel libre.
Dans ce cadre, il est très probable que je fasse des raccourcis, analogies ou approximations sur certaines notions ou concepts liés ; à l'attention des personnes pointilleuses sur ces points qui font parfois débat (ou troll), n'hésitez pas à utiliser les commentaires afin de mettre les choses au point, point (poin poin !).
Par ailleurs, seuls les geeks semblent maîtriser le web et avoir le temps de lire les pages présentées dans les liens (et d'autres choses, comme la navigation par onglets sous Firefox ^^) : donc, la plupart des liens pointent vers une simple image (Une image vaut mille mots.).

Qu'est-ce qu'un logiciel ?

Commençons par le commencement ! Word, Excel, Firefox, Outlook Express et iTunes sont des logiciels. C'est probablement ceux qu'utilisent le plus ma maman. Mais ce ne sont que quelques exemples. Window$, MacOS X et Linux sont également des logiciels : ce sont des systèmes d'exploitation (c'est à dire le logiciel qui gère l'interaction avec le matériel, écran, clavier, etc ainsi que la base pour les autres logiciels cités en premier.).
Mais il y a également des logiciels plus "discrets" pour l'utilisateur de base : les "drivers" (ou pilotes) qui font fonctionner du matériel (imprimante, webcam, etc...) sur un PC, les systèmes assurant les transmissions bancaires, les applications web (comme Gmail, ou ce blog), le manager de vol d'un avion, un code calcul scientifique, le système d'un téléphone portable, un guichet de retrait de monnaie ou encore la synchronisation des feux dans les grandes agglomérations.

Pour résumer, sur un ordinateur (au sens large), un logiciel est toute la partie non-matérielle. En anglais, on parle de "Harware" pour le matériel (partie "dure") et de "software" pour les logiciels (partie "légère" ou immatérielle).

Comment construit-on un logiciel ?

Sans trop rentrer dans la technique, quelques notions sont utiles pour la suite.
Tout logiciel est construit à partir d'un "code source" qu'écrit le programmeur, développeur ou codeur (ou ingénieur logiciel, mais celui-ci, il se la pète un peu je trouve ^^). De quoi s'agit-il ? Il s'agit d'un texte, écrit dans un langage spécialement conçu pour "communiquer avec l'ordinateur". Il existe de nombreux langages permettant d'écrire du code.
Le code source peut être défini comme un ensemble d'ordre et de définitions d'ordres que le codeur donne à la machine. Du coup, le code source d'un logiciel peut être comparé à une recette de cuisine à laquelle on ajoute une définition des gestes techniques (abricoter, brider, delayer, etc...).
Par exemple, ci-dessous voici à quoi pourrait ressembler le code permettant d'ouvrir une fenêtre contenant une horloge à l'heure :

Programme Fenetre-Horloge :
ouvrir fenetre
fenetre contient horloge(heure_actuelle)
toutes les 1 secondes : mettre l'heure à jour dans horloge
fin programme


Bien sûr il s'agit de pseudo-code : c'est à dire un langage de programmation que la machine ne comprendrait pas. Mais dans l'esprit, on n'est pas très loin de ce à quoi pourrait ressembler un vrai code source. La preuve, voici un vrai programme faisant ce que je viens de décrire, en Ruby (Ruby est donc un "vrai" langage de programmation) :

stack do
background black
para @time.strftime("%a"),
span(@time.strftime(" %b %d, %Y "), :stroke => "#ccc"),

strong(@time.strftime("%I:%M"), :stroke => white),
@time.strftime(".%S"), :align => "center", :stroke => "
#666"
end

(source : hackety.org par Why's the Lucky Stiff)

C'est déjà moins compréhensible, mais ça marche ^^ !

Qu'est-ce qu'un logiciel libre ?

Un logiciel libre est un logiciel dont la licence dite libre donne à chacun le droit d'utiliser, d'étudier, de modifier, de dupliquer, de donner et de vendre ledit logiciel.
Cette citation Wikipedia est selon moi une bonne définition de ce qu'est un logiciel libre.
Mini-Tux, une mascotte de Linux (libre !)

Contrairement à ce qu'on pourrait facilement penser, un logiciel libre n'est pas forcément un logiciel gratuit. C'est sa licence qui est libre, c'est à dire le texte "juridique" définissant les droits de l'utilisateur sur le logiciel. Même si la majorité des logiciels libres sont gratuits, il en existe quelques un payants, ou en version payante (on y reviendra).

En l'occurrence, l'utilisateur, quel qu'il soit, à le droit d'utiliser le logiciel comme bon lui semble.

Contrairement à la plupart des logiciels propriétaires (non-libres donc), l'utilisateur a également le droit de copier, donner, vendre ce logiciel dans certaines conditions. Il n'y a donc quasiment pas de piratage dans le monde du logiciel libre puisqu'on est libre de dupliquer et de distribuer ces logiciels. Je dis quasiment car les conditions ne sont parfois pas respectées : par exemple une condi tion de redistribution peut être de continuer à montrer le code source (ce que ne font pas toujours les entreprises).

Le droit de vente peut paraître surprenant : pourquoi vendre un logiciel qui peut ensuite être redistribué gratuitement ? En pratique, peu de logiciels libres sont payants. La plupart du temps, le code source du logiciel est gratuit, mais c'est le support associé qui est rémunéré. Par exemple, le logiciel de développement que j'utilise actuellement est libre, mais mon entreprise paye la société qui le distribue pour corriger rapidement les bugs que nous rencontrons, ou ajouter de petites fonctionnalités. Je peux par contre utiliser la version amateur, sans support, gratuitement, à la maison.

L'utilisateur a également le droit d'"étudier" le logiciel : en pratique, cela signifie qu'il a le droit d'accéder au code source du logiciel pour comprendre (ou essayer de comprendre) comment celui-ci fonctionne. On parle alors de logiciel "Open-source" puisque ses sources sont accessibles à tous ; "ouvertes". Bien entendu, ce droit est surtout destiné aux développeurs : ceux qui sont capables de lire le code source.
Hormis le côté éducatif, ce droit a un avantage direct pour un logiciel libre : les bugs et autres erreurs dans le code source sont visibles par tous et donc, le plus souvent, rapide ment détectés. Cela explique également pourquoi les logiciels libres les plus utilisés proposent des mises à jours régulières : les erreurs sont fréquemment corrigées et on en fait profiter les utilisateurs le plus rapidement possible.
Enfin, dans le domaine scientifique, il y a un autre intérêt direct : la vérification. Dans un code de calcul notamment, il devient possible de vérifier les formules et algorithmes qui ont été employés. En cela, le logiciel libre garde l'esprit scientifique (particulièrement mathématique / pas de brevets en maths) qui veut que le savoir soit accessible à tous.

Le logiciel libre en pratique

Beaucoup de logiciels libres sont soutenus par une "communauté". Ce terme, qui fait un peu penser à "secte", "hippy" ou "communisme", désigne simplement un groupe de personnes soutenant un logiciel libre. Il s'agit bien sur de programmeurs qui le développent, mais aussi de simples utilisateurs qui l'utilisent bien sûr, mais aussi qui le testent (et donc préviennent de certains bugs), le diffusent, écrivent de la documentation (aide, wiki, manuels, etc...), font sa publicité, aident les débutants ou même le soutiennent financièrement.

Ce côté communautaire fait souvent croire que le logiciel libre est uniquement l'affaire de quelques passionnés, et que les entreprises ne les emploient jamais. Cela est faux.

Pour le simple utilisateur, un logiciel libre a plusieurs avantages. Comme on l'a vu précédemment, il est souvent gratuit, facilement trouvable puisque librement distribuable et mis à jour régulièrement.
Ensuite, du fait de l'ouverture du code, les logiciels libres sont souvent personnalisables puisque n'importe qui peut proposer un module complémentaire (comme un aspect graphique ou un add-on sous Firefox).
Enfin, de par la compétition (pour ne pas dire guerre) entre les logiciels libres et les logiciels propriétaires, les communautés attachent beaucoup d'importance à aider les nouveaux arrivants, notamment sur les forums d'aide (en principe du moins...).

Un aspect important du libre en informatique réside dans les standards des formats, ce point étant vital pour les utilisateurs de base et probablement encore plus pour les entreprises. Un format, c'est les dernières lettres d'un fichier : par exemple .jpeg ou .gif pour une image, .mp3 ou .ogg pour une chanson, .doc ou .rtf pour un document texte ou encore .xls pour un classeur Excel.
Plus que trois lettres après un point, ces formats désignent la façon dont la machine écrie et lit ces documents : c'est une représentation de la donnée de départ en langage machine ; en règle générale, un être humain ne peut pas lire ces formats.
Le problème est qu'il existe des formats propriétaires. Une entreprise peut donc décider de déposer une licence propriétaire, ou un brevet sur un format qu'elle aurait "inventé". C'est le cas pour Microsoft avec le .doc et le .xls ou le .aac par Sony (entre autres). Alors, elle peut décider de "libérer" son utilisation ou non.
Dans tous les cas, ces formats posent problèment car d'une part, une entreprise peut décider d'abandonner un format (si Microsoft abandonne le .doc, comment ouvrir ses documents dans 10 ans ?) ou d'autre part de restreindre sa diffusion en faisant payer les producteurs d'autres logiciels l'employant. Ou encore de se réserver entièrement les droits sur un format : par exemple pour de l'audio pour écouter un tel format créé par Toshiba, vous devez acheter un lecteur Toshiba (simple exemple).

En général, les logiciels libres préfèrent créer ou/et employer des formats libres et standards assurant ainsi la compatibilité entre les différentes applications (par exemple un format de tableau pourrait être lisible par différents logiciels tableurs -comme Excel-) ainsi que la pérennité des documents.

Quelques exemples de logiciels libres (propriétaires) :

  • Firefox ; navigateur web (InternetExplorer, Safari, Opera...)
  • Thunderbird ; outil de messagerie (Outlook Express...)
  • Azureus, EMule ; peer-to-peer (?)
  • OpenOffice.org ; suite bureautique (Microsoft Office...)
  • Linux ; système d'exploitation (Windows, MacOS)
  • The Gimp ; dessin et traitement d'image (Paint, Photoshop...)
  • SciLab ; outil scientifique (MatLab, Maple...)
Références :


Alors Maman, tu as compris ?

Les commentaires sont ouverts !

jeudi 12 juin 2008

Firefox 3 - D-Day !

Je ne vais pas vous faire étalage des avantages de Firefox sur la concurrence dans le monde merveilleux des navigateurs web. Non. Mais je vous encourage vivement à participer au Download Day de Firefox 3.

Il s'agit d'essayer d'établir le record du plus grand nombre de téléchargements pour un logiciel en 24H. Amusant non ? Outre le fait que c'est un évènement marketing sympa, c'est l'occasion de découvrir, ou mettre à jour l'un des meilleurs navigateurs disponibles sous toute plate-forme.

Vous pouvez déjà effectuer une promesse de téléchargement sur la carte du monde (la France n'est d'ailleurs pas si mal placée ^^) ou patienter gentiment jusqu'à... Mardi 17 Juin (selon Silicon.fr, qui a réalisé il y quelques jours une interview de Tristan Nitot, Prez' de Mozilla Europe, sur la sortie du dernier panda rouge).

Bon téléchargement !