parlement 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+