Nous sommes Charlie

Jamais deux sans trois !

Par le Temps de lecture estimé : 5min 0 Commentaire

Après la SOPA et l'ACTA, une nouvelle loi liberticide arrive : CISPA. CISPA, pour Cyber Intelligence Sharing and Protection Act, est une loi déposée le 30 novembre 2011 à la Chambre des représentants des États-Unis par le représentant républicain Mike Rogers (Michigan). Elle prévoit un échange entre les acteurs du web et les agences de renseignements (NSA au Etats-Unis par exemple).
En gros, tous les e-mails, SMS, échanges sur les réseaux sociaux etc. seront lus par ces sociétés, transmis au gouvernement et pourront être modifiés avant d'être retransmis au destinataire, sous le couvert de la lutte contre le cyber-terrorisme (et du terrorisme en général). Pour faire l'analogie, c'est comme si votre facteur ouvrait vos lettres et décidait de vous les transmettre ou non selon son envie. Cette loi est soutenue par AT&T, Boeing, Facebook, IBM, Intel, Microsoft, Oracle, Symantec et Verizon, des entreprises très puissantes dans le monde de la communication. La Maison Blanche à émis des réserves à l'égard de cette loi. Cependant tout le monde connait le poids du lobbying.
Plusieurs moyens de lutter contre cette loi : Signer la pétition, faire un black-out comme avec SOPA.
Si cette loi est votée, il faudra donc faire comme pendant la Résistance : parler en langage incompréhensible pour "l'homme du milieu" (celui entre l’émetteur et le destinataire), soit par message chiffré, soit en une langue de substitution.
Que les plus imaginatifs gagnent !
Edit : Zut !
Qwerty

Des solutions francophones pour la liberté de l'Internet ?

Par le Temps de lecture estimé : 35min 6 Commentaires

Quoi que vous ferez, ce sera insignifiant, mais il est très important que vous le fassiez.[Whatever you do will be insignificant, but it is very important that you do it.] - Mahatma Gandhi
Internet va mal. De nombreux projets existent pour essayer de le sauver, dont plusieurs libres. Isolés, ils n'y peuvent rien, mais ensemble, ils peuvent faire de grandes choses. Voici un état des lieux.

ODDNS, l'avenir des DNS ?


Un jour, je suis tombé sur le blog ingnu.fr, et je fus séduit par l'un de ses projets, ODDNS. Je l'ai donc interviewé pour l'Étudiant-Libre.
Avant de commencer, peux-tu te présenter ?
Je m'appelle Jimmy Rudolf, je suis un passionné autodidacte depuis l'âge de cinq ans (j'ai commencé sur Amstrad, et j'approche des trente ans). Mon parcours est classique pour un autodidacte qui ne rentre pas dans le moule (je n'ai pas un cursus scolaire classique justement !). Je suis Analyste Programmeur et Développeur NTIC de formation, et j'ai fais l'École Ouverte Francophone, uniquement des formations à distance.

Peux-tu présenter en quelques mots ton projet ? Existe-il un équivalent, libre ou propriétaire ?
Aucun équivalent à ODDNS n'existe à l'heure actuelle. On a entendu parlé de quelques projets visant à contourner la censure par DNS, mais rien qui approche le fonctionnement d'ODDNS, et aucun ne s'est concrétisé. ODDNS, c'est ce qui va nous permettre de nous réapproprier (nous, les Internautes) le système de noms de domaine (ndlr : par exemple "example.org"), et de ne plus craindre la censure par DNS.

Comment ça fonctionne ?
Un client contacte un serveur pour obtenir des informations sur un domaine, qui seront publiées par le mainteneur du serveur, et non pas par un registrar (ndlr : un bureau qui gère les enregistrements des domaine). Le client peut devenir son registrar pour le domaine en question, en fournissant à ses propres clients directement les informations qu'il a obtenues, ou en leur transmettant l'adresse du serveur qui les fournit. Il n'y a plus de registrar, plus d'ICANN (ndlr : la haute autorité qui gère tous les noms de domaines à l'échelle internationale).

Dans un second temps, si ODDNS est massivement adopté, il remplacera le protocole DNS (ndlr : les noms de domaines), et de facto, les serveurs DNS racines, ainsi que les serveurs DNS des fournisseurs d'accès à Internet. Mais dans un premier temps, ODDNS fonctionne en surcouche de DNS, en fabriquant des fichiers de configuration pour les serveurs DNS les plus répandus. Je travaille actuellement sur un wrapper (ndlr : patron de conception, qui sert à résoudre un problème de conception) pour le serveur BIND (ndlr : logiciel qui gère les noms de domaines) par exemple.

L'intérêt est de "délocaliser" les informations relatives aux noms de domaines, pour les placer au plus près de l'utilisateur : sur un serveur DNS de son réseau local.

Concrètement, le client ODDNS va par exemple chercher auprès de mon serveur ODDNS les informations relatives au domaine ingnu.fr. Le serveur ODDNS les lui envoit, et le client ODDNS fabrique un fichier de configuration pour le serveur BIND installé sur la même machine. Quand quelqu'un sur son réseau va chercher à contacter ingnu.fr, au lieu de passer successivement par un serveur racine, puis un serveur qui gère le .fr, avant aboutir enfin à mon propre serveur DNS, il contactera directement le serveur DNS local. Il n'y a plus d'intermédiaire.

C’est sous quelle(s) licence(s)?
GNU GPLv3.

Quels sont les technologies employées ?
100 % PHP pour le client/serveur. Un choix qui peut sembler étrange, mais qui s'explique : ODDNS peut tourner sur n'importe quelle plateforme capable d'utiliser du PHP, PHP offre toutes les bibliothèques dont j'ai besoin, le code est concis, simple et léger, bref, c'est un choix que j'ai estimé légitime.

Je rajoute cependant que puisque tout est ouvert, y compris le protocole, et que les messages transmis entre un client et un serveur ne font appel à aucune transformation par PHP, il est possible de rédiger des clients et des serveurs dans n'importe quel langage.

Enfin, développer l'ensemble en PHP me permet de me reposer sur les mêmes briques logicielles pour créer le client, le serveur, mais aussi des annuaires, des portails, des interfaces de gestion, etc..

Quels sont ses points forts et ses points faibles ?
Deux points faibles : la nécessité d'installer conjointement au client ODDNS un serveur DNS, et la nécessité d'informer le client des domaines à consulter.

Pour palier au premier point faible, le protocole d'ODDNS est ouvert, par conséquent, on peut l'étendre, et donc lui rajouter les fonctionnalités du protocole DNS pour supprimer la dépendance au serveur DNS.
Pour palier au second point faible, je compte sur la communauté pour créer des annuaires. Je mettrai à disposition des outils pour créer facilement un annuaire à partir d'une installation locale de ODDNS.

Les points forts consistent en sa capacité à supporter le chiffrement des connexions (via GNUPG) et un système d'hôtes de confiance (empêchant que quelqu'un écoute les messages entre le client et le serveur, en se substituant à l'un ou l'autre pour obtenir ou diffuser de mauvaises informations), sa rapidité d'exécution (cela étonnera les réfractaires au PHP en CLI (ndlr : interface en ligne de commande)  :) ), et sa simplicité de prise en main.

Il y a il un "business model" ? Une feuille de route ?
Pas de business model. ODDNS n'existe pas pour se faire de l'argent. ODDNS existe pour libérer les peuples, en attendant un nouvel Internet (http://ingnu.fr/2012/03/11/lavenir-dinternet/). ODDNS permet de rendre caduque la censure par DNS, il est hors de question de gagner de l'argent avec.

Par contre, les dons sont acceptés. Notez que la nuance consiste dans le choix, qui est une prérogative pour tous mes projets à venir. Laisser le choix et la liberté aux gens.

En ce qui concerne la roadmap, terminer le wrapper pour BIND, diffuser une première version du bundle (ndlr : du logiciel), et l'étendre ensuite avec d'autres fonctionnalités sympas dont je ne parlerai pas encore. J'attends de voir ce que la première version publique va donner avant de faire des plans.

Combien il y a ils de contributeurs autours ?
Pour le moment, je suis le seul développeur, et je suis accompagné d'un webdesigner qui a créé un second thème pour l'interface de gestion.

Comment est né le projet ?
Du printemps arabe, du DPI, de Amesys/Bull, de l'Hadopi, de la Chine, et surtout, de mon engagement pour 2012 à faire quelque chose, devenir quelqu'un. Je suis motivé par le Libre, Richard Stallman est mon mentor. ODDNS est né de l'idée que je me devais de suivre mes principes, pas que dans l'utilisation de l'informatique, mais aussi dans mes actes. Le premier acte, c'est ODDNS.

Comment a-t-il évolué ? Quels sont les faits marquants ? Quels problèmes avez-vous rencontrés ?
Ça fait deux semaines que je suis a temps plein sur le projet, et ça doit faire un mois que j'avais lancé l'idée. J'ai pris un coup de fouet lorsque j'ai appris que la radio Ici et Maintenant avait parlé de mon projet il y a 15 jours. Je n'ai pas rencontré de problème, au contraire. Tout "marche comme sur des roulettes" : j'ai trouvé un contributeur pour m'aider dans certains choix esthétiques et concevoir des éléments graphiques avec plus de talent que moi (qui n'en ai aucun !), les technologies dont j'ai besoin existent (notamment dans les librairies PEAR), et ce dont j'ai besoin et qui n'existe pas est relativement simple à coder. C'est maintenant que le projet est bien lancé que je vais rencontrer des difficultés : trouver des contributeurs et des mécènes notamment. Et bien sûr, je m'attends à ce que personne n'installe ODDNS de peur de modifier l'existant qui fonctionne.

Que faire pour contribuer au projet ?
Je réponds à cette question sur la nouvelle page du projet que je viens de mettre en ligne : http://oddns.ingnu.fr/fr/. En substance, j'ai besoin de traducteurs, de gens capables de coder les wrappers pour d'autres serveurs DNS, et de quelqu'un pour rédiger la documentation.

Quand sortira la première version publique ?
J'ai annoncé sur RIEM que j'espérais sortir une pré-version dans les deux semaines. Pour le moment, je pense tenir le délai. Ce ne sera pas exactement une version "grand public", mais ce sera une version fonctionnelle destinée à être testée en environnement réel.

Ingnu.

MOVIM, où comment quitter Facebook


En recherche d'un réseau social décentralisé, je suis tombé sur MOVIM, qui m'a séduit ! Je suis donc le projet de près.

Avant de commencer, peut-tu te présenter ?
Je te donne directement la page À propos de mon blog tu y trouvera tout ce qu'il faut à propos de moi :)
http://framabearn.tuxfamily.org/index.php?pages/%C3%80-propos-de-l-auteur
(ndlr : défenseur du modèle libre dans le monde de l'informatique mais plus généralement de la culture dans son ensemble. Je suis contre le système de brevets (ça c'est dit) qui, selon moi, empoisonne l'innovation. J'adore aussi m'amuser à détourner et optimiser tout ce que j'ai autour de moi […] . Je n'aime pas me sentir contraint par le matériel que j'achète et je n'apprécie pas les personnes ayant une attitude consumériste, au contraire je fais tout pour faire durer les objets que j'ai).
Peut tu présenter en quelques mots ton projet ? Existe-il un équivalent, libre ou propriétaire ?

