Florian’s Blog

Candidat à l’AB

This is the French translation of my previous post about running for the W3C AB.

Le W3C organise une élection pour renouveler 5 des 9 membres de son Advisory Board. Ayant eu l’honneur d’être nominé par l’inimitable Daniel Glazman, j’ai le plaisir d’annoncer ma candidature.

Voici la version française de la profession de foi que j’ai déposée au W3C pour cette élection :

Pour de nombreuses raisons, le W3C s’est imposé comme un acteur incontournable de la standardisation, mais il ne faut pas pour autant nous endormir sur nos lauriers. Si nous voulons offrir les meilleures conditions de travail aux projets et groupes existants, et nous assurer que les nouveaux projets ayant besoin de standardisation continuent de choisir de le faire au W3C, il faut sans arrêt sur le métier remettre notre ouvrage et travailler à l’amélioration de cette institution, sans quoi elle ne manquerait pas de perdre du terrain.

J’ai eu l’occasion de porter diverses casquettes au W3C : représentant d’un fournisseur de navigateur (Opera) au CSS-WG, Expert Invité au même CSS-WG et dans quelques autres Working Groups, AC-Rep d’une petite entreprise (Vivliostyle), co-chair d’un Community Group… J’ai édité des spécifications depuis la phase d’incubation (dans un WG aussi bien qu’au WICG) jusqu’à la publication finale sous forme de REC. Bref, je sais comment les shadoks pompent par ici, et pourquoi ils risquent de continuer longtemps à pomper si on ne s’en mêle pas un peu.

Je suis français, j’habite au Japon, j’ai vécu en Norvège et en Chine, j’ai des relations commerciales avec des entreprises américaines et coréennes… La diversité et la participation internationale sont des sujets qui me tiennent à cœur. Je tiens en particulier à permettre aux entreprises membres des pays d’Asie de se faire entendre et d’avoir leurs intérêts pris au sérieux. Les autres aspects de la question de la diversité ne m’échappent pas, et j’apporterai mon soutien à tous les efforts cherchant à rendre le W3C plus inclusif et accueillant à toutes et à tous.

Voici quelques sujets qui m’intéressent tout particulièrement:

PS: Je suis candidat indépendant, mais Kōdansha (une des plus grandes maisons d’édition du Japon) m’apporte son soutien et financera ma participation à l’AB.

PPS: Au fait, je ne suis pas seulement un geek des standards, j’ai aussi un MBA de l’INSEAD (souvent classé premier MBA au monde); mon cv complet est disponible en ligne.

Si vous êtes l’AC-Rep d’un membre du W3C, vous pouvez votez ici. Si vous n’êtes pas AC-Rep, mais que votre employeur est membre du W3C, merci d’en parler avec votre AC-Rep.

Ab 출마

This is the Korean translation of my previous post about running for the W3C AB. I would like to thank Jihye Hong (from LG Electronics) for the translation.

W3C는 곧 자문 위원회 구성원 9명 중 5명을 새로 선출하는 선거를 실시합니다. 해당 선거에 W3C 회원의 추천(Daniel께 감사드립니다)을 통하여 후보로 나서게 됨을 알려드립니다.

해당 선거를 위해 W3C에 제출한 내용은 다음과 같습니다:

여러 면에서 W3C는 표준 작업을 위한 핵심적인 역할을 해왔지만 현재의 영광에 안주하지 않아야 합니다. 세상은 계속 변하고 있고, 이에 발 맞추어 우리는 지속적으로 W3C를 더 발전시켜, 기존 프로젝트와 작업 그룹(WG)들에게 최상의 업무 환경을 제공해야 합니다. 그로 인해 표준화 추진을 위한 가장 최적의 장소로 W3C를 선택한 새로운 프로젝트들이 활발히 유입될 수 있습니다.

