10ReasonsWhyIWantToMarryAFemaleProgrammer4

Est-ce que vous vous intéressez aux femmes qui font du développement logiciel ? Celles capables de concevoir et implémenter des programmes informatiques ?

En lisant ce billet, vous changerez d’avis sur les femmes hackers :)

1. Programmation Orientée Objet (POO)

En POO,  les objets ont accès aux attributs et aux méthodes de n’importe quelle classe. Votre femme est l’Objet, votre maison est la classe, les attributs sont les membres de votre famille et les méthodes sont les corvées.

2. Raisonnement logique

Les développeurs pensent logiquement. Votre épouse sera votre guide en toute situation délicate ou circonstance difficile. Elle vous trouvera la solution optimale pour votre problème, mieux que quiconque. Les développeurs sont très pragmatiques.

3. Elles connaissent très bien les “Pointeurs”

Un pointeur est une variable qui enregistre l’adresse d’une autre variable de même type. Votre épouse vous portera toujours ainsi que vos enfants dans son coeur, de même qu’un pointeur porte en lui l’adresse d’une autre variable. Ainsi, vous avez gagné son coeur.

4. Si elle fait du développement web, vous êtes le roi du monde

Tous les bloggeurs ne sont pas des développeurs. Toutefois, chaque développeur pourra gérer et administrer un blog. Votre épouse pourra vous développer un nouveau thème à votre goût et saura mieux le faire que vous.

Elle pourra aussi développer un nouveau plugin et sans avoir son accord, votre nom sera mentionné.

5. Prise de décision ( Test SI SINON )

Votre épouse peut aisément prendre une décision et établir un plan d’actions. Le cas échéant, si un imprévu survient, elle a déjà prévu un autre plan. Elle raisonne ainsi : Si condition1 à plan1, Sinon Condition 2 à Plan 2. Votre épouse est douée en tout genre.

Elle peut facilement adapter son humeur à la situation. Elle a d’ores et déjà pensé à toutes les situations.

6. Chaque programme du langage C nécessite la méthode main()

Dans la vraie vie, la méthode « main » c’est vous et votre épouse vous demandera pour chaque chose.  Vous jouez ainsi un rôle important pour son succès (exécution de son code).

Il n’est pas possible, dans un programme C, d’utiliser plus d’une méthode « main ». Main est la méthode où le programme débute et où il prend fin. Vous êtes son espace de concrétisation.

7. Ponctualité

Les projets informatiques sont toujours jalonnés par une date de livraison qu’il ne faut pas dépasser. Les développeurs sont habitués à respecter les délais.

La ponctualité est un point fort de votre épouse.

8. Un amour infini, à condition ….

En programmation, votre épouse sait gérer les boucles infinies, et à les arrêter au moment opportun.

Pareil dans la vraie vie, elle saura communiquer son amour infini et vous chérir. Elle saura aussi suspendre son affection quand elle sent vous mijotez quelque chose derrière son dos.

9. Sur tous les fronts

Plusieurs développeurs codent en Java, .Net ou autre, mais savent également formuler des requêtes SQL optimisées. Si elle est parmi ces programmeurs, alors vous êtes chanceux.

Elle connait tout de vous : votre bon et votre mauvais côté, vos forces et vos faiblesses, vos capacités et vos limites. Ainsi, elle saura se débrouiller pour éviter toute dispute.

Ce billet ne vise ni à dénigrer, ni à heurter quiconque. Tout ce qui a été dit sur les femmes qui font du développement logiciel, est aussi valable pour les hommes qui codent. D’ailleurs, j’en fais partie et ma chère épouse pourra en témoigner ;)

Librement traduit depuis l’article original en anglais : 10 Reasons Why Marry A Female Programmer

Technos

Ce billet est le récit de mon humble expérience de 12 mois de développement web (en soirée et weekend) que j’ai souhaitée partager avec les lecteurs fidèles ou itinérants du blog.

Je fais du code (écrire, relire, notifier, pair programming) depuis 2001 : dans un premier temps en école d’ingénieurs et ensuite en SSII. Une fois dans le monde professionnel (depuis 2004), j’ai travaillé sur des environnements propriétaires (Oracle e-business, Business Objects, DateStage….) loin des outils open source et des pratiques/communautés de Hack.

