parlement 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. data/CHANGES +709 -0
  2. data/COPYING +223 -0
  3. data/README +20 -0
  4. data/Rakefile +136 -0
  5. data/app/controllers/account_controller.rb +181 -0
  6. data/app/controllers/application.rb +30 -0
  7. data/app/controllers/elt_controller.rb +83 -0
  8. data/app/helpers/account_helper.rb +2 -0
  9. data/app/helpers/application_helper.rb +4 -0
  10. data/app/helpers/elt_helper.rb +37 -0
  11. data/app/helpers/live_tree.rb +238 -0
  12. data/app/helpers/mailman.rb +96 -0
  13. data/app/models/attachment.rb +4 -0
  14. data/app/models/elt.rb +17 -0
  15. data/app/models/mail.rb +4 -0
  16. data/app/models/notifier.rb +13 -0
  17. data/app/models/person.rb +9 -0
  18. data/app/models/user.rb +7 -0
  19. data/app/models/user_notify.rb +75 -0
  20. data/app/views/account/_help.rhtml +23 -0
  21. data/app/views/account/_login.rhtml +57 -0
  22. data/app/views/account/_show.rhtml +31 -0
  23. data/app/views/account/logout.rhtml +10 -0
  24. data/app/views/account/signup.rhtml +17 -0
  25. data/app/views/account/welcome.rhtml +13 -0
  26. data/app/views/elt/_elt.rhtml +105 -0
  27. data/app/views/elt/_form.rhtml +31 -0
  28. data/app/views/elt/_list.rhtml +28 -0
  29. data/app/views/elt/new.rhtml +102 -0
  30. data/app/views/elt/rss.rxml +31 -0
  31. data/app/views/elt/show.rhtml +46 -0
  32. data/app/views/elt/show_tree.rhtml +8 -0
  33. data/app/views/layouts/scaffold.rhtml +13 -0
  34. data/app/views/layouts/top.rhtml +45 -0
  35. data/app/views/notifier/changeEmail.rhtml +10 -0
  36. data/config/boot.rb +17 -0
  37. data/config/database.yml +82 -0
  38. data/config/environment.rb +92 -0
  39. data/config/environments/development.rb +17 -0
  40. data/config/environments/production.rb +17 -0
  41. data/config/environments/test.rb +17 -0
  42. data/config/environments/user_environment.rb +1 -0
  43. data/config/routes.rb +28 -0
  44. data/db/ROOT/CV.txt +166 -0
  45. data/db/ROOT/IP.txt +3 -0
  46. data/db/ROOT/parleR.txt +3 -0
  47. data/db/ROOT/parlement/security.txt +34 -0
  48. data/db/ROOT/parlement/test.txt +4 -0
  49. data/db/ROOT/parlement.txt +51 -0
  50. data/db/ROOT/perso.txt +215 -0
  51. data/db/schema.sql +127 -0
  52. data/lib/data_import.rb +54 -0
  53. data/lib/file_column.rb +263 -0
  54. data/lib/file_column_helper.rb +45 -0
  55. data/lib/localization.rb +88 -0
  56. data/lib/localizer.rb +88 -0
  57. data/lib/login_system.rb +87 -0
  58. data/lib/rails_file_column.rb +19 -0
  59. data/lib/user_system.rb +101 -0
  60. data/public/404.html +8 -0
  61. data/public/500.html +8 -0
  62. data/public/dispatch.cgi +10 -0
  63. data/public/dispatch.fcgi +24 -0
  64. data/public/dispatch.rb +10 -0
  65. data/public/engine_files/README +5 -0
  66. data/public/engine_files/login_engine/stylesheets/login_engine.css +81 -0
  67. data/public/favicon.ico +0 -0
  68. data/public/favicon.png +0 -0
  69. data/public/images/live_tree_branch_collapsed_icon.gif +0 -0
  70. data/public/images/live_tree_branch_expanded_icon.gif +0 -0
  71. data/public/images/live_tree_leaf_icon.gif +0 -0
  72. data/public/images/live_tree_loading_spinner.gif +0 -0
  73. data/public/images/webfeed.gif +0 -0
  74. data/public/javascripts/controls.js +721 -0
  75. data/public/javascripts/dragdrop.js +519 -0
  76. data/public/javascripts/effects.js +992 -0
  77. data/public/javascripts/live_tree.js +749 -0
  78. data/public/javascripts/prototype.js +1726 -0
  79. data/public/javascripts/scriptaculous.js +47 -0
  80. data/public/javascripts/slider.js +258 -0
  81. data/public/oldREADME +190 -0
  82. data/public/oldindex.html +78 -0
  83. data/public/robots.txt +1 -0
  84. data/public/stylesheets/default.css +238 -0
  85. data/public/stylesheets/live_tree.css +62 -0
  86. data/public/stylesheets/scaffold.css +74 -0
  87. data/script/about +3 -0
  88. data/script/benchmarker +19 -0
  89. data/script/breakpointer +3 -0
  90. data/script/console +3 -0
  91. data/script/create_db +7 -0
  92. data/script/destroy +3 -0
  93. data/script/generate +3 -0
  94. data/script/performance/benchmarker +3 -0
  95. data/script/performance/profiler +3 -0
  96. data/script/plugin +3 -0
  97. data/script/process/reaper +3 -0
  98. data/script/process/spawner +3 -0
  99. data/script/process/spinner +3 -0
  100. data/script/profiler +34 -0
  101. data/script/runner +3 -0
  102. data/script/server +3 -0
  103. data/test/fixtures/attachments.yml +10 -0
  104. data/test/fixtures/elts.yml +15 -0
  105. data/test/fixtures/mails.yml +7 -0
  106. data/test/fixtures/people.yml +49 -0
  107. data/test/fixtures/users.yml +41 -0
  108. data/test/functional/account_controller_test.rb +239 -0
  109. data/test/functional/elt_controller_test.rb +18 -0
  110. data/test/mocks/test/time.rb +17 -0
  111. data/test/mocks/test/user_notify.rb +16 -0
  112. data/test/test_helper.rb +28 -0
  113. data/test/unit/attachment_test.rb +14 -0
  114. data/test/unit/elt_test.rb +14 -0
  115. data/test/unit/mail_test.rb +14 -0
  116. data/test/unit/notifier_test.rb +31 -0
  117. data/test/unit/person_test.rb +24 -0
  118. data/test/unit/user_test.rb +94 -0
  119. data/vendor/plugins/engines/CHANGELOG +7 -0
  120. data/vendor/plugins/engines/README +128 -0
  121. data/vendor/plugins/engines/init.rb +33 -0
  122. data/vendor/plugins/engines/lib/action_mailer_extensions.rb +160 -0
  123. data/vendor/plugins/engines/lib/action_view_extensions.rb +130 -0
  124. data/vendor/plugins/engines/lib/dependencies_extensions.rb +56 -0
  125. data/vendor/plugins/engines/lib/engines.rb +292 -0
  126. data/vendor/plugins/engines/lib/ruby_extensions.rb +127 -0
  127. data/vendor/plugins/engines/lib/testing_extensions.rb +33 -0
  128. data/vendor/plugins/engines/test/ruby_extensions_test.rb +94 -0
  129. data/vendor/plugins/login_engine/README +258 -0
  130. data/vendor/plugins/login_engine/app/controllers/user_controller.rb +248 -0
  131. data/vendor/plugins/login_engine/app/helpers/user_helper.rb +88 -0
  132. data/vendor/plugins/login_engine/app/models/user.rb +7 -0
  133. data/vendor/plugins/login_engine/app/models/user_notify.rb +75 -0
  134. data/vendor/plugins/login_engine/app/views/user/_edit.rhtml +11 -0
  135. data/vendor/plugins/login_engine/app/views/user/_password.rhtml +9 -0
  136. data/vendor/plugins/login_engine/app/views/user/change_password.rhtml +17 -0
  137. data/vendor/plugins/login_engine/app/views/user/edit.rhtml +23 -0
  138. data/vendor/plugins/login_engine/app/views/user/forgot_password.rhtml +18 -0
  139. data/vendor/plugins/login_engine/app/views/user/home.rhtml +7 -0
  140. data/vendor/plugins/login_engine/app/views/user/login.rhtml +17 -0
  141. data/vendor/plugins/login_engine/app/views/user/logout.rhtml +8 -0
  142. data/vendor/plugins/login_engine/app/views/user/signup.rhtml +17 -0
  143. data/vendor/plugins/login_engine/app/views/user_notify/change_password.rhtml +10 -0
  144. data/vendor/plugins/login_engine/app/views/user_notify/delete.rhtml +5 -0
  145. data/vendor/plugins/login_engine/app/views/user_notify/forgot_password.rhtml +11 -0
  146. data/vendor/plugins/login_engine/app/views/user_notify/pending_delete.rhtml +9 -0
  147. data/vendor/plugins/login_engine/app/views/user_notify/signup.rhtml +12 -0
  148. data/vendor/plugins/login_engine/db/schema.rb +25 -0
  149. data/vendor/plugins/login_engine/init_engine.rb +10 -0
  150. data/vendor/plugins/login_engine/lib/login_engine/authenticated_system.rb +107 -0
  151. data/vendor/plugins/login_engine/lib/login_engine/authenticated_user.rb +149 -0
  152. data/vendor/plugins/login_engine/lib/login_engine.rb +58 -0
  153. data/vendor/plugins/login_engine/public/stylesheets/login_engine.css +81 -0
  154. data/vendor/plugins/login_engine/tasks/tasks.rake +4 -0
  155. data/vendor/plugins/login_engine/test/fixtures/templates/users.yml +41 -0
  156. data/vendor/plugins/login_engine/test/fixtures/users.yml +41 -0
  157. data/vendor/plugins/login_engine/test/functional/user_controller_test.rb +533 -0
  158. data/vendor/plugins/login_engine/test/mocks/mail.rb +14 -0
  159. data/vendor/plugins/login_engine/test/mocks/time.rb +19 -0
  160. data/vendor/plugins/login_engine/test/test_helper.rb +15 -0
  161. data/vendor/plugins/login_engine/test/unit/user_test.rb +94 -0
  162. metadata +276 -0
