Archives pour la catégorie Informatique

Blockchains for social good

The blockchain technology underlies crypto-currencies such as a bitcoin. But its power goes far beyond currency trading, money transfer and purely financial applications. Many idealist pragmatists want to change the world using the blockchain technology. Here is my attempt at listing projects and applications which aim at making some social impact using blockchains.

Please don’t hesitate to drop me an email (sig at akasig dot org) or post a comment below if you know of other applications of the blockchain technology for social good !

Economic development, poverty alleviation, financial freedom, wealth sharing

The blockchain might make « the world’s unbanked a viable new market » , « bring banking to the underserved »… There are drafts of smart contracts being hacked for blockchain-based universal bankind accounts at CommonAccord. Their interview on the French radio BFM explains their project (minute 24.21).

Caricoin launched a mobile bitcoin wallet in order to provide banking services to the unbanked in the Caribbean, about 50% of the population in some areas there.

BitPesa uses Bitcoin to reduce money transfer fees for Kenyans. Future Perfect Ventures states :

It is the first pan-African blockchain-powered payment network. After careers in finance, technology and development, the founding team saw opportunity in emerging blockchain infrastructure to reduce business-to-business and peer-to-peer payments from 12-20% to 3%, putting money back into the pockets of businesses and individuals who are now able to save and invest more back into the economy as a result.

Abra is also backed by Future Perfect Ventures :

Bill Barhydt, founder of Abra, is a veteran of the cross-border money remittance sector.  He saw firsthand the inefficiencies created by multiple intermediaries including Western Union and banking institutions, which extract significant fees for small transactions.  With emerging markets rapidly adopting smartphones, Bill saw opportunity in enabling local agent networks in these markets with a blockchain powered app that would reduce fees for the sender and recipient, and provide agents with access to a broader customer base.  Launched in 2015 at the Launch Festival (where it won Best Startup), Abra is now live in the Philippines with additional markets to be announced in 2016.

Ripple « transfers money to anywhere in the world, in any currency, instantly ». « It allows for banks around the world to directly transact with each other without the need for a central counterparty or correspondent. »

4G capital lets donors fund small business in Kenya using digital currency which is then converted and distributed to the businesses

WeiLend implements a peer-to-peer lending contract.

There are several attempts at establishing a basic income, voluntary taxation or wealth-sharing scheme with blockchains :

  • Group Currency is a conceptual framework for blockchain-based basic income
  • Circles is an implementation of a Group Currency, proposing a universal basic income within a group of subscribers
  • Duniter is another implementation of a Group Currency and blockchain-based universal income.
  • Johan Nygren’s resilience.me and basicincome.co were an early attempt which has gone nowhere beyond generating some welcome buzz and public awareness (at least it seems to me).

Education and learning

The introductory video of the « Learning is Earning 2016 » concept by the Institute for the Future develops an ambitious and controversial vision of the use of blockchains for education and lifelong learning.

Badgechain is an open community of open badge enthusiasts discussing uses of blockchains for education.

The Sony Global Education division of the company has developed technology that uses the blockchain to house educational data that can be securely shared with other services and third parties.

OTLW was founded in Kenya (Kenya and blockchains with social impact, once again…) and proposes otlw-assess, a blockchain-based system for secure universal assessment of skills and knowledge and otlw-publish, a system for facilitating the distribution of micropayments to authors of (educational?) documents, I guess from persons citing their documents.

Several universities use blockchains to authenticate the deliverance of degrees or other academic certificates : University of Nicosia, MIT Media Lab, Holberton School as well as the Ecole Supérieure d’Ingénieurs Léonard de Vinci.

Preserving energy and the environment and limiting climate change

Grid Sindularity is a decentralized energy marketplace and energy data exchange platform. TransActive Grid is also a blockchain-based energy marketplace but it focuses on local peer-to-peer home-produced energy trading, not unsimilarly to DAJIE and its blockchain-connected energy boxes (except maybe DAJIE’s community is not necessarily local ? I don’t know).

The French Lumo and its Solarcoins allow consumers to invest in the shared production of renewable energy. Lumo recently plugged into the ElectricChain which shares solar energy data on the blockchain from 7 million solar facilities, for scientific and commercial purposes.

Solether is like a Cash machine but it distributes electricity from its solar panel (for instance when you want to charge to mobile phone) in exchange for blockchain payments, instead of distributing cash.

ClimateCoin incentizes the offsetting of carbon emission by letting donors and carbon emitters to give ethers to persons who plan trees or reduce CO2 emissions in other ways, in exchange of public and secure carbon offset receipts.

decibel.LIVE incentizes local businesses to reduce the level of ambient noise they are making in the neighborhood by letting them earn public and secure receipts of noise reduction from local mobile phone users who monitor ambient noise from a blockchain app on their phone and receive micropayments in compensation for their monitoring.

La’Zooz and Arcade City aim at developing ridesharing and uberizing Uber by not having to trust any central party be it a taxi company or Uber.

Health, independent living and accessibility

MyHealthIRL provides « health wallets » which gives your control over your health records (including their sharing and privacy) and facilitates second medical opinions for instance. TrustlessPrivacy seems to aim at the same target.

PointNurse is a web and mobile nursing platform empowering healthcare providers (nurse practitioners, medical doctors, …) to provide online consultations and support for patients. Payments and health data sharing seem to be secured on a blockchain as well as sharing of the profits generated by the platform, hence its promise of being « member-owned ».

EyePi is a blockchain-based platform that allows pharmaceutical laboratories or other actors of the health industry to outsource and « crowdsource » health-related innovation and research challenges to third parties and guarantee that these innovators and researchers are fairly rewarded.

The U.S. Department of Health and Human Services launched a (non-blockchain-based) contest for innovators to propose use cases of blockchain technologies within the healthcare industry before August 2016.

Impact investing, investing on social impact and smart social impact bonds

ImpactGrid is a blockchain-based smart investing platform and marketplace. It is to provide a transparent and secure solution for measuring and reporting social impact and to allow users to invest in the most impactful social innovations. This project is led by the Indian Investrata Foundation for Social Entrepreneurship.

The UBS bank runs experiments on a blockchain-based experimental trading platform. UBS gave some of its experimental code to Finclusion Lab, a London-based fintech social enterprise, to develop a blockchain platform for the HEAL Alliance, a non-profit project looking into a cure for HIV. Using this platform, the HEAL Alliance wants to issue smart social impact bonds for raising funds for HIV research and letting people trade bonds in order to allocate most funds to the most promising cures.

Jaan Tallinn is the cofounder of Skype and the file-sharing app Kazaa. He says :

Incentive schemes, whereby people who have done the most good for humanity are rewarded 20 years into the future would create the expectation that doing long-term good is valuable.

Blockchains are supposedly good at identifying people doing some good, tracking their progress, recording and securing measures of their impact and rewarding them according to pre-established and immutable incentive schemes. Jaan Tallinn is

« compiling a research paper on ways of using blockchain to create more co-ordination mechanisms, » that can be used to save humanity from possible resource-based problems, « from crime and corruption to deforestation and over-fishing. »

Democracy, governance and transparency

Several blockchain-based software projects want to create secure and fully auditable online voting platforms : FollowMyVote, PublicVotes, V-Initiative, DemocracyOS to some extent, … The main drawback of current (non-blockchain-based) online voting software is that they are most often not open to public scrutiny to ensure the accuracy of the voting system. Ballots have to be verifiable. Blockchains bring an advantage of verifiability to online voting systems.

DCent is research project funded by the European Union (7th framework programme). It develops an open-source, distributed and privacy-aware tools for direct democracy.

But voting systems rely on unique identities so that one person casts no more than one vote. And blockchain don’t come with unique identities for persons : you can possess any number of accounts on a given blockchain. In order to work around this problem, as far as I understand, BitVote backs your vote with publicly registered evidences of the unicity (uniqueness) of your identity such as a track of time you spent browsing various web pages. Since you are unique, you can’t simultaneously spend a given short timeframe browsing a lot of distinct web pages. In order to ensure « one vote per person », BitVotes relies on « one browsing history per person ». Some sort of « proof of browsing » for proving your identity…

Deloitte sees in blockchains an opportunity for periperal countries to reduce losses due to corruption, bribery, thief and tax evasion while Provenance sees an opportunity for consumers to make companies more accountable for the impact their products have on the environment and local communities. Provenance allows consumers to learn about a product’s journey along its supply chain.

In order to limit corruption and enhance public transparency, several projects aim at building public ownership registries on top of blockchains without the help of third parties such as notaries and cadastre surveys. ProofOfExistence proves a given document existed at a given date and NotarEth provides a basic blockchain-based notary service : it proves you had access to a given set of documents at a given point in history. BitLand registers land ownership in Ghana. Regis is public blockchain application for registering ownership of digital assets. It is used by, among others, the BVRio Institute to protect the Brazilian rain forest by registering timber trading records. And Brian Singer, from the William Blair investment firm, explains how blockchain-based public registration of ownership will solve poverty.

It looks as if blockchain innovators were reinventing registry services, notary services and other legal services in a trustless and automated world which seems somehow ignorant of existing « local » laws and « dumb » contracts. How to bridge this gap between blockchain-based services and local laws ? CommonAccord « creates global codes of legal transacting by codifying and automating legal documents, including contracts, permits, organizational documents, and consents ». It offers a collaborative platform for turning existing legal documents into source code for automateable smart contracts on blockchains. See for instance this French employment agreement or the Paris agreement on climate change.

Safety, security, insurance and risk sharing

New businesses come with new risks. Case Wallet and Civic provide blockchain-based identity protection services against identity theft and fraud. Civic offers identity theft insurance.

Regarding more traditional risks, many insurance startups invest on blockchains. Dynamis provides supplemental unemployment insurance. InsurEth provides flight insurance. Wekeep provides (undefined yet?) mutual insurance services. Others provide infrastructure software for blockchain-based insurance : Allied Peers is an insurance software engine and Dactuary decentralizes actuary services.

FarmShare implements a distributed « community-supported agriculture » platform which lets farmers share benefits of food production and risks such a low crop yield, environmental abuse or even some form of social abuse.

Even the UK government gets into the party by trialling the Blockchain for Welfare & Pensions.

Conclusion

The blockchain revolution has just begun and decentralized applications for social impact and social innovations are just emerging. Most social entrepreneurs come for traditional non-profit management or business schools and it make take some time for them to grasp the potential benefits of blockchain technologies over traditional web and mobile technologies.

For more socially impactful applications of blockchain technologies, I am looking forward to reading about the ideas being collected by the Blockchain Social Impact Challenge. Other useful sources of news to keep an eye on are the State of the Dapps site and the Social Tech Guide.

Please comment below if you know of other dapps having a great potential in terms of social impact or drop me an email (sig at akasig dot org) in case the comment section below is closed and I will update this article.

How to run Tesseract from web browsers with the help of emscripten

Tesseract is a fairly accurate Optical Character Recognition (OCR) engine available as open source and free software. It’s written in C and C++ and usually runs from the command line or from a GUI. But I work on a web application where we have to let thousands of users run OCR tasks from their web browsers without having to rely on server-side processing. So we asked our great Capgemini developers team to compile Tesseract so that it could be executed from Javascript code. This is were emscripten is useful : it allows programs written in C to be compiled into Javascript. This compilation was tricky but they made it.

Here is their HOWTO documentation.

I share it under the Create Commons CC-BY-SA 3.0 license so feel free to improve it as you like.

Un lab pour que l’État démocratise les blockchains ?

La technologie des blockchains va transformer notre société de manière au moins aussi radicale que le Web. L’État a besoin d’un laboratoire de recherche et développement dédié aux blockchains :

  • pour accélérer la transformation numérique des métiers du financement et de la sécurisation des politiques publiques,
  • pour en démocratiser les applications d’intérêt général, de manière à éviter que cette technologie ne renforce exclusivement des pouvoirs privés (notamment financiers),
  • et pour renseigner nos gouvernants et hauts fonctionnaires sur les menaces et opportunités liés à cette technologie ainsi que ses capacités et limites réelles.

La Caisse des Dépôts et Consignations a récemment annoncé la création d’un groupe de travail sur ce thème (voir aussi leur communiqué de presse). Développer ce genre de laboratoire serait une aventure passionnante au service de laquelle je souhaiterais mettre mes compétences professionnelles.

La blockchain bouleverse la régulation des relations sociales

La « blockchain » est la technologie sous-jacente aux cryptomonnaies telles que Bitcoin. Le caractère monétaire, plus ou moins intraçable et anonyme, de Bitcoin n’a qu’une importance anecdotique. Sa technologie sous-jacente est, elle, révolutionnaire.

Une blockchain est un ordinateur mondial unique qui, au lieu d’être installé dans un immense hangar spécialisé, est installé de manière « distribuée » sur les millions d’ordinateurs et smartphones des utilisateurs qui l’exécutent tous ensemble, simultanément en se coordonnant les uns avec les autres de manière automatique via Internet. Comme tout ordinateur, un ordinateur « blockchain » exécute des applications logicielles. Les premières blockchains, telles que celle de Bitcoin, permettaient principalement d’exécuter des logiciels de transaction financière entre utilisateurs (« Alice transfère 1 bitcoin à Bob »). Mais les blockchains plus récentes, comme celle d’Ethereum, permettent d’exécuter des applications multi-utilisateurs aussi complètes que celles auxquelles nous ont habitués nos ordinateurs et smartphones. A la différence d’un ordinateur ou d’un smartphone habituel, une blockchain, en pratique, ne peut pas être éteinte ni piratée : il ne s’agit pas d’une infrastructure informatique entre les mains d’une personne, d’un groupe d’individus ou d’un opérateur mais d’un ordinateur virtuel unique ultra-sécurisé car s’exécutant simultanément sur des millions d’ordinateurs. Si quelques-uns des ordinateurs participants viennent à « tricher » ou défaillir, ils sont automatiquement détectés par les autres et leurs déclarations sont rejetées.

Étant donné qu’une blockchain est un ordinateur multi-utilisateurs, on qualifie ses logiciels de « contrats intelligents » (« smart contracts ») ou contrats algorithmiques auxquels souscrivent ou non les utilisateurs qui le souhaitent. Un utilisateur de blockchain est un souscripteur de contrat algorithmique. Contrairement à un contrat traditionnel, les contrats algorithmiques apportent une garantie mathématique d’exécution : étant donné qu’il s’agit de logiciels sur un ordinateur que nul ne peut éteindre ni compromettre, ces contrats seront exécutés tels qu’ils ont été écrits (avec leurs éventuels bugs de conception), sans échappatoire possible.

La blockchain est donc une technologie sociale qui permet de conclure et d’exécuter des contrats entre personnes dans des conditions de sécurité telles qu’elles rendent inutile de faire confiance aux contractants ou à un tiers de confiance, à un magistrat ou un arbitre, pour en obtenir l’exécution prévue. On parle de technologies « sans confiance », c’est-à-dire qui permettent de s’exonérer de tout tiers de confiance.

En résumé, la technologie des blockchains, sous-jacente à Bitcoin et aux autres cryptomonnaies, redéfinit la manière dont se régulent certaines relations sociales. La blockchain rend possible des relations contractuelles (y compris des contrats de propriété) tellement sûres qu’elles rendent inutiles les tiers de confiance et les arbitrages humains habituellement requis pour la garantie d’exécution d’un contrat. La décision humaine intervient lors de la conception du contrat et lors de sa souscription. Mais elle n’intervient plus lors de son exécution.

L’histoire se répète, c’est le moment de s’y mettre

A titre prospectif, voici un scénario d’évolution des blockchains qui suit la même logique historique que celle de la démocratisation de l’Internet et du Web. D’ici 2018, la technologie des blockchains, jusqu’ici réservée aux spécialistes des cryptomonnaies et autres cryptanarchistes gagnera en maturité au point d’être utilisable facilement par l’ensemble de la population. A partir de 2018, la blockchain connaîtra une démocratisation de même envergure que celle du Web dans la deuxième moitié des années 1990.

Histoire du Web

Histoire des blockchains

1963 = idée d’un réseau global d’ordinateurs 1988 = concept de cryptomonnaie (David Chaum)
1973 = définition de TCP/IP 1998 = définition des premières cryptomonnaies distribuées (b-money et bit-gold)
1983 = adoption de TCP/IP et du concept d’Internet, premier serveur DNS 2008 = invention du bitcoin
1990 = invention du World Wide Web 2015 = invention de Ethereum, la première blockchain à langage de programmation complet
1993 = début de la démocratisation du Web avec le premier navigateur Web multimédia « NCSA MOSAIC » 2018 = début de la démocratisation des blockchains avec les premières applications mobiles d’utilisation de de contrats algorithmiques.

Les applications de la blockchain

Les blockchains vont être appliquées dans tous les domaines où la sécurité économique est importante et où les tiers de confiance sont traditionnellement présents. Elles redéfiniront le rôle des intermédiaires financiers et contractuels (phénomène de désintermédiation).

Poursuivons notre exercice de prospective :

Les applications immédiates, d’ici 2 à 5 ans, sont les suivantes :

  • blockchains bancaires privées pour la sécurisation des transactions financières (cf. le laboratoire créé en 2015 par les banques Barclays, Goldman Sachs, BBVA, UBS, Credit Suisse, JP Morgan, Royal Bank of Scotland, Commonwealth Bank of Australia, et de State Street)
  • sécurisation des registres, certificats et actes administratifs : gestion du cadastre (cf. les intentions exprimées au Ghana et au Honduras), transformation numérique des métiers notariaux, sécurisation des actes juridiques, sécurisation et ouverture des registres du commerce, des listes d’organismes agréés, des diplômes et certificats de compétences, etc.
  • sécurisation et automatisation des transactions administratives et des versements associés (Chèque Emploi Service Universel, allocations familiales, déclarations administratives, déclaration et collecte des impôts et taxes, …)
  • identification partielle des migrants et réfugiés, renforcement de la coopération policière européenne, lutte contre l’évasion fiscale, …
  • émergence de la propriété collaborative (« smart property ») dans la continuité des AirBNB et autres Uber.