저에게는 그동안 W3C에서 다양한 역할을 하는 기회가 있었습니다. CSS 작업 그룹 내 브라우저 벤더인 오페라(Opera)의 대표, CSS 작업 그룹 및 다른 작업 그룹 내에서의 초청 전문가(Invited Expert), 중소기업 비빌로스타일(Vivliostyle)의 AC, 관심 그룹의 의장 등을 맡아왔습니다. 작업 그룹 및 웹 플랫폼 인큐베이터 관심 그룹(WICG) 안에서 인큐베이션부터 REC 단계에 이르기까지의 전체 진행 단계를 거치며 표준 문서를 편집해왔습니다. 이를 통해 W3C의 다양한 사업 운영과 더불어 원활히 운영되지 않는 부분이 무엇인지 잘 알고 있습니다.

프랑스인인 저는 노르웨이와 중국에 살았던 적이 있고, 현재 일본에 거주 중이며 한국 및 미국 기업과 협력하고 있습니다. 이러한 저에게 다양성과 국제 협력은 중요합니다. 특히 저는 아시아 회원사들의 생각과 관심사가 W3C 경영진에게 전달될 수 있도록 적극 지원할 것입니다. 또한 모든 분들이 W3C에 참여하기 수월하도록 노력할 것입니다.

AB로써 제가 관심있는 항목들은 다음과 같습니다:

참고 사항: 무소속으로 출마하지만, 본 직책에 대해 Kodansha(일본에서 가장 큰 출판사 중 하나)에서 지원을 받습니다. 참고로, 저는 기술 분야 이외에도 INSEAD(세계 MBA 랭킹에서 1위를 차지한 바 있는 경영대학원)의 MBA를 소지하고 있습니다. 자세한 내용은 이력서를 참고해주세요.

AC 대표분께는 여기에서 투표 참여해주시길 부탁드립니다. 이에 해당되지 않는 분께는 귀사의 AC 대표께 투표 참여 안내 부탁드립니다.

顾问委员会理事会的选举

This is the Chinese translation of my previous post about running for the W3C AB. I would like to thank Bobby Tung (Co-chair of the Chinese Layout Requirement Task Force) for the translation.

W3C即将进行顾问委员会理事会的选举,这次将改选出五名新理事。我受到一名W3C会员的提名(谢谢Daniel Glazman),在此高兴地宣布参选。

以下是我提交给W3C的竞选声明:

透过各方人士的贡献,W3C得以成为推动标准化的重要组织。但我们不应该志得意满,世界不会停下来等待,我们需要持续地努力让W3C变得更好。除了要让既有的项目与工作组们持续保持最佳的运作状态外,我们还要让新血注入——让新的项目能挑选W3C做为推动其标准化运作的东道主。

我曾在W3C担任多项职位:浏览器开发公司(Opera)指派到CSS工作组的代表、CSS工作组以及一些其他工作组的邀请专家、一家小公司(Vivliostyle)的顾问委员会代表、一个社群组的共同主席等……我曾经从头到尾地参与了诸多标准的编辑流程,从孕育期(在工作组以及Web平台孵化社区组)到推荐标准。这些经历可以表示我熟悉W3C的各种事务运作,以及不能顺利进行的缘由。

我出生于法国,现居日本,曾旅居挪威与中国,并且韩国与美国有生意上的往来。对我而言,国际参与以及差异性是重要的议题。具体而言,我希望能确保来自亚洲国家会员的话语权,以及让他们的想法能被听见。我也在乎其他面向的差异性,我将会尽一切的努力让W3C成为一个对所有人友善且包容的组织。

对于顾问委员会理事会,我主要关注的要点如下:

附注:我是以独立的身份参选,但我在本职位上的支出将由讲谈社(日本最大的出版公司之一)赞助。

补注:顺道一提,我不仅是个技术专家,我也拥有欧洲工商管理学院(INSEAD)的MBA学位,您可由此阅读我的完整履历

如果你是AC Rep,请投票。不然请告诉你的AC Rep。

AB選挙に立候補