Movim est un projet qui vise à la création d'un réseau social libre et décentralisé fondé sur le respect de ses utilisateurs et de leurs contacts. Pour quelques informations en plus, je t'invite à visiter la page "Qu'est ce que Movim" sur notre Wiki officiel ;)
http://wiki.movim.eu/fr:whoami .
Au niveau des équivalents, oui il y a plusieurs projets "similaires", mais nous sommes les seuls à utiliser à 100 % le protocole XMPP pour nos communications; nous n'avons aujourd'hui que Diaspora, un projet "open-source" américain qui pourrait s'approcher de notre concept, même si celui- (ndlr : phrase coupée dans le mail).

Comment ça fonctionne ?

Movim fait office d'intermédiaire entre le serveur XMPP et l'utilisateur, en proposant une interface simple et conviviale à travers le navigateur pour la gestion de son compte. Il se base sur un système de modules (appelés widgets) qui permettent de rendre l'interface totalement malléable, une API complète permet aussi aux développeurs en herbe de créer un nouveau module très facilement sans trop de connaissances en programmation.
Il se base sur Datajar, un projet lancé en paralèlle avec Movim, un ORM lui permettant alors de s'installer sur de multiples systèmes de bases de données (Mysql, Sqlite et MongoDB pour le moment, Postgresql est en cours de port). Movim manipule énormément de données (session, cache, messages, etc.).

C’est sous quelle(s) licence(s)?
http://movim.eu/, page d'accueil section "Libre !"
(NDLR : Movim est un projet entièrement libre sous licence AGPLv3 à l'exception d'un élément sous licence LGPLv3 et de la GNU FDL pour la documentation.)

Quels sont les technologies employées ?
Essentiellement du PHP, un peu de Javascript, XML, CSS et HTML5 :)

Quels sont ses points forts et ses points faibles ?
Points forts :
\n— XMPP est déjà beaucoup utilisé, donc vous avez déjà potentiellement des milliers de contacts avec qui discuter sans avoir à les inviter sur Movim.
\n— Technologies très courantes, installable facilement sur quasiment tout les serveurs Web récents
\n— Déjà fonctionnel et prometteur, de nombreux modules existant
\n— L'interface se rafraichit instantanément, flux compris, par un système de push du serveur
Points faible :
\n— Encore de très (trop ?) nombreuses choses à faire
\n— Des bugs persistants et gênants
\n— Une communauté un peu faiblarde, assez peu de retour, surtout en aide pour le développement.

Il y a il un "business model" ? Une feuille de route ?
Méthode Agile, ou plus communément appelée méthode La Rache, non je rigole, on pose une roadmap à peu près tout les 6 mois avec une version mineure à la clef. Les feuilles de route sont ici http://wiki.movim.eu/roadmaps. Quand on aura déterminé que la 0.x sera "sortable" on la passera en 1,0 puis on sortira une 1.x, etc.. Voir http://blog.movim.eu/la-numerotation-de-movim.

Combien il y a-t-il de contributeurs autour ?
2 développeurs "actifs" + une personne s'occupant de faire un peu de pub, gérer le salon, le wiki (c'est un boulot énorme).