Les applications à moyen terme, d’ici 5 à 10 ans, pourraient être les suivantes  :

  • démocratisation des micro-paiements et des portes-monnaies individuels sur blockchains, « explosion » du nombre de contrats et développement des nouveaux usages autour de la consommation collaborative, accélération des phénomènes « d’ubérisation » ; de même que chaque nouvel internaute avait sa « page Web » ou son « mur Facebook », chaque internaute publiera sur une blockchain sa collection de souscriptions et contrats et y gérera les transactions de sa vie quotidienne, en plus ou moins grande conformité avec les législations locales,
  • développement à grande échelle de la propriété collaborative (exemple : je possède cet objet de telle heure à telle heure et uniquement si telles conditions sont remplies, et tu en es propriétaire le reste du temps), nouvelles formes de contrats de prestations et de travail collaboratif (par exemple résolution de problèmes algorithmiques contre paiement, ou participation à des oracles collaboratifs organisés autour du principe du Point de Schelling),
  • nouvelles formes de collecte de dons et impôts volontaires, nouveaux modes de redistribution des richesses (cf. revenu de base, smart basic income), démocratisation des monnaies alternatives spécialisées,
  • nouveaux instruments pour le financement des politiques publiques (exemple : smart Social Impact Bonds)
  • sécurisation de l’open data pour en faire une infrastructure informationnelle publique utilisable pour les transactions de la vie courante,
  • développement et fiabilisation des marchés de prédiction semi-automatisés par appel à une foule d’internautes livrant des prédictions (crowd-sourcing) et aux capacités croissantes de prédiction et d’apprentissage automatisé (machine learning)
  • émergence des premières D.A.O. (Distributed Autonomous Organizations), organisations gouvernées sans intervention humaine : banques sans banquiers, assurances sans assureurs, mutuelles sans administrateurs, sociétés privés sans gérants ni conseils, associations sans conseil d’administration, partis politiques sans bureaux politiques, complexes logiciels et intelligences artificielles restreintes.

Les applications à long terme, d’ici 10 à 20 ans, donneront toute sa dimension à la révolution blockchain. En particulier, la société sera marquée par de nouveaux sentiments identitaires d’appartenance à des communautés fondées sur des contrats algorithmiques. Après la tribu ou la famille, puis la nation et la société privée, les contrats algorithmiques créeront une surcouche de régulation sociale au travers de communautés contractuelles transnationales, concept exploré par plusieurs auteurs de science-fiction de style « cyberpunk » ou « steampunk » comme par exemple les « phyles » de Neal Stephenson (L’Âge de Diamant).

Impact sur les acteurs économiques

A court terme, la technologie des blockchain annule une part croissante de la valeur ajoutée de tout ou partie des tiers de confiance, en les rendant inutiles et obsolètes. Le phénomène est à rapprocher de la manière dont le Web a annulé une partie de la valeur ajoutée des distributeurs de contenus culturels, ce qui avait entraîné la crise de l’industrie du disque et de la presse. Les blockchains transforment la confiance contractuelle en une matière première faiblement différenciatrice, dont tous les opérateurs économiques peuvent disposer à faible coût, sans pouvoir y construire un avantage concurrentiel durable.

En banalisant (commoditization) la technologie des opérateurs et tiers de confiance, la blockchain détruit les rentes des « intermédiaires » de confiance et déplace les gisements de valeur ajoutée vers une « couche technologique » plus élaborée : celle des applications et usages des blockchains. Ce faisant, elle crée un phénomène d’ « innovation de rupture » qui érode les parts de marché des opérateurs traditionnels « de confiance » (banques, assurances, mutuelles, professions réglementées de la confiance, voire administrations) et les acculera progressivement vers des niches à plus forte valeur ajoutée mais à plus faible volume, jusqu’à les faire disparaître. Le périmètre exact des industries concernées reste à préciser.

Les innovation de rupture permises par la blockchain permettent à de nouveaux acteurs de concurrencer ces opérateurs traditionnels sur leurs segments « bas de gamme » qu’ils leur délaisseront progressivement au fur et à mesure que les applications des blockchains gagneront en maturité, en simplicité, en praticité et donc se démocratiseront. Les nouveaux acteurs des blockchains proposeront des offres « sans tiers de confiance » tellement simples, pratiques et peu coûteuses qu’ils y donneront accès pour des segments de clientèle très nombreux, très volumineux et jusqu’ici exclus du marché des applications traditionnelles de la confiance contractuelle.

On devrait, par exemple, voire émerger des offres de services bancaires sans banques, de crédit sans organisme de crédit, d’assurance sans assurance, de mutuelles sans mutuelles, de notaires sans notaires, d’huissiers sans huissiers, pour des contrats simples, pratiques et peu coûteux jusqu’ici hors de portée des particuliers. On peut d’ailleurs constater les prémisses de ce phénomène à travers l’émergence des prêts entre particuliers.

Des excès de la financiarisation ou de l’ubérisation de l’économie sont à craindre. Mais des innovations sociales solidaires de très grande ampleur sont également à espérer.

A plus long terme, l’administration et les services publics sont directement concernés. En effet, l’administration publique a aussi une raison d’être qui est de nature économique : celle d’offrir aux citoyens des services publics dans le respect de l’intérêt général et avec un haut niveau de confiance, celui inspiré par la puissance de l’État et sa capacité régalienne de violence (police, justice, prison, armée). Supposons que les citoyens puissent commencer à obtenir des services similaires en souscrivant à des contrats algorithmiques et que les preuves mathématiques d’exécution de ces contrats, offertes par leur nature algorithmique, leur inspirent davantage confiance que l’État (qui est plus fiable : les mathématiques ou les États ?). Alors ils se tourneront progressivement vers ce nouveau mode de régulation de leurs relations, meilleur garant de l’intérêt général que l’État. Leur qualité de souscripteur pourrait prendre plus d’importance à leurs yeux que leur qualité de citoyen. Jusqu’à il y a peu, l’État exerçait une sorte de monopole sur la défense de l’intérêt général, monopole déjà largement érodé par le développement du secteur associatif et celui, plus limité, du mécénat privé. Mais rien n’empêchera désormais un collectif de personnes d’écrire un contrat algorithmique défendant la vision de l’intérêt général à laquelle ils souscrivent (leur politique), d’y souscrire et d’y trouver un substitut pratique aux services publics avec toute la confiance mathématique conférée par la nature algorithmique de ces contrats.

Et si les citoyens, plutôt que d’espérer changer le monde par le débat démocratique et le vote, se mettaient à vouloir changer de monde en souscrivant à des contrats collectifs reflétant leurs valeurs et leur vision politique ? Et si l’État, prenant les devants, proposait des applications blockchain et des contrats algorithmiques incarnant les valeurs et principes de notre démocratie et promouvant l’intérêt général, tout en laissant au citoyen la possibilité d’y exprimer ses besoins et aspirations individuelles ? Et si on mettait les blockchains au service de l’État, de l’intérêt général et de l’innovation sociale ?

Des Social Impact Bonds sur une blockchain

La banque suisse UBS vient de faire don à une ONG britannique du code source pour un logiciel qui permettrait de financer la recherche médicale contre le SIDA. J’ai lu en diagonale alors n’hésitez pas à corriger/compléter/commenter mon propos vis les commentaires ci-dessous… Ce que je comprends : l’originalité de ce logiciel financier, c’est de mettre l’intérêt privé (une banque suisse…) au service d’une innovation d’intérêt général (trouver un médicament pour guérir le sida). Pour ce faire, le logiciel permet d’automatiser des transactions financières appelées « Social Impact Bonds », une forme d’« obligation » privée dédiée au financement de l’impact social. L’intérêt principal de ce logiciel est de sécuriser des collectes de dons provenant de collectivités publiques ou de particuliers (les souscripteurs de ce contrat d’obligation) ainsi que l’intervention des banques.

Le principe de fonctionnement ressemblerait à ceci. Les investissements privés des banques servent à payer les laboratoires de recherche sélectionnés pour l’exécution de ce contrat. Si jamais un médicament est trouvé dans les 25 ans, alors les dons des particuliers ou des Etats vont rembourser les investissements des banques (avec intérêts). Si jamais aucun médicament n’est trouvé par les chercheurs, alors les dons des particuliers et des Etats leurs sont remboursés (sans intérêts) pour qu’ils puissent financer d’autres projets alors que les banques auront perdu leur mise de départ.

Ce logiciel apporte la sécurité financière fournie par la technologie « blockchain » « Ethereum ». Une « blockchain » est un ordinateur mondial unique, coordonné par des millions de PC ou téléphones. Une blockchain permet, entre autres, de générer une cryptomonnaie telle que bitcoin (bitcoin utilise sa propre blockchain). Dans le cas de la blockchain Ethereum, elle permet de sécuriser des contrats financiers complexes tels que les Social Impact Bonds. Ce logiciel est donc un « smart contract », c’est-à-dire un logiciel pour blockchain. D’où son nom de « Smart Impact Bond ».

Pour en savoir plus :

Cet article en français explique assez bien le concept de Social Impact Bond et les freins à son adoption en France mais n’aborde pas les apports d’une sécurisation des SIB par une blockchain :

http://www.fiscalonline.com/Les-Social-impact-bond-sont-ils,7342.html

Un collectif dénonce les SIB comme une menace d’excès de financiarisation de la société :

http://www.politis.fr/blogs/2015/04/gare-aux-social-impact-bonds-30865/

La presse en vante au contraire certains mérites :

http://www.slate.fr/story/94897/finance-sociale

http://www.levif.be/actualite/belgique/social-impact-bond-etat-des-lieux/article-opinion-413209.html

Hugues Sibille recommanderait d’expérimenter les SIB en France (je n’ai pas lu le rapport) :

http://www.economie.gouv.fr/innover-financierement-pour-innover-socialement

Apprendre à coder, quelles solutions pour mes enfants ?

Mes enfants ont 8 ans et 11 ans, garçons et filles (oui, j’ai des multiples…). Je tiens à ce qu’ils apprennent la culture et les bases du code informatique car je crois que le code modèle en partie la société et que ceux qui s’en sortiront le mieux seront ceux qui sauront « bidouiller » (hacker) la société et non ceux qui se feront bidouiller par elle. Bref. Comment leur donner les moyens et l’envie d’apprendre à bidouiller du code ?

Après réflexion, examen des solutions populaires sur le Net et quelques tests avec mes enfants, en me basant également sur mes propres souvenirs d’enfance (j’ai commencé à coder à 8 ans), je crois que l’approche et les outils à privilégier dépendent grandement de l’âge. Et qu’il ne s’agit pas uniquement de choisir un langage de programmation pour en enseigner les bases mais plutôt de trouver un environnement d’apprentissage adapté à l’âge, motivant et ludique pour créer de l’engagement, du plaisir et de l’effort. En résumé, je pense que, jusqu’à 11 ans, l’environnement idéal est Scratch, ou les jeux blockly. De 11 ans à 14 ans, l’environnement idéal me semble Minecraft. Au-delà, des environnements plus « sérieux », probablement autour du langage python pourraient être plus appropriés.

En plus de cette approche « par âge », j’ai été séduit par ce que peuvent apporter les activités d’apprentissage :

  • autour de l’écriture de « fictions interactives » (livres dont vous êtes le héro) qui tirent partie de l’interdisciplinarité entre la littérature, les arts et le code,
  • autour du matériel informatique (Arduino, Raspberry Pi, Lego Mindstorms ou tout simplement assembler un ordinateur)
  • mais aussi en « mode débranché » pour découvrir l’algorithmie théorique, sans matériel informatique, avec du papier, un crayon, des allumettes, etc.

Je me dis que ce qui manque aussi probablement, étant données les tendances technologiques de fond, ce sont des activités pour faire découvrir le machine learning aux enfants, les bases de la probabilité appliquée à la résolution automatisée de problèmes (raisonnement bayésien, etc.).

Enfin, quel que soit l’âge ou les types d’activités, se pose un défi pédagogique : comment animer ces activités lorsqu’on a soi-même peu de temps (ou beaucoup d’enfants…) ? Pour répondre à cela, deux pistes se dégagent :

  1. les ateliers animés par des professionnels (mais il y en a peu sur le territoire français, en dehors de Paris et quelques grandes villes)
  2. ou bien les mécanismes de jeu qui, avec le bon scénario et la bonne plate-forme éducative, guident la progression des apprenants avec moins de dépendance à un animateur (donc de manière moins coûteuse en temps et en argent).

Les mécanismes de jeu (le gameplay, règles, système motivationnel de quêtes et badges) et le scénario (imaginaire adapté et motivant) sont importants, mais la richesse visuelle du jeu importe presque autant (on ne refait pas nos vieux cerveaux…). Le fait de pouvoir changer le personnage d’un jeu en un petit panda a fait un gros effet (positif) sur ma fille… Presqu’autant que si elle avait pu le transformer en pingouin tux.

Voici donc, en vrac, une sélection de ressources pour illustrer sur quoi s’appuient mes croyances actuelles.

Autour de Scratch

Autour de Blockly

  • les jeux Blockly proposent une bonne progression pour découvrir les bases de l’algorithmie (boucles, branchements conditionnels et variables), c’est ce que j’ai pu vérifier avec ma fille (11 ans), mais on est vite frustrés par la raideur de certaines étapes de cette progression : soit on maîtrise déjà les concepts et ça passe très vite, soit réussir à franchir certaines étapes ressemble à un casse-tête assez douloureux ; j’aurais aimé voir une progression plus longue, plus variée et plus « pas à pas » parfois
  • RapidRouteur est une progression ludo-éducative basée sur blockly, avec plus de 100 niveaux de jeu et qui mène peu à peu à découvrir Python (malheureusement seulement en anglais)
  • pencilcode ressemble à blockly et propose des tutoriels mais reste en anglais seulement pour le moment
  • Code4Kids est une solution française d’animation pédagogique proposée pour les écoles du premier degré par Catchu, autour d’un environnement Blockly
  • Sur une logique Blockly mais sur téléphone, l’appli iOS HopScotch propose un environnement pour apprendre à programmer des jeux mobiles ; mais est-ce vraiment du blockly là-dessous ? je n’ai pas vérifié

Autour de Minecraft

  • avec les super « Guides officiels » (débuter, construction, combat, Redstone, …) pour découvrir toutes les arcanes du jeu
  • l’intérêt pédagogique de Minecraft est démultiplié si on utilise les bons serveurs, « mods » et leurs tutoriels, mais cela implique d’accéder à un serveur adapté voire de se créer son propre serveur :
    • Gnancraft est créé et utilisé par Raphaël Pierquin et l’équipe des Coding Goûters
    • ThoughtStem propose des ateliers de programmation avec Minecraft pour les enfants dans la Silicon Valley mais également quelques activités en ligne
    • LearnToMod est une plate-forme payante pour apprendre la programmation à travers la modification de minecraft
    • ComputerCraft est un mod minecraft destiné à la découverte de la programmation et qui permet d’apprendre à scripter en langage LUA
    • Avec Minecraft, vous l’aurez compris, on est dans un environnement très immersif et très bidouillable alors pourquoi ne pas enseigner les mathématiques via Minecraft ?

Autour de Python :

  • Parmi les langages de programmation généralistes qui ont un véritable usage industriel, python est sans doute le plus utilisable pour l’apprentissage de la programmation car il combine une syntaxe très lisible et un modèle exemplaire de programmation orientée objet ; il ne lui manquerait plus qu’une syntaxe en français pour faire fureur dans les bacs à sable des lycées… En attendant, faut-il imaginer faire découvrir la programmation au collège ou au lycée en utilisant pygame et piglet comme environnements ? sans doute serait-ce un choix plutôt risqué car on peut lire des doutes crédibles sur la vivacité de la communauté pyglet, sur son usage des decorators qui est difficile à expliquer pour des débutants et ressemble donc à une magie arbitraire et fort peu éducative…
  • Etant donné la popularité et la richesse de la communauté python, de bons livres existent certainement en français pour pour apprendre la programmation avec python,
  • Checkio est un jeu en ligne très séduisant pour apprendre à programme avec python

Autour de JavaScript

Quand on devient plus grand et qu’on veut manipuler du code « pour de vrai », python est une excellente solution mais JavaScript s’étant imposé partout sur le Net ces dernières années comme langage généraliste, y compris côté serveurs, il n’est pas idiot d’apprendre la programmation avec JavaScript, même si ça a un petit côté maso et casse-cou. Alors pourquoi ne pas découvrir carrément la programmation par ce biais, avec par exemple Code Monster (en anglais). JSWarrior fait pâle figure à côté d’autres plate-formes ludo-éducatives et place la barre un peu haut pour les débutants : animateur indispensable.

Avec des fictions interactives ?

Les « Livres dont vous êtes le héro » (également appelés « Livres-jeux », « Choose Your Own Adventure », « CYOA » ou « gamebooks), sous forme numérique, sont des contenus interactifs qui permettent de visiter sous une forme créative et motivante des concepts simples d’algorithmie (branches conditionnelles, variables, voire conception objet), de programmation (compilation, exécution) mais aussi de design de jeu. Bien sûr, on peut faire une fiction interactive avec de simples liens hypertextes dans un wiki, mais les logiciels pour écrire les fictions interactives sont devenus très sophistiqués en s’inspirant des premiers jeux textuels en liens (les muds) et en introduisant donc des possibilités algorithmiques amusantes et créatives. Je n’ai pas cherché de proposition de progression pédagogique pour découvrir l’algorithmie à travers l’écriture de fictions interactives mais je suis à peu près sûr que ça existe. Cet angle de découverte de la programmation pourrait très bien convenir aux enfants les plus férus de lecture, d’écriture… et d’aventure. De nombreuses solutions logicielles très éprouvées et plus ou moins faciles à prendre en main existent pour créer des fictions interactives plus ou moins sophistiquées informatiquement. Parmi les logiciels de création les plus connus, on peut citer Twine, le vénérable Inform7, TADS, ADRIFT, ALAN mais aussi, avec un côté plus récent, squiffy et QuestKit. Il faudrait y regarder de plus près. Des bibliothèques en ligne permettent ensuite de partager et découvrir les créations, pour les lire et s’y plonger sur ordinateur ou sur smartphone.