This is the Japanese translation of my previous post about running for the W3C AB.

W3Cで間もなくAB(Advisory Board)の選挙があります。ABW3Cで取締役会の一番近い役割を担っているグループです。メンバー会社に選出され、任期は2年間となります。今回は9人のうち、5人が任期満了のため、新しく5人を選出することになります。元CSS-WG議長のダニエル・グラズマンにノミネートされ、ここに立候補をしたことをお知らせ申し上げます。

当選挙のためW3Cに提出した声明書の日本語訳は下記のとおりです:

様々な面から、W3Cは標準化を推し進めるための重要な場所になっていますが、安泰と思ってはいけません。世の中は色々進化していますから、 既存のプロジェクトやワーキンググループを最良の状態にするために、 そしてW3Cをベストな標準化団体として選ぶ新プロジェクトの健全な流れを維持できるように、 W3Cをより良くする継続した努力が必要です。

W3Cで多種な役割を経験して参りました:CSSワーキンググループのブラウザー会社(オペラ)の代表、CSS-WGを含む様々なWGへの無所属専門家(Invited Expert)、小企業(株式会社ビブリオスタイル)の代表(AC Rep)、 コミュニティグループの共同議長……最初のコミュニティグループ及びワーキンググループでのインキュベーションから、完成したレコメンデーション(REC)まで仕様書の担当を経験しています。これらの経験より、W3Cの様々な事業運営に精通しており、同時に円滑に進まないところも意識しています。

フランス出身で、日本(京都)に住んでいます。尚、以前ノルウェーや中国に住んだことがあり、アメリカや韓国企業と取引しています。ダイバーシティと国際参加を大切にしています。特に、日本そしてアジアのメンバー会社の関心事がW3C経営者に伝わり、解決される様に活動したいと思っています。ダイバーシティはその面に限らないことも意識していますので、W3Cを全ての人に参加しやすい組織にするための活動を全面的に支援します。

ABで特に集中したい項目は下記のとおりになります:

追記:無所属として立候補しますが、 出張費等は講談社から支援していただきます。

追々記:ところで、技術者だけではなく、INSEAD大学(度々MBA世界ランキングで一位)を卒業しております。標準化以外の経験については履歴書をご参照ください。

AC Repである方、こちらで投票ください。そうでない方、御社のAC Repに連絡してください。

Running for the AB

This post is also available in 日本語, 中文, 한국어, and français.

The W3C will soon run an election to renew 5 of the 9 members of its Advisory Board. As I have been nominated by a member of W3C (thank you Daniel), it is my pleasure to announce my candidacy.

Here is the statement I have provided to W3C for this election:

Many aspects contribute to making W3C a great venue to work on standardisation, but we should not rest on our laurels. The world does not sit still, and we need to constantly work at making W3C better, so that existing projects and working groups have the best working conditions possible, and so that we get a healthy inflow of new projects choosing the W3C as the best host for their standardization efforts.

I have had the opportunity to wear many hats at the W3C: representative of a browser vendor (Opera) to the CSS working group, invited expert to the same CSS-WG and a few other, AC representative of a small company (Vivliostyle), co-chair of a Community Group… I have edited specifications through the whole life cycle, from incubation (in a WG & in WICG) to REC. All that to say that I know how things work at W3C, and also how they sometimes don’t.

I’m from France, live in Japan, lived in Norway and China before, have business relations with Korea and the US… Diversity and global participation are important to me. In particular, I intend to make sure that Asian members get their voices and concerns heard. Other aspects of diversity are not lost on me, and I will support all efforts to make W3C an inclusive and welcoming place to all.

Topics I am particularly interested in for the AB:

PS: I am independent, but my expenses for this role will be covered by Kodansha (one of the largest Japanese publishing companies).