Comment est né le projet ? Comment a-t-il évolué ? Quels sont les faits marquants ? Quels problèmes avez-vous rencontrés ?
Le projet s'est forgé petit à petit, d'un petit bout de code PHP fait à l'arrache pour afficher 2/3 informations sur moi. Il a été réécrit 2 ou 3 fois depuis. Puis, début 2010 nous avons fait un méga brainstorming qui résultera de l'architecture actuelle (qui, globalement, a assez peu changé). Etenil (l'autre contributeur) a rejoint le projet l'été 2010 et a énormément travaillé sur le coeur, j'ai de mon coté appris progressivement à programmer grâce à lui (et à mes cours en IUT).

Les problèmes se résument bien souvent en une simple phrase : XMPP et PHP ne vont pas ensemble, PHP est un langage de type asynchrone alors que XMPP fonctionne en synchrone. Notre librairie XMPP en PHP est complexe et nous avons encore de grosses difficultés pour maintenir une session stable entre l'utilisateur et le serveur XMPP en PHP.

Que faire pour contribuer au projet ? Quand sortira une version publique ?
Si vous souhaitez venir contribuer, commencez par nous contacter via la mailing list/le salon de discussion (tout est sur la page d'accueil).
Pour la version "grand public", c'est comme pour Debian, ça sortira quand ça sera prêt :p. En attendant, des versions mineures peuvent être testées, installées, et améliorés. Tout est libre ;).

Jaussoin Timothée aka edhelas

VroumVroumblog, la Ferrari de l'autoblog


Le problème de censure est de plus en plus présent. VroumVroumblog permet donc de faire des sites miroirs rapidement et automatiquement !

Avant de commencer, peut-tu te présenter ?
Je suis un ingénieur de 38 ans qui travaille dans l'informatique. Mon site (ndlr : sebsauvage.net) existe depuis 13 ans. C'est un site "perso", avec diverses rubriques (dont un blog). J'ai environ 20 000 visiteurs par jour (statistiques de mars 2012).
J'ai également été modérateur pendant une dizaine d'années sur Commentcamarche.net.

Comment est né le projet ?
Sur mon blog, j'avais critiqué les actions d'une société (Tuto4pc, ex-eoRezo) avant leur introduction en bourse. J'ai été menacé de procès et j'ai dû retirer mon article.
A cette époque le logiciel VroumVroumBlog est "apparu", publié par un anonyme. Ça tombait à point nommé.

De nombreux internautes ayant utilisé ce logiciel pour faire des miroirs de mon site, j'ai trouvé juste d'aider en retour en reprenant VroumVroumBlog pour continuer à le faire évoluer.

Le concept d'autoblog avait été émis par Mitsukarenai (le webmaster de fansub-streaming.eu) il y a longtemps, mais à l'époque je n'avais pas vraiment saisi l'intérêt de la chose. C'est devenu évident avec l'affaire qui m'a occupée.


Comment ça fonctionne ?
Le principe est très simple: Il lit le flux RSS (ou ATOM) d'un site, garde une copie des articles (avec les images) et les re-publie. Il y a une navigation simple par pagination et un petit moteur de recherche.
Cela fait en quelque sorte une copie automatisée d'un blog. Si le blog d'origine supprime un article, ou même si le blog disparaît en entier, les articles restent lisibles sur l'autoblog.

C'est un outils anti-censure, mais ça sert aussi comme copie de secours.

Existe-il un équivalent, libre ou propriétaire ?
Il me semble qu'il existe un plugin pour WordPress qui fait la même chose. J'ai préféré VroumVroumBlog car il est nettement plus simple à mettre en place que WordPress.


C’est sous quelle(s) licence(s)?
Il est dans le domaine public. On peut en faire ce qu'on veut, sans aucune restriction.
D'ailleurs BohwaZ l'a repris aussi et en a fait une version un peu différente (utilisant SQLite).


Quels sont les technologies employées ?
VVB est techniquement très simple: C'est un script php monolithique de seulement 400 lignes, sans dépendances. Il n'utilise aucune librairie javascript, aucune lib php externe, aucune base de données.

L'extrême dépouillement technologique est une volonté. Non seulement cela permet de le faire tourner chez un maximum d'hébergeurs différents, mais surtout cela simplifie l'installation: Il n'y a que 2 fichiers à copier pour mettre en place un autoblog (le script php et un fichier de configuration).

Il n'y a également aucune maintenance à effectuer. Une fois que c'est en place, on a plus à s'en occuper.

Cela abaisse la barrière d'entrée et permet donc d'inciter les webmasters (ou même les internautes avec un petit espace d'hébergement gratuit fourni par leur FAI) à participer à la lutte contre la censure avec un effort à fournir minimal (2 fichiers à envoyer par FTP).


Quels sont ses points forts et ses points faibles ?
Points forts:
\n— très simple à mettre en place.
\n— peu de dépendances.
\n— aucune maintenance nécessaire.

Points faibles:
\n— Ne peut s'alimenter qu'avec les flux RSS ou ATOM.
\n— Si le flux n'est pas complet (articles tronqués), les articles ne pourront pas être répliqués en intégralité.
\n— Ne supporte pas les flux qui sont en HTTPS.
\n— Les images dans les articles doivent être sur des domaines qui ne varient pas tout le temps.
\n— Ne marche pas chez les hébergeurs qui bloquent l'envoie de requêtes HTTP depuis PHP (typiquement : free.fr).


Il y a il un "business model" ?
Il n'y en a aucun.
Le seul but est de lutter contre la censure en répliquant tellement les articles qu'il devient impossible de les censurer tous.


Que faire pour contribuer au projet ? Quand sortira une version publique ?
VVB est déjà disponible.

Comme vous pouvez le remarquer, chaque autoblog possède en bas de page un lien donnant le fichier de configuration, la base des articles et le programme, ce qui permet à n'importe quel lecteur d'avoir immédiatement ce qu'il faut pour mettre en place un autoblog identique.

J'héberge sur mon site l'autoblog de 25 autres sites. Le fichier de configuration est disponible pour chacun d'entre eux. Mon propre blog est répliqué sur une trentaine d'autres sites.


Combien il y a ils de contributeurs autour ?
Je suis le seul à travailler dessus. Quelques internautes m'ont soumis des corrections.
Il n'y a pas vraiment de communauté soudée autour du projet, juste quelques bonnes volontés qui font des améliorations de leur côté (version de BohwaZ, fermes d'autoblog, etc.).


Que faire pour contribuer au projet ?
Les internautes peuvent m'envoyer des patches, ou reprendre le logiciel de leur côté pour en faire quelque chose de totalement différent.

Mais VVB est un projet avec une vision volontairement très restreinte et aux possibilités limitées. Ce n'est pas un mal en soit: Il remplit très bien sa mission. Mais maintenant il faut voir au delà.


Une feuille de route ?
Je ne pense pas continuer à faire évoluer VVB.

Je réfléchis à un successeur qui aurait quelques propriétés intéressantes qui manquent à VVB:
\n— possibilité pour les auteurs de continuer à publier même si leur site disparaît ou leur nom de domaine saisi (puisque c'est la mode actuellement). En fait, cela permettrait à quelqu'un sans site web de publier des articles et de les voir répliqués sur les autoblogs.
\n— possibilité de publication anonyme, mais permettant de s'assurer qu'un article a bien été écrit par un auteur précis (identité numérique anonyme).

J'ai beaucoup d'idées, mais il y a encore beaucoup de réflexion à apporter, beaucoup de problèmes à résoudre, et divers points techniques à explorer. C'est un projet à long terme (auquel je ne peux pas consacrer assez de temps pour le moment, d'ailleurs).


Soyons clair: VVB (ou ses successeurs) ne sont pas des armes anti-censure absolues. D'autres logiciels, comme Freenet, vont bien plus loin et gèrent des problèmes qui ne sont pas pris en compte par VVB (comme le DPI). Mais ils sont souvent lourds et difficiles à comprendre (Typiquement: Le principe des clés CHK/SSK/USK de Freenet n'est pas facile à comprendre).
Il y a donc une place pour un successeur de VVB.

Sebsauvage.

Comment rendre LiVID les censeurs


LiVID permet de faire des sites miroirs de The Pirate Bay.
Avant de commencer, peut-tu te présenter ?
je suis un blogueur, libriste (militant en faveur des logiciels libres), sympathisant du Parti Pirate et à ce titre militant en faveur d'une réforme du droit d'auteur à l'ère du numérique, je verse aussi de temps en temps dans le cyber-activisme quand ça touche à la liberté d'expression (effet Streisand, effet Flamby).

Peut tu présenter en quelques mots ton projet ? Existe-il un équivalent, libre ou propriétaire ?
LiVID / Magnetik est typiquement le genre de projets perso faits pour le fun tout en ayant un intérêt certain, prendre une problématique et y trouver des réponses. J'ignore si des projets similaires ont été faits précédemment, le code a beau être simple c'est quand même peu "grand public" et plutôt tourné vers les webmasters, donc moins connu.

Comment ça fonctionne ?
À l'origine, il y a eu ça: http://thepiratebay.se/torrent/7016365/ (fichier d'ailleurs exploité pour alimenter la version 1).
Alors j'ai voulu voir comment on pourrait utiliser ça pour faire une "copie" de The Pirate Bay. Le projet vise à retourner des informations pour un BitTorrent infohash spécifique : le nom, la taille, le nombre de seeders et de leechers au moment du contrôle, et la date de ce contrôle. La recherche d'un torrent par son nom étant laissée à un moteur de recherche externe, ou avec un moteur de recherche intégré dans la version 3. En gros, une version "light" d'une pléthore de sites qui existent déjà, comme BitSnoop.

C’est sous quelle(s) licence(s)?
Creative Commons by-sa 3,0. Oui je sais c'est pas super adapté aux logiciels, mais philosophiquement c'est plus proche d'une licence BSD que d'une licence GPL (je ne tiens donc pas rigueur si du code est repris sans paternité, je suis content si ça peut inspirer des développeurs en herbe).

Quels sont les technologies employées ?
PHP pour la version 1, PHP + SQLite3 pour les versions 2 et 3. Mais il ne doit pas être trop compliqué de faire un portage pour MySQL ou PostGreSQL :). À ceci près que c'est moins facile à sauvegarder, export de base oblige.

Quels sont ses points forts et ses points faibles ?
Mmmh..
Points forts: simple, portable, performant, code compréhensible (je pense ^^), conforme aux normes HTML5, libre, ça a été fun à faire et ça peut énerver les majors…
Points faibles: indéniablement artisanal, bidouilles et compagnie, méthodes d'ajouts et mises à jours contraignante, SQLite3 est peu souvent présent sur les hébergements mutualisés, centralisé, de nombreux sites déjà existants qui font la même chose…