Avec du matériel bidouillable

Pour les enfants et parents qui n’ont pas peur de leurs doigts…

Bien sûr, on doit citer les vénérables mais toujours d’actualité Lego Mindstorms, pour les plus familles qui en ont les moyens. Mais on regardera surtout du côté de  :

Autour de plate-formes ludo-éducatives « tout-intégré »

Il existe des sites Web proposant des progressions ludiques pour apprendre la programmation. La plupart sont fondés sur des logiciels dits privateurs. Vous n’avez pas le droit de les utiliser comme vous voulez, de les étudier, de les partager, bref de les bidouiller, ce qui est un peu paradoxal. Mais l’avantage de ces plates-formes peut résider dans leur caractère « intégrée » : elles pourraient offrir une expérience ludique plus agréable et pédagogiquement plus efficace si elles accompagnent de A à Z les programmeurs en herbe. Mais au risque de disparaître corps et âme en cas de faillite commerciale. Quelques-unes de ces plate-formes utilisent du libre, mais ce ne sont pas forcément les meilleures pédagogiques.

  • Autour de C++ : quitte à être maso, pourquoi ne pas apprendre la programmation avec un langage beaucoup compliqué à apprendre que python ou même JavaScript, c’est le défi que propose pourtant codowl.io (ah tiens, c’est en français ?)
  • Code.org propose des progressions en français sous forme de sélection d’activités débranchées, de jeux algorithmiques et d’activités de programmation. C’est un peu la Khan Academy de la programmation : une association américaine à but non lucratif fait vivre cette plate-forme, à grands renforts de dons de Microsoft, Facebook et autres Google. Très Silicon Valley. Le code qui fait tourner la plate-forme est libre mais pas les contenus des activités pédagogiques qu’elle héberge. La richesse et la qualité des activités proposées semble pertinente. Hum… Pas mal.
  • Codecombat.com vous embarque dans un vrai jeu vidéo pour apprendre à programmer, avec des contenus graphiques et sonores de qualité. Le joueur a le choix du langage de programmation qu’il veut apprendre (au moins au niveau de la syntaxe) : python, coffescript, clojure, … le choix est vaste. Et franchement, c’est du joli ! Ca donne envie de jouer et d’apprendre… A signaler encore quelques bugs et défauts de traduction en français.
  • Blackvoxel est un jeu en logiciel libre, pour apprendre le C++, l’assembleur et le graphisme 3D. On dirait bien là un jeu pour apprendre à programmer des jeux « à la dure » plutôt qu’avec des progressions pédagogiques pour débutants. A réserver pour des lycéens ou des passionnés qui se seront déjà fait la main sur des langages et des environnements plus simples ? Blackvoxel semble proposer des modalités intéressantes pour impliquer un enseignant dans la progression de ses élèves-joueurs.
  • Encore pour des lycéens (ou pour des grands collégiens, +13 ans), LiveCode propose une solution d’apprentissage du code pour développer des applis mobiles.

Bon, voila pour mon petit tour du moment. Je suis surpris par la quantité de solutions proposées, y compris en français, et par la première impression très positive que me donnent certaines d’entre elles. Pour mes enfants, je compte explorer les pistes blockly mais surtout Minecraft car la communauté des modders Minecraft est tellement grande qu’il existe déjà tout un tas de réponses à des problématiques pédagogiques récurrentes. Par exemple, il existe des systèmes de gestion de quêtes dans Minecraft qui me semblent intéressantes. Et si je pouvais promettre 5 minutes de Minecraft de plus à celui de mes enfants qui fera la vaisselle demain soir ? ou à celui qui aura bidouillé avec succès tel ou tel aspect de notre vie familiale ?

Et vous, vous en faites quoi de tout ça ?

Smart Contracts, crypto-monnaie et Revenu Libre d’Existence

J’ai un ami qui dédie sa carrière au « libre » et aux « biens communs » et je m’apprêtais à lui soumettre une idée d’innovation solidaire par email. Mais je lui ai dit que ça pouvait aussi t’intéresser, cher lecteur-contributeur. Ca parle donc de liberté, de solidarité mais aussi de cryptomonnaie (bitcoins, ethers) et de programmation de « smart contracts » solidaires. Donc essentiellement de numérique et d’innovation sociale.

L’idée de base, c’est d’essayer de rendre libres et communs des biens rivaux, ce qui est théoriquement impossible. J’ai évoqué cette idée ici il y a quelques années mais en anglais. Le principe est inspiré du Pay-It-Forward et de l’économie de communion. Un peu comme avec une licence de logiciel libre (copyleft), on rédige un contrat entre nous du style suivant.

Je te donne ce stylo (je te le « libère ») à condition que tu t’engages à donner à ton tour un stylo de valeur égale ou supérieure à celui-ci à la première personne qui t’en fera la demande dès qu’elle t’en fera la demande et acceptera les mêmes conditions que celles-ci et sans poser aucune restriction supplémentaire sur cette personne, le stylo ou l’usage que cette personne en fera.

Le stylo en question devient donc « libre » dans la mesure où plus personne ne peut se l’approprier au point d’en priver les autres. Mais tout le monde peut l’utiliser, l’étudier, l’améliorer et le partager. Presque comme un logiciel libre. Bien sûr, la différence principale c’est que, dès que je rend ce stylo à mon prochain, je ne l’ai plus. On ne peut pas l’utiliser simultanément à plusieurs. Mais je n’en suis pas non plus définitivement privé puisque je peux le redemander. Et si je l’use trop, c’est à moi de le réparer, de le remplacer ou de l’améliorer pour que je rende toujours une valeur au moins égale à celle que j’ai reçue.

Ce qui est amusant, c’est que si on inclut cette notion « d’intérêts » au sens financier (je te donne 1 stylo si tu t’engages à en donner 2, ou bien je compense au moins « l’usure » du stylo) et une notion de prix comparable ou de valeur au moins équivalente (je te donne des biens de valeur X si tu t’engages à en donner de valeur X * 2, pas forcément les mêmes biens) alors on peut imaginer contaminer ainsi tous les biens rivaux de la planète et, en théorie, mettre fin en pratique à la propriété privée. En pratique… en théorie.

Je te libère 1 euro la prochain fois que je te vois à condition que tu t’engages à en libérer 2 fois plus à la première personne qui t’en fera la demande, dès qu’elle t’en fera la demande et acceptera les mêmes conditions que celles-ci et pas une de plus. Par effet boule de neige, ce contrat librement contaminant pourrait, à terme, empêcher quiconque de refuser de partager son argent avec son prochain…

Bon, l’idée peut paraître amusante mais, en pratique, elle est difficile à implémenter à grande échelle. Il serait coûteux de faire respecter un contrat de ce type. Difficile de savoir qui détiendrait, à un instant t, des biens libres, lesquels et de quelle valeur, selon quelle version du contrat. Difficile de s’assurer que le bien rendu est effectivement de valeur égale ou supérieure au bien libéré. Et ensuite difficile d’obtenir d’un système judiciaire qu’il fasse appliquer ce contrat en allant jusqu’à faire saisir les biens libres de cette personne. Sans compter les personnes qui organiseraient leur insolvabilité par malhonnêteté ou seraient tellement endettées que ça ne serait pour elle qu’une dette insolvable de plus, cette fois vis-à-vis de tous tiers. Des dettes communes, en quelque sorte. Les insolvables agiraient alors comme des trous noirs à biens communs, en profitant mais en privant alors définitivement les tiers. Une tragédie..

Mais les choses sont plus facilement maitrisables avec la notion (compliquée) de smart contract. Je ne vais pas expliquer ici ce concept mais supposer que tu sais ce qu’il en est. Pour ce qui nous intéresse, on peut imaginer programmer un token de cryptomonnaie basé sur Ethereum selon un contrat de liberté inspiré de la GPL et du pay-it-forward : Alice donne ce token à Bob à condition que, etc. L’intérêt du smart contract c’est que Charles et David n’ont pas besoin de faire confiance à Bob pour savoir que le contrat va s’appliquer. Le contrat s’applique automatiquement, informatiquement, et avec une traçabilité parfaite. On peut programmer le contrat pour savoir à tout moment qui détient quels tokens libres et combien et selon quel contrat, et ces tokens peuvent être obtenus automatiquement par n’importe qui en ferait la demande. Il y a bien sûr un risque de fraude si on permet aux tokens d’échapper au contrat. Par exemple, si j’échange mon token contre des euros et que je m’approprie les euros obtenus au lieu de les laisser soumis au contrat qui me lie ainsi au reste de l’humanité. Qui va garder la contrainte de liberté lié au caractère « commun » de ce token ? Celui qui a obtenu les euros ? Ou celui qui aura récupéré le token libre ? Que vaut un token libre s’il ne peut pas être utilisée aussi librement qu’une monnaie non libre ? L’idéal serait que le détenteur de token libres puisse effectivement les échanger contre des euros libres, qu’il garde la charge de liberté initialement attachée au token mais désormais attachée aux euros dans le monde hors numérique dans lequel le smart contract ne s’applique plus automatiquement. Mais ce risque doit être quantifiable, limitable et gérable.

Du coup, ça m’a donné une idée d’extension autour du concept de revenu d’existence. L’idée est de faire circuler des smart contracts programmés pour permettre une redistribution équitable et universelle des richesses monétaires entre les personnes. Un revenu d’existence qui ne serait pas émis par une administration pour ses administrés seulement mais qui serait auto-organisé par contrat et librement consenti par ses souscripteurs en fonction de leur générosité (et de leurs besoins). Imaginons donc le contrat suivant.

    Alice verse 1 ether à Bob en tant que « revenu libre d’existence » (RLE) à condition que Bob s’engage à reverser un RLE :

  • à la première personne physique vivante qui en ferait la demande pour une période donnée, (Bob ne choisit pas le demandeur Charles qui lui demandera un RLE pour le mois de juillet 2015)
  • dès que cette personne en fait la demande, (Charles le demande le 9 août 2015 et donc l’obtient immédiatement, automatiquement, sans que Bob puisse s’y opposer comme il s’y est engagé initialement auprès d’Alice)
  • tant que la somme cumulée des reversements de RLE effectués par Bob est inférieure à la somme cumulée des RLE reçus par Bob, multipliée par un facteur d’intérêt F supérieur ou égal à 1, (tant que Bob n’a pas déjà reversé à des tiers F fois le montant total de RLE dont il a bénéficié ; une fois que Bob a beaucoup reversé de RLE, il s’est acquitté du contrat de RLE qui le liait à Alice)
  • et, étant défini que le montant nominal du RLE d’une personne pour une période donnée est égal à la somme cumulée des RLE reversés au cours de cette période divisée par le nombre de personnes ayant reçu ces reversements, (par égalité, le montant nominal du RLE est un partage égalitaire de tous ce que les gens ont pu reverser comme RLE à cette période), tant que Bob, pour la période demandée, n’a pas déclaré avoir touché comme revenus totaux un montant inférieur à 4 fois le montant nominal du revenu d’existence pour cette période, (c’est une exception au principe de liberté au nom de la solidarité ou de la fraternité : par solidarité, on autorise Bob à s’approprier temporairement le RLE qu’il a perçu tant qu’il est pauvre et donc à priver les tiers du reversement de ce RLE)
  • d’un montant égal au montant nécessaire et suffisant pour que cette personne ait bénéficié, au titre de cette période, du montant nominal du RLE d’une personne pour cette période, (on reverse à Charles ce dont il a besoin pour bénéficier d’un RLE complet pour cette période, mais pas plus)
  • sous les mêmes conditions que celles énumérées dans ce contrat ou dans toute version de ce contrat émise ultérieurement par Jean Millerat (il pourrait s’agir d’un auteur plus compétent, comme une Free Software Foundation de la liberté, de l’égalité et de la fraternité, composée de juristes confirmés…)
  • et sans apporter de restriction ou condition supplémentaire.

Donc tous les bénéficiaires du RLE reversent à leur tour un RLE aux personnes qui le demandent. La machine est amorcée par les personnes solidaires qui acceptent de libérer un peu d’argent de temps en temps (les Alice). La machine est entretenue par tous les bénéficiaires suffisamment riches pour reverser leur RLE et un peu plus, à toute la planète (les Bob et les Charles). Et la machine bénéficie à tous ceux qui, à un moment de leur vie, n’ont pas assez de revenus pour reverser immédiatement un RLE (parfois Bob, parfois Charles). C’est une espèce de gigantesque mutuelle automatisée, en quelque sorte.

Je vais donc jeter un coup d’oeil à la programmation de smart contracts sur Ethereum pour voir dans quelle mesure ce concept est implémentable et donc ensuite essayer de le tester.

A noter : ce concept peut être étendu à de nombreuses autres formes d’innovation sociale, c’est le tour de force des smart contracts et des cryptomonnaies, qui « informatisent la confiance » (qui rendent la confiance inutile dans certaines transactions en automatisant leurs conditions d’exécution). Par exemple, plutôt que de prévoir une exception solidaire de non-reversement immédiat par les plus pauvres, on pourrait imaginer un contrat dans lequel Charles peut définitivement s’approprier le montant perçu (ne pas avoir à le reverser) à condition d’avoir produit un bien commun dont la valeur est estimée par un panel de souscripteurs comme étant au moins égale au montant perçu. Un peu comme si Charles avait convertit un token de cryptomonnaie libre en un bien commun tel qu’un logiciel libre, des contributions à la wikipedia, à OpenStreetMap, etc. Le contrat devient alors un modèle de financement de la création de biens communs.

Tu imagines d’autres applications possibles de contrats de ce type ? Qu’est-ce que ça t’inspire ?

Apprendre selon ses propres besoins avec l’adaptive learning

A l’occasion d’un échange avec un journaliste intéressé par l’adaptive learning, je vous propose cette petite synthèse des principales infos qui m’ont marqué ces 2 dernières années en matière de technologies de personnalisation des apprentissages, également appelées « adaptive learning » :

  • 2014-06-09 : Un bon article introductif sur l’adaptive learning (abonnement gratuit nécessaire) rappelle que les bénéfices pédagogiques de l’adaptive learning sont parfois ambigüs et nécessitent des travaux complémentaires de recherche scientifique (via Modern Learners).
  • 2014-06-04 : Une entreprise japonaise fournisseur de technologies d’apprentissage adaptatif s’associe avec le petit-fils de Jacques-Yves Cousteau pour proposer des cours d’océanographie gratuits (via Edukwest).
  • 2014-06-03 : Les acteurs américains de l’enseignement privé continuent d’investir des dizaines de millions de dollars sur l’adaptive learning et élaborent des partenariats entre éditeurs de contenus et fournisseurs de technologie logicielle (via Inside Higher Ed).
  • 2014-04-20 : Une autre bonne introduction générale sur l’adaptive learning : elle souligne que ces technologies en sont encore à leurs balbutiements et on ne sait pas encore lequel, parmi différents modèle pédagogique basés sur l’individualisation algorithmique des apprentissages, fera ses preuves et se développera de manière durable (via Distance Educator).
  • 2014-04-13 : Le système éducatif actuel a été organisé pour l’instruction des masses à l’époque de la révolution industrielle. Il n’est plus adapté au fonctionnement de l’économie moderne. L’individualisation des apprentissages permise par les technologies logicielles d’apprentissage adaptatif pourrait être une solution pour remettre ce système en phase avec les besoins d la société d’aujourd’hui (via Distance educator).
  • 2013-12-20 : Les entreprises américaines fournissant des technologies d’ « adaptive learning » continuent à lever des fonds importants mais la recherche scientifique ne prouve pas d’impact pédagogique spécifique pour ces technologies (via Hack education).
  • 2013-04 : La fondation Bill et Melinda Gates finance la production d’un état de l’art en matière d’adaptive learning (via Ed Growth Advisors).
  • 2013-03-21 : Les 2 acteurs qui accumulent le plus de données éducatives individuelles et de technologies de personnalisation adaptative sont Knewton (une entreprise) et la Khan Academy (une association non lucrative). Si l’enseignement (notamment supérieur) et la formation (notamment professionnelle) continuent à s’organiser sous la forme d’un espace mondialisé (marchand et de partage non marchand), alors ces 2 acteurs pourraient en devenir les leaders mondiaux et rompre définitivement l’équilibre économique des institutions éducatives traditionnelles (innovation « de rupture ») (via Forbes).
  • 2013-02-19 : La personnalisation, c’est le coeur de la pédagogie. Les technologies de personnalisation éducative constituent « naturellement » une tendance majeure pour l’innovation technopédagogique depuis quelques années. (via Core-Ed).
  • 2012-06 : La fondation Bill et Melinda Gates finance la création d’un institut universitaire non lucratif, à distance, grâce aux technologies d’apprentissage adaptatif (via la Gates Foundation).
  • 2012-02-22 : L’Inde, pour faire face à son développement économique et à ses besoins croissants en formation doit construire 50.000 instituts universitaires et aurait besoin d’1 million d’enseignants supplémentaires. Pour faire face à l’ampleur de ces besoins, elle pourrait être tentée d’investir massivement dans les technologies logicielles d’apprentissage adaptatif en ligne (via Forbes).