PPS: By the way, I’m not only a techie, I also hold a MBA from INSEAD (often ranked #1 MBA world-wide); you can read my full resume.

If you are an AC-Rep, please vote here. If you're not but work for a W3C member, please remind your AC-Rep to vote.

Moralisation de la vie publique

Note to my non-French speaking readers: This blog post is about questionable campaign practices by a candidate during the 2017 French legislative election

Le président de la république et son premier ministre ont nommé garde des sceaux M. Bayrou, avec comme premier chantier la moralisation de la vie publique, sujet qui lui tient à cœur, puisque la lutte contre les conflits d’intérêts et contre l’influence de l’argent privé dans la vie politique sont sa priorité depuis des années. Voici donc un message fort en ce début de quinquennat, et dont je me félicite.

Que faut il donc penser du fait que des évènements de la campagne électorale de Mme. Anne Genetet, candidate La République En Marche  ! dans la 11ème circonscription des français de l’étranger aux élections législatives, aient été sponsorisés ou organisées par des sociétés privées ?

Prospectus annonçant une réunion de campagne pour Mme Genetet co-organisée par la société Publicis Prospectus annonçant une réunion de campagne pour Mme Genetet co-organisée par la société BNP Paribas

L’article 11-4 de la Loi n° 88-227 du 11 mars 1988 relative à la transparence financière de la vie politique nous offre une piste de réflexion :

Les personnes morales à l’exception des partis ou groupements politiques ne peuvent contribuer au financement des partis ou groupements politiques, ni en consentant des dons, sous quelque forme que ce soit, à leurs associations de financement ou à leurs mandataires financiers, ni en leur fournissant des biens, services ou autres avantages directs ou indirects à des prix inférieurs à ceux qui sont habituellement pratiqués.

L’article L52-8 du code électoral est d’accord, et ajoute que la même chose s’applique aux candidats en campagne.

Les personnes morales, à l’exception des partis ou groupements politiques, ne peuvent participer au financement de la campagne électorale d’un candidat, ni en lui consentant des dons sous quelque forme que ce soit, ni en lui fournissant des biens, services ou autres avantages directs ou indirects à des prix inférieurs à ceux qui sont habituellement pratiqués.

Mme. Genetet a expliqué qu’elle n’a fait que participer à ces rencontres sans en être organisatrice, et qu’il ne s’agirait d’ailleurs pas des évènements politiques, mais simplement de communication d’entreprises envers les jeunes.

Les jeunes en question sont les Jeunes avec Macron. Il est tout à fait louable de participer à la vie politique et de s’engager, mais il n’en reste pas mois qu’il s’agit là d’un groupement politique. Vu que les prospectus respectent la charte graphique des Jeunes avec Macron et non celles des entreprises, il serait surprenant qu’ils ne soient pas impliqués dans l’organisation de cette rencontre. Si il est tout à fait possible que la candidate n’ai pas été elle à l’origine de cette réunion, il n’en reste pas moins qu’elle y a participé.

Quoi qu’il en soit, les lois ci-dessus interdisent qu’un service soit rendu à un parti, groupement politique, ou un candidat en campagne par une personne morale autre qu’un parti ou groupement politique sans s’intéresser à savoir qui d’entre eux est l’organisateur. Même s’il semble probable que cet incident relève plus de la négligence que de quoi que ce soit d’autre de plus sinistre, je vois néanmoins difficilement comment la mise à disposition de locaux privés pour un évènement s’inscrivant dans une campagne électorale échapperait à cette définition. Le renouveau politique n’exonère pas du respect de la loi.

Divers autres candidats[1][2][3] à la même élection semblent pour le moins dubitatifs.

Modernizing the Disposition of Comments

I’ve just produced the Disposition of Comments for the Media Queries Level 4 specification. A DoC is a W3C document whose goal is to represent that a work-in-progress specification has been widely reviewed, not only by members of the working group who writes it, but also by other relevant working groups as well as by the general public, and that these comments have all been formally addressed. Having received many comments from a diverse audience, and having addressed them, is a a key part of going from an interesting idea to a world wide standard.

Just as when I prepared the last DoC for CSS-UI-3, or the one before, or the DoC for CSS-CONTAIN, it proved to be a useful exercise, beyond merely demonstrating wide review. Every time, I find relevant comments that had been made a long time ago, but had been forgotten before reaching a conclusion, sometimes after having been discussed for a while, sometime never having been noticed at all. Preparing a DoC gives us a chance to find and address these comments.

However, every time, one aspect of the DoC strikes me as odd and outdated.

The DoC is for a specific draft, traditionally a LCWD, the last one before publication as a Candidate Recommendation. This makes a lot of sense when drafts are made in private then revealed to the world, then we get comments and address them, and repeat.

However, we do all our work in public, and continuously take in comments from both members and the general public. We no longer have an LCWD under the new process. We are increasingly in a process where we publish early publish often.

Under such a process, the last draft before CR is likely to be barely different from the one before it, which will also be similar to the one before it, etc. Showing wide review of the last draft is not very useful. A well managed document will have received wide review spread over many iterations, but the last draft will most likely not have received a lot of comments, even if many people read it, since the issues will have been ironed out before we decide we’re ready to transition to CR.

Actually, if a document has been well handled under the new process, the last draft before CR should barely receive any comment, since everything that can reasonably be discovered other than by trying to implement and pass a test suite should have been addressed already.

In practice, I believe that most recent DoCs have integrated that, and often cover a period longer than just the last draft before CR. However, partly because of habits, and partly because of the tooling used to prepare these documents, they all claim to be about a particular draft.

That’s not helpful, and I think we should change that. Going forward, DoC should declare not which draft it covers, but which period of time, and give a short justification for the starting point.

I do not think it is particularly useful for the DoC to cover the early stages of a specification when the overall design is still in flux, as many comments are invalidated by large rewrites of important parts. Different specifications mature at different speeds, so I do not think there will be a universal answer for when DoCs should start. The FPWD is probably a good guideline, as it typically signals the point where there’s agreement in the Working Group about the general design and where we start ironing out the details.

As the W3C Process does not impose any particular form for these DoC, all we need to start is to agree to start writing DoC that way, and for tools like bikeshed and Lea’s (unnamed?) tool to support this new style.

Content Editable is a Scary Place

Once in a while, people want to make part of a web page editable. They hear about the HTML contentEditable attribute, and wonder if this may be a solved problem. It is not. It is a minefield.

Whole books could probably be written about this, but here’s a little primer about how things are today, why it is a hard problem, and how there’s hope that it is going to get better.

TL;DR: If you want to use contenteditable now, don’t do it directly and instead use a pre-made javascript editor, such as CKEditor, tiny MCE, and the like. If they don’t do what you want, and you need to do this yourself now, be prepared for a lot of pain, or for waiting for newer standards to stabilise, or both.

Now let’s dive in.

Contenteditable is an attempt at having a high level construct that would enable rich text editing in web pages, letting browsers do all the heavy lifting, and letting the user (via typing, keyboard shortcuts, contextual menus…) or the javascript (via invocations of execCommand) just ask for these things to happen.

There are a ton of entangled reasons why this is complex, but just to get a sense of it, here is a contrived example. You can try playing with it here but I encourage you to think through it before trying:

<div contenteditable=true>
	<table id=t1>
		<tr><td>lorem <td>ipusm <td>dolor
		<tr><td>si <td>amet <td>consectetur
		<tr><td>adipiscing <td>elit <td>Quisque
	</table>
	<table id=t2>
		<tr><td>elem <td>constur <td>sem <td>et <td>supit
		<tr><td>poror <td>faubus <td>tindunt <td>Pheus <td>aliam
		<tr><td>ecitur <td>pesque <td>Maenas <td>ex <td>liga
		<tr><td>soidin <td>codo <td>Mis <td>sotun <td>dissim
	</table>
</div>
<ol> <li>1 <li>2 <li>3 <li>4 <li>5 <li>6 <li>7 </ol>
table { border-collapse: collapse; }

#t1 td{
	background: red;
	font-family: serif
}