Témoin des mutations (technique puis sociale) que connait le web depuis quelques années, j’ai commencé depuis mars/avril 2009 à scruter quotidiennement les tendances et comportements en ligne, et expérimenter les innombrables applications qui sont éditées chaque jour. La suite, peut être que vous la connaissez, le lancement avec Amal de l‘ancienne version de ce blog pour coucher mes réflexions.

Gestion de contenu

Étant animé par l’action, je ne pouvais pas rester spectateur/critique de ce qui se passe. J’ai commencé par le plus simple : expérimenter WordPress et Drupal pour réaliser des applications de gestion de contenu (WordPress : ce blog et le site d’Amal, Drupal : application d’accès privé de bookmark et brainstorming).  Ces deux CMS sont accessibles techniquement même sans base technique. Aussi, il y a le site des associations  WordPress Francophone et Drupal France qui cumulent un contenu considérable et intéressant sur les deux CMS. Important aussi:  les forums de ces deux communautés. Si vous avez des questions, n’hésitez pas ! Il y aura toujours une personne bien disponible pour vous répondre précisément ou vous donner des pistes.

Pour réaliser des applications de gestion contenu Drupal, WordPress ainsi que Joomla sont les références. Par contre, dès qu’on rentre dans des problématiques poussées dans le développement web (web monitoring, stockage de différents types de médias, architectures distribuées, manipulation des graphes sociaux), ces applications présentent des limites. On retrouve par ailleurs, deux applications basées sur Drupal de web monitoring : Tattler et YouSeeMii


Langages de développement

Pour choisir la bonne technologie pour réaliser des applications web pérennes et robustes, je me suis intéressé à 3 géants du web : Facebook, Twitter et Google. Ils ont été développés à l’origine, respectivement en Python , PHP et Ruby on Rails. Ils ont évolué depuis, du point de vue technique, pour utiliser des technologies comme Java ou Scala et s’appuyer sur des architectures distribuées tel Hadoop. Côté base de données, ils s’appuient actuellement en grande partie sur des NoSQL. D’ailleurs, je recommande aux personnes intéressées le cours du CNAM : Bases de données avancées.

Encouragé par les bons échos que j’ai eu sur le langage Ruby et le fait que Diaspora* soit développé avec, j’ai commencé mon apprentissage du langage (entre temps j’ai commencé à utiliser Ubuntu au lieu de Windows). Là encore, je trouve en français une association, des blogs de développeurs, des forums qui traitent du sujet. Les ressources disponibles et les interactions entre les personnes m’ont permis de rapidement apprendre le langage et prendre plaisir à développer avec.

Il a fallu ensuite me trouver un projet autant pour bien pratiquer à coder que pour valider le module CNAM. Pour cela, j’ai opté pour l’étude des interactions sur Twitter : Identification des leaders d’opinion en politique, dans l’écosystème Twitter.

Bases de données

La quasi majorité des sites web est basée sur la technologie LAMP : Linux, Apache (serveur web), MySQL (base de données) et PHP. C’est une technologie bien rodée et disponible chez l’ensemble des hébergeurs. Avec l’évolution des usages du web et l’augmentation exponentielle du volume de données en ligne, les bases Mysql ont démontré beaucoup de limites et n’étaient pas adaptées aux nouveaux besoins du web. Facebook a développé son propre système de base de données (Cassandra), Idem pour Amazon (SimpleDB) et Twitter (FlockDB : BDD de graphes). Une pléade de BDD NoSQL ont vu le jour ailleurs.

Pour  mon projet d’étude des interactions sur Twitter, j’ai opté pour Neo4j qui est une base de données de graphes en usage depuis quelques années et suffisamment documentée pour l’utiliser via Ruby. Les premiers pas étaient difficiles mais à l’aide d’Andreas Ronge via le mailing-list, j’ai pu rapidement m’approprier les rudiments et expérimenter Neo4j avec Rails tout en expérimentant l’API Twitter. Là aussi, j’ai pu m’appuyer sur les communautés Twitter-Dev et Twitter-Ruby pour répondre à mes questionnements.