Ne nous y trompons pas : l’actualité sur l’adaptive learning s’accélère nettement ces derniers mois, mais nous sommes sur une tendance de fond et qui prendra encore quelques années avant de trouver sa pleine maturité économique, technologique et pédagogique.

A/B split testing with Plone

I have a deep interest in the lean startup method. One of the favorite tools of the lean startuper is A/B split testing. My favorite software package is Plone. Can Plone be used for A/B split testing without having to develop a specific python product ? The answer is probably yes.

Here is my recipe for a starter toward A/B split testing with Plone :

  1. take a fresh Plone
  2. add a PloneFormGen
  3. add a « Thank you » page for each and every option you want to test ; note the ID of the pages (e.g. page « optionA » and page optionB ») ; the user will be redirected to one of these pages
  4. add a text field to the form (multiple-lines text field not one-line string field)
  5. override the default value of this field with the following tales expression :

    python:[random.seed(str(request.AUTHENTICATED_USER) + request.REMOTE_ADDR), random.choice([i.getId() for i in here.aq_parent.aq_inner.listFolderContents(contentFilter={« portal_type » : « FormThanksPage »})])][1]

  6. make the text field a hidden and server-side field
  7. overrides the form’s custom validation action with the following expression :

    redirect_to:request/form/page

    where « page » is the ID of the text field you set up above.

  8. add a Data Recorder to the form so that the value of the « page » field gets recorded

What do we have now ? We have a form with a button. When the user clicks on the button, she is randomly redirected toward one the several « Thank You Pages » that you have defined. The redirection is based on the IP address of the user and her username if she is authenticated. The redirections are uniformly distributed against your destination pages. And they are recorded in the data record field.

You A/B split test is not complete and several further steps must be taken before this is a fully operational solution but that was an enjoyable hack to make for me. Have fun with it and tell me how you would proceed with split testing and continuous deployment using Plone !

vers du wecena 2.0 ?

64 informaticiens ont fait du wecena pendant leur intercontrat depuis notre démarrage il y a 4 ans, pour un total d’environ 700 jours.hommes de prestations numériques au profit d’associations dédiées à l’accessibilité (handicap), l’éducation ou l’insertion sociale. C’est bien. Mais c’est loin d’être assez. C’est notamment insuffisant pour continuer à faire bouillir la marmite familiale et je ne peux tout simplement pas continuer à en vivre. Il me faudrait au moins 3 équivalents-temps-plein de contributeurs en intercontrat pour être à l’équilibre. Cet équilibre a été atteint et dépassé au premier semestre puis 2 des 3 SSII mécènes les plus importantes ont suspendu leurs envois de nouveaux contributeurs et ne reprennent que petit à petit. Depuis début 2012, je tourne à 1 équivalent-temps-plein, soit une rémunération d’un tiers seulement de ce qui est nécessaire pour ma famille. Du point de vue chiffres, il est temps de tirer une conclusion : le wecena est un échec.

Que peut-on en apprendre ? Voici mes impressions :

  • Le wecena est un modèle économique innovant et compliqué. Il nécessite un effort d’éducation des SSII que j’avais sous-estimé. Je tablais sur des délais de vente initiaux d’environ 9 mois à 1 an (classique pour de la vente de service en B2B) mais, bien souvent, il a fallu entre 18 mois et 2 ans entre la rencontre initiale avec la SSII (« Le wecena ? J’ai compris, quelle bonne idée ! Ça va motiver nos salariés et ça ne va pas nous coûter grand chose ! ») et le premier contributeur en intercontrat effectivement mobilisé pour une association. Bien souvent, mon interlocuteur à la communication ou aux RH doit convaincre son comité de direction et ce n’est pas choses facile. Sur des aspects plus techniques, comme par exemple le calcul des économies d’impôts permises par le mécénat, la plupart des SSII vérifient le calcul avec moi et se l’approprient. Mais j’ai été surpris dans 10% des cas, de rencontrer des « comptables » d’entreprises (internes à l’entreprise et non des cabinets d’expertise comptable) qui n’arrivaient pas à comprendre comment calculer correctement l’économie d’impôts sur les sociétés permise d’une part par un don en nature (avec perte de déductibilité des charges faisant l’objet du don) et d’autre part par un don en numéraire (pour laquelle l’impact de la réintégration extra-comptable est nul puisqu’il s’agit de donner une part de bénéfices qui sont imposés dans tous les cas, avec ou sans don). Les entreprises françaises ne sont pas habituées au mécénat. Elles sont encore moins habituées au mécénat de compétences. C’est encore moins le cas dans le secteur des SSII. Et lorsqu’il s’agit de calculer quel montant d’économie d’impôts peut être consacré au financement d’un projet, certains contrôleurs de gestion ou chargés de comptabilité s’arrachent les cheveux. C’est compréhensible.
  • La RSE et le mécénat ne sont pas une urgence pour les SSII. Lorsque le wecena est mis à l’ordre du jour du comité de direction, c’est en tout dernier item sur la liste et il est donc reporté de CODIR en CODIR… Quand la décision est prise, les choses trainent, le passage à l’acte souffre d’autant plus de l’inertie de l’organisation que la conduite de ce changement ne revêt aucun caractère d’urgence pour le business : RH, image, éthique, convictions personnelles, les enjeux sont trop « soft » et pas assez cash. Le wecena est relégué sur la voie des véhicules lents. Aux yeux du business, la moindre affaire sera toujours plus urgente que l’optimisation des intercontrats (à moins que celle-ci ne rapporte du cash, mais c’est une autre histoire).
  • La RSE et le mécénat sont parfois réduits à un outil de communication corporate. Pour pouvoir communiquer sur sa RSE, il suffit parfois de recueillir un témoignage de salarié, inutile d’en mobiliser 100 sur l’opération. Il n’y a pas besoin de s’engager sur du volume, ou de faire bouger son entreprise pour mobiliser un grand nombre de salariés. Communication corporate ne rime pas avec volume, valeur économique et impact social. Donc une fois qu’un contributeur a été envoyé sur un projet (voire même avant), la SSII communique publiquement sur son engagement et ne se sent pas vraiment obligée de traduire son engagement par du volume ou de la régularité. Ce n’est pas de l’engagement sérieux.
  • Un projet RSE qui ne rapporte pas de cash a une valeur quasi-nulle pour les dirigeants de SSII. De nombreuses SSII ont refusé de faire du wecena au motif que le mécénat ne rapporte d’argent immédiatement : le mécanisme fiscal est utilisé pour financer la formation et l’encadrement des contributeurs en intercontrat, pas pour être encaissé par l’entreprise mécène. L’utilité sociale auprès des personnes démunies n’a pas de valeur pour la plupart des dirigeants de SSII. Pire, les bénéfices qu’en tirent sa société sur le plan de la gestion des ressources humaines (motivation des salariés, fierté d’appartenance, …) sont négligeables pour la plupart d’entre eux. Les dirigeants les mieux renseignés au sujet du développement durable et du concept de « triple bottom line » argumentent :  » Si le mécénat ne rapporte pas d’argent, c’est qu’il ne s’agit pas de développement durable puisqu’il ne produit pas un impact positif sur la bottom line financière » et en concluent :  » On veut bien faire du wecena, mais uniquement si ça rapporte du cash ». Autrement dit :  » Si le wecena ne nous rapporte pas de cash, ça ne nous intéresse pas, et ce même si ça ne nous coûte rien.  » Au final, seuls les plus convaincus acceptent d’en faire. Mais un peu trop « à la légère » pour la plupart d’entre eux.
  • Convaincre une SSII de faire du mécénat, ça ne suffit pas à la convaincre d’en faire beaucoup et régulièrement. Il y a celles qui en font « pour la communication » et se satisfont donc d’un maigre volume. Et il y a celles qui en font « pour les RH » mais, même dans ce cas, la frustration des porteurs RH est grande devant l’incompréhension et le manque d’enthousiasme et d’attention des dirigeants commerciaux. Dans le secteur de sous-traitance qu’est celui des SSII, la culture commerciale l’emporte largement sur celle du développement des ressources humaines. Et même quand le comité de direction est enthousiaste et partant, le moindre coût de Trafalgar sur le business met le mécénat en danger : ce n’est pas une priorité et ça passe à la trappe si le RH a d’autres soucis à gérer pour un temps. Le mécénat est la dernière roue du carrosse, juste après les RH vus comme centre de coût voire comme un luxe inutile. « Faire de la RSE » en soi ne suffit pas, « occuper utilement les intercontrats » non plus, rendre ses salariés heureux ou fiers d’eux-même ou de leur société est un luxe.
  • Ce qui freine la RSE, ce n’est pas son coût mais la difficulté à en percevoir et à en communiquer la valeur aux parties prenantes. Dans ce contexte, le modèle économique du wecena est trop compliqué. Ce DG de SSII l’avait bien compris :  » Monsieur Millerat, j’ai beaucoup de sympathie pour votre projet ! » me dit-il tout sourire en me confiant une coupe de champagne lors du cocktail d’assemblée générale de Syntec Numérique. Plusieurs mois après, une responsable RH de sa société m’avoue :  » Nous avons bien compris que le coût du wecena est remboursé par des économies d’impôts. Mais, finalement, nous ne ferons pas de wecena car, même si cela ne nous coûte rien, notre DG serait alors obligé d’expliquer à la maison mère pourquoi notre résultat avant impôts a baissé même si cette baisse est compensée à 100% par l’économie d’impôts. Les échanges avec la holding corporate sont déjà assez compliqués comme ça, notre ‘bande passante’ est limitée, on ne va pas ajouter le wecena en plus, les actionnaires ne prendraient pas la peine de comprendre. De plus, comme les bonus de nos managers sont indexés sur notre résultat avant impôts, cela nous obligerait à expliquer à nos managers pourquoi nous modifions la définition de leur bonus et donc pourquoi nous faisons du wecena. Le jeu n’en vaut pas la chandelle… « . Le wecena, même si il ne coûte rien en soi, revêt un caractère d’engagement social de toute l’entreprise et de toutes ses parties prenantes. Dans une culture dominante éloignée de l’innovation sociale, la communication sur le wecena risque soit d’être insuffisante et donc inefficace, soit trop coûteuse car le message serait trop éloigné des réalités et réflexes habituels de l’entreprise qui n’est pas habituée à ce genre d’initiative.
  • Une forte proportion des grosses SSII ne paie pas d’impôts sur les sociétés. Même bénéficiaires, les grandes entreprises ont tiré partie de règles fiscales leur permettant d’éviter l’impôt sur les sociétés. Il s’agit notamment des mécanismes de report de déficit : si une société avait un gros déficit une certaine année, elle pouvait reporter son déficit pour compenser les bénéfices des années suivantes et, ainsi, ne jamais avoir d’impôts sur les sociétés à payer jusqu’au moment où ses bénéfices excèderaient largement les déficits des années passées.
  • Le montage contractuel du wecena est trop compliqué : une convention de mécénat entre chaque SSII et chaque association, ça fait beaucoup de paperasses, des négociations contractuelles parfois disproportionnées en temps (au regard du volume des dons obtenus par la suite), des délais de gestion administratives, des reçus fiscaux et des flux financiers qui se multiplient.

Conclusion pour faire au plus court : le wecena version 1.0 est trop compliqué et pas assez stratégique.

Alors que faire ?