#t2 { border: dashed 5px gray; }
#t2 td {
	font-family: sans-serif;
	border: solid 1px black;
	font-weight: bold;
}
#t2 tr { background: #bbffbb; }
#t2 tr:nth-of-type(2n) { background: #ccccff; }
#t2 td:first-child { user-select: none; }

body > ol {
	font-family: monospace;
	border: dotted orange;
}

Got that? Now the user creates a selection that goes from the last cell of the last row of the first table to the second cell in the first row of the second table. Then they press “a” on the keyboard. Generally, selecting something and then typing means replacing the selection with what was typed, but in this case, what does that mean?

There’s a million subtleties like this, many of which don’t have an obvious correct answer, as it depends what you’re trying to do.

The end result is that browsers are full of bugs and are inconsistent with each other, that the specs (ContentEditableTrue and execCommand) don’t cover all the cases and aren’t followed particularly closely by the browsers anyway. Even if that was solved and everybody harmonised on one behaviour (which isn’t happening, as browsers have mostly given up), it still wouldn’t be good enough, because as a user maybe that harmonised behaviour is not the one you wanted, and now you want a separate method or way to opt into that alternative behavior.

So web-based editors (CKEditor, TinyMCE, google docs…) go to great lengths to work around contenteditable, instead of using it. For example they do live DOM diffing, to try and figure out what contenteditable did to the document and for what reason, undo it, and do it again in a different way.