Il y a il un "business model" ? Une feuille de route ?
Business model ? Feuille de route ? Tout dépend de ce que chacun veut en faire, mais pour ceux qui veulent voir disparaitre des sites comme The Pirate Bay, c'est une épine dans le pied. De mon côté, j'estime être parvenu à mes objectifs au moment du lancement du projet, j'ai appris pas mal de choses mais je ne ressens pas le besoin de replancher sur le projet, qui reste avant tout une démo technique :). J'offre donc le code "en pâture" à ceux qui veulent y apporter des évolutions (c'est ce qui est génial avec le logiciel libre: on peut faire des forks, adapter le code à ses besoins, etc.).

Combien il y a-t-il de contributeurs autour ?
L'uploadeur du torrent cité ci-dessus (allisfine), qui m'a donné l'idée en publiant son fichier d'archive de The Pirate Bay, et les contributeurs à la documentation de http://php.net/ (sans les exemples d'utilisation de fonctions PHP, je n'aurais pas pu avancer). Le projet, je l'ai fait en solo.

Comment est né le projet ? Comment a-t-il évolué ? Quels sont les faits marquants ? Quels problèmes avez-vous rencontrés ?
(répondu en 3e, oops).
Que faire pour contribuer au projet ? Quand sortira une version publique ?
Mais… il est public, le projet :D. Ceux qui veulent contribuer, c'est alors plutôt contribuer à l'idéologie plutôt qu'au code, vu que je ne ferai sans doute plus évoluer le projet :). J'invite donc tous ceux qui veulent s'amuser dessus à le faire et publier le résultat sur leurs blogs. Qui sait ? Peut être qu'un jour il faudra monter une fondation à la Mozilla au sein de laquelle tous ceux qui ont du code à partager peuvent le mettre en commun dans un truc hyper-puissant-qui-déchire-et-qui-emmerde-bien-les-censeurs, mais actuellement c'est vraiment pas l'objectif ^^. Et puis moralement, je suis bien plus favorable aux technologies décentralisées, donc je surveille de très près des projets prometteurs comme Tribler (logiciel P2P BitTorrent qui inclut un moteur de recherche décentralisé à la Exeem, je trouve ça super bien).

Mitsu'.

Vodstok, le freenet en PHP


En me baladant sur la grande toile, je suis tombé sur Vodstok, un projet bien sympathique de partage collaboratif !

Avant de commencer, peux-tu te présenter ?
Je m'appelle Damien Cauquil, plus connu sous le pseudonyme "Virtualabs", je fus un temps rédacteur dans la presse spécialisée, et actuellement consultant en sécurité informatique chez Sysdream. Je suis de nature curieuse, geek depuis tout petit :).

Peux-tu présenter en quelques mots ton projet ? Existe-il un équivalent, libre ou propriétaire ?

Je traîne ce projet depuis plusieurs années déjà, en réalité il était développé en grande partie mais le contexte ne se prêtait pas à sa diffusion. Pour faire simple, il s'agit d'un outil permettant de créer un réseau de partage basé sur des ressources peu chères et désormais accessibles à tous : les espaces de stockage et d'hébergement web. L'idée de ce projet, nommé "Vodstok", repose sur la mise à disposition volontaire d'une partie de l'espace de stockage d'un serveur par son propriétaire. L'ensemble de ces espaces de stockage constituent un gros support de stockage virtuel, et plus il y a de monde y participant, plus la capacité augmente, et plus le système sera fiable. L'idée fédératrice de ce système est de pouvoir combattre la censure, et promouvoir le libre échange.

Comment ça fonctionne ?
Le projet est constitué de deux parties. La première est diffusée sous forme de mini-site en PHP, très simple à installer et qui ne requiert pas de base de données, qui permet de mettre à disposition une partie d'un espace de stockage web. La seconde se présente sous forme de logiciel écrit en Python, qui se sert de cet espace de stockage et assure le chiffrement et la répartition sur les multiples espaces partagés. La partie lourde du projet repose dans le client, et non pas côté serveur.

Ce système permet d'uploader un contenu, d'obtenir un lien référençant ce contenu, que l'on peut communiquer à une autre personne, puis de télécharger le contenu à partir du lien. Un genre de MegaUpload communautaire en version beaucoup plus stable, car l'arrêt d'un ou de plusieurs serveurs ne peut pas empêcher le réseau de partage de fonctionner. Le système est basé sur une architecture décentralisée, donc aucun serveur crucial n'est présent, contrairement à Bittorrent (les trackers) ou à MegaUpload.


C’est sous quelle(s) licence(s)?
C'est prévu sous GPL, pour l'instant.


Quels sont les technologies employées ?
La partie serveur est développée en PHP, le client en Python. Pour le moment celui-ci n'est compatible qu'avec Linux, mais avec des efforts il devrait pouvoir être porté sous Windows :).

Quels sont ses points forts et ses points faibles ?
Les points forts de Vodstok:

\n— la décentralisation du stockage
\n— le chiffrement AES avec une clef aléatoire
\n— la stabilité du système

Les points faibles:

\n— Impossible de savoir ce que l'on stocke réellement sur l'espace de stockage partagé (c'est chiffré, mais cela peut aussi être considéré comme un point fort)

Il y a il un "business model" ? Une feuille de route ?
Pas de "business model", le tout est libre et librement améliorable/adaptable. J'ai rédigé une feuille de route, mais vu que je suis le seul développeur sur le projet, elle n'a pas été rendue publique.

Combien il y a-t-il de contributeurs autours ?
Je suis le développeur principal de ce projet, mais certains de mes amis et membres de la communauté HZV (ndlr : https://www.hackerzvoice.net/) m'aident dans mes tests et participent à la première version du réseau (Sorcier_FXK, Vorex, y0no, notamment).

Comment est né le projet ? Comment a-t-il évolué ? Quels sont les faits marquants ? Quels problèmes avez-vous rencontrés ?
Le projet est né il y a de cela plusieurs années, mais a repris du poil de la bête lors de la fermeture de MegaUpload. J'ai enfin pu trouver une utilité à celui-ci, et un contexte dans lequel sa publication serait favorable. Le code est en évolution constante, je travaille actuellement à la première version publique de celui-ci, utilisable par tous (et il y a encore du boulot). En ce qui concerne les problèmes, rien de bien bloquant, si ce ne sont les bugs habituels et la joie du déploiement d'applications écrites en Python.

Que faire pour contribuer au projet ? Quand sortira une version publique ?
Je vais très bientôt mettre le projet sur GitHub, dès lors n'importe qui pourra demander à y participer. Une version bêta publique est disponible sur http://virtualabs.fr/vodstok/, elle est fonctionnelle mais sujette à des modifications.

Virtualabs.

BeedBox, l'abeille qui fait du bruit !


C'est bien beau d'avoir de belles applications mais où les mettre ? Sur un serveur bien sûr ! Et c'est encore mieux s'il est auto-hébergé ! Et Beedbox nous propose justement de faire cela !

Avant de commencer, pouvez-vous vous présenter ?
billux : Romain Dessort de mon vrai nom, 22 ans. Brièvement, je suis administrateur système dans une SSLL depuis bientôt 2 ans, chose que j'adore faire. Depuis plusieurs années, je m'intéresse aux problèmes d'Internet d'aujourd'hui à un gros, le manque de plus en plus important de décentralisation des services et des données sur le réseau.
Sinon, sur mon temps libre (pas beaucoup ;-) ), j'aime bien faire de la randonnée, particulièrement en montagne.
Dudumomo: Pour ma part, Dudumomo, je travaille en finance/management mais je suis depuis bien longtemps un libriste. J'ai rejoins le projet apres m'être auto-hébergé pendant plus d'un an afin de participer a son developpement.
Pouvez-vous présenter en quelques mots le projet ? Existe-il un équivalent, libre ou propriétaire ?
billux : Le but de Beedbox est de rendre le moins complexe possible l'auto-hébergement de ses données et services (blog, mails, galeries photos, etc.) pour encourager les gens à s'auto-héberger. Beedbox sera une distribution GNU/Linux, que l'on pourra également proposer pré-installer sur du matériel basse consommation et compact (comme les classiques box des FAI, voir probablement plus !).
Dudumomo : Il existe différentes solutions d'hébergement simplifiées, je pense notamment aux différents panels libres comme ISPConfig, Webmin, etc., qui aident a configurer son système mais qui malheureusement se prêtent très mal à de l'auto-hébergement. Ces solutions-là sont encore bien trop compliquées et sont souvent des usines a gaz, inutile pour le particulier.
Du côté propriétaire, c'est le même constat.
billux : je rajouterai qu'il y a notamment un gros projet ayant le même but d'encourager l'auto-hébergement, FreedomBox. Globalement, on se rejoint énormement, même si FreedomBox s'étale pas mal en plus sur le chiffrement et l'anonymisation de ses données. (PEUT ETRE INDIQUER NOS DIFFERENCES DU COUP? je n'en vois pas tellement en fait…)
Comment ça fonctionne ?
billux : Le projet se décompose principalement en 3 grandes parties :
la moulinette
le server-manager
les paquets Debian spécifiques pour Beedbox
Le server-manager est une interface web qui permet à l'utilisateur de gérer simplement l'administration de Beedbox : configuration des paramètres de base du système, installation/désinstallation de modules, configuration simplifiée de ceux-ci. Le server-manager communique avec la moulinette, un ensemble de scripts Python, complètement indépendants du server-manager, qui se chargent de modifier le système en fonction des choix de l'utilisateur.
Chaque module Beedbox est en fait un paquet Debian contenant diverses données nécessaires à Beedbox (fichiers de configurations adaptés à Beedbox, règles iptables à ajouter, pages du module à ajouter au server-manager, etc.), et inclut en dépendance le paquet Debian « officiel ».
La modification de la configuration de chaque service par la moulinette est compliquée, étant donné que chaque fichier de conf a une syntaxe différente. On a donc opté pour un système de templates et de fichiers de valeurs : le template est en fait le fichier de configuration auquel les valeurs sont remplacées par des variables, et le fichier de valeurs contient la correspondance variable = valeur. Ce dernier fichier est donc facilement parsable et modifiable par un script Python (format .ini). Le fichier de configuration est ensuite généré par la fusion du template et du fichier de valeur.
C’est sous quelle(s) licence(s)?
Dudumomo : Le projet et ses publications sont sous licence libre GPLv3.
Quelles sont les technologies employées ?
Debian GNU/Linux dans sa version stable est utilisé comme base pour Beedbox. Plusieurs services nécessaires sont installés de base, notamment le serveur web Lighttpd, OpenLDAP pour gérer les comptes utilisateur, un résolveur DNS, etc..
Au niveau de la moulinette et du server-manager, nous utilisons le langage Python, en suivant le modèle de développement MVC (http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur). Javascript sera également beaucoup utilisé pour la partie web.
Quels sont ses points forts et ses points faibles ?
Dudumomo : Le projet est encore tout jeune et la simplification nécessaire pour que le projet réussisse n'est…pas simple.
Ses points forts sont cependant une grande transparence des actions et décisions, une forte implication de chacun des membres, des idées simples, et un objectif clair.
Ses points faibles sont principalement liées à sa jeunesse et à son manque de maturité. Prenons-nous les bonnes décisions de développement ? Développons-nous correctement ?
De plus, le projet étant communautaire, chacun participe selon ses disponibilités et il arrive parfois que nous ne pouvons passer autant de temps qu'il le faudrait pour faire avancer le projet et respecter nos délais.
Il y a il un « business model » ? Une feuille de route ?
Dudumomo : Concernant un « business model », aucun, mais je dirais que nous avons plutot un « community model » (Le projet n'a évidemment aucun but lucratif).
Nous avons mis en place une feuille de route accessible sur notre redmine http://dev.beedbox.org/projects/beedbox/roadmap et tâchons d'effectuer les taches à faire dans les délais établis.
Combien il y a-t-il de contributeurs autours ?
billux : Nous sommes un noyau dur de 3 personnes : Dudumomo, responsable de tout ce qui touche à la communication et l'internationalisation du projet, Alouette qui s'occupe principalement du développement Python, et moi, qui gère la partie sysadmin et un peu le développement.
D'autres contributeurs occasionnels ou un peu plus réguliers participent au projet suivant leurs possibilités.
Comment est né le projet ? Comment a-t-il évolué ? Quels sont les faits marquants ? Quels problèmes avez-vous rencontrés ?
Notre article wikipedia (http://fr.wikipedia.org/wiki/BeedBox) résume bien les débuts de notre projet:
Suite a la conférence "Internet libre ou Minitel 2,0" de Benjamin Bayart en 2007, bon nombre de personnes ont ouvert les yeux sur l’orientation que prenait internet ainsi que les libertés individuelles, principalement en raison de la centralisation de nos données, détenus bien souvent par des sociétés commerciales. Plusieurs projets ont donc fleuri pour redonner aux utilisateurs le contrôle de leurs données via la promotion de l’auto-hébergement.
BeedBox est né de la fusion de deux projets, "Beelive" du site Generation-Linux et "Machinbox". Le but principal de cette fusion était de mutualiser les travaux entrepris, de relancer les deux projets initiaux en sommeil et d'être soutenu par une plus grande communauté, toujours en pleine croissance.
Concernant notre évolution, le projet monte petit a petit en puissance grâce à ses participants et avons mis en place des réunions régulières sur notre salon Jabber (http://www.beedbox.org/communication) afin de garder une certaine dynamique.
Afin de rendre le projet durable, nous avons créé une association loi 1901 pour s'occuper de la représentation et du financement du projet.
Nous rencontrons évidemment des problèmes notamment sur l'aspect développement (technologies employées, etc.), mais également sur l'ouverture du projet (communauté dynamique et ouverture internationale).
Que faire pour contribuer au projet ? Quand sortira une version publique ?
Il y a différentes façons de contribuer au projet, que ce soit techniquement, humainement, mais également financierèment (dons).
Cependant, nous sommes activement à la recherche de contributeurs sur plusieurs points:
1) Développeurs Python et Javascript;
2) Designers pour revoir nos principaux outils ainsi que l'interface web de Beedbox;
3) Rédacteurs de la documentation, communication et internationalisation de notre projet;
4) Ainsi que des "Promoteurs", des personnes et sites comme le tien, l'Étudiant-Libre, qui relaient notre appel à contribution.
Pour plus d'information sur les contributions possibles, je vous invite a lire notre page : Comment contribuer ? http://www.beedbox.org/comment-contribuer.


Voilà donc un joli tour d'horizon de projets francophones. Espérons qu'ils puissent continuer à s'améliorer et être utilisés par un grand nombre de personnes ! Car le plus important, par ses projets, ce n'est pas seulement l'outil, mais aussi la volonté de changer le monde !
Qwerty

Cet article a été gracieusement corrigé par Scout123.

connaitre rapidement et facilement la composition d'un sol

Par le Temps de lecture estimé : 5min 3 Commentaires

Si vous faites un peu de jardinage, ou alors si vous êtes tout simplement curieux, vous vous demandez forcément quelle est la composition de votre sol (certaines plantes ne poussent que dans un milieu très précis).
En effet, le sol est composé de différents éléments :

Pour connaitre la proportion d'argile, il existe un test tout simple :
Après avoir mouillé la terre, il faut essayer de faire un boudin de quelques mm de diamètre. Si on n'arrive pas, c'est que la terre comporte moins de 10-15 % d'argile.
Si on arrive à faire un boudin, on essaye d'en faire un anneau. S'il casse, la proportion d'argile est entre 10-15 % et 25-30%. S'il ne casse pas, la proportion est de plus de 25-30%.

Pour connaitre la proportion de limon, il existe également un test tout simple :
Il faut frotter dans la paume d'une main la terre humide. Si la peau se colore fortement, et qu'après séchage, la terre reste colorée à la paume, la terre contient plus de 50 % de limons. Le limon humide ne colle pas aux doigts.
Qwerty

Jack Tramiel est décédé

Par le Temps de lecture estimé : 30s 2 Commentaires

Ce sont les meilleurs qui partent. Jack Tramiel, de son vrai nom Idek Tramielski, survivant d'Auschwitz, en faisait partie. Pionnier de l'informatique, il fonda en 1954 l'entreprise Commandore dont le produit phare fut le fameux ordinateur personnel, le Commandore 64, lancé en 1982 et vendu à 20 millions d'exemplaires, et qui fut le plus grand succès des ventes d'ordinateurs à cette époque. Il participa aussi au lancement de l'Atari ST. Par son parcours, il incarne le self made man. Il s'éteint à l'hôpital de Stanford le 8 avril 2012 à l'âge de 84 ans.
Qwerty

Et si le web était communiste ?

Par le Temps de lecture estimé : 60s 3 Commentaires