data/config/routes.rb ADDED
@@ -0,0 +1,28 @@
1
+ ActionController::Routing::Routes.draw do |map|
2
+ # Add your own custom routes here.
3
+ # The priority is based upon order of creation: first created -> highest priority.
4
+
5
+ # Here's a sample route:
6
+ # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
7
+ # Keep in mind you can assign values other than :controller and :action
8
+
9
+ # You can have the root of your site routed by hooking up ''
10
+ # -- just remember to delete public/index.html.
11
+ # map.connect '', :controller => "welcome"
12
+
13
+ map.connect '', :controller => 'elt', :action => 'show', :id => 'parlement'
14
+ map.connect ':id', :controller => 'elt', :action => 'show', :id => 'parlement'
15
+ map.connect ':id/index.rss', :controller => 'elt', :action => 'rss'
16
+
17
+ map.connect 'perso/:id', :controller => 'elt'
18
+ map.connect 'perso/:id/index.rss', :controller => 'elt', :action => 'rss'
19
+ map.connect 'perso/blog/:id', :controller => 'elt'
20
+ map.connect 'perso/blog/:id/index.rss', :controller => 'elt', :action => 'rss'
21
+
22
+ # Allow downloading Web Service WSDL as a file with an extension
23
+ # instead of a file named 'wsdl'
24
+ #map.connect ':controller/service.wsdl', :action => 'wsdl'
25
+
26
+ # Install the default route as the lowest priority.
27
+ map.connect ':controller/:action/:id'
28
+ end
data/db/ROOT/CV.txt ADDED
@@ -0,0 +1,166 @@
1
+ Chef de projet, Architecte, J2EE, rails
2
+
3
+ <style>
4
+ body { text-align:left; }
5
+ br, .sidebar, .parent, .eltInfo { display:none; }
6
+ h1 {
7
+ padding-bottom:0px;
8
+ text-align:center; }
9
+ h2 {
10
+ text-transform:uppercase;
11
+ border-bottom:solid 2pt #333;
12
+ font-weight:bolder;
13
+ font-size:normal; }
14
+ h3 {
15
+ font-weight:bolder;
16
+ font-size:larger;
17
+ margin-left:1em; }
18
+ h1, h2, h3 { background:none; }
19
+ p { margin-left:2em; }
20
+ ul { margin-left:1em; }
21
+ .eltSubs { border:none; }
22
+
23
+ @media print {
24
+ html, body { border:none; padding:0px; margin:0px; }
25
+ a, a:link, a:visited, a:hover, a:active {
26
+ color:black;
27
+ text-decoration:none; }
28
+ }
29
+ </style>
30
+
31
+ !{float:right;margin-left:1em;}/images/image/20030520echarp.jpg!
32
+
33
+
34
+ <div style="text-align:center; margin-left:8em">
35
+ <div class="title">Emmanuel Charpentier</div>
36
+ <div>75015 Paris</div>
37
+ <div>N� en F�vrier 1973</div>
38
+ <div>email: emmanuel.charpentier@free.fr</div>
39
+ </div>
40
+
41
+ Prendre en charge depuis le d�but un projet ambitieux, le mener jusqu'� ses
42
+ utilisateurs.
43
+
44
+ Etre p�renne et ind�pendant avec les Logiciels Libres.
45
+
46
+ h2. Comp�tences
47
+
48
+ Langages : java, ruby, J2EE, XML/XSLT, SQL, UML.
49
+
50
+ Bases de donn�es : "PostgreSQL":http://www.postgresql.org,
51
+ "HsqlDB":http://hsqldb.org, "MySQL":http://www.mysql.com.
52
+
53
+ Frameworks : "Cocoon":http://cocoon.apache.org, "ruby on
54
+ rails":http://rubyonrails.org, "struts":http://struts.apache.org.
55
+
56
+ Logiciels : "JBoss":http://jboss.org, "JOnAS":http://jonas.objectweb.org,
57
+ "Tomcat":http://tomcat.apache.org, "Jetty":http://jetty.mortbay.org,
58
+ "Middlegen":http://boss.bekk.no/boss/middlegen/,
59
+ "XDoclet":http://xdoclet.sourceforge.net, "Ant":http://ant.apache.org,
60
+ "Docbook":http://www.docbook.org, "vi":http://vim.sourceforge.net,
61
+ "planner":http://planner.imendio.org.
62
+
63
+ Syst�me d'exploitation : gnu/Linux, "debian":http://debian.org.
64
+
65
+ Langue �trang�re : Anglais bilingue (Bac+4 en �cosse).
66
+
67
+
68
+ h2. Exp�rience professionnelle
69
+
70
+ h3. Chef de projet -- Editronics Education puis projet de cr�ation d'entreprise
71
+
72
+ D�cembre 2002 - Avril 2005
73
+
74
+ Conception, architecture et r�alisation du projet
75
+ "OpenCartable":http://ecolecolier.dyndns.org : un site web de m�diation
76
+ p�dagogique � destination des professeurs et de leurs �l�ves, et organis�
77
+ autour des manuels des �diteurs scolaires.
78
+
79
+ Condition notable: monter en charge jusqu'� 1 million d'utilisateurs,
80
+ l'�ducation nationale.
81
+
82
+ Participation � la conception fonctionnelle, d�finition de modules permettant
83
+ de diviser les fonctionnalit�s en �l�ments techniques ind�pendants.
84
+
85
+ Mise en place et gestion d'une �quipe de 6 personnes, organisation et
86
+ r�partition des t�ches, suivi et participation aux r�alisations. R�le de
87
+ d�veloppeur senior et de formateur.
88
+
89
+ Choix des outils: _java, cocoon, JBoss, PostgreSQL, XML/XSLT, DocBook, cvs_.
90
+ M�thode de d�veloppement dite "agile programming".
91
+
92
+ D�finition du format des manuels: xml DocBook enrichi du namespace LOM
93
+ (Learning Object Metadata).
94
+
95
+ Passage du projet en GPL et d�veloppement sur le GForge de l'adullact � partir
96
+ de 2004.
97
+
98
+ h3. D�veloppeur -- "Soft and Com":http://www.soft-and-com.fr
99
+
100
+ Novembre 2004 - D�cembre 2004
101
+
102
+ Prise en charge d'un projet web EDI (Electronic Data Interchange) permettant
103
+ aux constructeurs et fournisseurs automobiles de g�rer leurs �changes de
104
+ pi�ces. Cycle complet commande-livraison-facture.
105
+
106
+ _java, cocoon, HsqlDB, PostgreSQL, XML/XSLT, svn_
107
+
108
+ h3. Auditeur -- "Apog�e Communications":http://www.colt-telecom.fr
109
+
110
+ Novembre 2003 - D�cembre 2003
111
+
112
+ Audit de s�curit� sur une application bancaire. Analyse de l'environnement, du
113
+ serveur applicatif et de librairies d'encryption. _java, WebMethods_
114
+
115
+ h3. Consultant, chef de projet -- "Alcove":http://www.alcove.com
116
+
117
+ Mars 2001 - Novembre 2002
118
+
119
+ * D�buts sur le projet i-cart@ble (devenu OpenCartable) comme chef de projet d'une �quipe Alcove. Reprise du fonctionnel du projet i-m@nuel, en le reconstruisant autour de logiciels libres
120
+ * Formations et pr�sentations _java/J2EE/XML_, notamment � LinuxExpo (http://emmanuel.charpentier.free.fr/FreeJ2EE/)
121
+ * Audit de s�curit� d'une application web bancaire (_vignette, tcl/tk_).
122
+ * R�ponses � appels d'offres, support aux commerciaux
123
+
124
+ h3. Projet personnel -- "VeniVidiVoti":http://sf.net/projects/vvv
125
+
126
+ Novembre 2000 - F�vrier 2001
127
+
128
+ Site web d'�criture collaborative.
129
+
130
+ Moteur d'un outil permettant � un groupe d'utilisateurs d'�crire
131
+ d�mocratiquement presque tout type de texte structur�. M�lange de d�mocratie
132
+ directe et repr�sentative.
133
+
134
+ _java, JBoss, Cocoon, PostgreSQL, XML/XSLT, cvs_
135
+
136
+ h3. D�veloppeur, Chef de projet technique -- Fi System
137
+
138
+ Juin 1999 - Octobre 2000
139
+
140
+ * InfoVista: prise en charge de la g�n�ration de rapports synth�tisant les donn�es recueillies par les logiciels de cet �diteur. _jsp, XML_
141
+ * Renault: conception et r�alisation de l'intranet de gestion du parc v�hiculaires. _jsp, WebSphere, Oracle_
142
+ * France T�l�com: r�alisation du site de prise de commandes pour les entreprises. _jsp, base de donn�es objet_
143
+
144
+ h3. D�veloppeur -- Altran Technologies
145
+
146
+ Janvier 1998 - Mai 1999
147
+
148
+ * IDMatics (Thomson): analyse et r�alisation des modules de consultation et contr�le qualit� d'un syst�me de production de permis de conduire. _WinDev_
149
+ * Bouygues: passage � l'euro du syst�me de gestion. Cr�ation d'une calculatrice/convertisseur graphique. _C++, MFC, SQL Serveur_
150
+ * General Electric Medical Systems: sp�cifications et d�veloppement d'�volutions de la plate-forme de supervision d'un syst�me � rayons X. _PLM, temps r�el_
151
+ * Noos: d�veloppement d'un module de remise clients li� � une base de donn�es de grand volume. _Oracle, PL/SQL_
152
+ * Syseca (Thomson): d�veloppement d'un serveur de situation temps r�el (enregistrement/playback des donn�es) d'un syst�me de commandement H24. _C++, OMT_
153
+
154
+
155
+ h2. Formation
156
+
157
+ h3. 1997 -- Ing�nieur en Informatique
158
+
159
+ "UTBM":http://www.utbm.fr (Belfort, France). Sp�cialisation en ing�nierie des
160
+ logiciels et de la connaissance.
161
+
162
+ h3. 1995 -- Ing�nieur en M�canique
163
+
164
+ "Strathclyde University":http://www.strath.ac.uk (Glasgow, Ecosse).
165
+ Sp�cialisation en thermodynamique et m�canique des fluides.
166
+
data/db/ROOT/IP.txt ADDED
@@ -0,0 +1,3 @@
1
+ Interesting people
2
+
3
+ http://www.interesting-people.org/archives/
@@ -0,0 +1,3 @@
1
+ parleR
2
+
3
+
@@ -0,0 +1,34 @@
1
+ Security
2
+
3
+ Of course a large scale Direct Democracy relying on electrons is difficult to
4
+ accept, due to one very valid reason: we can't trust internet.
5
+
6
+ It is so easy to change rules, to break into systems, to subvert data, how,
7
+ why? Can we ever use it for such an important things as politics?
8
+
9
+ There is a way, a simple one relying on three elements:
10
+ * p2p servers
11
+ * pgp signatures
12
+ * electoral lists
13
+
14
+ Anybody can setup a server that replicate the data of other servers.
15
+
16
+ When you cast a vote you sign it with your private key.
17
+
18
+ Anybody can setup electoral lists that contain public keys.
19
+
20
+
21
+ There you have it. Basic isn't it? Of course all data is totally transparent,
22
+ to the point of being replicated among any number of servers. No anonimity (in
23
+ the basic and simplest setup).
24
+
25
+ pgp signatures being what they are, can not be subverted (nowadays and in the
26
+ near future), thus the votes can take any path available to them. They can be
27
+ cast from any server. But to be sure that one's vote is not simply erased from
28
+ that first node, it is recommended to check that it has been replicated to few
29
+ other ones. Or better, to send it directly to different servers.
30
+
31
+ There can be any number of participants, votes, issues, but at the end of the
32
+ day the results are calculated using one electoral list and on one server.
33
+ Everybody can check if thoses results are valid or not.
34
+
@@ -0,0 +1,4 @@
1
+ Testing
2
+
3
+ You can do anything you want here. Have fun!
4
+
@@ -0,0 +1,51 @@
1
+ Parlement
2
+
3
+ Traditionally, our political lives are organised with the rule of the three
4
+ unities: unity of time, unity of place and unity of object. It's a principle
5
+ taking its roots in ancient Greece, and it certainly contributes to the awe we
6
+ can feel when comes election day. But it is also a limitation...
7
+
8
+ <div style="float:left;">
9
+
10
+ In the physical world we vote on:
11
+
12
+ * one day
13
+ * one place
14
+ * one issue
15
+
16
+ </div>
17
+
18
+ <div style="float:left;margin-top:3em;margin-right:3em;margin-bottom:1em">
19
+
20
+ =>
21
+
22
+ </div>
23
+
24
+ In Internet we can vote:
25
+
26
+ * any time
27
+ * any where
28
+ * any issue
29
+
30
+ It is us, individuals, citizens, who choose what we want to do.
31
+
32
+ These three freedom have consequences, for example if you can vote anytime, you
33
+ can probably also _change your vote_. There is also no need to have dates and
34
+ agendas (except when outside conditions require it).
35
+
36
+ If you can vote on any issue, then why not allow _everybody to propose polls_?
37
+ Their number growing, then _delegating_ your votes become a very useful
38
+ feature, allowing you to concentrate on the parts that interest you the most,
39
+ while adding your voice to someone you trust on other matters.
40
+
41
+ If you can vote from anywhere, then you can vote in front of anybody, this
42
+ means _vote selling_ is a possibility. It is not anti democratic, it's a
43
+ feature. A feature that, yes, could result into an oligarchy, it all depends
44
+ on the value of our votes.
45
+
46
+
47
+ You can use the basic part of the system right now (no mailing list or chat, no
48
+ vote, no delegation, no signatures, no electoral list). Just click on the
49
+ *more* links to drill down into the available elements. Click on the *>>* links
50
+ to propose new sub elements.
51
+
data/db/ROOT/perso.txt ADDED
@@ -0,0 +1,215 @@
1
+ echarp / manu
2
+
3
+ <style>
4
+ .eltSub { display:none; }
5
+ </style>
6
+
7
+ <div class="sidebar" style="clear:right">
8
+ <div class="box">
9
+ <div class="boxTitle">Amis et famille</div>
10
+ <div class="boxLine">
11
+ Fr�rot <a href="http://www.christhalie.free.fr">christophe</a>,et des
12
+ <a href="http://www.motorun.net">motos!</a>
13
+ </div>
14
+ <div class="boxLine">
15
+ <a href="http://www.copinedegeek.org">Copine De Geek</a>
16
+ </div>
17
+ <div class="boxLine"><a href="http://www.paulhac.org">Coralie</a></div>
18
+ <div class="boxLine">
19
+ <a href="http://inferno.cs.univ-paris8.fr/~naoko/">naoko</a>
20
+ </div>
21
+ <div class="boxLine">
22
+ <a href="http://perso.club-internet.fr/olberger">Olivier Berger</a>
23
+ </div>
24
+ <div class="boxLine">
25
+ <a href="http://jf.hardy.free.fr">JF Hardy</a>
26
+ </div>
27
+ </div>
28
+
29
+ <div class="box">
30
+ <div class="boxTitle">Un ptit peu de logiciels libres</div>
31
+ <a href="http://www.fsf.org">FSF</a>
32
+ <a href="http://april.org">APRIL</a>
33
+ <a href="http://debian.org">debian</a> <a href="http://cocoon.apache.org">Cocoon</a>
34
+ <a href="http://postgresql.org">PostgreSQL</a>
35
+ <a href="http://jboss.org">JBoss</a>
36
+ <a href="http://vim.sf.net">VIM</a>
37
+ <a href="http://web.wt.net/~billw/gkrellm/gkrellm.html">GKrellm</a>
38
+ <a href="http://slashdot.org">/.</a> <a href="http://linuxfr.org">linuxFr</a>
39
+ <a href="http://kuro5hin.org">kuro5hin</a> <a href="http://javalobby.org">javalobby</a>
40
+ </div>
41
+
42
+ <div class="box">
43
+ <div class="boxTitle">Int�ressants</div>
44
+ <div class="boxLineR">
45
+ <a href="http://www.radioparadise.com">Radio Paradise</a>
46
+ </div>
47
+ <div class="boxLine"><a href="http://wikipedia.org">Wikipedia</a></div>
48
+ <div class="boxLine">
49
+ <a href="http://ocw.mit.edu">MIT OpenCourseWare</a>
50
+ </div>
51
+ <div class="boxLine">
52
+ <a href="http://www.edge.org/3rd_culture/bios/dawkins.html" title="vive l'�volution">
53
+ Richard Dawkins</a>
54
+ </div>
55
+ <div class="boxLine" title="Un intello de premi�re">
56
+ Noam Chomsky
57
+ <a href="http://www.zmag.org/chomsky/index.cfm">archive</a>
58
+ &amp;
59
+ <a href="http://blog.zmag.org/ttt/">blog</a>
60
+ </div>
61
+ <div class="boxLine">
62
+ <a href="http://old.law.columbia.edu" title="loi et logiciel libre">
63
+ Eben Moglen</a>
64
+ </div>
65
+ </div>
66
+
67
+ <div class="box">
68
+ <div class="boxTitle">De mon histoire</div>
69
+ <div class="boxLine">
70
+ <a href="http://www.editronics-edu.fr" title="liquid�">Editronics</a>
71
+ </div>
72
+ <div class="boxLine">
73
+ <a href="http://www.alcove.com" title="liquid�">Alc�ve</a>
74
+ </div>
75
+ <div class="boxLine">
76
+ <a href="http://www.fisystem.com" title="liquid�">Fi System</a>
77
+ </div>
78
+ <div class="boxLine">
79
+ <a href="http://www.altran.net">Altran</a>
80
+ </div>
81
+ <div class="boxLine">
82
+ <a href="http://www-iasc.enst-bretagne.fr" title="la Bretagne �a me gagne :)">LIASC</a>
83
+ </div>
84
+ <div class="boxLine">
85
+ <a href="http://www.utbm.fr" title="Brrr, qu'il fait froid � belfort">
86
+ UTBM</a>
87
+ </div>
88
+ <div class="boxLine">
89
+ <a href="http://www.eso.org/projects/vlt/" title="Very Large Telescope, je suis fier d'y avoir particip�">
90
+ VLT</a>
91
+ </div>
92
+ <div class="boxLine">
93
+ <a href="http://www.cge.asso.fr/ecoles/ECOLE32.phtml">
94
+ ENI de Tarbes</a>
95
+ </div>
96
+ <div class="boxLine">
97
+ <a href="http://www.strath.ac.uk" title="Vive l'�cosse!!!">
98
+ Strathclyde University</a>
99
+ </div>
100
+ <div class="boxLine">
101
+ <a href="http://www.tourisme.fr/office-de-tourisme/moncontour.htm" title="... son lac et sa tour">
102
+ Moncontour</a>
103
+ </div>
104
+ <div class="boxLine" title="Trop petit pour un lien, et pourtant c'�tait le grand Vatres">
105
+ Vatres
106
+ </div>
107
+ </div>
108
+ </div>
109
+
110
+ !{width:10em;float:right;margin:1em;}/images/image/viveLeSki.jpg!:/images/image/viveLeSki.jpg
111
+
112
+ Bonjour le monde
113
+
114
+ Je suis un parisien d'origine paysanne. Cru 1973 et �lev� dans une bonne ferme
115
+ pleine de poules et de ch�vres. Quand j'�tais petit, et c'est m�me pas une
116
+ blague, il m'arrivait d'aller garder les biquettes dans les pr�s et les
117
+ chemins. Autant vous dire que j'�tais un grand fan d'heidi!
118
+
119
+ Dans les faits j'ai trahi mes origines, et je suis devenu un intello qui aime
120
+ se prendre la t�te sur toutes de sujets. Genre la politique, philosophie,
121
+ science fiction hard.
122
+
123
+ En 1997 j'ai imagin� une chose qui me tient � coeur, un outil d'�criture
124
+ collaborative o� un groupe peut �crire n'importe quel genre de texte structur�
125
+ de mani�re d�mocratique.
126
+
127
+ !{width:10em;float:left;margin:1em;}/images/image/echarp.jpg!:/images/image/echarp.jpg
128
+
129
+ L'id�e est simple (si si), c'est un mix de d�mocratie participative et
130
+ repr�sentative: proposer des �l�ments de texte, voter oui/non pour chaque
131
+ �l�ment propos� (�a c'est de la d�mocratie participative) ou encore d�l�guer
132
+ votre vote � un tiers (d�mocratie repr�sentative). Votre d�l�gu� peut lui m�me
133
+ d�l�guer � un autre, c'est transitif (et tr�s compliqu� en cas de boucle). Les
134
+ votes sont permanents, c'est � dire que l'on peut changer d'avis � tout moment.
135
+ Cette permanence r�duit grandement l'int�r�t des diff�rentes m�thodes de votes
136
+ comme condorcet ou par tour.
137
+
138
+ Ah, l'outil s'appelle "VeniVidiVoti":http://echarp.dyndns.org, oui oui, le nom
139
+ est idiot expr�s :)
140
+
141
+ Pour moi ces projets sont importants, car cela fait partie de ma nature:
142
+ j'adore construire, imaginer. D�j� tout petit je faisais plein de trucs
143
+ inutilies avec des l�gos. Comme quoi avec les ann�es on ne change pas tant que
144
+ �a...
145
+
146
+ <pre style="float:left">
147
+
148
+ \ | /
149
+ |
150
+ ___
151
+ \ /
152
+ \_|_/
153
+ \ | /
154
+ </pre>
155
+ <pre style="float:left">
156
+
157
+ \ | /
158
+ |
159
+ ___
160
+ \ /
161
+ .
162
+ </pre>
163
+
164
+ Les deux figures bizarres � gauche sont le clavier d'un alphabet imaginaire. Je
165
+ l'appelle smile :)
166
+
167
+ Cela consiste en six traits qui forment un carr� et ses diagonales. Six carr�s
168
+ forment les six faces d'un cube. En vue isom�trique cela donne deux hexagones.
169
+
170
+ !{float:right; margin-left:1em; width:6em;}/images/image/smileCircles.png!:/images/image/smileCircles.png
171
+
172
+ Mais bon, c'est bien gentil d'avoir des mots qui peuvent �tre repr�sent�s en 3D
173
+ ou sous des projections �tranges, mais je n'ai aucune s�mantique � leur
174
+ appliquer... Pourtant il y a plein de combinaisons/mots possibles! Si vous avez
175
+ une id�e appelez moi!
176
+
177
+ Euh, sinon je tiens � ajouter une chose pour toutes les femmes qui passent ici:
178
+ je suis grand, b�, fort, riche et tr�s intelligent. Et puis modeste bien s�r.
179
+ J'ai �t� �lev� au grand air, � la ferme. Je suis facile � vivre et fr�le la
180
+ !{width:13em; float:right; margin:1em;}/images/image/cheveuxLongs.jpg!:/images/image/cheveuxLongs.jpg
181
+ perfection en tout. Pour entretenir mon corps de dieu grec je fais de la
182
+ piscine, et puis je poss�de des rollers (les salauds, ils ne sortent plus
183
+ depuis qq temps d�j�).
184
+
185
+ Ma photo en ski c'est pour la frime. En 93 je me suis lux� l'�paule en
186
+ descendant une rouge (je le savais bien, moi, qu'il fallait pas prendre une
187
+ rouge d�s le premier jour, d�s la premi�re descente). En 2003 je me suis relux�
188
+ l'�paule (quand on aime on ne compte pas), mais cette fois-ci en poursuivant le
189
+ m�tro. Salopris de gr�ves et de sol mouill�!!! Bref en 2004 j'�tais heureux de
190
+ constater ma capacit� � vraiment faire du ski, du vrai de vrai qu'on tombe et
191
+ tout et tout, mais qu'on aime �a.
192
+
193
+ !{float:left; margin:1em;}/images/image/cdgRomanPhoto.jpg!:http://copinedegeek.com
194
+ Les informaticiens qui aiment ce qu'ils font sont parfois appel�s des geeks. Et
195
+ parce que c'est une situation insupportable les copines de geeks se sont
196
+ r�unies en une "association":http://copinedegeek.com o� elles peuvent se r�unir
197
+ et �changer. Enfin surtout se moquer de leurs amis.
198
+
199
+ Voil� un roman photo idiot o� j'�tais heureux de participer: "le geek qui
200
+ murmurait � l'oreille des PC".
201
+
202
+ !{width:15em; float:right; margin:1em;}/images/image/capture.png!:/images/image/capture.png
203
+ Pour le fun et vous montrer ce qu'est un geek, voici mon bureau. Je suis dessus
204
+ une large partie de mes journ�es.
205
+
206
+ Vous pouvez voir un navigateur (galeon bas� sur mozilla), gkrellm qui me permet
207
+ de suivre l'�tat de mes ordinateurs (3 en ce moment), 3 terminaux avec irssi
208
+ pour le chat, vim pour �diter ce texte, et xtail pour suivre l'�tat de mon
209
+ serveur de d�veloppement.
210
+
211
+ En haut � droite c'est un xplanet avec la couverture nuageuse du moment.
212
+
213
+ Bon, je parlerai de politique une prochaine fois ;)
214
+
215
+ Bye bye
data/db/schema.sql ADDED
@@ -0,0 +1,127 @@
1
+ --
2
+ -- PostgreSQL database dump
3
+ --
4
+
5
+ -- http://www.postgresql.org/docs/8.0/interactive/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED
6
+ SET client_encoding = 'UNICODE';
7
+ --SET client_encoding = 'LATIN9';
8
+
9
+ DROP DATABASE parlement_development;
10
+
11
+ --
12
+ -- TOC entry 2 (OID 0)
13
+ -- Name: parlement_development; Type: DATABASE; Schema: -; Owner: manu
14
+ --
15
+ CREATE DATABASE parlement_development
16
+ WITH TEMPLATE = template0 ENCODING = 'UNICODE';
17
+ -- WITH TEMPLATE = template0 ENCODING = 'LATIN9';
18
+
19
+ \connect parlement_development manu
20
+
21
+
22
+ CREATE SEQUENCE people_id_seq;
23
+ CREATE TABLE people (
24
+ id text PRIMARY KEY default nextval('public.people_id_seq'),
25
+ created_on timestamp with time zone NOT NULL DEFAULT now(),
26
+ name TEXT UNIQUE,
27
+ email text
28
+ );
29
+
30
+ INSERT INTO people (id, name, email)
31
+ VALUES (0, 'echarp', 'manu@noos.fr');
32
+
33
+ --CREATE TABLE "users" (
34
+ -- id SERIAL PRIMARY KEY,
35
+ -- created_on timestamp with time zone NOT NULL DEFAULT now(),
36
+ -- person_id text NOT NULL UNIQUE REFERENCES people,
37
+ -- password text
38
+ --) WITH OIDS;
39
+
40
+ CREATE TABLE "usersold" (
41
+ id SERIAL PRIMARY KEY,
42
+ person_id text NOT NULL UNIQUE REFERENCES people,
43
+ salted_password text,
44
+ salt text,
45
+ verified INT default 0,
46
+ new_email text,
47
+ security_token text default NULL
48
+ ) WITH OIDS;
49
+
50
+
51
+ CREATE TABLE "users" (
52
+ id SERIAL PRIMARY KEY,
53
+ login TEXT NOT NULL REFERENCES people(name),
54
+ salted_password VARCHAR(40) NOT NULL,
55
+ email VARCHAR(60),
56
+ firstname VARCHAR(40),
57
+ lastname VARCHAR(40),
58
+ salt CHAR(40) NOT NULL,
59
+ verified INT default 0,
60
+ role VARCHAR(40) default NULL,
61
+ security_token CHAR(40) default NULL,
62
+ token_expiry TIMESTAMP default NULL,
63
+ deleted INT default 0,
64
+ delete_after TIMESTAMP default NULL
65
+ ) WITH OIDS;
66
+
67
+
68
+ --INSERT INTO users (id, login, email, salted_password)
69
+ --VALUES (0, 'echarp', 'manu@echarp.org', '5640f07556079f0f2259f9ad12c6758515dedf94');
70
+
71
+
72
+ CREATE SEQUENCE elts_id_seq;
73
+ CREATE TABLE elts (
74
+ id text PRIMARY KEY default nextval('public.elts_id_seq'),
75
+ parent_id text REFERENCES elts,
76
+ position float,
77
+ created_on timestamp with time zone NOT NULL DEFAULT now(),
78
+ person_id text REFERENCES people,
79
+ subject text,
80
+ body text
81
+ );
82
+
83
+ INSERT INTO elts (id, subject) VALUES ('ROOT', '');
84
+
85
+ CREATE SEQUENCE mails_id_seq;
86
+ CREATE TABLE mails (
87
+ id text PRIMARY KEY default nextval('public.mails_id_seq'),
88
+ elt_id text NOT NULL REFERENCES elts,
89
+ message text,
90
+ mail_parents text,
91
+ file text
92
+ );
93
+
94
+ CREATE SEQUENCE attachments_id_seq;
95
+ CREATE TABLE attachments (
96
+ id text PRIMARY KEY default nextval('attachments_id_seq'),
97
+ elt_id text NOT NULL REFERENCES elts,
98
+ created_on timestamp with time zone NOT NULL DEFAULT now(),
99
+ content_type text,
100
+ file text
101
+ );
102
+
103
+ CREATE SEQUENCE subscribers_id_seq;
104
+ CREATE TABLE subscribers (
105
+ id text PRIMARY KEY default nextval('public.subscribers_id_seq'),
106
+ elt_id text NOT NULL REFERENCES elts,
107
+ email text,
108
+ confirmed boolean NOT NULL default false
109
+ );
110
+
111
+ INSERT INTO subscribers(elt_id, email, confirmed)
112
+ VALUES ('ROOT', 'manu', true);
113
+
114
+ CREATE TABLE choices (
115
+ elt_id text NOT NULL REFERENCES elts,
116
+ person_id text NOT NULL REFERENCES people,
117
+ PRIMARY KEY (elt_id, person_id)
118
+ );
119
+
120
+ CREATE TABLE delegations (
121
+ elt_id text NOT NULL REFERENCES elts,
122
+ person_id text NOT NULL REFERENCES people,
123
+ temporary boolean NOT NULL DEFAULT false,
124
+ delegate_to text NOT NULL REFERENCES people,
125
+ PRIMARY KEY (elt_id, person_id)
126
+ );
127
+