So we come to plan B.

What people are working on now (with Johannes as a spec editor) is a completely different approach, where the browser does not do the heavy lifting, and instead, just provides events to inform a javascript based editor about what it is that the user is trying to do, and APIs to facilitate doing that.

Step 1 in that story (which is reasonably far along) is to make sure that everything that would cause a change in a contenteditable element fires a Javascript event before that change occurs, which:

Step 2 in that story is to provide multiple modes of contenteditable, where contenteditable=true is the one we know today, kept for legacy reasons, but other contenteditable=[something else than true or false] provide modes where all the events described in step 1 still fire, the insertion caret is still drawn, but depending on the mode, some of the events do not have a default action provided by the browser, and unless js reacts to them, nothing happens at all.

Specifying Legacy Features

I ran into an old article from Hixie that describes how he worked when specifying the drag and drop part of HTML. As I am working on specifying some legacy css features (like the user-select property or the appearance property), this felt really familiar.

Here’s how Hixie describes his approach:

I put my physicist training to use. As a scientist, you are supposed to approach problems using a simple process:

  1. Form a hypothesis that matches everything you know so far.
  2. Make some testable predictions using this hypothesis.
  3. Test reality to see if your predictions can be disproved.
  4. Repeat those steps until you can no longer find anything in reality that disagrees with what your hypothesis predicts.
  5. Publish your findings, along with all the data you collected, and the hypothesis you ended up with.
  6. Wait for someone to find a prediction that your hypothesis makes and which doesn’t match reality.
  7. Repeat the entire process.

When reverse-engineering a single implementation, this is a very sound way to proceed, and the number of times you have to run through step 3 is why is love jsbin so much these days.

However, there’s one important complication when what you’re trying to reverse-engineer and specify has not one, but several implementations. As you run steps 1–4, occasionally you find that some implementations match your predictions but that some others do not. Even though it shows that there not yet complete interoperability, the interesting thing is that this can sometimes be a good news.

If something has been in the market for a while with multiple implementations behaving interoperably, there’s a very good chance the web at large now depends on that specific behavior. That does not necessarily means web developers like the way it works. Maybe they do, or maybe the feature is terribly designed and they have to resolve to elaborate workarounds to get it to do what they want. But these workarounds are written, deployed, and depend on the behavior every browser agrees about and would likely break if they were to change.