Neo4j était bien pour stocker un graphe mais quid des tweets. Pour cela, il me fallait une BDD de documents. En faisant rapidement quelques recherches, j’ai eu à choisir entre MongoDB et CouchDB. J’ai opté pour la deuxième : forte communauté (réponses déjà disponibles ou  rapides à mes questions), accessible via navigateur, assez intuitive, combine à la fois BDD et Serveur Web et adapté aux réseaux sociaux. Plusieurs applications Twitter et Facebook s’appuient dessus.

Web Crawling

Pour étudier les interactions en ligne et analyser les phénomènes du web, il est nécessaire de passer par la phase : Collecte de données. Deux moyens complémentaires pour ce faire : Collecte par API (Twitter, Facebook, Youtube…) et Crawl de ressources en ligne (blogs, forums, wikis…). Si les API sont faciles d’utilisation et accessibles via différents langages de programmation, le Crawl est loin d’être un exercice évident. Le Crawl requiert des ressources matérielles et humaines et aussi beaucoup d’expérimentations en amont des projets. Pour vous faire une bonne idée, je vous suggère de consulter la thèse suivante : Effective Web Crawling qui a donné lieu à un Crawler Open Source (WIRE).

J’ai expérimenté WIRE pour quelques jours. Il est intéressant mais développé en C (langage que je fuis ;)) et ne dispose pas d’une réelle communauté. J’ai cherché à expérimenter d’autres crawlers open sources et j’ai opté pour Nutch. C’est un projet Apache qui dispose d’une forte communauté (française aussi) et largement documentée. J’ai expérimenté Nutch. Il est très intéressant et doté d’un système de plugins qui permet d’ajouter ou de désactiver des fonctionnalités. Je n’ai pas encore opéré un large crawl mais de ce que j’ai lu, il est capable d’emmagasiner des millions, voir des milliards de pages (via une architecture distribuée Hadoop).


Web Design

La conception d’interfaces graphiques n’est pas mon point fort. D’ailleurs, je n’ai pas encore vraiment réalisé une interface de bout en bout. Je pense expérimenter dans l’avenir HTML5, Sproutcore et Processing.js pour me faire une idée de ce qui est possible à développer côté navigateur.

La communauté, c’est important

J’ai expérimenté plus d’outils et de technologies que ce que j’ai présentés dans ce billet. A chaque fois, la taille de la communauté a pesé sur mes choix. En effet, au sein d’une communauté, on peut s’attendre à trouver des réponses déjà faites à ces questions ou bien à poser des questions et obtenir des réponses dans des délais corrects. Le facteur temps est important pour moi, vu que je fais du développement durant mon temps libre et j’ai envie d’expérimenter pas mal de choses.

J’ai beaucoup apprécié échanger avec des personnes que je ne connaissais pas et qui se sont proposées pour me donner un coup de main. J’ai aussi à mon tour pris du plaisir à aider d’autres personnes et les guider dans leurs premiers pas. Les technologies Open Source se développent grâce à la bonne volonté des personnes et les interactions au sein des communautés. J’apprends beaucoup en lisant chaque jour les échanges qui ont lieu dans les mailing-lists et apportant quand c’est possible mon humble contribution.

Il n’est pas évident de combiner vie professionnelle, vie personnelle et développement web. Toutefois, l’exploration du web est très stimulante et enrichissante. Je continue alors mon aventure du Hack et du code. Bientôt, je commencerai à partager mon code sous Github.

tweet_motif_bird-logo

La première fois que j’ai utilisé TweetMotif, je n’avais pas réussi à saisir sa réelle utilité ni comment l’exploiter. En lisant le papier qui explicite l’implémentation de cette application, une ampoule s’est allumée :).

TweetMotif est une version évoluée du  Twitter Search, destinée à extraire les termes/expressions « les plus récurrents » qui se trouvent dans les résultats de recherche.

Concrètement : La recherche avec le mot clé « France » sur Twitter Search affiche le mot clé en gras dans un ordre chronologique décroissant.

TwitterMotif groupera les résultats de recherche par « Topic ». Un Topic est un groupe de 1 à 3 mots qui se répètent fréquemment dans les résultats de recherche. A gauche de l’outil, l’ensemble des Topics retrouvés dans les résultats. En cliquant sur un topic donné, s’affichent les tweets  correspondants.

TwitterMotif peut s’avérer très utile pour disposer rapidement des perceptions sur un sujet donné. Je vous laisse deviner d’autres utilités.