Première chose à faire, pallier aux urgences :

  • refaire bouillir la marmite familiale en prenant un job salarié, je deviens à partir de ce lundi directeur de l’innovation du CNED (de l’innovation numérique à finalité sociale, je poursuis dans mon élément),
  • suspendre le remboursement de mes 2 prêts Antropia : l’incubateur social Antropia m’avait permis de financer cette phase de vente initiale aux SSII qui s’était avérée plus longue que prévue, grâce à un prêt d’honneur à Wecena SARL. L’activité n’est pas suffisante pour continuer à rembourser. Antropia m’aide à trouver la meilleure solution pour la suite.
  • faire l’économie de la prospection des SSII : trop de temps passé à essayer de convaincre sur une offre qui n’emporte pas assez d’enthousiasme, mes moyens commerciaux ont été dépassés par l’ampleur de la tâche ; il faudra s’y remettre mais sous une autre forme qui reste à définir et à maintenir dans les limites d’un emploi secondaire (puisque mon engagement professionnel principal devient mon job salarié au CNED)…
  • imaginer un wecena plus simple et/ou plus stratégique : centraliser les dons en créant un fonds de dotation unique et d’intérêt général ? simplifier la tarification ? appuyer le développement des dons sur un réseau d’affiliés (cf. les 20.000 ¤ de cadeaux que vous pouvez gagner et partager sur http://defi.wecena.com/via/jean) ? construire avec un partenaire comme LIENS une offre à plus forte valeur stratégique pour les SSII et lui confier le « développement commercial » ? se focaliser sur des projets de solidarité plus proches des métiers et mettant les contributeurs en contact direct avec des populations en difficulté ? proposer aux SSII de conserver une part de l’économie d’impôts mécénat progressant avec leur engagement et espérer que cela suffise à déclencher un bouche à oreilles plus efficace et vertueux ? proposer aux SSII des contreparties plus « stratégiques » telles que des actions de formation technique au bénéfice de leurs salariés, des actions de recrutement de nouveaux salariés issus de la diversité, des actions d’animation et de communication en lien avec des directions achats de grands comptes … ? vous demander votre avis pour imaginer ce que serait une opération de mécénat de compétences qui pourrait revêtir un caractère réellement stratégique pour une SSII ? Sans doute un peu de tout cela et d’autres choses encore (vos suggestions seront les bienvenues)…
  • poursuivre le wecena au quotidien : plusieurs SSII continuent à jouer le jeu, malgré toute la frustration que je peux ressentir au vu du faible volume d’engagement, et leurs salariés contributeurs continuent à s’activer au quotidien de manière extrêmement utile et appréciée auprès des associations de solidarité. Il faut donc continuer à les accueillir, les former, les encadrer, assister l’association bénéficiaire dans la conduite des projets. Je continue à m’en charger : pour le flux actuel de 1 équivalent-temps-plein, ça me prend environ 2 demi-journées par semaine, réparties entre les mêlées téléphoniques qui ont lieu entre midi et deux, et les travaux du soir, sans compter que mon nouvel employeur accepte que je consacre quelques jours de congés sans solde à cette période de transition. Des amis consultants sont prêts à prendre le relais dans ce rôle d’assistance à la conduite de projets agiles et à distance. Pour moi, il s’agit également de maintenir en conditions opérationnelles la plate-forme wecena.com et de continuer à l’exploiter pour la production des reçus fiscaux et des éléments de reporting nécessaires aux associations et aux SSII.

Voila, voila. Vous l’aurez compris, c’est la crise aussi pour le wecena. Le wecena se poursuit malgré tout et, tant qu’il reste des SSII prêtes à remonter les manches de leurs salariés pour les faire contribuer à des projets de solidarité, le wecena continuera à exister. Le fait de reprendre un boulot de salarié me permet d’envisager avec plus de sérénité l’avenir du wecena (je n’ai plus le couteau sous la gorge), cela se traduira peut-être par un rythme d’évolution plus modeste, mais cela se traduira sans doute également par une plus grande ouverture et l’implication d’un plus grand nombre de partenaires.

Qu’est-ce que tout cela vous inspire ? À vous lire !

Partagez 20.000 euros de cadeaux solidaires avec votre réseau d’amis

Mobilisez votre réseau d’amis pour une association de solidarité et partagez jusqu’à 20.000 EUR de chèques cadeaux bios, solidaires et équitables.

L’entreprise sociale Wecena offre des chèques cadeaux aux personnes qui s’inscrivent sur son  site, invitent leurs amis à s’inscrire à leur tour, jusqu’à ce qu’un ami d’ami d’ami (etc.) réussisse à convaincre un informaticien d’offrir au moins 2 jours de travail gratuit à une association de solidarité Wecena. Les associations soutenues par Wecena ½uvrent dans le domaine du handicap, de l’éducation et de la lutte contre la pauvreté. Plus vos amis d’amis d’amis (etc.) réussissent à convaincre des informaticiens d’aider les associations dans le cadre du wecena, plus vous et votre réseau d’amis gagnez de cadeaux. Ces associations ont besoin de compétences numériques, elles ont besoin de vos réseaux.

Alors si vous avez des amis :

  1. Inscrivez-vous en cliquant sur le lien envoyé par votre ami :
    http://defi.wecena.com/via/jean
  2. Vous obtenez un lien personnalisé avec votre propre pseudo, par exemple :
    http://defi.wecena.com/via/francoise
  3. Faites suivre ce lien personnalisé à plusieurs amis pour qu’ils s’inscrivent à leur tour et obtiennent leur propre lien personnalisé à faire suivre
  4. À chaque fois qu’un nouvel informaticien offre 2 jours de travail gratuit à l’une des associations dans le cadre du wecena, sa chaîne d’amis partage 200 EUR de cadeaux !

Pour une fois, il s’agit d’une chaîne de l’amitié qui sert vraiment à quelque chose : à mobiliser des informaticiens pour des associations de solidarité qui ont besoin d’eux, et à partager avec vos amis quelques cadeaux bios, équitables et solidaires. (Les cadeaux peuvent aussi être convertis en dons pour les associations.)

Faites bouger des informaticiens et recevez vos cadeaux… Inscrivez-vous en cliquant sur le lien envoyé par votre ami, recevez votre propre lien puis offrez-le à vos amis !

Crowd sourcing, machine learning et intérêt général

[ J’avais envie d’envoyer ce message par mail à mes anciens collègues du laboratoire de recherche Personalization and Knowledge Lab de Motorola mais je me suis dit que ça pourrait inspirer d’autres personnes alors je le poste sur mon blog… ]

Salut les ex-PKLers…

J »ai une idée tordue et j’aimerais avoir votre avis à son sujet, si vous avez le temps et que le c½ur vous en dit… C’est un peu long, je vous préviens, on ne se refait pas…

La finalité de mon idée est de faire bénéficier certaines associations humanitaires (ou d’autres organismes d’intérêt général) des possibilités de prédiction et de recommandation offertes par les technos du machine learning.

La raison pour laquelle je réfléchis à ce sujet est triple :

  1. le machine learning, c’est vachement rigolo et ça me manque…
  2. il y a une grosse SSII qui me propose des informaticiens mais uniquement si c’est sur des projets ayant une dimension plutôt innovante sur le plan scientifique,
  3. je rêve de trouver un moyen d’utiliser mes notions de  machine learning pour des projets humanitaires ou d’intérêt général.

Pour avoir encore un peu de contexte, mes sources d’inspirations, pour cette idée, sont :

Mon idée est de trouver un moyen pour faire travailler de nombreux salariés de SSII en intercontrat sur la production de services de prédiction/recommandation, pour des ONG, via une plate-forme conçue à cet effet. Ma question est : est-ce faisable et si oui comment ?

Autrement dit, peut-on abaisser la « barrière à l’entrée » pour permettre à des informaticiens non spécialistes du machine learning et qui ont peu de temps à consacrer à ce projet, de contribuer de manière utile pour produire à plusieurs un service de prédiction/recommandation ?

Autrement dit encore et avec quelques détails en plus : en supposant que j’ai chaque jour 20 informaticiens en intercontrat à ma disposition, que chacun reste sur le projet sur une durée de 2 à 5 semaines, est-ce que je peux utilement les faire travailler via une plate-forme conçue à cet effet pour produire un service de prédiction/recommandation ? Est-ce que les résultats produits risquent de converger très rapidement (en 1 ou 2 mois) vers un certain niveau de qualité médiocre et ne jamais en décoller pendant le reste de l’année ? Ou bien est-ce que je peux espérer, en les faisant travailler de manière adéquate, produire une progression qui se poursuive pendant 1 an sur le même dataset ? jusqu’à obtenir des prédictions de qualité acceptable ?

Là où mon idée commence à devenir tordue, c’est que les informaticiens en question n’ont aucune compétence en machine learning. Ça va de l’analyste-réalisateur mainframe senior au spécialiste du module SAP dédié à la comptabilité des amortissements des sociétés de transports, en passant par le développeur J2EE junior et l’administrateur réseau Cisco. Comment faire travailler ensemble sur ce projet une foule d’informaticiens non spécialisés en analyse de données ?

Or, à la fois dans le Netflix prize et dans les prix de kaggle, il semble y avoir comme un leitmotiv :

  1. bien sûr, la qualité et la taille du dataset d’origine est absolument essentielle,
  2. au final, c’est l’approche « ensemble learning » qui semble marcher le mieux,
  3. les types d’algorithmes à mettre dans cet ensemble (réseaux de neurones, classifieurs bayésiens, ou autres) n’importent pas tant que ça, et il y a des algorithmes généralistes assez robustes qui donnent des résultats souvent pas trop mauvais (les decision trees mis en random forests par exemple), l’important c’est d’avoir une bonne diversité d’algorithmes et de paramétrage de ces algorithmes,
  4. la différence entre les gagnants se fait en grande partie sur leur capacité à traiter les données en amont de ces algorithmes : pour en extraire des indicateurs et des paramètres qui seront pertinents pour les algorithmes (normalisation, moyennage, discrétisation, combinaison de données, réduction/sélection des données, dérivation des données éventuellement en faisant intervenir des jeux de données de référence supplémentaires, etc.)
  5. pour avoir de bonnes intuitions quand aux enrichissements/dérivations/réductions à apporter au dataset en amont des algorithmes d’apprentissage, une certaine connaissance du métier ou du domaine fonctionnel dont parlent les données peut aider, mais ce n’est pas indispensable et une absence de connaissance du métier peut être partiellement compensée par la mise en place de bonnes visualisations de ces données.

Résumé de l’approche qui est sensée marcher le mieux : Bon dataset => Visualisation inspirantes => Nombreuses et diverses dérivation ou réductions => Divers algos d’apprentissage => Ensemble.

Est-ce que ce que je dis là vous semble plutôt vrai ? ou est-ce que le démon se cache dans le détail de mes erreurs ?

En continuant sur cette lancée, je me dit que des informaticiens qui ne sont pas des « data scientists » mais ont 3 ou 4 semaines à consacrer à ce type de problèmes pourraient commencer par apprendre à produire des visualisation du jeu de données pour chercher des intuitions quant à la manière dont il faudrait l’enrichir (point 5 ci-dessus). Ensuite, ils pourraient écrire des petits scripts dans le langage de leur choix pour enrichir le dataset avec des données dérivées (point 4 ci-dessus) ou pour en réduire la dimension en sélectionnant certaines de ces données. Leur travail s’arrêterait là.

Ensuite, une batterie pré-définie de quelques algorithmes plutôt pas mauvais en général pourrait mouliner ces datasets enrichis et, en mettant le tout dans un Ensemble, fournir des résultats pas trop médiocres ? En ayant un nombre et une diversité suffisamment grands de contributeurs, en les faisant partager leurs intuitions via une bonne animation en ligne (rencontres, discussions, forum, wiki,…) et en les faisant travailler avec les bons outils collaboratifs (partage de code, …), qu’est-ce que ça donnerait ?

Autrement dit, est-ce qu’on peut compenser une absence d’expertise en machine learning par :

  • une population suffisamment grande et diverse d’informaticiens non experts et ne pouvant rester plus d’1 mois ou 2 sur le sujet,
  • et une plate-forme de machine learning bien pensée.

Est-ce que, ainsi, pour un dataset donné et moyennant un travail initial de quelques semaines pour mettre en place la plate-forme puis pour la « régler » pour ce dataset, je pourrais faire utilement travailler pendant un an 20 informaticiens disponibles chacun pour une durée de 2 à 6 semaines ?

Ou bien est-ce que je ne fais qu’énoncer le paradoxe du singe savant ?

Voila. Si jamais cela inspire quelqu’un, qu’il réagisse en commentaire SVP !

Elèves de Grandes Écoles = carottes pour SSII ?

Vous connaissez le concept des carrotmob ? On trouve un commerçant qui accepte un deal du style :  » On vous amène 200 clients ce soir et, en échange, vous vous engagez à consacrer 30% du chiffre d’affaires correspondant pour remplacer toutes vos ampoules à incandescence par des ampoules basse consommation et pour ajouter des produits équitables dans votre catalogue pendant un an ».

Bref, on agite devant le commerçant une carotte (les nouveaux clients) en échange d’un engagement solidaire pour la planète ou les plus démunis (investissement dans du nouveau matériel, changement de fournisseur d’électricité, etc.). Ensuite, « yapluka » rameuter les clients en foule « pour la bonne cause ». Si ça marche, tout le monde y gagne :

  • les clients bénévoles ont fait leur bonne action (et leurs courses !)
  • le commerçant a un chiffre d’affaire suffisant pour investir dans du nouveau matériel bon pour l’environnement ou dans de nouvelles pratiques plus solidaires et durables
  • une bonne cause a été servie de manière concrète (environnement, solidarité, …)

Le concept est américain, sympa et se développe en Europe : avec un certain succès en Allemagne, plus lentement en France. Le plus dur semble être de trouver les commerçant prêts à s’engager : c’est nouveau alors ça suscite forcément un peu de méfiance…

Dans le cas qui m’intéresse, les commerçants sont des SSII. Et les carottes pourraient être… les futurs jeunes diplômés de grandes écoles ! Les élèves intéressés pourraient participer en acceptant d’assister à des journées de recrutement de SSII (présentation de la boîte, simulations d’entretiens) en échange d’un engagement concret de la SSII au profit d’une grande cause (handicap, éducation, pauvreté…). L’idée serait donc la suivante : je trouve une ou plusieurs SSII prêtes à s’engager : pour tout élève de telle ou telle école qui participe à son événement de recrutement, elle s’engage à offrir X journées de travail de ses salariés à une association de solidarité. Les SSII ne s’engagent pas à embaucher les élèves ni les élèves à répondre à n’importe quelle offre d’emploi de la SSII. Les étudiants participants s’engagent juste à participer à l’opération de recrutement, à ouvrir leurs yeux et leurs oreilles pour découvrir l’entreprise, à y déposer leur CV, éventuellement à s’entretenir avec des salariés ou des manages de l’entreprise… De leur côté, les SSII s’engagent à un offrir un nombre important de jours de prestations pour chaque participant. Et je contrôle par la suite que les engagements sont tenus dans les temps. En bonus, les élèves les plus motivés peuvent également aider bénévolement les associations de solidarité qui bénéficient de l’opération.

L’intérêt principal que j’y vois, c’est que les SSII raffolent des futurs jeunes diplômés des grandes écoles et que ce serait une sacrée carotte pour faire en sorte qu’elles fassent davantage don des temps morts de leurs salariés aux associations de solidarité pour lesquelles je travaille. Actuellement, les SSII qui font déjà du wecena font preuve de bonne volonté. Mais, en interne chez elles, convaincre ses collègues, patrons et subordonnés de l’importance de faire du mécénat de compétences n’est pas chose aisée : il manque une carotte concrète !

La question que je me pose encore est la suivante : y aurait-il suffisamment d’élèves de grandes écoles prêts à participer à de telles opérations de recrutement de manière à développer les dons de compétences des SSII au profit des associations de solidarité ? A votre avis ?

Recycler des vieux PC, bonnes et mauvaises pistes.

Il y a 4 ans, j’ai récupéré par mon employeur une quarantaine de PC qui dataient de 2000 à 2003 et devaient partir à la casse. J’étais un peu dégoûté du gâchis consistant à les détruire au prétexte que leur valeur comptable était nulle et permettait donc à l’entreprise d’en acheter de plus récents. J’ai donc récupéré ces PC. J’ai exploré plusieurs pistes pour essayer de leur offrir une nouvelle vie. Mauvaises et bonnes pistes, voici mon bilan :

  1. les configurer pour les limiter à un usage associatif dans un quartier sensible : MAUVAISE PISTE => On a craint que l’association visée ne fasse don des PC dans le quartier et que ceux-ci terminent vendus « aux puces » plutôt qu’utilisés dans un contexte solidaire. J’ai donc verrouillé les PC en utilisant des logiciels de gestion de configuration (FAI et BCFG2). Cela a pris du temps de mes soirs et week-ends (beaucoup trop de temps… mais j’ai découvert que BCFG2 est un super logiciel qui pourra me servir pour le boulot…). Au final, me voici avec 40 PC sous contrôle. Entre temps et avant livraison, l’association pressentie a vu son local dévasté et vandalisé par des jeunes du quartier et la mairie a refusé de lui attribuer un nouveau local. Le local a-t-il été dévalisé parce que des jeunes du quartier espéraient monter un business avec les PC en question et ont été déçus du « retard à la livraison » ? Qui sait ? On peut tout imaginer. Au final, plus de local. Donc plus d’utilisation associative. Le responsable de l’association, courageux, récupère malgré tout une douzaine de ces vieilles machines qu’il installe pour les jeunes dans le sous-sol d’un pavillon. Mais mon système de contrôle à distance m’indique que, plusieurs années après, ils n’ont jamais été connectés au Net : jamais utilisés ? utilisés sans connexion ? ou déverrouillés malgré mon système de contrôle ? impossible à dire et peu importe…
  2. les prêter via une petite annonce sur mon blog ? MAUVAISE PISTE. Si cette association-là ne peut pas en prendre plus, peut-être que quelqu’un d’autre en voudra ? Je tente la petite annonce sur mon blog. Je reçois deux réponses mais la discussion se perd, une personne se dit intéressée et ne donne plus suite… Ca n’avance plus.
  3. envoyer 20 PC en Afrique ? MAUVAISE PISTE. Je contacte une ONG à Yaoundé (Cameroun). Le responsable local est ravi. Il contacte une société de transport en France. Après plusieurs mois de discussion, le devis est exorbitant et il doit renoncer.
  4. les confier à une asso française qui les envoie à son tour en Afrique ? MAUVAISE PISTE.Les 20 PC dorment dans mon salon et dans le garage de ma grand-mère… Nous contactons une association française qui collecte les vieux PC pour les envoyer en Afrique. Cette association les refuse : les PC sont certes rapides sur le Net si ils sont configurés sous linux (xubuntu) mais, en Afrique, les utilisateurs veulent du Windows XP et, même si les locaux promettent d’accepter du Windows 98 ou du Windows 2000, ils ont l’habitude de trouver ça « trop vieillot » et des petits malins les remplacent par du Windows XP puis se plaignent que la machine rame à mort et donc la considèrent comme foutue, bonne pour la poubelle… Quant à linux, qui connait linux dans les associations de solidarité en Afrique ? Pas assez de monde. Donc l’association française refuse de relayer ces PC.
  5. Les donner à des écoles en France ? MAUVAISE PISTE. L’école primaire de mes enfants dispose déjà d’une salle informatique flambant neuve. Les élèves n’y vont quasiment jamais car les enseignants n’aiment pas l’informatique, ne sont pas compétents ou ont peur. Quant aux écoles non équipées, le responsable informatique de circonscription n’accepte pas les dons de vieilles machines car il ne sait pas utiliser linux et souffre du syndrome « si c’est pas la dernière version de Windows, c’est que c’est une machine trop vieille pour être utilisable ». Comme les entreprises en fait…
  6. Les donner sur Freecycle ? MAUVAISE PISTE ! Grosse déception. Je publie d’abord sur le freecycle de ma ville, puis celui de la grosse ville voisine enfin sur celui de Paris. Après plusieurs semaines d’attente, il n’y a que 2 ordinateurs qui partent.
  7. Les donner via donnons.org ? BONNE PISTE ! Je publie mon annonce de don sur donnons.org et, en moins d’une semaine, j’ai plus de 20 personnes qui répondent et sont preneurs. Ca y est, tous les PC sont partis… Enfin… sauf 4 dont les demandeurs ne sont pas venus les chercher. Je relance quelques-uns des autres demandeurs et j’espère qu’ils partiront dans les jours qui viennent.

Ouf. Vive donnons.org !

Free money

Not « free money » as in « free beer » but free as in « free speech ». I mean « Libre money », like « Libre software ». Money made free. Goods made free so that they make people freer. What could this mean ?

Could the concept of copyleft found in the realm of software and intellectual creativity be transposed to material and rival goods so that humans get freer from their dependency on material goods and property ?

Let’s pretend I have a pencil in hand (or 10 euros). Here is my (imaginary) offer to you be : you can get this pencil if and only if :

  • after some predefined time (let’s say after 10 seconds) you must accept to give this pencil (or an equivalent pencil ?) further (not back) to anyone who asks for it and accepts some predefined conditions (the contract)
  • the most important condition this futher person/borrower must accept is to further transfer the goods along with their freedom contract once the defined delay has expired : they can’t put any additional restrictions to the freedom of people wishing to get these pencil(s)
  • maybe you will have some interest to add to it (for instance the condition may be that you must accept also giving a second pencil under these conditions after 10 seconds)

Once you get the pencil under such a contract, you are free to do anything you want with this pencil (you may draw a picture for instance). 10 seconds later, you may still keep it as your own (and keep on drawing pictures meanwhile) until someone comes to you and asks for this pencil. Then you must propose this pencil and an additional one under the conditions above. If the further person accepts these conditions, she may take this pencil (or these 2 pencils) and do the same : do anything she wishes during some time then keep doing anything she wants until someone gets the (1, 2, 3 or 4) pencil(s) under the same contract.

From now on, these pencils are made free. They are still the property of the persons who initially set them free. But, as long as the conditions of the contract are respected, they will freely flow from person to person. If there is an interest rate defined in the contract (the second pencil or 100% interest rate in the example above), then these interests are also made free and will contribute to the total amount of free rival goods in circulation. In some future, the whole population of pencils of planet earth may be made free in such a process !

You may note that this whole concept I am proposing here :

  • is rooted in the free culture of free software
  • is also rooted in the culture of giving in freedom which the economy of communion tries to promote
  • gets inspiration from the current trend of sharing stuff via the Internet, and optimize the ownership and use of material goods, including the fabulous freecycle network
  • somehow relates to the American ideal of « giving back to the community » (once you are richer) but with a twist
  • allows charitable gifts to poor people to be made less humiliating because the gift is now a loan and « officially » recognizes that the person receiving goods (the « poor » person) also receives a debt not toward the giver but toward humanity, while still giving merit to the initial loaner who « sufffers » from the « loss » of the items made free
  • is a common practice in many traditions such as master/apprentice  or teacher/student or parents/children relationships : master transfers some trade knowledge to apprentices as long as a moral obligation to further transfer this tradition/knowledge to future generations of apprentices/would-be-masters.

Now there are several practical problems with any attempt at contractualizing these practices of « giving back to the community » :

  • what if someone is materially not able to further give/transfer the good when the loan delay has expired ?
  • how to limit the risks of having malicious people exploit the system at their own profit and break the chain of freedom ?
  • are interests rate desirable or even morally acceptable ?
  • which sets of conditions would best guarantee the development of the freedom of humanity with regards to these goods ?
  • could such contracts be drafted and enforced world-wide despite borders and disparities among national laws ?
  • in order to maximize the probability that people don’t abuse the system and protect the freedom of these goods in further paying their debts, should the power of this contract mainly rely on justice (a judge may take your goods in order to pay your freedom debt) ? or on social mechanisms (such as only accepting female borrowers or borrowers who come as a group of independent but socially related people, in a way similar to some practices in the field of microcredit) ? or both ?
  • could such a system be made viable offline ? or will it necessarily rely on online trust mechanisms (identity, reputation, social networks, cryptography, …) ?
  • could such a system be made viable without a central platform ? can it work in a peer-to-peer fashion in the same way free software licences work (the only central point of failure for the GPL is the unique power of the FSF to release later versions of the GPL) ?
  • could the risk of failing borrowers (people not paying their debt further) be covered by some insurance mechanisms and agents ?

My real purpose here (beyond playing with an attractive concept) is to invent a contract which can be useful in order to augment the freedom of people to access and use goods they don’t own while still protecting (and contributing to) the freedom of further people to do so.

With your comments and contributions, maybe we could find the perfect combination of conditions a freedom loan contract should impose in order to meet the purpose above.

In further comments or posts, we/you may :

  • tell the fiction of several goods released under free loans/free debt contracts in order to explore the potential advantages and drawbacks of some combinations of conditions,
  • propose several such loans « for real » to readers in order to practically experiment and play with these concepts.

(But please DO NOT ASK for money here. Money will not be given to you. People asking for money and not usefully contributing to this conversation may be banned as spammers.)

Comment installer une plate-forme Wecena ?

Wecena est une entreprise qui organise des chantiers de mécénat de compétences pour informaticiens. Mais Wecena, c’est aussi un ensemble de logiciels libres (et open source et gratuits, licence AGPL) qui permettent d’organiser des chantiers de volontariat, de mécénat ou de bénévolat de compétences pour mettre des professionnels au service de grandes causes. Vous pouvez librement installer ces logiciels sur vos propres serveurs pour mettre en place des plates-formes réunissant entreprises et associations autour de projets de solidarité. Les logiciels Wecena sont déjà :

  • utilisés par Wecena dans le secteur informatique
  • installés par Investime pour organiser des missions professionnelles de solidarité dans les métiers de l’assurance (soutien à des institutions de micro-finance en Afrique notamment)
  • étudiés par Antoine G. pour organiser des chantiers de mécénat de compétences dans certains métiers du conseil et des services

Voici un copier-coller de mes derniers échanges par email avec Antoine (avec sa permission). Ceci peut vous aider à savoir comment installer votre propre plateforme Wecena. Pour pouvoir suivre ces échanges (et installer Wecena sur vos serveurs), il faut avoir les compétences suivantes :

  • notions d’administration systèmes linux
  • expérience en développement Web objet, si possible sur un langage open source

From Antoine G. to Jean M.

[…] Nous serions intéressé de tester la plateforme Wecena que tu as mise en place.

Pour cela, [j’ai reçu un mail] sur lequel tu indiques l’adresse de ta plateforme de test avec quelques comptes ainsi que les étapes nécessaires à l’installation de Wecena sur un autre serveur.

Je t’avouerai que sur ce deuxième point j’ai fait un checkout sur mon serveur debian, et regarder quelque peu le lien sur la configuration et le lancement d’un buildout de Plone mais tout ceci n’est pas clair pour moi encore. Si comme tu le proposais, tu pouvais me transmettre un exemple de buildout comme point de départ, avec un mini tuto, ça pourrait grandement me / nous rendre service ;-)