When browsers do behave differently — assuming the difference is not limited to browsers with negligible market share — authors generally cannot rely on any particular behavior. So they don’t, and hardly any web site depends on browsers staying the same. This means we have an opportunity for making improvements.

If it’s some obscure detail of the feature that doesn’t really matter, it is sometimes just as well to document it as undefined behavior and move on. Getting every vendor to align on something is costly; it’s important to pick the right battles and not waste time on insignificant things. We can alway come back to it later anyway.

If it is some aspect of the feature that does matter, I get to take off my scientist hat and put on a more judgemental one: which the variants I’ve uncovered makes the most sense? Is there one that solves the problem better, or solves more problems, or fits better with how everything else works? Which one do I like best?

Occasionally, none of these disagreeing implementations is particularly good. Browser engineers are generally capable people but sometimes they’re in a hurry. Or maybe they came up with this years before other features which now conflict with their design were added. With the benefit of being able to learn from their mistakes, maybe I’ll be able to come up with something better.

Regardless of whether what I want to go with what one of the browsers did or something I made up, I still have to try to convince all the implementers that will need to change that this is the right thing to do. Although browser vendors can sometimes be uncooperative and just drag feet until others agree to match their implementations, they generally do want the best for the web and will try to accommodate each other.

It is also fairly common that these discussion will uncovered some aspect of the problem I had not yet noticed and throw me back either at the science lab to find out what is really happening or at the drawing board to come up with a better solution.

Having gone through many such cycles, the user-select property is now a hybrid that matches different browsers on different aspects. The lack of inheritance and behavior auto value are in line with Microsoft’s implementation. The none value on the other hand was superficially the same in all browsers but where they differed the specification now rules in favor of Firefox’s approach… And so on for various other parts of the feature.

Lettre ouverte à Axelle Lemaire sur le projet de loi Renseignement

Note to my non-French speaking readers: This is an open letter to the French Secretary of State for Digital Affairs Axelle Lemaire about a law facilitating mass surveillance.

Madame la Secrétaire d’État

J’ai voté pour vous lors des précédentes législatives. Votre action parlementaire m’avait conforté dans mon choix, et je me suis félicité de votre entrée au gouvernement. Le numérique est un enjeu sociétal et économique majeur, et vous me semblez avoir les compétences et les convictions idéales pour mener à bien cette mission.

Alors que le projet de loi renseignement vient de passer à l’assemblée nationale, je vous écrit aujourd’hui pour vous faire part de ma profonde déception. Déçu par la majorité qui soutient cette aberration. Déçu par l’Assemblée Nationale dont je ne sais si l’absentéisme s’explique par le manque de courage politique, ou par le manque de compréhension des enjeux. Déçu par le gouvernement, qui profite des tragiques événements de janvier pour justifier cette entorse à la liberté.

Déçu par vous: élue députée de ma circonscription en 2012, secrétaire nationale aux droits de l’homme du parti socialiste jusqu’à récemment, membre du gouvernement, vous incarnez les trois. Sur un sujet combinant numérique et liberté, on pouvait beaucoup attendre de vous. En vain.

Ce qu’Edward Snowden a révélé aurait dut être un avertissement, pas une source d’inspiration.

Je ne sais pas si vous vous êtes opposée à cette loi et avez échoué à faire valoir la raison, ou si défendiez vous-même cette loi liberticide, néfaste économiquement et inefficace en matière de sécurité. Peut-être est-ce dans l’esprit de la célèbre phrase de monsieur Chevènement que l’on ne vous a pas entendu vous opposer à ce projet, et que vous avez agi à l’interieur du gouvernement. Même si c’était le cas, je ne trouverais pas grand réconfort à voir le peu d’effet sur un dossier qui devrait être au cœur même de votre action.

Il n’est jamais trop tard pour bien faire, et j’espère que vous aurez la sagesse et la capacité de remettre le gouvernement dans le droit chemin, pour épargner à la France cette loi, qui bien au contraire de protéger notre république, lui donne plutôt de reflets orwelliens.