Le titre fait un peu polémique. Mais il s'agit là d'une étude de cas. Quand je parle de communisme, je parle bien des idées de Karl Marx et non du Stalinisme soviétique (il serait simplet de croire que Staline a mis en œuvre les idées de Marx: en effet, il a échoué en chemin, puisque la volonté de Karl Marx était également d'élimer toute forme de pouvoir -le contraire du totalitarisme stalinien-)
L'idéal du communisme n'est il pas d'émanciper l'être humain de tout statut social ? N'est-il pas de mettre en commun les travaux pour aider ? Or, on peut dire le web est en train de faire ça :
Vous pouvez parler à des chercheurs ou des scientifiques même si vous êtes un simple ouvrier. Grâce à Internet, vous avez accès à un savoir infini. Des auteurs ne mettent-ils pas en commun leurs créations sur internet comme des programmes ou des robots librement (logiciels libres) ?
C'était ma réflexion de ce matin.
PS je ne prend partie d'aucun parti politique, c'est juste une pensée matinale.
Qwerty

L'importance de l'auto-hébergement

Par le Temps de lecture estimé : 5min 7 Commentaires

Avec le développement de services web, et des réseaux sociaux, la maitrise des données personnelles semble être cruciale. En effet, ils sont exploités : Quand une entreprise propose un produit gratuitement, c'est que le produit, c'est vous.
Alors, comment protéger nos données et autres œuvres de l'esprit ? Une solution existe : l'auto-hébergement. C'est à dire que les serveurs sont chez vous et non chez un tierce. Comme nous rappelle Benjamin Bayart dans sa conférence Internet libre ou mintel 2,0 l'importance de la décentralisation, ADN d'Internet.

BeedBox, ou l'auto-hébergement frenchies


BeedBox est un projet français souhaitant rendre l'auto-hébergement facile (clé en main) pour n'importe quel utilisateur tant un peu curieux. Le projet est en développement et il a besoin d'aide ! Il sera à la fois une distribution GNU/Linux basé sur Debian et du matériel (Raspberry Pi ?)

FreedomBox, ou la liberté dans une boite


Un peu dans le même esprit, Freedombox est plus orienté sur la sécurité. Ils veulent :
\n— Un réseau social protégé et décentralisé
\n— Une sauvegarde sécurisé : vos données sont automatiquement stockées dans un format chiffré sur la Freedom Box de vos amis ou associés, empêchant ainsi la saisie ou la perte de vos fichiers personnels.
\n— Une protection pour la Neutralité du Net : Si votre FAI (Fournisseur d’Accès Internet) commence à limiter ou interférer avec votre accès à des services sur Internet, votre box est capable de communiquer avec celles de vos amis et de détecter les routes contournant les limitations. Les réseaux censurés sont automatiquement contournés, que ce soit pour des amis dans des pays pratiquant la censure sur leur réseaux ou pour vous.
\n— Publications anonymes sécurisées : Les personnes situées dans une zone où le réseau est censuré peuvent relayer leur information grâce à des amis ou associations situées en dehors de ces zones, permettant ainsi une publication anonyme et sûre pour son émetteur.
\n— Sécurité du réseau domestique, avec une réelle protection contre les intrusions et les attaques visant Microsoft Windows ou les ordinateurs à risque dans votre réseau
\n— Emails chiffrés, avec chiffrement et déchiffrement transparents;
-Communications vocales privées : les utilisateurs d’une Freedom Box peuvent effectuer des appels téléphoniques sur Internet vers n’importe quel téléphone. Les appels entre des Freedom Box seront complètement chiffrées.
Il utilisera aussi Debian.

J'ai une certaine hâte pour la concrétisation de ses projets.
Qwerty

Comment j'écris un article ?

Par le Temps de lecture estimé : 50s 4 Commentaires

Avec un clavier bien sûr ! Humour à part, la rédaction d'un article est assez simple quand on en connaît la méthodologie.
Un beau matin, une idée germe dans mon esprit. Je la laisse mûrir lors de mes trajets pour aller au lycée et retour (et oui, la marche à pied le bon matin, ça réveille !)
Une fois qu'il y a un peu plus de matière, je prends mon petit carnet et je décide de faire un plan, notamment pour les articles longs (sinon, le plan est fait de tête).
Après, il suffit tout simplement d'écrire en suivant le plan. D'illustrer mes idées d'exemples, de liens, de vidéos ou parfois d'images…
Puis, j'envoie un mail à Assiak qui a la bonté de me le corriger.
Une fois le papier rendu, je le publie sur le site et je me mets activement à la promotion de ce dit article !

Qwerty

La programmation selon GodDonut

Par le Temps de lecture estimé : 10min 5 Commentaires

La programmation est essentielle en informatique. GodDonut, auteur de nombreux tutoriels, a accepté de répondre à nos questions.

Salut GodDonut ! Peux-tu te présenter ?
Euh… je m'appelle Joshua, je suis étudiant en informatique, et je m'intéresse à la recherche en langages de programmation et en compilation. J'espère devenir chercheur, soit dans le secteur public, soit dans un secteur de Recherche et Développement dans une entreprise.
À part ça, je fais de la guitare et du handball.

Quels sont les langages de programmation que tu connais ?
Houlà, ça dépend de ce qu'on appelle connaître. Il y a des langages que je peux un petit peu utiliser, mais que je ne prétends pas maîtriser, comme PHP, Java, Scheme, SQL ou encore Factor. Il y en a que je connais mieux, comme C ou Python.
Mais mon langage préféré reste le langage OCaml, un langage fonctionnel et orienté objet moderne, qui apporte beaucoup de concepts très nouveaux. En fait, j'essaye de toucher à beaucoup de langages différents. C'est important pour ma formation, naturellement, mais de toute façon la plupart des nouveaux langages conçus par les entreprises reprennent des idées qui ont été testées dans le milieu académique. C'est toujours bien de se tenir au courant…

Peux-tu nous parler de l'algorithmique ?

Avec plaisir ! Personnellement, je considère que l'informatique est la science du traitement de l'information (notamment avec les ordinateurs). L'algorithmique, c'est une branche de l'informatique qui se charge de dire à la fois comment on traite cette information, et avec quelle efficacité. Si vous faites de la musique, travailler l'algorithmique c'est un petit peu comme travailler ses gammes : en soi, ça ne sert pas forcément à grand chose, mais ça devient vital quand on veut atteindre un niveau professionnel élevé.
Autant dire que c'est très important dans la formation d'un informaticien. Étudier l'algorithmique apprend à résoudre des problèmes qui reviennent fréquemment dans les applications. Derrière beaucoup d'applications se cachent en fait des problèmes très classiques. Par exemple, prenons l'application Google Maps : elle doit résoudre de nombreux problèmes. Notamment, si ses utilisateurs veulent se rendre d'un point A au point B, il faut qu'elle leur fournisse le chemin qui les fera consommer le moins d'essence, ou qui mettra le moins de temps, en tenant compte des prévisions de bouchon. Un vaste programme !
Mais tout ça se résout assez bien quand on connaît une structure de données appelée les « graphes », et les algorithmes qui permettent de trouver les plus courts chemins entre deux points d'un graphe. Hé oui : derrière l'interface de Google Maps, il y a des algorithmes très classiques, que les développeurs de Google ont soigneusement retranscrits dans le langage de leur choix pour avoir une application aussi efficace que possible. Pour détecter le spam dans un e-mail ? On peut utiliser un classifieur bayésien (un algorithme de classification). Pour développer un moteur de recherche ? Beaucoup de sociétés cherchent des algorithmes plus efficaces que ceux de la concurrence. Mais par exemple, celui de Google fait intervenir d'autres techniques connues, comme la multiplication de matrices creuses. Et ainsi de suite…
Bien sûr, l'algorithmique n'intervient pas dans toutes les applications. Quand les programmes sont assez simples, on se ne préoccupe pas vraiment de leur efficacité, et les problèmes qu'ils résolvent sont suffisamment basiques. Mais souvent c'est juste une différence de taille : quand une application de discussion instantanée se met à devoir traiter des centaines de messages par seconde (par exemple pour faire une recherche dans des logs), alors les structures de données utilisées sont importantes.
Enfin, l'algorithmique n'est pas une question de langages. Même si certains langages sont plus adaptés que d'autres pour l'étudier, et que d'autres proposent des structures de données et des algorithmes tout prêts, il est parfois bien pratique (et intéressant) de savoir comme ceux-ci fonctionnent.
Et puis les plus grosses entreprises n'hésitent plus, aujourd'hui, à faire passer des entretiens d'algorithmique pour sélectionner les candidats. C'est une sorte de mini-concours, pas si difficile, mais qui fait quand même la différence entre les développeurs qui prétendent à un même poste. Que le meilleure gagne, en somme !

Quels sont les différents styles de programmation (fonctionnelle, programmation orientée objet, procédurale…) ?
Comme je l'ai dit plus haut, il y a beaucoup de langages différents. On les distingue par leur utilité (SQL sert à faire des requêtes sur des bases de données, PHP sert essentiellement à écrire des scripts côté serveur…), mais pas seulement. En fait, d'un langage à l'autre, il peut y avoir beaucoup de points communs, ou beaucoup de ressemblances. Cependant, tous ces différents points de comparaison ne sont pas aussi importants.
Par exemple, un certain nombre de langages découpent leurs programmes en instructions séparées par des point-virgules, alors que Python ou Ruby séparent leurs instructions par des retours à la ligne. Cependant, est-ce que c'est vraiment différent ? A priori, non, c'est juste une question de notation. Un programme PHP peut facilement être traduit en Python, et inversement.
Par contre, il y a des langages qui ne découpent pas les programmes en instructions successives. Ils ne donnent pas d'ordre d'exécution, ou bien alors un ordre plus faible. En conséquences, ils sont plus éloignés de la machine (ce qui peut les rendre plus difficiles à compiler), mais disposent aussi d'autres avantages (puisque l'ordre de calcul est moins strict, on peut plus facilement paralléliser les programmes, c'est-à-dire les exécuter sur plusieurs processeurs).
On distingue donc de grands groupes parmi les langages de programmation : les langages impératifs, comme le C, le Python, le Java, le PHP… et les langages déclaratifs, comme SQL, OCaml, Prolog… Certains de ces langages sont en réalité plusieurs choses, par exemple OCaml contient aussi des instructions (qui sont optionnelles), et d'autres distinctions apparaissent entre eux. Dans les langages déclaratifs, par exemple, il y a des langages de requête (toujours comme SQL), des langages logiques (comme Prolog ou Clips) et des langages fonctionnels (comme OCaml, Lisp, Scheme ou Haskell). Ces derniers sont ainsi nommés parce qu'ils sont axés autour du concept de fonctions : un programme fonctionnel est comme un gigantesque emboîtement de plusieurs fonctions, que l'on compose, que l'on applique les unes aux autres, ou même que l'on retourne.
Mais ça n'est pas tout : parmi tous ces langages, il y en a qui sont dits « orientés objets ». En réalité, tous les langages objets ne fonctionnent même pas de la même façon, donc on pourrait encore faire des distinctions. Mais l'idée générale, c'est de permettre ce que l'on appelle le polymorphisme « ad-hoc » (qui veut dire « au cas-par-cas »). On envoie un certain message à un objet, et c'est lui qui décide comment il se comporte (en respectant éventuellement certaines contraintes). Ici encore, on croise des langages impératifs et orientés objet, comme PHP ou Java, des langages fonctionnels possédant des objets, comme OCaml, et ainsi de suite. On dit parfois que les langages non-orientés objet sont « procéduraux », parce que le code est découpé en procédures (des fonctions qui ne retournent pas de résultat).
Enfin, une autre grosse différence entre les langages de programmation est leur « dynamicité » : certaines fonctionnalités dans certains langages n'ont de sens que lorsqu'elles sont interprétées, alors que d'autres langages sont entièrement vérifiés à la compilation. Par exemple, les types des variables de PHP ne sont connus que pendant l'exécution du programme, pas avant. En Java ou en OCaml, ils sont vérifiés pendant la compilation, ce qui permet de découvrir certaines erreurs de typage (quand on utilise une chaîne de caractères à la place d'un entier, par exemple).

Quel langage conseillerais-tu aux personnes voulant commencer à programmer ?
Ça dépend : si ce sont des amis à vous, vous devriez leur conseiller un langage que vous aimez bien, et que vous connaissez bien. C'est en effet en groupe qu'on apprend le mieux.
Mais dans l'absolu, je pense que j'ai un faible pour Python. Il est expressif (dans le sens où il permet de faire des programmes complets en quelques lignes) et bien pensé, et donne de bonnes habitudes aux débutants. Il est également bien documenté, et il est facile à utiliser, sans pour autant cacher trop de choses au débutant selon moi. Cependant, il semble aussi que ça dépende des caractères de chacun. L'idéal, je pense, ça reste de toucher à plusieurs langages, de plusieurs styles différents. Et puis une fois que l'on connaît bien la programmation, apprendre un nouveau langage n'est qu'une question de jours.

Quel langage correspond à quel besoin ?
Difficile de faire une réponse complète ! Ça dépend vraiment des problèmes. Parfois, quand on doit résoudre un certain problème, on n'a pas le choix du langage. Mais quand on a ce choix-là (par exemple pour un projet personnel), il est clair que tous les langages ne sont pas aussi bons les uns que les autres pour résoudre certains problèmes.
Par exemple, même si aujourd'hui tous les langages peuvent servir à faire du web, pour un petit projet développé rapidement, la palme revient sans doute toujours à PHP, Ruby, Perl ou Python. Pour l'écriture de programmes très bas niveau comme des pilotes matériels, le C est une référence. Pour écrire des compilateurs, ou encore étudier l'algorithmique, OCaml reste une référence. Et ainsi de suite…
La seule idée que je voudrais mettre en avant, c'est qu'il existe de nombreux langages de programmation intéressants. C'est assez triste de voir que la plupart des débutants se concentrent sur des langages dont l'intérêt est essentiellement professionnel. Apprendre Java à 14 ans parce qu'on espère devenir développeur à 21 ans, c'est s'empêcher de faire beaucoup de découvertes intéressantes sur la programmation.

Interview réalisée par Qwerty

Retour vers le futur

Par le Temps de lecture estimé : 10min 6 Commentaires

Etant grand cinéphile, je me suis dit qu'une analyse d'oeuvre cinématographique serait intérrésante. Et nous allons commencer par mon film préféré, Retour vers le futur.

Retour vers le futur


Titre en VO : Back to the future
Réalisation Robert Zemeckis
Scénario Robert Zemeckis, Bob Gale
Acteurs principaux Michael J. Fox, Christopher Lloyd
Pays d’origine  : États-Unis États-Unis
Sortie 1985
Durée 116 minutes

1985, Hill Valley, Californie. Marty Mcfly est un adolescent typique des années 1980 et déçu par sa situation familiale. SOn père, George Mcfly, est timide, ne supporte pas le conflit et s'écrase sans cesse devant son chef Biff Tannen, qui l'oblige à rédiger ses propres rapports.
Sa mère Laurène, portée sur la bouteille, est possessive. Elle s'indigne quand son fils sort avec Jennifer. Son frère travaille dans un fast-food du coin. Marty a pour ami un savant fou, "Doc" Emmett Brown. Celui-ci invente une machine à voyager dans le temps à partir d'une delorean DMC-12.
Il fait la démonstration en envoyant son chien Einstein 1 mn dans le futur. Mais Doc est subitement assassiné par des terroristes libyens, auxquels il leur subtilise du plutonium, nécessaire pour transmettre les 2,21 gigawatts dans le convecteur temporel afin de voyager dans le temps.
Marty, pour leurs échapper, met involontairement les circuits temporels et s'envole en 1955. Il arrivent donc 30 ans plus tôt. En voulant aller chez lui, il découvre que tout est en chantier. il croise ses parents, encore étudiants, et sauve son père d'un accident de la circulation en étant renversé à sa place par la voiture de son futur grand-père maternel.
Marty se réveille bien plus tard. Sa mère tombe amoureuse de lui en le soignant. Marty a donc pris la place de son père, qui avait connu sa mère lors de cet accident. Marty va donc s'arranger pour que sa mère tombe amoureux de son père et ainsi éviter un paradoxe temporel.
Marty va donc tout faire pour inciter Georges, son père, à inviter Lorraine, sa mère, à la féerie dansante des sirènes (bal de fin d'année où les parents de Marty se sont embrassés pour la première fois dans le cours du temps originel), afin qu'ils tombent amoureux et lui éviter sa disparition, ainsi que celles de son frère et de sa sœur. Il ira jusqu'à s'introduire un soir dans la chambre de son père, déguisé en « Dark Vador, de la planète Vulcain », pour l'inciter à inviter Laurene.
Doc Jeune va aussi l'aider, après que Marty lui a, avec tant de mal, raconté son histoire. Marty montrera un tract de 1985 à Doc, indiquant que la foudre s'apprête à tomber sur l'horloge de l'Hôtel de Ville dans une semaine, soit le soir du bal. Doc décide donc de canaliser l'énergie de l'éclair pour les 2,21 gigawatts nécessaires pour le convecteur, tandis que Marty essaiera de réparer son erreur tout en en profitant pour aider son père à se défendre de Biff, dont il est déjà le souffre-douleur, et sa mère à ne pas continuer de boire et de fumer.


Ce que j'aime bien dans ce film, c'est de voir ses parents jeunes et de voir comment ils étaient. Le paradoxe temporel est aussi très présent, ce qui fait aussi son charme. Le décalage de Marty (ses réactions) par rapport à l'époque de ses parents montrent bien les changements culturels.

Retour vers le futur II


Titre original Back to the Future Part II
Réalisation Robert Zemeckis
Scénario Robert Zemeckis
Bob Gale
Acteurs principaux Michael J. Fox
Christopher Lloyd
Lea Thompson
Thomas Francis Wilson
Pays d’origine États-Unis États-Unis
Sortie 1989
Durée 108 minutes

Marty se croyait enfin tranquille. Mais doc se ramène du futur, et annonce que leurs descendance, en 2015, sont en danger. Son fils, Marty Jr, s'apprête, malgré lui à faire un vol avec Griff Tannen (le petit fils de Biff). Après une course poursuite en Hoverboards, sorte de skateboards volant, Griff est arrêté.
Sa descendance est sauvé. Appâté par le gain, Marty achète un almanach des sports retraçant l'ensemble des victoires sportives survenues depuis les années 1950 jusque dans les années 2000 avec l'intention de s'enrichir en rentrant dans son époque. Doc le dissuadant de le faire, l'almanach des sports est jeté dans une poubelle sous les yeux du vieux Biff Tannen.
Mais la police du coin trouve Jenefer inconsciente et la ramène chez elle. Doc et Marty essaye de la récupérer. Pendant ce temps, Biff s'empare de la machine. Puis on le voit revenir.
Lorsque que Marty et Doc revient en 1985, tout semble normal. Enfin presque. Le chaos et le désordre règne, la ville faisant office de refuge pour les criminels.
On voit que l'hotel de ville est transformé en casino. Le casino de Biff. Marty se rend compte qu'il c'est enrichie grâce à l'almanach. Il monte donc voir Biff, qui lui raconte que en 1955, un vieillard (qui est en faites le vieux Biff) lui a donné un drôle de bouquin (sic).
Marty retourne avec Doc en 1955 pour récuperer l'almanach. Ils réussissent et le brûle. Mais Doc sera projeté à l'époque du far-west.

Ce qui est intéressant dans ce film, c'est le retour dans les scènes du premier film (le bal de la féerie dansante des sirènes par exemple). La vision du futur est un peu dépassé, mais c'est ce qui fait son charme.

Retour vers le futur III


Titre original Back to the Future Part III
Réalisation Robert Zemeckis
Scénario Robert Zemeckis
Bob Gale
Acteurs principaux Michael J. Fox
Christopher Lloyd
Mary Steenburgen
Thomas Francis Wilson
Lea Thompson
Pays d’origine États-Unis États-Unis
Sortie 1990
Durée 118 minutes

Marty est coincé en 1955. Mais reçoit une lettre de Doc vielle de 70 ans. Dans la lettre est indiqué que la DeLorean est cachée dans une ancienne mine d'argent. Il va donc demander l'aide de Doc de 1955. Bien sûr, il s’évanouit, car il venait de le renvoyez chez lui (dans la scène du I, vous en souvenez ?)
Doc l'aide donc à réparer la delorean. Mais, juste à coté, il y a un cimetière. Et on voit que Doc a été assasine une semaine seulement après l'émission de la lettre, par Bufford Tannen, un ancêtre de Biff Tannen, surnommé « Molosse ». Marty décide, malgré les ordres du Doc, d'aller chercher son ami en 1885, cinq jours avant l'assassinat. Doc remplace donc la puce électronique nécessaire au voyage dans le temps par les moyens du bord.
À peine arrivé en 1885, une attaque des Indiens perce le réservoir de la DeLorean. Marty cache la voiture dans une grotte. En essayant de rejoindre Doc à Hill Valley, il est recueilli par ses ancêtres suite à une chute. Il rencontre Seamus McFly, Maggie McFly et son arrière-grand-père William McFly, premier McFly né sur le territoire américain. De ce fait, il emprunte un nom, « Clint Eastwood », pour cacher sa véritable identité, et ses intentions.
Arrivant à Hill Valley, Marty rencontre très tôt Bufford Tannen qui tente de le pendre car il l'humilie en lui envoyant un seau plein de crachats et l'appelle inconsciemment par son sobriquet de « molosse », que Bufford déteste. Doc le sauve in extremis grâce à un fusil à lunette de fortune. Marty découvre que Doc passe des jours heureux en 1885. Il lui fait part de l'imminence de sa mort à cause de Tannen et du fait que la DeLorean ait perdu son carburant à cause de son réservoir d'essence percé. La tâche de Marty est compliquée par le coup de foudre de Doc pour une institutrice nommée Clara, nouvellement arrivée dans la ville. Doc et Marty essayent de trouver le moyen de rentrer en 1985. Un essai malheureux, en versant du whisky dans le réservoir d'essence de la DeLorean, fait exploser le système d'injection de la voiture, et par conséquent le moteur. Par chance le générateur de fusion est intact. Les deux amis trouvent alors un moyen : le train ! La DeLorean se fera pousser par le train jusqu'à un pont dont la construction n'est pas achevée, selon les calculs de Doc la voiture devrait pouvoir atteindre les 88 miles par heure requis, juste avant que la locomotive tombe.
Mais au dernier moment, Clara les rejoints (pendant que le train pousse la delorean !). Doc reste donc avec elle. Marty rentre donc seul en 1985. Un train explose la delorean, Marty sortant in-extremis de la voiture.
Mais on voit Doc revenir à bord d'une machine temporel fait à partir du train, accompagné de Clara et de ses deux enfants : Jules et Vernes.

Ce film nous montre une facette de Doc inattendu : Il tombe amoureux ! Sinon, le lien entre le western et le XXe siècle est assez intéressant.

Voilà, j'espère que ces films vont vous plaire !
Qwerty

Débriefing du concours de nouvelles uchroniques

Par le Temps de lecture estimé : 5min 0 Commentaire

Durant la période du 1 er Janvier au 1 er mars, nous avions organisé un concours d'écriture de nouvelles uchroniques.

Le nez de Cléopâtre : s'il eût été plus court, toute la face de la terre aurait changé.B. Pascal
Il y a tant d’occasions où le destin de l’humanité semble n’avoir dépendu que de la venue d’un événement singulier, lequel aurait pu advenir de cette manière ou d’une autre avec une égale probabilité. Isaac Asimov.

Concours


Le but du concours était d'écrire une nouvelle basée sur l'Uchronie (genre qui repose sur le principe de la réécriture de l’Histoire à partir de la modification d’un événement du passé).


Le concours avait lieu du 1 er Janvier 2012 au 1er Mars 2012


MODALITES


  • Le concours est ouvert à tous, hors Administrateurs.
  • Une seule participation par personne est autorisée.
  • le thème de la proposition doit avoir un rapport avec l'uchronie.
  • La nouvelle doit obligatoirement avoir un rapport avec l'uchronie et doit comporter 7500 mots maximums. On ne va pas compter les mots, c'est juste un ordre degrandeur.
  • Le jury se consultera pour choisir les meilleurs œuvres.

CONDITIONS


  • Des modifications pourrait être faites par l’Étudiant Libre et ce uniquement afin de corriger les fautes d'orthographe et de grammaire.
  • L'équipe de l'EL se réserve le droit de supprimer tout ce qui serait discriminatoire ou inapproprié, de contacter l'auteur pour demander un ajustement si nécessaire ou des précisions sur la proposition.

Normalement il ne risque pas d'y avoir de lots, mis à part l'honneur que les meilleures nouvelles soient diffusées sur le site.


Ressources




Malgré un enthousiasme élevé au début du concours, on a pu constater une baisse de ce facteur au fil du temps. Deux problèmes peuvent être mis en évidence :
\n— soit la communication manquante et la promotion insuffisante ;
\n— soit le sujet trop dur ou peu inspirant.
Ou alors, le site est trop jeune et manque d'expérience pour organiser un tel concours !
Cependant, nous ne désespérons pas de parvenir à vous faire activement participer à la
vie du site !
Qwerty