Petit bémol : il se peut quand vous saisissez un mot clé donné, que l’outil ne réagisse pas. N’hésitez pas, donc, à rafraichir la page (sans modifier l’url).

Techniquement : TweetMotif utilise l’API SEARCH Twitter pour extraire les tweets. Le code de l’application est accessible en Open Source sur GitHub. Il est codé en Python.

A la prochaine, chers lecteurs  :)  Stay Tuned !!

Capture-5

Comme indiqué dans mon billet Freins culturels et techniques à l’émergence de l’entreprise 2.0, j’aborde le sujet Cloud Computing. Le Cloud Computing est un concept qui est en vogue et qui revient souvent dans mes lectures régulières de blogs ou de presses spécialisées.  Le Cloud Computing est à mon sens un concept encore diffus dans l’esprit du grand public et pas assez explicite.

Le Cloud Computing trouve ses origines dans le calcul distribué où il est nécessaire de répartir la charge de calcul sur plusieurs processus (d’une même machine et diverses machines). L’idée sous-jacente est : je parallélise mes calculs et je retrouve le résultat attendu rapidement.

Voyons maintenant la définition donnée par la communauté Wikipedia :

Le Cloud computing est un concept de déportation sur des serveurs distants des traitements informatiques traditionnellement localisés sur le poste utilisateur. Bien que l’anglicisme Cloud computing soit largement utilisé en français, on rencontre également les francisations « informatique dans le nuage », « informatique en nuage », « informatique dématérialisée », ou encore « infonuagique ». […..]
Les utilisateurs ou les entreprises ne sont plus gérants de leurs serveurs informatiques mais peuvent ainsi accéder de manière évolutive à de nombreux services en ligne sans avoir à gérer l’infrastructure sous-jacente, souvent complexe. Les applications et les données ne se trouvent plus sur l’ordinateur local, mais – métaphoriquement parlant – dans un nuage (« cloud ») composé d’un certain nombre de serveurs distants interconnectés au moyen d’une excellente bande passante indispensable à la fluidité du système. L’accès au service se fait par une application standard facilement disponible, la plupart du temps un navigateur Web.

Cette définition est très vague et induit plusieurs définitions. Plus bas dans la page Wikipedia, les choses s’éclaircissent et on comprend que le concept de Cloud Computing, correspond concrètement à trois concepts/services distincts :

IAAS [Infrastructure as a Service] : ce service offre aux entreprises la possibilité d’héberger ou de louer l’infrastructure matérielle chez un prestataire tiers. Les services IAAS existent depuis plus de dix ans, toutefois réservés aux entreprises de parc informatique considérable. Grâce à l’avènement des géants du web (Google,Amazon, eBay), leur montée en expertise dans la gestion de gros entrepôts de données réparties et interconnectés à travers le globe et la multiplication des projets open source inhérents aux transports de données sur le web,  le service IAAS évolue et l’offre d’hébergement se démocratise.

PAAS [Plateforme as a Service] : est le service le plus explicite et le plus répandu : les hébergeurs de site web sont des des fournisseurs de PAAS. En effet, ces prestataires mettent à disposition de leurs client à la fois des machines équipées de logiciels pour faire tourner leurs sites web : sites institutionnels, blogs, forums, sites e-commerce.

SAAS [Software as a Service] : est le service le plus récent et le plus connu du grand public (plateformes de blogs, Google docs). Le SAAS a émergé grâce à la démocratisation du web et le large panel de technologies de développement web. Le principe sous-jacent : j’accède à une application, à la quelle j’accédais via  PAAS ou mon ordinateur, via un navigateur web.

Pour aller plus loin

Le Cloud Computing a de beaux jours devant lui tant les entreprises, quelque soit leur taille, cherche à externaliser leurs besoins en informatique (infrastructure, plateformes, applications) et se focaliser sur leur métier. Le marché du Cloud Computing est partagé aujourd’hui entre les géants du web (Amazon, Google, Microsoft, Yahoo) et les hébergeurs historiques du web (en France OVh, Gandi). Au milieu, se trouvent des acteurs qui cherchent à simplifier/étoffer les offres proposées et rendre le Cloud Computing plus accessible techniquement/financièrement aux entreprises (voir standing cloud, cloudant, couchone, dotcloud)