Et à vrai qu’est-ce exactement qu’un buildout, une sorte de Makefile ?

J’ai déjà python 2.4.4 d’installer et j’ai ajouté quelques packages qui pourraient m’être utiles « plone3-site » et « zope-plone3 » (à peu près similaire j’ai l’impression).

Je te remercie par avance, pour l’aide que tu pourras m’apporter en temps voulu.

Quoiqu’il en soit, je continue de potasser le tuto plone sur la création de bluidout de mon côté…

From Jean M. to Antoine G.

Le 22/12/2010 23:43, Antoine G. a écrit :

> Je t’avouerai que sur ce deuxième point j’ai fait un checkout sur mon
> serveur debian, et regarder quelque peu le lien sur la configuration et
> le lancement d’un buildout de Plone mais tout ceci n’est pas claire pour
> moi encore.
> Si comme tu le proposais, tu pouvais me transmettre un exemple de
> buildout comme point de départ, avec un mini tuto, ça pourrait
> grandement me / nous rendre service ;-)

La première chose que tu devrais faire, c’est sans les produits Wecena : essaie d’installer Plone 3.3.5 via son buildout en suivant ce tutoriel
http://icp.ge.ch/sem/plone-dip/le-pool-plone-dip/icp-zope-technique/installation-plone3-buildout

> Et à vrai qu’est-ce exactement qu’un buildout, une sorte de Makefile ?

Oui, en quelque sorte.

C’est un ensemble de fichiers de config (habituellement en « .cfg ») qui indiquent au logiciel buildout quelles sont les dépendances et paramétrage de déploiement d’un logiciel Python (par exemple de Zope et Plone).

Quand tu télécharges Plone sur plone.org, l’installeur te déploie Plone avec les options par défaut. Tu peux modifier ces options dans les fichiers.cfg puis mettre à jour ton déploiement en lançant la commande bin/buildout A ce moment-là, buildout va télécharger, paramétrer et installer tous les composants logiciels spécifiés dans ses fichiers de config.

Le tutoriel ci-dessus te permet d’installer directement Plone via buildout sans passer par un package de ton OS ni par l’installeur packagé sur plone.org. Il te permet de bien voir toutes les étapes d’installation.

> J’ai déjà python 2.4.4 d’installer et j’ai ajouté quelques packages qui
> pourraient m’être utiles « plone3-site » et « zope-plone3 » (à peu près
> similaire j’ai l’impression).

Si tu peux prendre python 2.4.6, ce serait mieux (pas sûr que Plone 3.3.5 marche avec python 2.4.4). Au besoin, tu télécharges la source et tu recompiles simplement.

Mais, pour zope et plone, oublie les package debian et installe plutôt en suivant le tutoriel ci-dessus. En effet, c’est buildout qui s’occupera d’aller chercher les dépendance dont tu as besoin et de les paramétrer comme il faut.

> Je te remercie par avance, pour l’aide que tu pourras m’apporter en
> temps voulu.

Une fois que tu auras réussi l’install d’un plone avec buildout en suivant le tuto, je t’indiquerai comment y ajouter les produits wecena comme dépendances.

> Quoiqu’il en soit, je continue de potasser le tuto plone sur la création
> de bluidout de mon côté…

OK

N’hésite pas à me faire signe au moment où tu coinces.

From Antoine G. to Jean M.

Je reviens vers toi pour te faire un petit point d’avancement sur mon installation de plone 3, à travers le tuto que tu m’as transmis ( http://icp.ge.ch/sem/plone-dip/le-pool-plone-dip/icp-zope-technique/installation-plone3-buildout ).

Dans l’ensemble ça c’est bien passé sauf que les liens des productdistros étaient pour la moitié mort… Je suis allé chercher les fichiers à la mano sur d’autres sites mais je pense que c’est bon de ce côté là.

http://plone4artists.org/products/plone4artistsvideo/releases/1.1/Plone4ArtistsVideo-1.1b1.tar.gz *DEAD*

*NEW –> http://dist.serverzen.com/misc/Plone4ArtistsVideo-1.1b1.tar.gz*

http://downloads.sourceforge.net/julius/ATGoogleVideo-0-6.tar.gz

http://plone.org/products/cmfnotification/releases/2.0/cmfnotification-2-0-rc1-tar.gz *DEAD

NEW –> http://plone.org/products/cmfnotification/releases/2.0/cmfnotification-2-0-tar.gz –> rename to cmfnotification-2-0-rc1-tar.gz*

http://plone.org/products/mailservices/releases/0.5/armailservices-0-5.tgz

http://plone.org/products/ploneldap/releases/1.0/PloneLDAP-bundle-1.0rc3.tar.gz

http://plone4artists.org/products/plone4artistscalendar/releases/1.1/Plone4ArtistsCalendar-1.1b1-plone3.0-bundle.tar.gz *DEAD

NEW –> http://icp.ge.ch/sem/plone-dip/utiliser-plone-efficacement/gerer-mon-plone/produits/produits-infos-admin/produits-fichiers-utiles/Plone4ArtistsCalendar-1.1b1-plone3.0-bundle.tar.gz/at_download/file –> rename to Plone4ArtistsCalendar-1.1b1-plone3.0-bundle.tar.gz

* http://weblion.psu.edu/static/products/cssmanager/cssmanager-0.8.tar.gz

Lors de la première exécution du ./bin/buildout j’ai rencontré pas mal de messages d’erreur. En voici quelques exemples :

SyntaxError: ‘return’ outside function

File « build/bdist.linux-i686/egg/Products/Ploneboard/skins/ploneboard_scripts/comment_redirect_to_conversation.py »,

line 33

return printed

SyntaxError: ‘return’ outside function

File « /home/ploneTest/virtualplone/ploneproject/eggs/tmplebqDf/Products.NuPlone-1.0b3-py2.4.egg/Products/NuPlone/skins/nuplone_templates/livesearch_reply.py », line 146

return ‘\n’.join(output).encode(site_encoding)

SyntaxError: ‘return’ outside function

Modules/LDAPObject.c:1228: warning: return makes pointer from integer

without a cast

Modules/LDAPObject.c:1185: warning: unused variable ânewpwâ

Modules/LDAPObject.c:1183: warning: unused variable âoldpwâ

Modules/LDAPObject.c:1181: warning: unused variable âuserâ

error: Setup script exited with error: command ‘gcc’ failed with exit status 1

An error occured when trying to install python-ldap 2.3.12. Look above this message for any errors that were output by easy_install.

While:

Installing instance.

Getting distribution for ‘python-ldap>=2.0.6’.

Error: Couldn’t install: python-ldap 2.3.12

Après l’exécution des actions suivantes, j’ai finit par avoir l’exécution d’un buildout complet propre :

aptitude install libldap2-dev

aptitude install libsasl2-dev

aptitude install libssl-dev

cp /var/lib/zope2.10/instance/plone-site/var/Data.fs var/filestorage/

aptitude install python-ldap

Résultat :

./bin/buildout

Updating zope2.

Updating fake eggs

Updating productdistros.

Updating instance.

Updating zopepy.

Malheureusement quand je lance l’instance du serveur ça ne fonctionne pas, il ne trouve pas une librairie :

./bin/instance fg

File « /home/ploneTest/virtualplone/ploneproject/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/browser/ploneview.py », line 12, in ?

from Products.CMFPlone import utils

File « /home/ploneTest/virtualplone/ploneproject/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/utils.py », line 6, in ?

from PIL import Image

ImportError: No module named PIL

Voici la liste des paquets python installés de mon côté :

python

python2.4

python2.4-dev

python2.4-minimal

python2.5

python2.5-minimal

python-central

python-docutils

python-imaging

python-imaging-tk

python-ldap

python-minimal

python-newt

python-selinux

python-semanage

python-sepolgen

python-support

python-tk

python-twisted

python-twisted-conch

python-twisted-core

python-twisted-words

Il souhaiterait peut être avoir le package python2.4-imaging, malheureusement il m’installe forcément la dernière version python-imaging… Si tu as des pistes je suis preneur ;-)

Sinon une fois que l’on aura réussi à faire tourner le serveur, je serais intéressé comme tu l’as proposé de procéder à l’installation de wecena.

Pour ma curiosité personnelle et pour nourrir mon amour de plone, pourrais-tu me dire ce qui t’as guidé vers ce CMS ? Car je vois dans l’étude des CMS jointe en PJ ( http://www.waterandstone.com/book/2010-open-source-cms-market-share-report )qui a été faîtes sur l’année 2010, que celui-ci est loin d’être le plus répandu. Par contre je remarque que pas mal de livres sont sorties dessus, il doit avoir certains atouts majeurs…

Je te remercie pour l’aide que tu pourras m’apporter.

From Jean M. to Antoine G.

> Lors de la première exécution du ./bin/buildout j’ai rencontré pas mal
> de messages d’erreur. En voici quelques exemples :
> SyntaxError: ‘return’ outside function
> File
> « build/bdist.linux-i686/egg/Products/Ploneboard/skins/ploneboard_scripts/comment_redirect_to_conversation.py »,
> line 33
> return printed
>
> SyntaxError: ‘return’ outside function
> File
> « /home/ploneTest/virtualplone/ploneproject/eggs/tmplebqDf/Products.NuPlone-1.0b3-py2.4.egg/Products/NuPlone/skins/nuplone_templates/livesearch_reply.py »,
> line 146
> return ‘\n’.join(output).encode(site_encoding)
> SyntaxError: ‘return’ outside function

Tu peux ignorer sans risque les messages « SyntaxError: ‘return’ outside function » comme expliqué ici :
http://plone.org/documentation/error/syntaxerror-return-outside-function

> Modules/LDAPObject.c:1228: warning: return makes pointer from integer
> without a cast
> Modules/LDAPObject.c:1185: warning: unused variable ânewpwâ
> Modules/LDAPObject.c:1183: warning: unused variable âoldpwâ
> Modules/LDAPObject.c:1181: warning: unused variable âuserâ
> error: Setup script exited with error: command ‘gcc’ failed with exit
> status 1
> An error occured when trying to install python-ldap 2.3.12. Look above
> this message for any errors that were output by easy_install.
> While:
> Installing instance.
> Getting distribution for ‘python-ldap>=2.0.6’.
> Error: Couldn’t install: python-ldap 2.3.12
>
> Après l’exécution des actions suivantes, j’ai finit par avoir
> l’exécution d’un buildout complet propre :
> aptitude install libldap2-dev
> aptitude install libsasl2-dev
> aptitude install libssl-dev
> cp /var/lib/zope2.10/instance/plone-site/var/Data.fs var/filestorage/
> aptitude install python-ldap

OK Bravo.

> résultat :
> ./bin/buildout
> Updating zope2.
> Updating fake eggs
> Updating productdistros.
> Updating instance.
> Updating zopepy.

Super.

> Malheureusement quand je lance l’instance du serveur ça ne fonctionne
> pas, il ne trouve pas une librairie :
> ./bin/instance fg
>
> File
> « /home/ploneTest/virtualplone/ploneproject/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/browser/ploneview.py »,
> line 12, in ?
> from Products.CMFPlone import utils
> File
> « /home/ploneTest/virtualplone/ploneproject/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/utils.py »,
> line 6, in ?
> from PIL import Image
> ImportError: No module named PIL
> Il souhaiterait peut être avoir le package python2.4-imaging,
> malheureusement il m’installe forcément la dernière version
> python-imaging…
> Si tu as des pistes je suis preneur ;-)

Chez moi, c’est buildout qui s’occupe d’aller chercher et installer cette bibliothèque.

Pour cela, dans les fichiers .cfg de ton buildout, tu cherches la section [buildout] dans laquelle se trouve la liste de tes dépendances sous la forme d’une variable « eggs =  » avec la liste des dépendances. Dans cette liste, tu ajoutes :

PILwoTK

Si buildout se plaint de ne pas trouver cette bibliothèque, alors tu lui ajoutes quelques URL à partir desquelles il pourra aller fouiller. Ca se passe aussi dans la section [buildout] sous la forme d’une variable find-links :

find-links =
http://dist.plone.org/
http://download.zope.org/ppix/
http://download.zope.org/distribution/
http://effbot.org/downloads/
http://code.google.com/p/html5lib/downloads/list

C’est dans le dépôt http://download.zope.org/distribution/ qu’on trouve PILwoTK (= Python Imaging Library without its TK dependency).

Si ça ne marche pas, tu peux aussi compiler en récupérant le tarball ici : http://www.pythonware.com/products/pil/

> Sinon une fois que l’on aura réussi à faire tourner le serveur, je
> serais intéressé comme tu l’as proposé de procéder à l’installation de
> wecena.

Il faut que je prenne le temps de faire une distribution de mon buildout. Allez hop, c’est fait :

http://svn.gna.org/viewcvs/wecena/trunk/wecena.buildout/

Mais il faudra encore que je partage deux produits d’intégration :

wecena.policy
wecena.theme

Peut-être lundi prochain ?

> Pour ma curiosité personnelle et pour nourrir mon amour de plone,
> pourrais-tu me dire ce qui t’as guidé vers ce CMS ? Car je vois dans
> l’étude des CMS jointe en PJ qui a été faîtes sur l’année 2010, que
> celui-ci est loin d’être le plus répandu. Par contre je remarque que pas
> mal de livres sont sorties dessus, il doit avoir certains atouts majeurs…

Je n’ai pas fait d’analyse comparative complète récemment. J’en ai fait à certains moments dans mon parcours. Ton étude en pièce-jointe est super intéressante (notamment la méthodo qui m’a l’air très bien). Après, il faut voir comment tu l’utilises.

Le premier facteur pour choisir, à mon avis, en tant que développeur, c’est le langage. Développer en python me semble plus productif qu’en Java. Et conceptuellement plus satisfaisant (plus « professionnel » ?) que PHP. Ceci dit c’est une affaire de goût. Et la communauté python compte des développeurs d’un niveau vraiment excellents qui se mettent au service des autres. Donc il y a déjà un facteur un peu irrationnel qui m’a amené vers python et sa communauté. Concrètement, mon parcours en matière de langages de prédilection est le suivant :

  • Turbo Pascal quand j’étais au lycée (jusqu’en prépa en 93)
  • un peu de VB à l’école (94/97) mais surtout du Delphi
  • ensuite, de 98 à 99 je me suis tourné vers Perl car c’était, parmi les langages du libre, celui qui avaient le plus de bibliothèques orientées Internet (et avec une bonne orientation objet)
  • de 99 à 2005, j’ai encadré des équipes qui faisaient de l’ASP, du PHP et un peu de J2EE mais, pendant ce temps j’ai découvert python, plus « propre » et maintenable que Perl mais avec les mêmes avantages (grosse communauté et bibliothèques, à fond dans le Net, agile, dynamic typing, orienté objet) ; et c’est dans la communauté python que j’ai vu apparaître des produits et framework mûrs pour livrer ce que mes équipes ASP/PHP réinventaient de manière artisanale à chaque projet,
  • de 2005 à 2007, pour le boulot, j’ai fait du J2ME, J2SE et J2EE mais, franchement, quelle lourdeur de développer en Java quand on vient de python… j’aurais pu virer ruby (encore plus agile que python mais plus jeune) ou me mettre à PHP qui avait gagné en maturité objet