Pour compléter mon billet, je vous propose deux supports :

Happy New Year DRB 2011

Pour 2010, nous vous avons souhaité une bonne réputation et j’espère que grâce à nos billets vous avez pu trouver des bons outils et conseils pour tirer votre épingle du jeu.

Pour 2011, nous vous souhaitons de vous épanouir e-socialement, et nous seront là à vos côtés.

N’hésitez pas à nous contacter (Via le formulaire de contact ou en commentaire), si vous avez des propositions de sujets que vous voulez qu’on aborde en 2011. C’est grâce au collaboratif que le partage trouve tout son sens ;)

Nos meilleurs vœux, de prospérité et de grandes concrétisations.

Update: N’hésitez pas à rejoindre notre page Facebook pour élargir notre communauté en ligne :)

Information_Search

La recherche d’information m’a toujours passionné : qu’il s’agisse de feuilleter des livres de disciplines variées, passer des heures sur les résultats des moteurs de recherches ou explorer les larges bases de données d’entreprises (informatique décisionnelle), j’ai toujours pris du plaisir surtout quand qu’il s’agit de prise de décision.

En effet, toute prise de décision est basée sur l’information dont on dispose en date et lieu. Dans le cas d’une décision d’achat: on pourra se baser sur notre expérience de consommateur, l’avis des personnes qui nous entourent, les médias institutionnels et les avis de consommateurs en ligne. Il faut noter que davantage d’internautes (moi même d’ailleurs) accordent de plus en plus du crédit aux avis de consommateurs. Tout l’enjeu de la recherche d’information est de trouver la « bonne information » dans un temps record.

La recherche d’information décortiquée

Dans l’ère du web social, pour moi, la Recherche d’information = « Recherche de documents » + « Recherche de conversations » + « Recherche d’entités/personnes »

Recherche de documents

Un document est toute ressource (texte, son, image, vidéo) disponible dans les sites institutionnels, pages web personnels, blogs et autres interfaces web. La communication d’information par le biais de documents correspond à un modèle de communication unidirectionnel : émetteur —> récepteur. A travers le document, l’auteur s’adresse à la foule sans que la foule puisse répondre. Le web social verra l’avènement des conversations où la communication d’information est bidirectionnelle : émetteur <—> récepteur, voire (n) émetteurs <–> (n) récepteurs

La collecte et indexation de documents disponibles en ligne a été le leitmotiv des premiers moteurs de recherche. D’ailleurs, Google est issu du projet Stanford digital library. La plupart des moteurs fonctionnent ainsi : collecte de documents (crawl), indexation et réponse aux requêtes des utilisateurs.

Le schéma ci-dessous est issu d’une excellente thèse doctorale réalisée en 2004 par Carlos Castillo sur la collecte d’informations, intitulée Effective Web Crawling, disponible en téléchargement libre. Pour en savoir plus, je vous recommande également le billet de Frédéric Martinet à ce sujet.

Recherche de conversations

Les conversations entre humains regorgent souvent d’informations qu’on retrouvera difficilement dans les documents. En cherchant sur un moteur de recherche de documents, il est difficile de trouver des avis sur les restaurants du quartier, le coiffeur ou le boucher du coin.

Comment alors trouver la ou les ‘bonnes conversations’ qui répondent à notre besoin d’information ? Généralement, la formulation de notre demande d’avis auprès de proches ou de collègues se fait en langage naturel (langage parlé). Aussi, notre acceptation de leurs réponses est basé sur notre intimité avec la personne qui apporte l’information et/ou son niveau de connaissance du sujet.

Dans notre ère du web social, notre cercle de connaissances est étendu aux personnes auxquelles nous sommes connectés en ligne, voir toutes les personnes dotées d’une identité numérique. Dans ce cas, à qui s’adresser pour avoir une réponse à nos questions ?

C’est le leitmotiv des moteurs de recherches sociaux précurseurs du domaine dont Aardvark. L’équipe de ce dernier a produit un article très intéressant à l’occasion du WWW 2010 où elle aborde son approche de la recherche de documents et de conversations : The library and The village paradigms

Traditionally, the basic paradigm in information retrieval has been the library. Indeed, the field of IR has roots in the library sciences, and Google itself came out of the Stanford Digital Library project. [….] In a village, knowledge dissemination is achieved socially — information is passed from person to person, and the retrieval task consists of finding the right person, rather than the right document, to answer your question.