Donc, pour moi :

  • J2EE = ok mais lourd
  • ruby = ok mais « jeune »
  • Perl = ok mais peu maintenable (plus artistique…)
  • PHP = ok mais une communauté de niveau inégal (beaucoup de temps perdu avec des débutants)
  • Python = ok mais moins populaire

Ensuite, au niveau framework applicatif pour le web, conceptuellement, l’idée de publier des objets m’a séduit dès le début (Zope Object Publishing Environment) alors que le paradigme de l’époque (2000/2005) restait les applis sur mesure sur base relationnelle (LAMP côté libre). C’est quand-même plus confortable, pour développer, d’accéder « nativement » à une persistence objet (base de données objet) plutôt que de gérer des accès à des données relationnelle ou de devoir gérer une surcouche de mapping objet-relationnel.

Si on compare les CMS Web PHP comme Drupal ou Joomla d’une part, et Plone d’autre part, les avantages spécifiques de Plone résident dans sa couche de sécurité et dans son moteur de workflow (qui est essentiel dans la gestion de la sécurité). Il semble que ces aspects sécurité + workflow sont moins bien pris en compte dans Drupal et Joomla que dans Plone. C’est pourquoi Plone a une réputation de meilleur produit pour les besoins professionnels impliquant des règles de sécurité fines (et compliquées) et des workflows spécifiques, avec une gestion des rôles complexes.

Drupal serait plus à son aise pour les besoins communautaires « simples » et « variés » alors que Plone serait plus à son aise pour les besoins professionnels avec des processus métiers complexes. Les produits J2EE couvrent sans doute des besoins encore plus « pro » et des processus métiers encore plus complexes et  nécessitant plus de rigueur, mais au prix d’une lourdeur énorme.

Mais on parle bien de gestion de contenu, là.

A propos de la popularité des CMS, il faut bien voir ce qu’on compare. C’est normal que WordPress (PHP) soit astronomiquement plus populaire que Plone (python) puisqu’il ne fournit que 10% des fonctionnalités d’un Plone. De plus, Plone impose un hébergement spécifique (serveur dédié) alors que WordPress ou Drupal peuvent se satisfaire d’un hébergement partagé. Donc, si tu installes du Plone, c’est que tu as une bonne raison.

Mais si on parle de développement d’applications innovantes et spécifiques, de type crowdsourcing par exemple, alors j’irais regarder du côté de framework comme Django en python.

J’ai aussi l’impression que le développeur python « moyen » est plus à l’aise avec des concepts intéressants de développement que le développeur PHP « moyen ». Il y a plus de choses conceptuellement stimulantes dans la communauté python que PHP.

Par exemple, quelle est la maturité de telle ou telle communauté en matière d’outils et pratiques de Test-Driven Development, etc.

> Je te remercie pour l’aide que tu pourras m’apporter.

De rien.

Je t’ai répondu un peu en vrac ci-dessus alors n’hésite pas à préciser tes questions.

From Antoine G. to Jean M.

Merci pour tes indications précieuses. Tu as débloqué la situation, nous avons maintenant une instance zope/plone qui tourne.

Pour ce qui est du buildout de wecena, j’ai déjà fait un checkout du svn pour récupérer la distribution que tu as faite. Quand je l’exécute j’ai l’erreur suivante :

While:
  Initializing.
Error: The specified download cache:
'/home/jean/Desktop/techno/buildouts/.shared/downloads'
Doesn't exist.

Je pense que je pourrais commenter la partie faisant référence à ce dossier ‘downloads’ en local sur ton serveur car il n’est peut être pas nécessaire mais comme tu le disais il faut encore que je récupère wecena.policy et wecena.theme

Je te remercie pour ton analyse sur le marché des CMS avec en trame de fond les grandes lignes de ton parcours. Tout cela est fort enrichissant et si tu
conçois le développement python/plone à contrario de la lourdeur de Java, j’ai hâte de voire ça ;).

Maintenant que je vais bientôt pouvoir modifier / créer du contenu avec plone, as-tu un livre de chevet à me conseiller ? Je pense déjà regarder la doc du côté du site français de plone : http://plone.org/countries/fr/index_html

J’ai regardé le comparatif que tu m’as envoyé par la suite entre les 4 CMS (wordpress, drupal, joomla et plone), qui est encore un bon point pour plone. D’ailleurs en quoi la sécurité sur plone est-elle mieux assurée ? Est-ce simplement par un meilleur degré de précision sur la gestion des droits utilisateurs ?

From Jean M. to Antoine G.

Le 23/01/2011 03:47, Antoine G.  a écrit :

> Merci pour tes indications précieuses. Tu as débloqué la situation, nous
> avons maintenant une instance zope/plone qui tourne :
>
> http://alterformation.org:8080/

Bravo !

> Pour ce qui est du buildout de wecena, j’ai déjà fait un checkout du svn
> pour récupérer la distribution que tu as faite. Quand je l’exécute j’ai
> l’erreur suivante :
>
> While:
> Initializing.
> Error: The specified download cache:
> /home/jean/Desktop/techno/buildouts/.shared/downloads’
> Doesn’t exist.

Tu dois créer sur ton disque un répertoire dans lequel seront stockés les dépendances au fur et à mesure qu’elles sont téléchargées (cache). Et tu en indiques le chemin dans un fichier de buildout en lieu et place du chemin indiqué dans ce message d’erreur.

> Je pense que je pourrais commenter la partie faisant référence à ce dossier
> ‘downloads’ en local sur ton serveur car il n’est peut être pas nécessaire
> mais comme tu le disais il faut encore que je récupère wecena.policy et
> wecena.theme

C’est juste un cache local. C’est utile surtout si tu installes plusieurs buildout qui partageront le même cache. Si tu commentes cette instruction, buildout utilisera je ne sais plus quel chemin pour y stocker ses téléchargements.

> Maintenant que je vais bientôt pouvoir modifier / créer du contenu avec
> plone, as-tu un livre de chevet à me conseiller ? Je pense déjà regarder la
> doc du côté du site français de plone :
> http://plone.org/countries/fr/index_html

Ce bouquin-ci est très bien pour les techniques utilisés pour le développement dans Plone 3 : http://professional-plone-book.packtpub.com/

> J’ai regardé le comparatif que tu m’as envoyé par la suite entre les 4 CMS
> (wordpress, drupal, joomla et plone), qui est encore un bon point pour
> plone. D’ailleurs en quoi la sécurité sur plone est-elle mieux assurée ?
> Est-ce simplement par un meilleur degré de précision sur la gestion des
> droits utilisateurs ?

C’est l’une des deux raisons. La deuxième raison est plus fondamentale (ce qui en fait la première…) : Plone s’appuie sur la Zope Object DataBase (ZODB). C’est une base objet. Le caractère sécuritaire de cette base objet tient à ce que tout accès à un objet stocké fait l’objet d’un contrôle d’accès très fin et applicatif. Ce n’est pas comme dans le cas classique du développement avec une base relationnelle. Habituellement, avec une base relationnelle, tu as une chaîne de connexion (login + mot de passe) unique utilisée quasiment partout dans ton code. Ton code accède partout comme il veut à toute ta base de données. Au contraire,
avec la ZODB, l’accès à chaque objet se fait sous le contrôle des permissions associées à l’utilisateur qui s’est authentifié. Autrement dit, il ne s’agit d’une base de données par-dessus laquelle on a plaqué une couche de sécurité indépendante mais d’un système d’accès sécurisé aux données qui est inclus dans la base de données (ce qui a pour inconvénient un côté un peu monolithique de cette base).

Donc non seulement le contrôle d’accès est plus fin (d’innombrables permissions qui se combinent les unes aux autres) mais aussi il est plus « profond ».

Mais je te réponds un peu « de mémoire » donc je me trompe peut-être un peu sur les points ci-dessus. Les autres raisons pour lesquels on lit que Zope est sûr :

  • comme ce n’est pas une base SQL, la ZODB n’est pas soumise au risque d’injection SQL qui est une cause fréquente de failles dans les systèmes relationnels,
  • comme Zope est une techno moins populaire, il y a moins d’intérêt pour un pirate à l’étudier (?)
  • comme Plone fournit des fonctionnalités qui plaisent plus aux entreprises qu’aux bricoleurs (workflow, contrôle d’accès poussé), il est plus souvent utilisé dans un contexte professionnel que associatif ou personnel et donc la communauté Plone a une culture de sécurisation d’entreprise qui, en moyenne, est plus stricte et rigoureuse que dans la moyenne des produits alternatifs

A propos de la sécurité dans Zope, tu trouveras plus de détails ici : http://www.zope.org/Documentation/Books/ZDG/current/Security.stx

[ Update : malgré ces arguments, il faut noter qu’une vulnérabilité très grave de Plone vient d’être annoncée et un patch sera révélé mardi prochain. Mais, ces dernières années, je n’ai vu que 2 vulnérabilités significatives annoncées pour Plone. ]

J’ai publié wecena.policy et wecena.theme dans mon dépôt subversion. Tu devrais pouvoir les checkouter et les mettre sous le répertoire src/ de
ton buildout.

Et voila.

From Jean M. to Antoine G.

Agrégeons les missions de volontariat, bénévolat et mécénat de compétences

Je suis en train de regarder la video de la conférence Digital4Change avec M.Yunus et M.Hirsch chez HEC la semaine dernière.

Et la première intervention de Martin Hirsch me laisse croire qu’il y a une action technologique à fort impact social qui pourrait être lancée par un geek qui s’ennuierait un peu (ça doit bien exister, non ?). L’objectif social serait de faciliter l’engagement des jeunes (et moins jeunes) dans des actions de volontariat (à temps plein, indemnisé), de bénévolat (sur le temps libre, non indemnisé) ou de mécénat (à temps partiel ou plein, sur le temps de travail) auprès d’associations d’intérêt général. Ce que je suggère, c’est d’agréger et publier en linked data l’ensemble des missions de volontariat publiées par les diverses agences de service civique, en commençant par l’agence nationale française. Il y a même déjà un flux RSS 2.0 des missions.

Ensuite, il y a Unis Cités, le précurseur français. Pas de flux RSS ?

En France, on a aussi les missions de bénévolat. Je pense à Passerelles & Compétences et de multiples autres organisations similaires.

A l’étranger, il y a des dizaines de sites équivalents. Je pense notamment à idealist.org (qui a aussi un flux RSS de missions) et d’autres.

Ce serait vraiment génial de publier des flux interopérables de toutes ces bases de volontariat et d’en publier une vue agrégée sur un site central, avec possibilité de recherche multicritère et d’alerte (en flux RSS ou par email).

Bon, ceci dit, c’est un peu nul de ma part de suggérer cette idée dans la mesure où je ne prendrai probablement pas le temps de lancer techniquement une telle initiative. Mais je serais ravi d’y participer et d’y inclure les flux de missions de plate-forme ouvertes de mécénat de compétences (Mecenova, Wecena, et pourquoi pas makesense et d’autres, …). Ca inspire un hacker de passage par ici ?

Défi Wecena: 2ème étape = identifier des étudiants solidaires

La 1ère étape du défi wecena, c’était… d’imaginer faire quelque chose ensemble et de faire connaissance. Après nos premiers échanges par email, une importante SSII m’a signalé son intérêt pour aider des étudiants à relever ce défi. Et, ce soir, j’ai fait la connaissance en visioconférence de Christelle et Valentin, les 2 étudiants de l’école d’ingénieurs ENSEIRB/MATMECA à Bordeaux avec qui je monte le défi. Ensemble, nous avons défini une nouvelle étape préparatoire du défi : rejoignez-nous pour réussir cette étape !

Les objectifs de cette deuxième étape :

  1. trouver 2 étudiants : d’ici la fin de la semaine prochaine, identifier le plus grand nombre possible d’étudiants prêts à relever le défi wecena (c’est-à-dire au moins 2 autres étudiants !).
  2. trouver 1 SSII : trouver au moins une SSII prête à organiser d’ici fin mai une ou 2 réunions, entre midi et deux, entre les salariés en intercontrat dans l’une de ses agences et les étudiants participants, pour que ces étudiants tentent de les convaincre de les rejoindre pour relever ensemble le 1er défi Wecena

Voici la définition dont nous avons convenu pour le 1er défi Wecena :

  • L’équipe gagnante est celle qui aura réussi à ajouter le plus grand nombre de livres possibles à la bibliothèque numérique pour aveugles de l’association BrailleNet d’ici fin juin (date possible : le 26 juin).
  • Pour réussir le défi, les membres de chaque équipe inscrite peuvent d’une part essayer d’adapter eux-même sous traitement de texte les livres fournis par BrailleNet (environ 4H par livre) et d’autre part, pour démultiplier leur capacité de travail, convaincre des salariés de SSII en intercontrat de rejoindre leur équipe dans le cadre du wecena. Et je suis au service de ces étudiants pour les aider à convaincre des salariés en intercontrat et, si besoin, les mettre en relation avec les SSII potentiellement intéressés.
  • Pour pouvoir participer, chaque équipe doit être constituée d’une part d’au moins 2 étudiants d’écoles d’ingénieur, de commerce ou d’université (formations diplomantes en informatique si possible) et d’autre part d’au moins 1 salarié de SSII ou de cabinets de conseil.
  • Le prix sera constitué par de généreux donateurs dont les éventuelles SSII mécènes ; il pourra comporter une partie en nature telles que des propositions de stages, d’entretien avec des équipes recrutement, ou autre.
  • Le prix sera remis fin juin par un jury qui présentera l’utilité sociale immédiate du travail accompli par les équipes et désignera l’équipe qui aura fourni le plus de livres adaptés à BrailleNet !

L’esprit de ce défi n’est pas de proposer une invention technologique extraordinaire qui pourra peut-être, hypothétiquement, aider, peut-être, une ou quelques personnes dans un pays lointain. L’objectif est de se retrousser les manches ensemble pour produire un impact social ici et maintenant : offrir un accès immédiat à la lecture de romans et livres de qualité à des lecteurs aveugles.

Le 1er défi wecena commence maintenant. Trouvons des étudiants prêts à retrousser leurs manches pour BrailleNet aux côtés de professionnels de l’informatique ! (Inscrivez-vous en laissant un commentaire sur cet article).

Concours Wecena pour étudiants en informatique

Mardi soir, je reçois un email de Christelle et Valentin, deux étudiants en école d’ingénieur en informatique. Je leur réponds ici. A la fin de cette discussion, nous imaginons créer un concours wecena destiné aux étudiants en école d’informatique et aux SSII friandes de jeunes diplômés dynamiques (et pas chers ? :)   ).

Christelle a écrit :
Nous sommes deux étudiants en école d’ingénieur (spécialisée en informatique, électronique, télécommunications, modélisation mathématique et mécanique). Nous avons découvert votre site via Antropia et l’avons lu et parcouru avec beaucoup d’intérêt.

OK

Nous partageons les mêmes valeurs et sommes convaincus que les TIC peuvent apporter également une plus-value sociale en contribuant à l’action associative.

Oui.

Nous trouvons votre concept génial et nous en restons très admiratifs.

Merci ! Je vous nomme co-présidents de mon fan-club. ;-)

Nous souhaitons vous poser quelques questions par rapport à votre parcours et à votre idée :
– Comment vous est venue cette idée, quel a été votre cheminement jusqu’à Wecena ?

Ca remonte à loin :

Quand j’étais petit, ma maman animait bénévolement un centre pour jeunes en difficultés. Depuis que j’ai 8 ans, je suis scout (de France) même si je ne suis plus actif depuis la fin de mes études (mais je reprend bientôt avec mes enfants !). Puis je suis devenu bénévole successivement chez Ingénieurs Sans Frontières puis équipier secouriste à la Croix-Rouge. Via les scouts et un copain prêtre et travailleur social, j’ai découvert la vie dans les quartiers des banlieues « sensibles » puis
ai monté bénévolement une asso qui est intervenue dans 10 banlieues françaises auprès d’assos de quartier de type associations de grands frère, et je leur proposais l’Internet comme activité pour attirer les petits frères et monter des animations autour de ce prétexte. Je créais ainsi des petits espaces publics numériques de quartier avant que ça ne prenne ce nom.

Bref, je suis tombé dans la marmite des associations de solidarité quand j’étais petit. Etant aussi un geek, j’ai constaté qu’on pouvait y faire des choses intéressantes en informatique, qu’on trouvait facilement du logiciel (libre par exemple) et du matériel (notamment de récup) mais que la ressource rare restait le temps-homme et les compétences.

En prépa, je me demandais vraiment si c’était ma voie et si je ne devais pas plutôt faire Science-Po ou un truc du genre. A la sortie de l’école, je me demandais que faire : peut-être de la recherche ou du conseil en sciences des organisations voire en politiques publiques ? non, trop pipo pour moi et l’Etat ne peut pas vraiment innover… Alors avec un copain je me suis lancé dans une première création d’entreprise. Au moment de se lancer, je me demandais comment combiner démarche entrepreneuriale et désir d’utilité sociale. N’ayant pas trouvé de réponse, l’entreprise créé a été classique (prestations de conseil et de veille via Internet).