[…] In a library, people use keywords to search, the knowledge base is created by a small number of content publishers before the questions are asked, and trust is based on authority. In a village, by contrast, people use natural language to ask questions, answers are generated in real-time by anyone in the community, and trust is based on intimacy. These properties have cascading effects — for example, real-time responses from socially proximal responders tend to elicit (and work well for) highly contextualized and subjective queries. For example, the query “Do you have any good babysitter recommendations in Palo Alto for my 6-year-old twins? I’m looking for somebody that won’t let them watch TV.” is better answered by a friend than the library. […]

The fact that the library and the village paradigms of knowledge acquisition complement one another nicely in the offline world suggests a broad opportunity on the web for social information retrieval.

Ci-dessous un aperçu de l’architecture applicative d’Aardvark, issu du même papier que j’ai référencé avant :

Recherche d’entités/personnes

Depuis sa création, le web a évolué d’un espace centré sur les documents vers un un web centré sur les individus et entités. Un article écrit par TechCrunch ou Mashable, sur une thématique donnée, « vaut » mieux qu’un article écrit par un magazine moins connu ou un blogueur lambda. La valeur de l’article étant mesurée en fonction de la source,  le nombre de visites, commentaires, tweets, partage sur Facebook, Digg, Delicious….

Pour se retrouver dans le volume gigantesque des flux d’informations (documents + conversations), on s’appuiera davantage (nous individus et moteurs de recherche) sur la source de l’information. Chaque source (entité/personne) étant dotée d’une certaine notoriété, image en ligne et degré d’ « influence ».

Twitter suggère de suivre des personnes en proposant des thématiques (Actualités, Art, Mode & Design, Caritatif..). La même fonctionnalité est présente également dans certains réseaux sociaux, plateformes de blogs et bookmarks. La recherche de personnes se base majoritairement sur des tags et analyse du contenu (local au service).


L’avenir de la recherche de personnes est de disposer de services web capables de proposer une liste de personnes par thématique donnée, en se basant sur l’ensemble des informations disponibles en ligne. Peut être bien qu’un tel service existe, j’en ignore l’existence alors !

Quelques mots sur le futur

La recherche d’informations a encore de beaux jours devant elle, et des challenges à relever :

  • Recherche de documents : analyse du son – reconnaissance vocale – structure d’image/recherche d’image similaire
  • Recherche de conversations : un meilleur traitement du texte (requêtes en langage naturel, textes de conversations)
  • Recherche de Personnes : approche scientifique de la notion d’influence, cartographie automatique des réseaux de personnes (indépendamment des réseaux sociaux)

Là j’ai fini :). A vous de me dire : qu’est ce que vous en dites de la recherche d’information à l’ère du web social ?

Crédit image de garde : http://memsic.ccsd.cnrs.fr/docs/00/33/48/47/HTML/bAnnexes_isabellequillien/base_fichiers/image013.jpg

Be SMART

Dans un récent billet, Jeremiah Owyang consultant reconnu en Web Strategy, propose une catégorisation intéressante des applications sociales pour entreprises. Dans un premier temps, j’ai voulu traduire le billet de Jeremiah et rapprocher plus les lecteurs intéressés des applications sociales utiles à l’entreprise. Rapidement, j’ai changé d’avis et voulu pousser l’exercice plus loin pour étudier la faisabilité d’intégrer des applications sociales au sein de l’entreprise.

Toutes les entreprises ne sont pas au même niveau organisationnel et technique. Dotée ou non d’une véritable culture, d’une organisation spécifique et de moyens techniques, chaque entreprise réagit différemment aux évolutions commerciales, sociétales et techniques. Là où des entreprises françaises (grands groupes, PME) ont déjà anticipé l’avènement du web 2.0 (cas MMA), d’autres entreprises de l’hexagone sont encore hors jeu.

Quelles sont les raisons de ce déphasage ? Certainement pas les moyens financiers. A mon sens, les véritables raisons sont principalement culturelles et techniques.

Dilbert.com

Les marchés sont des conversations

Cette expression est la première thèse du manifeste des évidences dont la première version est apparue en 1999. L’avènement du web social rend encore cette expression plus vraie. Les personnes discutent de tout en ligne : impératifs professionnels, relations et intimités personnelles, loisirs, politique, etc.

Chaque entreprise doit intégrer cette donne dans sa relation avec son audience : elle s’adresse désormais à des humains en quête d’échange et de différenciation, et non à des classes homogènes composées de catégories socioprofessionnelles ou groupes démographiques.

Communiquer n’est pas collaborer

Aussi, l’intranet n’est pas une plateforme collaborative. A mon sens, je collabore quand je travaille avec une ou plusieurs personnes en vue de réaliser un ouvrage commun, indépendamment du rang hiérarchique. Une collaboration effective sous entend l’existence d’une culture d’intelligence collective. Je vous recommande le blog d’Olivier Zara et son bouquin, deux mines d’informations à ce sujet.

Il est nécessaire de se rappeler que le web a été créé pour permettre la collaboration et non la communication. Le chat et l’e-mail existaient avant le WWW. Tim Berners Lee et Robert Cailliau ont réalisé le premier prototype du WWW afin de faciliter la collaboration des scientifiques du CERN.

Travailler en réseau

Le travail en réseau est l’un des ingrédients de la collaboration effective. Travailler en réseau repose sur l’échange et la libre circulation de l’information au sein de la structure, pour s’affranchir du schéma archaïque de diffusion Top-Down et Bottom-Up. Ci-dessous un schéma de Didier Heiderich sur  le fonctionnement en réseau où la direction n’a plus de valeur hiérarchique : son rôle est de déterminer la stratégie et fournir le sens, ce qui constitue une fonction spécialisée au même titre qu’une autre compétence. (page 6 du pdf)

Méconnaissance de la culture Open Source

Sans un travail en réseau et une collaboration effective, on n’aurait jamais eu les logiciels open source et certainement aucun des grands services du web (Google, Facebook, Yahoo, Twitter, WordPress, etc.). Les logiciels Open Source sont les leviers de l’innovation continue du web et de l’informatique. Ils sont gratuits et couvrent tous les domaines du logiciel. Et malgré cela, ils sont très faiblement adoptés au sein des entreprises.

Un paramètre qui peut jouer en défaveur des logiciels Open Source : le manque de formation. Argument qui est avancé par les produits commerciaux.

Toutefois, si la volonté est réelle d’adopter ce type de logiciel, prendre le temps de se former et former les personnes par itération est possible et très bénéfique pour l’esprit de l’entreprise. Autre solution, faire appel aux entreprises qui se sont positionnés sur ce secteur.

Se familiariser avec les logiciels Open Source, permettra à l’entreprise :

  • d’une part de se familiariser avec l’esprit du web et,
  • d’autre part de développer l’aptitude à intégrer de manière souple les évolutions techniques qui surviennent chaque jour.

Bases De Données Relationnel vs Bases De Données XML

Le stockage des données est l’un des enjeux du web. Le volume de données est immense et ne cessera de croître. Les géants du web tel Google ou Amazon, pour répondre à ce défi, ont inventé leurs propres systèmes de stockage et partagé leurs connaissances avec les communautés en ligne. Ceci a donné naissance à diverses Base De Données (BDD) Open Source utilisées aujourd’hui par les entreprises montantes du web:  Twitter, Zynga, etc. Ces nouvelles BDD se basent globalement sur des standards XML ou JSON.

Intégrer le Web 2.0 au sein de l’entreprise suppose l’intégration de ces nouvelles BDD aux bases de données existantes. La quasi majorité des entreprises utilisent les bases de données relationnelles (vue matricielle des données). Ces deux types bases de données sont très hétérogènes.

Les entreprises auront un choix technique à faire :

  1. gérer deux types de BDD  et fusionner les données au moment où on en a besoin (fréquence mensuelle ou hebdomadaire)
  2. mener des projets en amont pour se baser uniquement sur les nouvelles générations de BDD

==> Qu’est ce que vous en dites de ces 5 freins ? Il y’a certainement d’autres freins auxquels je n’ai pensé.

Dilbert.com

Dans un prochain billet, j’aborderai le Cloud Computing pour mieux vulgariser ce concept :)

Crédits photo de garde : http://www.flickr.com/photos/satoboy/4367984862/in/photostream/