Elle a planté après 2 ans et, comme c’était le moment où je me mariais et voulais créer une famille, je me suis posé tranquillement dans la direction informatique d’une multinationale (Saint-Gobain). En continuant une veille active sur le Net, j’ai alors découvert le concept d’entrepreneuriat social via les podcasts d’Ashoka et de la Social Innovation Review de Stanford. Je me suis mis à lister des idées de création d’entreprise plus ou moins sociale sans rien trouver de convaincant en 2004/2005. 2005, je quitte Saint-Gobain où je ne me voyais pas de perspective d’avenir à moyen terme et où je m’ennuyais. Je saute sur un super job de recherche en informatique chez Motorola (un paradis pour geeks, avant que tout n’y soit détruit). J’y prends mon pied mais continue à être frustré de manque d’utilité sociale (et de manque d’utilité tout court, d’ailleurs). En continuant à lister des tas d’idées de création, je fais le lien entre le besoin de compétences
informatiques dans le monde associatif et le phénomène des intercontrats chez les SSII qui avaient été mes prestataires chez Saint-Gobain. En en parlant à un copain, il me parle du mécanisme fiscal du mécénat et c’est là que ça fait tilt : « j’ai mon modèle économique ! c’est viable (sur le papier) ! ». Dans les mêmes semaines, un plan social mondial est déclenché chez Motorola et mon voisin de bureau se trouve ciblé pour la « charette ». Il est pas content du tout car plus près de sa fin de carrière que du début, il s’inquiète pour son employabilité. Je négocie alors avec lui et ma direction pour qu’il prenne mon poste et qu’on accepte de me laisser partir avec un beau chèque pour me lancer.

C’était fin 2007. Et depuis ce moment, je suis à temps plein sur Wecena.

Avez-vous eu d’autres idées, correspondant aux valeurs que vous défendez, que vous avez tenté de mettre en place mais qui n’ont pas pu aboutir ?

Oui pour avoir des idées. Mais aucune qui ne me soit apparu aussi réaliste que le wecena. Or je n’ai toujours pas réussi à prouver la viabilité économique du wecena… Et je n’ai pas tenté de mettre en place d’idée d’entreprise sociale autre que Wecena, du moins pas aussi sérieusement.

En fait, je pense qu’une fois qu’on a pigé ce qu’est l’entrepreneuriat social, on peut assez facilement décliner des idées d’entreprises classiques en entreprises sociales.

En plus, l’entrepreneuriat classique lui-même peut devenir radicalement social en changeant peu de chose : par exemple en devenant entreprise de
l’économie de communion, ou bien en adoptant un modèle coopératif et/ou du social business.

D’après votre blog/site, vous évoquez la possibilité de communiquer au sein des écoles d’ingénieurs.

Oui, mais je n’ai pas réfléchi plus sérieusement que ça à cette piste qui me semble coûteuse en temps, longue à fournir des résultats et incertaine en résultat. Mais je suis prêt à le faire avec votre aide. Allons-y.

Pourquoi ne pas ouvrir les portes de Wecena aux étudiants en informatique ? Certes, ce serait du bénévolat, plus du mécénat.

Oui. La plupart des projets sur wecena.com sont déjà ouverts au bénévolat.

Sinon, pourquoi ne pas organiser un concours étudiant, sponsorisé par une/des entreprise(s) mécène(s), qui proposerait plusieurs types de sujets (Web, logiciel etc…) que des étudiants ou équipes d’étudiants devront réaliser puis présenter à l’association ?

Certaines SSII font déjà des choses de ce genre (je pense notamment à Solucom ou dans une moindre mesure à Altran), sur leur budget mécénat. Ca leur coûte un peu (quelques milliers d’euros en prix et quelques milliers d’euros en coût d’organisation) et leur rapporte en amélioration des relations avec les écoles et donc en qualité potentielle du recrutement. Le marché n’est sans doute pas suffisant pour que je puisse développer une offre du type « SSII, sous-traitez-moi l’organisation d’un concours étudiant ». Par contre, la forme « concours » peut effectivement être un bon moyen d’animation pour motiver des étudiants à participer à un mouvement.

Vous aurez la garantie d’avoir un outil fonctionnel à la fin. Les étudiants seront motivés par les prix promis par le concours, par l’expérience technique acquise et par la plus-value sociale à laquelle ils auront contribué.
En terme de communication, vous pourriez avoir des retombées intéressantes à court et long terme :

  • à court terme, l’évènement peut faire buzz au sein de l’école, via des réseaux types facebook ;
  • à long terme, les étudiants deviennent salariés de SSII puis directeurs, ils pourront ainsi plus aisément intégrer le concept d »inter-contrat.

Ce sont des retombées intéressantes mais trop indirectes pour permettre un investissement immédiat (en temps). La retombée qui m’intéresse, c’est qu’une SSII accepte de donner son temps d’intercontrat. Et qu’elle le fasse vite.  :)

Concernant les entreprises mécènes (qui sponsoriseraient le concours), vous leur donneriez l’opportunité de communiquer sur elle auprès des étudiants, dans un contexte attractif et utile, bien différent des salons de recrutement classiques.
Que pensez-vous de l’idée (peut-être y avez-vous déjà songé) ? Nous concevons qu’elle n’est pas si simple à mettre en place.

L’idée est très sympathique et généreuse mais elle a un gros inconvénient : elle pourrait apporter du bénéfice (= des volontaires en intercontrat) plusieurs mois voire carrément années après l’investissement alors qu’elle demande un investissement immédiat. Or, actuellement, les seuls investissements que je peux me permettre sont à court terme (= transformer une SSII en mécène d’ici fin juin). Les investissements à plus long terme sont toujours intéressants, mais uniquement si ils sont hyper-léger (du genre y consacrer une journée et basta).

Concrètement, au quotidien, je passe une bonne partie de mon temps à relancer par téléphone (puis de visu) les SSII avec qui je suis en contact pour les séduire avec les avantages liés au wecena. C’est de l’effort de « vente » qui peut payer à court terme si telle ou telle passe à l’acte. Pour que je puisse faire autre chose en ayant l’espoir que cela paye en quelques semaines, il faut que ce soit sacrément lié à l’espoir de faire bouger une SSII vite fait, ou bien que ça ne me coûte presque rien en temps.

Pour qu’un concours étudiant soit le plus utile et viable possible dans le cadre du wecena, je pense que son objectif essentiel ne devrait pas être de fournir une réalisation logicielle à une association. Son objectif essentiel devrait être d’impliquer très activement les SSII, de mobiliser des volontaires à temps plein pour l’association. L’objet du concours devrait être orienté plus directement sur l’implication des intercontrats des SSII. La réalisation pour l’association pourrait n’être qu’un moyen pour « amorcer la pompe » (des volontaires en intercontrat).

J’imagine la chose suivante (scénario à titre d’exemple) :

Christelle et Valentin, avec quelques copains, crééent l’équipe <MON-ECOLE> du concours Wecena. Leur objectif : rendre 120 nouveaux livres lisibles en braille ou en synthèse vocale par les lecteurs aveugles de la bibliothèque numérique BrailleNet. Pour réussir, une seule solution : mobiliser une armée de volontaires en intercontrats dans les SSII car ce travail est long et un peu fastidieux (compter 4 heures par livre ?). Jean fournit donc à Christelle et Valentin son carnet d’adresses des responsables RH de SSII. Christelle et Valentin choisissent de solliciter Julien, responsable communication et recrutement de la SSII IT Link (coucou IT Link, mon cobaye préféré !). En effet, Christelle connait un ancien de son école qui est consultant chez IT Link. Avec ce consultant, ils sollicitent Julien : « Pour remporter le concours Wecena, nous avons besoin de volontaires en intercontrat. Nous voulons que notre équipe devienne l’équipe <NOM DE L’ECOLE + NOM DE LA SSII> ! » Soucieux d’établir de bonnes relations avec les écoles d’ingé informatique, Julien obtient l’accord de son directeur général : 1 équivalent-temps-plein en intercontrat chez IT Link va bosser pour BrailleNet au nom de cette équipe. Wecena aide BrailleNet à le faire bosser. Christelle et Valentin font eux-même quelques livres pour bien maîtriser le process, accueillent par téléphone les nouveaux intercontrats fournis par IT Link (je vous expliquerai le process), leur servent de « coach » par email ou téléphone, participent à l’amélioration des supports d’autoformation en ligne des nouveaux volontaires, voire proposent des améliorations techniques dans le process BrailleNet. Par exemple, le process BrailleNet implique actuellement une tâche un peu longue (jusqu’à 1 heure) de repagination manuelle des livres alors que le logiciel OCR utilisé semble déjà insérer des « sauts de section » continus. Ne pourrait-on développer un petit script qui transforme ces sauts de section continue en sauts de page de manière à faire gagner du temps et volontaires et ajouter ainsi encore plus de livres en moins de temps ? Pendant que les intercontrats IT Link bossent pour BrailleNet, Christelle et Valentin développent donc ce script. Leur équipe devient la plus performante et le projet est un succès. Tout le monde y gagne : les étudiants en faisant un projet sympa, pour la bonne cause et « pour de vrai » (ce n’est juste faire un prototype pour s’amuser mais offrir un vrai service à une vraie association) ; les écoles et les SSII apprennent à mieux se connaître en bossant ensemble ; les assos ont non seulement des volontaires wecena sur leur chantier mais aussi des étudiants qui proposent des solutions innovantes pour rendre ces volontaires plus productifs ; et moi j’ai plus de volontaires sur mes chantiers !

Bon, voila…. Donc l’idée pourrait ne pas être de développer un logiciel pour une asso avec les SSII en simples rôles de sponsor mais carrément de monter des équipes école/SSII pour mobiliser des armées de volontaires wecena et les rendre plus performantes (petits scripts à développer par ci-par là). L’équipe qui abat le plus de travail en un minimum de temps pour l’association gagne le concours. L’un des principaux critères pour gagner le concours serait l’impact social du projet (au sens de l’entrepreneuriat social) = le bénéfice réel et mesuré qu’en tirent les personnes en difficulté.

Qu’en pensez-vous ?

Est-ce que vous vous sentez prêts à :

  1. constituer à vous deux une première équipe et choisir votre projet wecena,
  2. inviter des copains d’autres écoles à constituer une 2ème équipe et à choisir leur projet,
  3. solliciter directement des SSII avec mon aide pour leur demander de rejoindre votre équipe,
  4. amorcer votre chantier d’équipe auprès de l’asso choisie et y accueillir les volontaires de votre/vos SSII/s partenaire/s

?

A travers un premier coup d’essai (= 2 équipes d’étudiants qui mobilisent les SSII), j’organiserais ainsi notre concours wecena de manière itérative et collaborative. Tentés ?

Pixmania, ça craint [ou] pas [?] !

[Update du 11/02: j’ai mis à jour le titre car l’histoire se termine bien : Pixmania, ça craint pas.]

J’ai acheté un disque dur Samsung chez Pixmania et je le regrette maintenant.

En effet, après quelques heures, il tombe en panne. Conformément à ce qu’indique Pixmania, je le renvoie donc quelques jours après au SAV de Samsung. Plusieurs mois plus tard (!) Samsung me renvoie un disque neuf. Je l’installe. Quelques heures plus tard, il se révèle également défectueux !

Je contacte donc Pixmania pour leur demander un remboursement. Je n’ai pas envie d’attendre encore plusieurs mois pour que Samsung me renvoie encore un autre disque dur défectueux. Et voici la réponse de Pixmania :

Merci de nous avoir contactés.

Suite à votre email, j’accuse réception de votre demande, à savoir la panne de votre Samsung Disque dur HD154UI EcoGreen F2 – 1.5 To – 5400 rpm – 32 Mo – 3.5″ – SATA-300 (HD154UI) et voussouhaitez le remboursement.

Je vous rappelle que le délai légal pour vous rétracter est de 15 jours exceptionnellement dans notre enseigne PIXMANIA.COM

Or, vous êtes en possession de votre commande depuis le 08/09/2009, vous ne pouvez par conséquent prétendre à un remboursement ou un échange.

Je vous informe que celui-ci est actuellement dans la 1 ère année de garantie, donc pris en charge par le constructeur.

Je vous invite à contacter directement le fabricant, qui vous communiquera les coordonnées d’un distributeur agrée prés de chez vous, où vous pourrez éventuellement déposer votre appareil.

Hum. Ai-je demandé un remboursement au motif de mon délai de rétractation pour prise de commande à distance ? Non, pas du tout. Le problème n’est pas là et cette personne ne semble pas avoir lu avec attention ma demande de remboursement.

En achetant un produit chez Pixmania, j’espère également acheter un service après vente de qualité : j’attends que si le produit ne fonctionne pas, on m’en retourne un neuf (ou réparé). Et rapidement. Or le SAV de Pixmania (assuré par Samsung, certes) n’a pas été conforme aux engagements contractuels pour cet achat : non seulement il m’a fallu attendre plusieurs mois pour obtenir un produit de remplacement mais, en plus, ce produit était défectueux. Puisque Pixmania ne remplit pas ses engagements contractuels, il me semble normal de demander un remboursement. Et encore, je n’ai pas demandé de dédommagement.

Allez, je vais être bon client et envoyer cet article explicatif dans un nouveau message au service clientèle de Pixmania. Peut-être vont-ils comprendre et me proposer le remboursement que j’attends ? On peut rêver, non ?

Groupe Open fait du wecena

01 Informatique a offert la semaine dernière une double page au wecena de Groupe Open. Depuis fin novembre, Groupe Open, la 10ème SSII française (dont les sociétés anciennement TEAMLOG et Sylis), s’est en effet engagé dans cette forme innovante de mécénat qui consiste à offrir les compétences de ses ingénieurs en intercontrat à des associations d’intérêt général. Pour ma société, c’est un premier succès car cet engagement prouve aux associations pour lesquelles je travaille que je suis en mesure de leur trouver des mécènes puis de les aider à faire travailler, au quotidien, les informaticiens volontaires envoyés par ces mécènes. Il y avait déjà eu l’engagement du cabinet Neoxia en août-septembre 2009. Il y a maintenant aussi Groupe Open.

En décembre, l’association d’intérêt général Dyspraxique Mais Fantastique a ainsi pu accueillir les compétences de 5 volontaires Groupe Open : Stéphanie, Thomas et Ana, à Lyon, et Alain et Pascal à Paris. Ensemble et à distance (via l’extranet projet sur wecena.com), nous avons commencé à prendre le relais de Caroline dans son travail d’informatisation de manuels scolaires pour les enfants dyspraxiques.

En effet, les manuels scolaires papiers du CP au CM2, tels que nous les connaissons, sont très difficilement utilisables pour les 250.000 enfants qui, en France, souffrent de troubles de l’apprentissage (dyspraxie, dyslexie, dys-…). Leur ergonomie n’est pas adaptée. Caroline est chercheuse en sciences cognitives à l’INSERM. Elle est également maman d’une petite fille dyspraxique. Depuis l’an dernier, elle informatise les manuels de sa fille, chaque soir, de manière artisanale, dans sa cuisine… Sur ordinateur, l’ergonomie des contenus pédagogiques peut être adaptée : un seul exercice par écran, des polices de caractère de grande taille, des interlignages importants, des conventions de couleur pour distinguer centaines, dizaines et unités, etc. Ainsi adapté, le manuel devient utilisable malgré le handicap.

Avec les volontaires Groupe Open, nous avons donc pris le relais de Caroline à partir de la page 51 du manuel de mathématiques de sa fille en CE1. Chaque page contient 4 ou 5 exercices qu’il faut donc recomposer manuellement sur informatique, à l’aide d’un logiciel spécifique. Elle indique aux volontaires les adaptations à réaliser. Les volontaires adaptent. Je les assiste. Ensemble, nous avons adapté plus de 20 pages de ce manuel.

Mais surtout, nous avons commencé à rôder une méthode de travail à distance (c’est la plus grosse partie de mon boulot) : mise en place d’outils de travail collaboratif (mailing list, wiki, outil de partage et de suivi des tâches), mise au point du process pour partager les consignes d’adaptation (c’est le travail de Caroline) et pour que chaque volontaire puisse auto-contrôler la qualité des pages adaptées avant de les remettre à Caroline (mise au point d’une « checklist » d’adaptation), recueil du feedback de notre « enfant-beta-testeur » et de son enseignante, toujours via Caroline. Le logiciel utilisé, Didapages, ne nous donne pas satisfaction. Nous avons donc poursuivi la recherche d’une solution alternative. J’ai ainsi eu le plaisir de proposer un prototype de logiciel libre pour adapter les manuels scolaire mais celui-ci est encore à l’étude et notre choix définitif n’est pas fait pour ce projet.

Après plus d’un mois de travail, nous avons donc bien rôdé nos méthodes, même si nous avons encore des gisements importants de productivité à exploiter. L’objectif reste d’aller jusqu’au bout de ce manuel de maths de CE1 avant de passer aux auters manuels, et de soulager Caroline de manière à ce qu’elle puisse préparer la suite du projet et, pourquoi pas, organiser une expérimentation avec un plus grand nombre d’enfants dès la fin du printemps.

La plupart des volontaires ont terminé leur période d’intercontrat et sont repartis en mission lucrative, avec le souhait de poursuivre sur leur temps libre, à titre bénévole. Aujourd’hui, un seul volontaire poursuit son travail à temps plein. Nous attendons avec impatience que de nouvelles candidatures au volontariat nous parviennent de Groupe Open.

Parmi les dirigeants des sociétés que j’essaie de convaincre depuis déjà 2 ans, quels seront les prochains à franchir également le pas et à faire don des temps morts de leur consultants en attente de mission : Euriware ? Thalès Services ? IBM ? Apside ? Sungard ? Groupe Hélice ? GFI ? … La générosité leur plait (ainsi que l’idée d’offrir ainsi du sens et de la fierté à leurs troupes, le tout sans vraiment avoir à dépenser d’argent…). Mais de là à passer à l’acte… il n’y a que Neoxia et Groupe Open qui répondent à l’appel ? Ce lancement avec Groupe Open a été très prometteur. Que donnera la suite ?