From 7ade6a3495cd5c74c964df5ed794e110e770ed9d Mon Sep 17 00:00:00 2001 From: Greg Burri <greg.burri@gmail.com> Date: Sat, 28 Jun 2008 23:09:58 +0000 Subject: [PATCH] =?utf8?q?ADD=20avancement=20sur=20la=20possibilit=C3=A9?= =?utf8?q?=20de=20r=C3=A9duire=20une=20conversation=20(pas=20fini)=20ADD?= =?utf8?q?=20possibitlit=C3=A9=20de=20montrer=20de=20mani=C3=A8re=20ostent?= =?utf8?q?atoire=20que=20l'on=20est=20un=20ekMaster=20(pour=20Bernie)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- css/1/euphorik.css | 3 + css/1/pageMinichat.css | 9 +- doc/TODO.txt | 7 + doc/graphiques/maquette_1.svg | 1037 ++++++++++++++++------------ doc/protocole3.txt | 13 +- img/css1/logo_ek_master.png | Bin 0 -> 16975 bytes img/css1/marque_ek.png | Bin 0 -> 657 bytes index.yaws | 13 +- js/euphorik.js | 23 +- js/pageMinichat.js | 11 +- js/pageProfile.js | 243 ++++--- modules/erl/euphorik_bd.erl | 20 +- modules/erl/euphorik_bd_update.erl | 2 +- modules/erl/euphorik_daemon.erl | 85 +-- modules/erl/euphorik_protocole.erl | 58 +- modules/include/euphorik_bd.hrl | 3 +- nbproject/private/private.xml | 4 +- 17 files changed, 889 insertions(+), 642 deletions(-) create mode 100644 img/css1/logo_ek_master.png create mode 100644 img/css1/marque_ek.png diff --git a/css/1/euphorik.css b/css/1/euphorik.css index 5964a11..fa02cc0 100755 --- a/css/1/euphorik.css +++ b/css/1/euphorik.css @@ -107,6 +107,9 @@ ul#menu { height: 129px; position: absolute; } +#logo.ekMaster { + background-image: url(../../img/css1/logo_ek_master.png); +} /***** Le pied de page *****/ #footer { diff --git a/css/1/pageMinichat.css b/css/1/pageMinichat.css index faea35d..a352ff9 100755 --- a/css/1/pageMinichat.css +++ b/css/1/pageMinichat.css @@ -285,9 +285,16 @@ margin-right: 2px; font-weight: bold; } -#page.minichat div.message.ekMaster .pseudo { +#page.minichat div.message.ekMasterlight .pseudo { color: #f0df95 } + +#page.minichat div.message.ekMasterheavy .pseudo { + color: #fcd82f; + padding-left: 14px; + background: transparent url(../../img/css1/marque_ek.png) no-repeat scroll left center +} + #page.minichat div.message .pseudo .login { margin-left: 2px; font-size: 8px; diff --git a/doc/TODO.txt b/doc/TODO.txt index e54439d..c619c39 100755 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -1,6 +1,9 @@ == TODO == === v1.1 === +* adapter au protocole pour envoyer les infos concernant les réductions des conversations +* étudier la solution SVG et le calcul de pourcentage pour la largeur des fenêtres +* un clic sur le nombre de message auquel le user répond enlève tous les mess * Gestion de l'historique au niveau du navigateur (pouvoir revenir aux pages précédentes). Utiliser un plugin jQuery si possible. Voir du coté des ancres (fragment d'url) : #ancre. * http://www.euphorik.ch/#page=chat * Revoir le système de conversation : @@ -13,10 +16,12 @@ * un bouton "créer lien" * un bouton "fermer" * Possibilité de fermer temporairement une conversation (la réduire sous la forme d'un onglet) + * etre averti lorsqu'un nouveau message arrive dans une conversation réduite * lien vers une conversation : http://www.euphorik.ch/#conv=45 * Mettre un icon (genre sablier ou truc qui tourne à la apple) lorsque le chat se charge (également lors d'un changement de page par exemple) * L'icon apparait tout en haut (absolute) * Simuler un réseau lent +* supprimer le cookie si le client n'arrive pas à s'authentifier avec (réponse négative du serveur) * Avoir une option dans le profile pour montrer son rang (ekMaster) de manière ostantatoire, discret ou caché * Mise à jour automatique de la version dans le about en fonction du tag/branche courant (lors de la mise en production) ? * Tests de monter en charge coté serveur, analyse de la complexité (regarder du coté des TODO dans le code). Utiliser eventuellement Tsung @@ -25,6 +30,8 @@ * Pouvoir récupérer son mdp (ou en générer unhttp://www.euphorik.ch/ autre) via son email. Marquer dans le profile que l'email sert à cela et n'est pas visible pas les autres personnes * (Pouvoir inverser le chat) tester la faisabilité === v1.2 === +* option dans le profile pour ouvrir les liens dans un nouveau tab +* Pouvoir auto répondre à une conversation * Possibilité d'ajouter des messages dans son profil * Les messages sont soient publics soient privées (Par défaut privées) * Un bouton "+" se trouve à coté de chaque message afin de pouvoir l'ajouter dans son profil diff --git a/doc/graphiques/maquette_1.svg b/doc/graphiques/maquette_1.svg index 3f930d9..f1ba88e 100644 --- a/doc/graphiques/maquette_1.svg +++ b/doc/graphiques/maquette_1.svg @@ -6,6 +6,7 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="744.09448819" @@ -15,93 +16,147 @@ inkscape:version="0.46" sodipodi:docname="maquette_1.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-filename="/tmp/plop.png" inkscape:export-xdpi="138.63565" inkscape:export-ydpi="138.63565"> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.0000001" + inkscape:cx="261.23852" + inkscape:cy="932.02611" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1280" + inkscape:window-height="800" + inkscape:window-x="0" + inkscape:window-y="0" + showguides="true" + inkscape:guide-bbox="true" /> <defs id="defs4"> + <linearGradient + id="linearGradient3523" + inkscape:collect="always"> + <stop + id="stop3525" + offset="0" + style="stop-color:#f5f352;stop-opacity:1" /> + <stop + id="stop3527" + offset="1" + style="stop-color:#605108;stop-opacity:1" /> + </linearGradient> + <linearGradient + id="linearGradient3631" + inkscape:collect="always"> + <stop + id="stop3633" + offset="0" + style="stop-color:#f0ed10;stop-opacity:1" /> + <stop + id="stop3635" + offset="1" + style="stop-color:#dc9c0e;stop-opacity:1" /> + </linearGradient> + <inkscape:path-effect + prop_scale="1" + bendpath="M 99.672,149.65 L 102.942,149.65 " + id="path-effect3449" + effect="bend_path" /> <linearGradient id="linearGradient3254"> <stop - style="stop-color:#e36a6a;stop-opacity:1;" + id="stop3256" offset="0" - id="stop3256" /> + style="stop-color:#e36a6a;stop-opacity:1;" /> <stop - style="stop-color:#7e1818;stop-opacity:1;" + id="stop3258" offset="1" - id="stop3258" /> + style="stop-color:#7e1818;stop-opacity:1;" /> </linearGradient> <linearGradient id="linearGradient3226"> <stop - style="stop-color:#767676;stop-opacity:1;" + id="stop3228" offset="0" - id="stop3228" /> + style="stop-color:#767676;stop-opacity:1;" /> <stop - style="stop-color:#801f1f;stop-opacity:1;" + id="stop3230" offset="1" - id="stop3230" /> + style="stop-color:#801f1f;stop-opacity:1;" /> </linearGradient> <linearGradient id="linearGradient3478"> <stop - style="stop-color:#e19671;stop-opacity:1;" + id="stop3480" offset="0" - id="stop3480" /> + style="stop-color:#e19671;stop-opacity:1;" /> <stop - style="stop-color:#e19671;stop-opacity:0;" + id="stop3482" offset="1" - id="stop3482" /> + style="stop-color:#e19671;stop-opacity:0;" /> </linearGradient> <linearGradient id="linearGradient3208"> <stop - style="stop-color:#00009d;stop-opacity:1;" + id="stop3210" offset="0" - id="stop3210" /> + style="stop-color:#00009d;stop-opacity:1;" /> <stop - style="stop-color:#00009d;stop-opacity:0;" + id="stop3212" offset="1" - id="stop3212" /> + style="stop-color:#00009d;stop-opacity:0;" /> </linearGradient> <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="88.276247 : 1210.1869 : 1" + id="perspective10" + inkscape:persp3d-origin="-322.68963 : 976.74039 : 1" + inkscape:vp_z="-643.35895 : 565.56696 : 1" inkscape:vp_y="553.72929 : -450.20981 : 0" - inkscape:vp_z="-747.30364 : 545.76797 : 1" - inkscape:persp3d-origin="-426.63432 : 956.9414 : 1" - id="perspective10" /> + inkscape:vp_x="192.22094 : 1229.9859 : 1" + sodipodi:type="inkscape:persp3d" /> <filter - inkscape:collect="always" - id="filter5374"> + id="filter5374" + inkscape:collect="always"> <feGaussianBlur - inkscape:collect="always" + id="feGaussianBlur5376" stdDeviation="2.6490625" - id="feGaussianBlur5376" /> + inkscape:collect="always" /> </filter> + <linearGradient + y2="498.63116" + x2="355.4043" + y1="292.87076" + x1="320.21951" + gradientUnits="userSpaceOnUse" + id="linearGradient3659" + xlink:href="#linearGradient3631" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3523" + id="linearGradient3521" + gradientUnits="userSpaceOnUse" + x1="317.01462" + y1="315.30496" + x2="367.15555" + y2="503.97266" /> + <inkscape:perspective + id="perspective3653" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 526.18109 : 1" + sodipodi:type="inkscape:persp3d" /> </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - gridtolerance="10000" - guidetolerance="10" - objecttolerance="10" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="11.313709" - inkscape:cx="563.89817" - inkscape:cy="896.60857" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1280" - inkscape:window-height="800" - inkscape:window-x="0" - inkscape:window-y="0" - showguides="true" - inkscape:guide-bbox="true" /> <metadata id="metadata7"> <rdf:RDF> @@ -114,520 +169,618 @@ </rdf:RDF> </metadata> <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" + style="display:inline" id="layer1" - style="display:inline"> + inkscape:groupmode="layer" + inkscape:label="Layer 1"> <rect - style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3458" - width="453.62442" - height="492.34741" - x="46.644756" - y="32.944107" - ry="0" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + ry="0" + y="32.944107" + x="46.644756" + height="287.99356" + width="453.62442" + id="rect3458" + style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> <path - style="fill:#e19671;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" - d="M 46.608811,76.256593 C 46.52482,55.815731 59.99113,32.741384 92.653703,32.992192 L 500.79271,33.368404 L 500.79271,526.20678 L 46.608811,526.20678 L 46.608811,76.256593 z" - id="rect3450" + style="fill:#e19671;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1;display:inline" + d="M 46.645147,76.210534 C 46.561157,55.769674 60.027467,32.695324 92.690037,32.946134 L 500.82905,33.322344 L 500.82905,526.16072 L 46.645147,526.16072 L 46.645147,76.210534 z" + id="path3659" sodipodi:nodetypes="cccccc" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" inkscape:export-xdpi="138.63892" inkscape:export-ydpi="138.63892" /> <rect - style="fill:#f0df95;fill-opacity:1;fill-rule:evenodd;stroke:#841919;stroke-width:0.93;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3474" - width="357.56439" - height="13.069962" - x="138.54781" - y="-132.54002" - transform="scale(1,-1)" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> - <rect - style="fill:#f0df95;fill-opacity:1;fill-rule:evenodd;stroke:#841919;stroke-width:0.86572993;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3510" - width="82.503021" - height="13.13427" - x="51.428371" - y="119.43791" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" - inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + transform="scale(1,-1)" + y="-132.54002" + x="138.54781" + height="13.069962" + width="357.56439" + id="rect3474" + style="fill:#f0df95;fill-opacity:1;fill-rule:evenodd;stroke:#841919;stroke-width:0.93;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> <rect - style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" - id="rect2411" - width="453.85715" - height="366.43207" - x="47.071426" - y="144.57297" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> - <path - style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 46.294131,144.76665 L 138.52377,144.76665 L 143.38513,151.20817 L 138.52377,157.38453 L 46.294131,157.38453 L 46.294131,144.76665 z" - id="rect2413" - sodipodi:nodetypes="cccccc" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + y="119.43791" + x="51.428371" + height="13.13427" + width="82.503021" + id="rect3510" + style="fill:#f0df95;fill-opacity:1;fill-rule:evenodd;stroke:#841919;stroke-width:0.86572993;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <rect + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> - <text - xml:space="preserve" - style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#f6dfc2;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" - x="47.904469" - y="153.76665" - id="text3185" - sodipodi:linespacing="125%" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + y="144.57297" + x="47.071426" + height="299.25693" + width="453.85715" + id="rect2411" + style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" /> + <path + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3189" - x="47.904469" - y="153.76665">[16:57:11] Pifou</tspan></text> + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:nodetypes="cccccc" + id="rect2413" + d="M 46.294131,144.76665 L 138.52377,144.76665 L 143.38513,151.20817 L 138.52377,157.38453 L 46.294131,157.38453 L 46.294131,144.76665 z" + style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" /> <text - xml:space="preserve" - style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" - x="145.40186" - y="154.32814" - id="text3193" - sodipodi:linespacing="125%" + inkscape:export-ydpi="138.63892" + inkscape:export-xdpi="138.63892" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3185" + y="153.76665" + x="47.904469" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;fill:#f6dfc2;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + id="tspan3253" + sodipodi:role="line">[16:57:11]</tspan></text> + <text + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3195" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3193" + y="154.32814" + x="145.40186" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="154.32814" x="145.40186" - y="154.32814">What is your favourite colour ?</tspan></text> + id="tspan3195" + sodipodi:role="line">What is your favourite colour ?</tspan></text> <rect - style="fill:#fbeede;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3219" - width="362.08197" - height="13.10165" - x="138.16286" - y="157.23653" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> - <path - style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 46.556943,157.67408 L 138.78658,157.67408 L 143.64794,164.1156 L 138.78658,170.29196 L 46.556943,170.29196 L 46.556943,157.67408 z" - id="path5397" - sodipodi:nodetypes="cccccc" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + y="157.23653" + x="138.16286" + height="13.10165" + width="182.47685" + id="rect3219" + style="fill:#fbeede;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> - <text - xml:space="preserve" - style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#f6dfc2;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" - x="48.006577" - y="167.07393" - id="text3211" - sodipodi:linespacing="125%" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:nodetypes="cccccc" + id="path5397" + d="M 46.556943,157.67408 L 138.78658,157.67408 L 143.64794,164.1156 L 138.78658,170.29196 L 46.556943,170.29196 L 46.556943,157.67408 z" + style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" /> + <text + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3213" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3211" + y="167.07393" + x="48.006577" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#f6dfc2;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="167.07393" x="48.006577" - y="167.07393">[16:57:11] Pifou</tspan></text> + id="tspan3213" + sodipodi:role="line">[16:57:11] Pifou</tspan></text> <text - xml:space="preserve" - style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" - x="145.50395" - y="167.63542" - id="text3215" - sodipodi:linespacing="125%" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3217" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3215" + y="167.63542" + x="145.50395" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="167.63542" x="145.50395" - y="167.63542">What is your favourite colour ?</tspan></text> + id="tspan3217" + sodipodi:role="line">What is your favourite colour ?</tspan></text> <path - style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" - d="M 46.553376,170.63422 L 138.78303,170.63422 L 143.64439,177.07574 L 138.78303,183.2521 L 46.553376,183.2521 L 46.553376,170.63422 z" - id="path5399" - sodipodi:nodetypes="cccccc" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> - <text - xml:space="preserve" - style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#f6dfc2;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" - x="48.00658" - y="180.22029" - id="text3246" - sodipodi:linespacing="125%" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:nodetypes="cccccc" + id="path5399" + d="M 46.553376,170.63422 L 138.78303,170.63422 L 143.64439,177.07574 L 138.78303,183.2521 L 46.553376,183.2521 L 46.553376,170.63422 z" + style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" /> + <text + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3248" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3246" + y="180.22029" + x="48.00658" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#f6dfc2;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="180.22029" x="48.00658" - y="180.22029">[16:57:11] Pifou</tspan></text> + id="tspan3248" + sodipodi:role="line">[16:57:11] Pifou</tspan></text> <text - xml:space="preserve" - style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" - x="145.50395" - y="180.78178" - id="text3250" - sodipodi:linespacing="125%" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3252" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3250" + y="180.78178" + x="145.50395" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="180.78178" x="145.50395" - y="180.78178">What is your favourite colour ?</tspan></text> + id="tspan3252" + sodipodi:role="line">What is your favourite colour ?</tspan></text> <path - style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 493.125,146.28125 C 490.82987,146.28125 488.96875,148.14237 488.96875,150.4375 C 488.96875,152.73263 490.82987,154.59375 493.125,154.59375 C 495.42013,154.59375 497.28125,152.73263 497.28125,150.4375 C 497.28125,148.14237 495.42013,146.28125 493.125,146.28125 z M 491.51535,147.7948 L 496.04661,150.37411 L 491.63548,153.08817 L 491.51535,147.7948 z" - id="path5401" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/extraction.png" - inkscape:export-xdpi="138.63892" + sodipodi:nodetypes="csssccccc" inkscape:export-ydpi="138.63892" - sodipodi:nodetypes="csssccccc" /> - <path - style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.20000000000000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 493.125,159.46845 C 490.82987,159.46845 488.96875,161.32957 488.96875,163.6247 C 488.96875,165.91983 490.82987,167.78095 493.125,167.78095 C 495.42013,167.78095 497.28125,165.91983 497.28125,163.6247 C 497.28125,161.32957 495.42013,159.46845 493.125,159.46845 z M 491.51535,160.982 L 496.04661,163.56131 L 491.63548,166.27537 L 491.51535,160.982 z" - id="path3227" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/extraction_hover.png" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" - sodipodi:nodetypes="csssccccc" /> - <path - style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 493.125,172.43822 C 490.82987,172.43822 488.96875,174.29934 488.96875,176.59447 C 488.96875,178.8896 490.82987,180.75072 493.125,180.75072 C 495.42013,180.75072 497.28125,178.8896 497.28125,176.59447 C 497.28125,174.29934 495.42013,172.43822 493.125,172.43822 z M 491.51535,173.95177 L 496.04661,176.53108 L 491.63548,179.24514 L 491.51535,173.95177 z" - id="path3229" inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/extraction.png" - inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" - sodipodi:nodetypes="csssccccc" /> - <path - style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 531.65729,145.35293 C 529.36216,145.35293 527.50104,147.21405 527.50104,149.50918 C 527.50104,151.80431 529.36216,153.66543 531.65729,153.66543 C 533.95242,153.66543 535.81354,151.80431 535.81354,149.50918 C 535.81354,147.21405 533.95242,145.35293 531.65729,145.35293 z M 530.04764,146.86648 L 534.5789,149.44579 L 530.16777,152.15985 L 530.04764,146.86648 z" id="path3233" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/extraction.png" - inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" - sodipodi:nodetypes="csssccccc" /> + d="M 531.65729,145.35293 C 529.36216,145.35293 527.50104,147.21405 527.50104,149.50918 C 527.50104,151.80431 529.36216,153.66543 531.65729,153.66543 C 533.95242,153.66543 535.81354,151.80431 535.81354,149.50918 C 535.81354,147.21405 533.95242,145.35293 531.65729,145.35293 z M 530.04764,146.86648 L 534.5789,149.44579 L 530.16777,152.15985 L 530.04764,146.86648 z" + style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 531.65729,158.13031 C 529.36216,158.13031 527.50104,159.99143 527.50104,162.28656 C 527.50104,164.58169 529.36216,166.44281 531.65729,166.44281 C 533.95242,166.44281 535.81354,164.58169 535.81354,162.28656 C 535.81354,159.99143 533.95242,158.13031 531.65729,158.13031 z M 530.04764,159.64386 L 534.5789,162.22317 L 530.16777,164.93723 L 530.04764,159.64386 z" - id="path3235" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/extraction_hover.png" - inkscape:export-xdpi="138.63892" + sodipodi:nodetypes="csssccccc" inkscape:export-ydpi="138.63892" - sodipodi:nodetypes="csssccccc" /> + inkscape:export-xdpi="138.63892" + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/extraction_hover.png" + id="path3235" + d="M 531.65729,158.13031 C 529.36216,158.13031 527.50104,159.99143 527.50104,162.28656 C 527.50104,164.58169 529.36216,166.44281 531.65729,166.44281 C 533.95242,166.44281 535.81354,164.58169 535.81354,162.28656 C 535.81354,159.99143 533.95242,158.13031 531.65729,158.13031 z M 530.04764,159.64386 L 534.5789,162.22317 L 530.16777,164.93723 L 530.04764,159.64386 z" + style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 545.24466,145.35293 C 542.94951,145.35294 541.08841,147.21405 541.08841,149.50918 C 541.08839,151.80432 542.94953,153.66543 545.24466,153.66543 C 547.53977,153.66544 549.40091,151.80431 549.40091,149.50918 C 549.40089,147.21406 547.53979,145.35293 545.24466,145.35293 z M 543.83841,146.88418 L 545.24466,148.25918 L 546.65091,146.88418 L 547.90091,148.13418 L 546.49466,149.50918 L 547.90091,150.91543 L 546.65091,152.16543 L 545.24466,150.79043 L 543.83841,152.16543 L 542.58841,150.91543 L 543.99466,149.50918 L 542.58841,148.13418 L 543.83841,146.88418 z" - id="path3237" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fermer_conv.png" + inkscape:export-ydpi="140.75188" inkscape:export-xdpi="140.75188" - inkscape:export-ydpi="140.75188" /> + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fermer_conv.png" + id="path3237" + d="M 545.24466,145.35293 C 542.94951,145.35294 541.08841,147.21405 541.08841,149.50918 C 541.08839,151.80432 542.94953,153.66543 545.24466,153.66543 C 547.53977,153.66544 549.40091,151.80431 549.40091,149.50918 C 549.40089,147.21406 547.53979,145.35293 545.24466,145.35293 z M 543.83841,146.88418 L 545.24466,148.25918 L 546.65091,146.88418 L 547.90091,148.13418 L 546.49466,149.50918 L 547.90091,150.91543 L 546.65091,152.16543 L 545.24466,150.79043 L 543.83841,152.16543 L 542.58841,150.91543 L 543.99466,149.50918 L 542.58841,148.13418 L 543.83841,146.88418 z" + style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 545.24466,158.13031 C 542.94951,158.13032 541.08841,159.99143 541.08841,162.28656 C 541.08839,164.5817 542.94953,166.44281 545.24466,166.44281 C 547.53977,166.44282 549.40091,164.58169 549.40091,162.28656 C 549.40089,159.99144 547.53979,158.13031 545.24466,158.13031 z M 543.83841,159.66156 L 545.24466,161.03656 L 546.65091,159.66156 L 547.90091,160.91156 L 546.49466,162.28656 L 547.90091,163.69281 L 546.65091,164.94281 L 545.24466,163.56781 L 543.83841,164.94281 L 542.58841,163.69281 L 543.99466,162.28656 L 542.58841,160.91156 L 543.83841,159.66156 z" - id="path3251" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fermer_conv_hover.png" + inkscape:export-ydpi="140.75" inkscape:export-xdpi="140.75" - inkscape:export-ydpi="140.75" /> + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fermer_conv_hover.png" + id="path3251" + d="M 545.24466,158.13031 C 542.94951,158.13032 541.08841,159.99143 541.08841,162.28656 C 541.08839,164.5817 542.94953,166.44281 545.24466,166.44281 C 547.53977,166.44282 549.40091,164.58169 549.40091,162.28656 C 549.40089,159.99144 547.53979,158.13031 545.24466,158.13031 z M 543.83841,159.66156 L 545.24466,161.03656 L 546.65091,159.66156 L 547.90091,160.91156 L 546.49466,162.28656 L 547.90091,163.69281 L 546.65091,164.94281 L 545.24466,163.56781 L 543.83841,164.94281 L 542.58841,163.69281 L 543.99466,162.28656 L 542.58841,160.91156 L 543.83841,159.66156 z" + style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" - d="M 586.9608,142.72403 L 591.82216,149.16555 L 586.9608,155.34191 L 586.9608,142.72403 z" - id="path3231" - sodipodi:nodetypes="cccc" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche.png" + inkscape:export-ydpi="128.38945" inkscape:export-xdpi="128.38945" - inkscape:export-ydpi="128.38945" /> - <path - style="fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" - d="M 586.75494,158.78182 L 591.6163,165.22334 L 586.75494,171.3997 L 586.75494,158.78182 z" - id="path3254" + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche.png" sodipodi:nodetypes="cccc" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche_reponda.png" + id="path3231" + d="M 586.9608,142.72403 L 591.82216,149.16555 L 586.9608,155.34191 L 586.9608,142.72403 z" + style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> + <path + inkscape:export-ydpi="128.38945" inkscape:export-xdpi="128.38945" - inkscape:export-ydpi="128.38945" /> + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche_reponda.png" + sodipodi:nodetypes="cccc" + id="path3254" + d="M 586.75494,158.78182 L 591.6163,165.22334 L 586.75494,171.3997 L 586.75494,158.78182 z" + style="fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> <text - xml:space="preserve" + id="text3256" + y="48.037724" + x="511.36679" style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="616.72571" - y="19.753452" - id="text3256"><tspan - sodipodi:role="line" + xml:space="preserve"><tspan + y="48.037724" + x="511.36679" id="tspan3258" - x="616.72571" - y="19.753452">dpi : 138.64</tspan></text> + sodipodi:role="line">dpi : 138.64</tspan></text> <path - style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 557.34084,145.5037 C 555.04571,145.50371 553.18459,147.36482 553.18459,149.65995 C 553.18459,151.95509 555.04571,153.8162 557.34084,153.8162 C 559.63597,153.81621 561.49709,151.95508 561.49709,149.65995 C 561.49709,147.36483 559.63597,145.5037 557.34084,145.5037 z M 557.37209,145.84745 L 558.34084,148.3162 L 560.99709,148.5037 L 558.93459,150.1912 L 559.59084,152.7537 L 557.37209,151.34745 L 555.12209,152.7537 L 555.77834,150.1912 L 553.71584,148.5037 L 556.37209,148.3162 L 557.37209,145.84745 z" - id="path3260" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/copier_conv.png" + inkscape:export-ydpi="138.64" inkscape:export-xdpi="138.64" - inkscape:export-ydpi="138.64" /> + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/copier_conv.png" + id="path3260" + d="M 557.34084,145.5037 C 555.04571,145.50371 553.18459,147.36482 553.18459,149.65995 C 553.18459,151.95509 555.04571,153.8162 557.34084,153.8162 C 559.63597,153.81621 561.49709,151.95508 561.49709,149.65995 C 561.49709,147.36483 559.63597,145.5037 557.34084,145.5037 z M 557.37209,145.84745 L 558.34084,148.3162 L 560.99709,148.5037 L 558.93459,150.1912 L 559.59084,152.7537 L 557.37209,151.34745 L 555.12209,152.7537 L 555.77834,150.1912 L 553.71584,148.5037 L 556.37209,148.3162 L 557.37209,145.84745 z" + style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 556.97921,158.13031 C 554.68408,158.13032 552.82296,159.99143 552.82296,162.28656 C 552.82296,164.5817 554.68408,166.44281 556.97921,166.44281 C 559.27434,166.44282 561.13546,164.58169 561.13546,162.28656 C 561.13546,159.99144 559.27434,158.13031 556.97921,158.13031 z M 557.01046,158.47406 L 557.97921,160.94281 L 560.63546,161.13031 L 558.57296,162.81781 L 559.22921,165.38031 L 557.01046,163.97406 L 554.76046,165.38031 L 555.41671,162.81781 L 553.35421,161.13031 L 556.01046,160.94281 L 557.01046,158.47406 z" - id="path3274" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/copier_conv_hover.png" + inkscape:export-ydpi="138.64" inkscape:export-xdpi="138.64" - inkscape:export-ydpi="138.64" /> + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/copier_conv_hover.png" + id="path3274" + d="M 556.97921,158.13031 C 554.68408,158.13032 552.82296,159.99143 552.82296,162.28656 C 552.82296,164.5817 554.68408,166.44281 556.97921,166.44281 C 559.27434,166.44282 561.13546,164.58169 561.13546,162.28656 C 561.13546,159.99144 559.27434,158.13031 556.97921,158.13031 z M 557.01046,158.47406 L 557.97921,160.94281 L 560.63546,161.13031 L 558.57296,162.81781 L 559.22921,165.38031 L 557.01046,163.97406 L 554.76046,165.38031 L 555.41671,162.81781 L 553.35421,161.13031 L 556.01046,160.94281 L 557.01046,158.47406 z" + style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="fill:#31732f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" - d="M 595.4055,142.72403 L 600.26686,149.16555 L 595.4055,155.34191 L 595.4055,142.72403 z" - id="path3464" - sodipodi:nodetypes="cccc" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche_reponse.png" + inkscape:export-ydpi="128.38945" inkscape:export-xdpi="128.38945" - inkscape:export-ydpi="128.38945" /> - <path - style="fill:#bf2911;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" - d="M 603.85013,142.72403 L 608.71149,149.16555 L 603.85013,155.34191 L 603.85013,142.72403 z" - id="path3466" + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche_reponse.png" sodipodi:nodetypes="cccc" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche_proprietaire.png" - inkscape:export-xdpi="128.38945" - inkscape:export-ydpi="128.38945" /> + id="path3464" + d="M 595.4055,142.72403 L 600.26686,149.16555 L 595.4055,155.34191 L 595.4055,142.72403 z" + style="fill:#31732f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> <path - style="fill:#84196c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" - d="M 612.29483,142.72403 L 617.15619,149.16555 L 612.29483,155.34191 L 612.29483,142.72403 z" - id="path3468" + inkscape:export-ydpi="128.38945" + inkscape:export-xdpi="128.38945" + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche_proprietaire.png" sodipodi:nodetypes="cccc" - inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche_repondu.png" + id="path3466" + d="M 603.85013,142.72403 L 608.71149,149.16555 L 603.85013,155.34191 L 603.85013,142.72403 z" + style="fill:#bf2911;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> + <path + inkscape:export-ydpi="128.38945" inkscape:export-xdpi="128.38945" - inkscape:export-ydpi="128.38945" /> + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fleche_repondu.png" + sodipodi:nodetypes="cccc" + id="path3468" + d="M 612.29483,142.72403 L 617.15619,149.16555 L 612.29483,155.34191 L 612.29483,142.72403 z" + style="fill:#84196c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> <path - style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 519.27037,145.35293 C 516.97525,145.35292 515.11412,147.21405 515.11412,149.50918 C 515.11413,151.8043 516.97524,153.66543 519.27037,153.66543 C 521.56551,153.66542 523.42662,151.80431 523.42662,149.50918 C 523.42659,147.21404 521.5655,145.35293 519.27037,145.35293 z M 519.27037,146.57168 L 522.23912,149.50918 L 519.27037,152.47793 L 516.33287,149.50918 L 519.27037,146.57168 z" - id="path2721" - inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/extraction_complete.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/extraction_complete.png" + id="path2721" + d="M 519.27037,145.35293 C 516.97525,145.35292 515.11412,147.21405 515.11412,149.50918 C 515.11413,151.8043 516.97524,153.66543 519.27037,153.66543 C 521.56551,153.66542 523.42662,151.80431 523.42662,149.50918 C 523.42659,147.21404 521.5655,145.35293 519.27037,145.35293 z M 519.27037,146.57168 L 522.23912,149.50918 L 519.27037,152.47793 L 516.33287,149.50918 L 519.27037,146.57168 z" + style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 519.27037,158.13031 C 516.97525,158.1303 515.11412,159.99143 515.11412,162.28656 C 515.11413,164.58168 516.97524,166.44281 519.27037,166.44281 C 521.56551,166.4428 523.42662,164.58169 523.42662,162.28656 C 523.42659,159.99142 521.5655,158.13031 519.27037,158.13031 z M 519.27037,159.34906 L 522.23912,162.28656 L 519.27037,165.25531 L 516.33287,162.28656 L 519.27037,159.34906 z" - id="path3502" - inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/extraction_complete_hover.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/extraction_complete_hover.png" + id="path3502" + d="M 519.27037,158.13031 C 516.97525,158.1303 515.11412,159.99143 515.11412,162.28656 C 515.11413,164.58168 516.97524,166.44281 519.27037,166.44281 C 521.56551,166.4428 523.42662,164.58169 523.42662,162.28656 C 523.42659,159.99142 521.5655,158.13031 519.27037,158.13031 z M 519.27037,159.34906 L 522.23912,162.28656 L 519.27037,165.25531 L 516.33287,162.28656 L 519.27037,159.34906 z" + style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 569.31564,145.5037 C 567.02051,145.5037 565.15939,147.36482 565.15939,149.65995 C 565.15939,151.95508 567.02051,153.8162 569.31564,153.8162 C 571.61077,153.8162 573.47189,151.95508 573.47189,149.65995 C 573.47189,147.36482 571.61077,145.5037 569.31564,145.5037 z M 569.31564,146.0662 C 569.32581,146.06628 569.33669,146.066 569.34689,146.0662 C 570.25117,146.08396 571.28545,146.57492 571.81564,147.3162 C 571.11486,147.71347 570.50225,148.35045 570.40939,149.5662 C 570.41064,149.65901 570.40276,149.76061 570.40939,149.84745 C 570.50225,151.0632 571.11486,151.70018 571.81564,152.09745 C 571.28545,152.83873 570.25117,153.32969 569.34689,153.34745 C 569.33669,153.34765 569.32581,153.34737 569.31564,153.34745 C 568.41136,153.32969 567.37707,152.83873 566.84689,152.09745 C 567.54767,151.70018 568.16028,151.0632 568.25314,149.84745 C 568.25977,149.76061 568.25189,149.65901 568.25314,149.5662 C 568.16028,148.35045 567.54767,147.71347 566.84689,147.3162 C 567.37707,146.57492 568.41136,146.08396 569.31564,146.0662 z" - id="path2467" - inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/reduire_conv.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/reduire_conv.png" + id="path2467" + d="M 569.31564,145.5037 C 567.02051,145.5037 565.15939,147.36482 565.15939,149.65995 C 565.15939,151.95508 567.02051,153.8162 569.31564,153.8162 C 571.61077,153.8162 573.47189,151.95508 573.47189,149.65995 C 573.47189,147.36482 571.61077,145.5037 569.31564,145.5037 z M 569.31564,146.0662 C 569.32581,146.06628 569.33669,146.066 569.34689,146.0662 C 570.25117,146.08396 571.28545,146.57492 571.81564,147.3162 C 571.11486,147.71347 570.50225,148.35045 570.40939,149.5662 C 570.41064,149.65901 570.40276,149.76061 570.40939,149.84745 C 570.50225,151.0632 571.11486,151.70018 571.81564,152.09745 C 571.28545,152.83873 570.25117,153.32969 569.34689,153.34745 C 569.33669,153.34765 569.32581,153.34737 569.31564,153.34745 C 568.41136,153.32969 567.37707,152.83873 566.84689,152.09745 C 567.54767,151.70018 568.16028,151.0632 568.25314,149.84745 C 568.25977,149.76061 568.25189,149.65901 568.25314,149.5662 C 568.16028,148.35045 567.54767,147.71347 566.84689,147.3162 C 567.37707,146.57492 568.41136,146.08396 569.31564,146.0662 z" + style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.20000000000000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 569.31564,158.13031 C 567.02051,158.13031 565.15939,159.99143 565.15939,162.28656 C 565.15939,164.58169 567.02051,166.44281 569.31564,166.44281 C 571.61077,166.44281 573.47189,164.58169 573.47189,162.28656 C 573.47189,159.99143 571.61077,158.13031 569.31564,158.13031 z M 569.31564,158.69281 C 569.32581,158.69289 569.33669,158.69261 569.34689,158.69281 C 570.25117,158.71057 571.28545,159.20153 571.81564,159.94281 C 571.11486,160.34008 570.50225,160.97706 570.40939,162.19281 C 570.41064,162.28562 570.40276,162.38722 570.40939,162.47406 C 570.50225,163.68981 571.11486,164.32679 571.81564,164.72406 C 571.28545,165.46534 570.25117,165.9563 569.34689,165.97406 C 569.33669,165.97426 569.32581,165.97398 569.31564,165.97406 C 568.41136,165.9563 567.37707,165.46534 566.84689,164.72406 C 567.54767,164.32679 568.16028,163.68981 568.25314,162.47406 C 568.25977,162.38722 568.25189,162.28562 568.25314,162.19281 C 568.16028,160.97706 567.54767,160.34008 566.84689,159.94281 C 567.37707,159.20153 568.41136,158.71057 569.31564,158.69281 z" + inkscape:export-ydpi="138.63892" + inkscape:export-xdpi="138.63892" + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/reduire_conv_hover.png" id="path3267" - inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/reduire_conv.png" + d="M 569.31564,158.13031 C 567.02051,158.13031 565.15939,159.99143 565.15939,162.28656 C 565.15939,164.58169 567.02051,166.44281 569.31564,166.44281 C 571.61077,166.44281 573.47189,164.58169 573.47189,162.28656 C 573.47189,159.99143 571.61077,158.13031 569.31564,158.13031 z M 569.31564,158.69281 C 569.32581,158.69289 569.33669,158.69261 569.34689,158.69281 C 570.25117,158.71057 571.28545,159.20153 571.81564,159.94281 C 571.11486,160.34008 570.50225,160.97706 570.40939,162.19281 C 570.41064,162.28562 570.40276,162.38722 570.40939,162.47406 C 570.50225,163.68981 571.11486,164.32679 571.81564,164.72406 C 571.28545,165.46534 570.25117,165.9563 569.34689,165.97406 C 569.33669,165.97426 569.32581,165.97398 569.31564,165.97406 C 568.41136,165.9563 567.37707,165.46534 566.84689,164.72406 C 567.54767,164.32679 568.16028,163.68981 568.25314,162.47406 C 568.25977,162.38722 568.25189,162.28562 568.25314,162.19281 C 568.16028,160.97706 567.54767,160.34008 566.84689,159.94281 C 567.37707,159.20153 568.41136,158.71057 569.31564,158.69281 z" + style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.20000000000000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> + <text + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3249" + y="154.29619" + x="104.03905" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#d0df27;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="154.29619" + x="104.03905" + id="tspan3255" + sodipodi:role="line">Pifou</tspan></text> + <path + inkscape:export-ydpi="138.63892" + inkscape:export-xdpi="138.63892" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:nodetypes="cccccc" + id="path3677" + d="M 320.37439,443.48008 L 320.37439,351.25044 L 326.81591,346.38908 L 332.99227,351.25044 L 332.99227,443.48008 L 320.37439,443.48008 z" + style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> + <text + transform="matrix(0,-1,1,0,0,0)" + inkscape:export-ydpi="138.63892" + inkscape:export-xdpi="138.63892" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3679" + y="329.77423" + x="-442.03046" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#f6dfc2;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="329.77423" + x="-442.03046" + id="tspan3687" + sodipodi:role="line">[12:47:29] Paul</tspan></text> + <text + transform="matrix(0,-1,1,0,0,0)" + inkscape:export-ydpi="138.63892" + inkscape:export-xdpi="138.63892" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3683" + y="330.33572" + x="-344.53308" + style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="330.33572" + x="-344.53308" + id="tspan3689" + sodipodi:role="line">Blabla blablablabla bla blabla ..</tspan></text> + <path + id="path3693" + d="M 326.9805,173.26406 C 324.68537,173.26405 322.82425,175.12518 322.82425,177.42031 C 322.82425,179.71543 324.68537,181.57656 326.9805,181.57656 C 329.27563,181.57655 331.13675,179.71544 331.13675,177.42031 C 331.13671,175.12517 329.27563,173.26406 326.9805,173.26406 z M 325.8555,174.57656 L 328.1055,174.57656 L 328.1055,177.07656 L 327.8555,178.45156 L 326.07425,178.45156 L 325.8555,177.07656 L 325.8555,174.57656 z M 325.8555,179.29531 L 328.1055,179.29531 L 328.1055,180.26406 L 325.8555,180.26406 L 325.8555,179.29531 z" + style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> + <path + inkscape:export-ydpi="140.75188" + inkscape:export-xdpi="140.75188" + inkscape:export-filename="/home/gburri/projets/euphorik/img/css1/fermer_conv.png" + id="path3701" + d="M 326.9805,148.7661 C 324.68535,148.76611 322.82425,150.62722 322.82425,152.92235 C 322.82423,155.21749 324.68537,157.0786 326.9805,157.0786 C 329.27561,157.07861 331.13675,155.21748 331.13675,152.92235 C 331.13673,150.62723 329.27563,148.7661 326.9805,148.7661 z M 325.57425,150.29735 L 326.9805,151.67235 L 328.38675,150.29735 L 329.63675,151.54735 L 328.2305,152.92235 L 329.63675,154.3286 L 328.38675,155.5786 L 326.9805,154.2036 L 325.57425,155.5786 L 324.32425,154.3286 L 325.7305,152.92235 L 324.32425,151.54735 L 325.57425,150.29735 z" + style="opacity:1;fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> + <path + inkscape:export-ydpi="138.64" + inkscape:export-xdpi="138.64" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/copier_conv_hover.png" + id="path3703" + d="M 326.9805,161.01509 C 324.68537,161.0151 322.82425,162.87621 322.82425,165.17134 C 322.82425,167.46648 324.68537,169.32759 326.9805,169.32759 C 329.27563,169.3276 331.13675,167.46647 331.13675,165.17134 C 331.13675,162.87622 329.27563,161.01509 326.9805,161.01509 z M 327.01175,161.35884 L 327.9805,163.82759 L 330.63675,164.01509 L 328.57425,165.70259 L 329.2305,168.26509 L 327.01175,166.85884 L 324.76175,168.26509 L 325.418,165.70259 L 323.3555,164.01509 L 326.01175,163.82759 L 327.01175,161.35884 z" + style="opacity:1;fill:#cb2626;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> </g> <g - inkscape:groupmode="layer" - id="layer2" + style="display:inline" inkscape:label="logo" - style="display:inline"> + id="layer2" + inkscape:groupmode="layer"> <rect - style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - id="rect3224" - width="453.71909" - height="20.843534" - x="46.525745" - y="82.616722" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + y="82.616722" + x="46.525745" + height="20.843534" + width="453.71909" + id="rect3224" + style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="opacity:0.75;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;filter:url(#filter5374)" - d="M 87.929756,36.448593 C 70.696656,36.448593 56.136941,47.968757 51.554756,63.729843 L 46.617256,63.729843 L 46.617256,82.823589 L 51.023506,82.823589 C 54.891953,99.630647 69.953686,112.16733 87.929756,112.16733 C 105.90583,112.16733 120.93631,99.630647 124.80476,82.823589 L 500.71101,82.823589 L 500.71101,63.729843 L 124.27351,63.729843 C 119.69133,47.968757 105.16286,36.448592 87.929756,36.448593 z" - id="path5267" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut.png" + id="path5267" + d="M 87.929756,36.448593 C 70.696656,36.448593 56.136941,47.968757 51.554756,63.729843 L 46.617256,63.729843 L 46.617256,82.823589 L 51.023506,82.823589 C 54.891953,99.630647 69.953686,112.16733 87.929756,112.16733 C 105.90583,112.16733 120.93631,99.630647 124.80476,82.823589 L 500.71101,82.823589 L 500.71101,63.729843 L 124.27351,63.729843 C 119.69133,47.968757 105.16286,36.448592 87.929756,36.448593 z" + style="opacity:0.75;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;filter:url(#filter5374)" /> <path - sodipodi:type="arc" - style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - id="path2407" - sodipodi:cx="332.84528" - sodipodi:cy="399.29855" - sodipodi:rx="131.82491" - sodipodi:ry="131.82491" + transform="matrix(0.2872886,0,0,0.2872886,-7.7117438,-40.627481)" + inkscape:export-ydpi="138.63565" + inkscape:export-xdpi="138.63565" + inkscape:export-filename="/tmp/plop.png" d="M 464.67018,399.29855 A 131.82491,131.82491 0 1 1 201.02037,399.29855 A 131.82491,131.82491 0 1 1 464.67018,399.29855 z" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut.png" - inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" - transform="matrix(0.2872886,0,0,0.2872886,-7.7117438,-40.627481)" /> + sodipodi:ry="131.82491" + sodipodi:rx="131.82491" + sodipodi:cy="399.29855" + sodipodi:cx="332.84528" + id="path2407" + style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" + sodipodi:type="arc" /> <rect - style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - id="rect3462" - width="454.09647" - height="19.081215" - x="46.615898" - y="63.504051" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut.png" + y="63.504051" + x="46.615898" + height="19.081215" + width="454.09647" + id="rect3462" + style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <path - style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.51327449;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 88.431816,40.254007 C 69.803625,40.166276 54.045002,54.16218 54.129835,75.22051 C 54.068954,91.274344 68.315564,108.10722 88.431816,107.91672 C 89.549813,107.91672 90.095216,107.88452 91.602061,107.7065 C 91.569653,103.93148 91.348366,91.115934 91.413181,87.162485 C 97.635009,91.828858 101.04085,94.097739 109.07738,100.44919 C 112.18829,97.868223 115.29373,94.591662 117.34476,90.7302 C 112.15991,87.360044 105.10581,81.72326 94.21761,73.68674 C 101.21717,66.557554 108.27196,59.995273 114.88264,53.643826 C 112.57171,50.906043 109.37619,47.542256 106.31623,45.699518 C 101.64986,50.106655 98.437833,52.770497 91.413181,59.441256 C 91.44732,54.651308 91.626799,44.013425 91.602061,40.511312 C 90.556557,40.322656 89.622719,40.270207 88.431816,40.254007 z M 79.801333,51.351275 C 79.779096,59.441488 79.924702,62.872417 79.801333,68.719324 C 74.553306,68.625903 71.396213,68.731631 64.915137,68.602009 C 65.721614,58.462795 72.73505,52.397459 79.801333,51.351275 z M 79.801333,80.324934 C 79.833045,85.530259 79.870744,89.328594 79.984647,96.135618 C 73.101686,95.143127 65.177362,88.021089 64.838379,80.002996 C 68.889043,79.921982 74.6941,80.096459 79.801333,80.324934 z" - id="path2383" + inkscape:export-filename="/tmp/plop.png" + inkscape:export-ydpi="138.63565" + inkscape:export-xdpi="138.63565" sodipodi:nodetypes="ccccccccccccccccccccc" - inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut.png" /> + id="path2383" + d="M 88.431816,40.254007 C 69.803625,40.166276 54.045002,54.16218 54.129835,75.22051 C 54.068954,91.274344 68.315564,108.10722 88.431816,107.91672 C 89.549813,107.91672 90.095216,107.88452 91.602061,107.7065 C 91.569653,103.93148 91.348366,91.115934 91.413181,87.162485 C 97.635009,91.828858 101.04085,94.097739 109.07738,100.44919 C 112.18829,97.868223 115.29373,94.591662 117.34476,90.7302 C 112.15991,87.360044 105.10581,81.72326 94.21761,73.68674 C 101.21717,66.557554 108.27196,59.995273 114.88264,53.643826 C 112.57171,50.906043 109.37619,47.542256 106.31623,45.699518 C 101.64986,50.106655 98.437833,52.770497 91.413181,59.441256 C 91.44732,54.651308 91.626799,44.013425 91.602061,40.511312 C 90.556557,40.322656 89.622719,40.270207 88.431816,40.254007 z M 79.801333,51.351275 C 79.779096,59.441488 79.924702,62.872417 79.801333,68.719324 C 74.553306,68.625903 71.396213,68.731631 64.915137,68.602009 C 65.721614,58.462795 72.73505,52.397459 79.801333,51.351275 z M 79.801333,80.324934 C 79.833045,85.530259 79.870744,89.328594 79.984647,96.135618 C 73.101686,95.143127 65.177362,88.021089 64.838379,80.002996 C 68.889043,79.921982 74.6941,80.096459 79.801333,80.324934 z" + style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.51327449;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> <text - xml:space="preserve" - style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#841919;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:cmmi10;-inkscape-font-specification:cmmi10" - x="131.22978" - y="79.663078" - id="text3438" - sodipodi:linespacing="125%" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut.png" + sodipodi:linespacing="125%" + id="text3438" + y="79.663078" + x="131.22978" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#841919;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:cmmi10;-inkscape-font-specification:cmmi10" + xml:space="preserve"><tspan + y="79.663078" + x="131.22978" id="tspan5392" + sodipodi:role="line">euphorik</tspan><tspan + y="114.66308" x="131.22978" - y="79.663078">euphorik</tspan><tspan - sodipodi:role="line" id="tspan5394" - x="131.22978" - y="114.66308" /></text> + sodipodi:role="line" /></text> <rect - style="opacity:1;fill:#e19671;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3280" - width="36.5" - height="36.5" - x="524.58624" - y="79.890785" - inkscape:export-filename="/tmp/euphorik.png" + inkscape:export-ydpi="493.1507" inkscape:export-xdpi="493.1507" - inkscape:export-ydpi="493.1507" /> + inkscape:export-filename="/tmp/euphorik.png" + y="79.890785" + x="524.58624" + height="36.5" + width="36.5" + id="rect3280" + style="opacity:1;fill:#e19671;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> <path - sodipodi:type="arc" - style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - id="path3276" - sodipodi:cx="332.84528" - sodipodi:cy="399.29855" - sodipodi:rx="131.82491" - sodipodi:ry="131.82491" + transform="matrix(0.1293766,0,0,0.1293766,499.77383,46.480892)" + inkscape:export-ydpi="493.1507" + inkscape:export-xdpi="493.1507" + inkscape:export-filename="/tmp/euphorik.png" d="M 464.67018,399.29855 A 131.82491,131.82491 0 1 1 201.02037,399.29855 A 131.82491,131.82491 0 1 1 464.67018,399.29855 z" + sodipodi:ry="131.82491" + sodipodi:rx="131.82491" + sodipodi:cy="399.29855" + sodipodi:cx="332.84528" + id="path3276" + style="fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" + sodipodi:type="arc" /> + <path inkscape:export-filename="/tmp/euphorik.png" - inkscape:export-xdpi="493.1507" inkscape:export-ydpi="493.1507" - transform="matrix(0.1293766,0,0,0.1293766,499.77383,46.480892)" /> - <path - style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.51327449;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - d="M 543.07082,82.904806 C 534.68186,82.865297 527.58517,89.168168 527.62338,98.651509 C 527.59596,105.88114 534.01173,113.46161 543.07082,113.37582 C 543.5743,113.37582 543.81991,113.36132 544.4985,113.28115 C 544.4839,111.58112 544.38425,105.80981 544.41344,104.02942 C 547.21536,106.13086 548.74914,107.15262 552.36828,110.01292 C 553.76924,108.85061 555.16773,107.37506 556.09139,105.6361 C 553.75646,104.11839 550.57974,101.57994 545.67638,97.960799 C 548.82854,94.750259 552.00557,91.795025 554.9826,88.934735 C 553.94191,87.70181 552.50285,86.186973 551.12483,85.35712 C 549.02339,87.341816 547.5769,88.541442 544.41344,91.545531 C 544.42881,89.388441 544.50964,84.59781 544.4985,83.02068 C 544.02767,82.935721 543.60713,82.912101 543.07082,82.904806 z M 539.1842,87.902314 C 539.17418,91.545635 539.23976,93.090709 539.1842,95.723789 C 536.82082,95.681719 535.39906,95.729329 532.48039,95.670959 C 532.84358,91.104894 536.00199,88.37345 539.1842,87.902314 z M 539.1842,100.95022 C 539.19848,103.29437 539.21546,105.0049 539.26675,108.07036 C 536.1671,107.6234 532.59848,104.41608 532.44583,100.80524 C 534.26999,100.76876 536.88422,100.84733 539.1842,100.95022 z" + inkscape:export-xdpi="493.1507" + sodipodi:nodetypes="ccccccccccccccccccccc" id="path3278" + d="M 543.07082,82.904806 C 534.68186,82.865297 527.58517,89.168168 527.62338,98.651509 C 527.59596,105.88114 534.01173,113.46161 543.07082,113.37582 C 543.5743,113.37582 543.81991,113.36132 544.4985,113.28115 C 544.4839,111.58112 544.38425,105.80981 544.41344,104.02942 C 547.21536,106.13086 548.74914,107.15262 552.36828,110.01292 C 553.76924,108.85061 555.16773,107.37506 556.09139,105.6361 C 553.75646,104.11839 550.57974,101.57994 545.67638,97.960799 C 548.82854,94.750259 552.00557,91.795025 554.9826,88.934735 C 553.94191,87.70181 552.50285,86.186973 551.12483,85.35712 C 549.02339,87.341816 547.5769,88.541442 544.41344,91.545531 C 544.42881,89.388441 544.50964,84.59781 544.4985,83.02068 C 544.02767,82.935721 543.60713,82.912101 543.07082,82.904806 z M 539.1842,87.902314 C 539.17418,91.545635 539.23976,93.090709 539.1842,95.723789 C 536.82082,95.681719 535.39906,95.729329 532.48039,95.670959 C 532.84358,91.104894 536.00199,88.37345 539.1842,87.902314 z M 539.1842,100.95022 C 539.19848,103.29437 539.21546,105.0049 539.26675,108.07036 C 536.1671,107.6234 532.59848,104.41608 532.44583,100.80524 C 534.26999,100.76876 536.88422,100.84733 539.1842,100.95022 z" + style="fill:#841919;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.51327449;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> + <g + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/marque_ek.png" + inkscape:export-xdpi="138.63565" + inkscape:export-ydpi="138.63565" + id="g3532"> + <path + sodipodi:type="arc" + style="fill:url(#linearGradient3521);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.43548787;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" + id="path3245" + sodipodi:cx="332.84528" + sodipodi:cy="399.29855" + sodipodi:rx="131.82491" + sodipodi:ry="131.82491" + d="M 464.67018,399.29855 A 131.82491,131.82491 0 1 1 201.02037,399.29855 A 131.82491,131.82491 0 1 1 464.67018,399.29855 z" + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/marque_ek.png" + inkscape:export-xdpi="138.63892" + inkscape:export-ydpi="138.63892" + transform="matrix(2.9252204e-2,0,0,2.9252204e-2,90.185411,139.2606)" /> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.51327449000000003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" + d="M 99.97492,147.49609 C 98.078157,147.48715 96.473587,148.91225 96.482221,151.05644 C 96.476031,152.69107 97.926635,154.40502 99.97492,154.38563 C 100.08874,154.38563 100.14428,154.38235 100.29771,154.36422 C 100.2944,153.97984 100.27188,152.67494 100.27848,152.27239 C 100.91199,152.74752 101.25878,152.97855 102.07707,153.62526 C 102.39384,153.36246 102.71003,153.02884 102.91887,152.63566 C 102.39094,152.2925 101.67268,151.71856 100.56403,150.90027 C 101.27674,150.17437 101.99506,149.50618 102.66818,148.85946 C 102.43288,148.5807 102.10751,148.23818 101.79594,148.05056 C 101.32078,148.4993 100.99374,148.77054 100.27848,149.44977 C 100.28196,148.96203 100.30022,147.87888 100.29771,147.52228 C 100.19125,147.50308 100.09617,147.49774 99.97492,147.49609 z M 99.09614,148.62604 C 99.09387,149.44979 99.10869,149.79913 99.09614,150.39447 C 98.56177,150.38496 98.240318,150.39573 97.580409,150.38253 C 97.662512,149.35014 98.37663,148.73255 99.09614,148.62604 z M 99.09614,151.57618 C 99.09937,152.10619 99.10321,152.49295 99.11479,153.18605 C 98.41397,153.08499 97.607108,152.35981 97.572585,151.54341 C 97.985028,151.53515 98.57612,151.55292 99.09614,151.57618 z" + id="path3247" + sodipodi:nodetypes="ccccccccccccccccccccc" + inkscape:export-xdpi="138.63892" + inkscape:export-ydpi="138.63892" + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/marque_ek.png" /> + <path + style="fill:#fdf9c4;fill-opacity:0.33333333;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" + d="M 99.92613,147.0848 C 97.797523,147.0848 96.065696,148.81661 96.0657,150.94523 C 96.0657,151.41868 96.158426,151.85437 96.31476,152.27355 C 97.623354,150.22742 99.89244,148.86973 102.49975,148.86973 C 102.72713,148.86973 102.98327,148.89104 103.20542,148.91124 C 102.52544,147.81368 101.31129,147.0848 99.92613,147.0848 z" + id="path3263" + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/marque_ek.png" + inkscape:export-xdpi="138.63892" + inkscape:export-ydpi="138.63892" /> + </g> + </g> + <g + style="display:inline" + inkscape:label="logo_ek_master" + id="layer4" + inkscape:groupmode="layer"> + <path + transform="matrix(0.2882612,0,0,0.2882612,-8.0354588,-41.01581)" + inkscape:export-ydpi="138.63892" + inkscape:export-xdpi="138.63892" + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/marque_ek.png" + d="M 464.67018,399.29855 A 131.82491,131.82491 0 1 1 201.02037,399.29855 A 131.82491,131.82491 0 1 1 464.67018,399.29855 z" + sodipodi:ry="131.82491" + sodipodi:rx="131.82491" + sodipodi:cy="399.29855" + sodipodi:cx="332.84528" + id="path3646" + style="fill:url(#linearGradient3659);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" + sodipodi:type="arc" /> + <path + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/marque_ek.png" + inkscape:export-ydpi="138.63892" + inkscape:export-xdpi="138.63892" sodipodi:nodetypes="ccccccccccccccccccccc" - inkscape:export-xdpi="493.1507" - inkscape:export-ydpi="493.1507" - inkscape:export-filename="/tmp/euphorik.png" /> + id="path3648" + d="M 88.433689,40.139507 C 69.742342,40.051409 53.930364,54.094829 54.015447,75.224405 C 53.954448,91.332605 68.249193,108.22245 88.433689,108.03137 C 89.55531,108.03137 90.10262,107.99905 91.614572,107.82039 C 91.581954,104.03258 91.360034,91.173654 91.425073,87.20679 C 97.667896,91.888882 101.08528,94.16553 109.14899,100.53843 C 112.27055,97.94871 115.38639,94.661105 117.44437,90.786576 C 112.24197,87.404961 105.16399,81.749161 94.23898,73.685453 C 101.26227,66.532188 108.34084,59.947617 114.97399,53.574618 C 112.65526,50.827622 109.44896,47.452314 106.37864,45.603442 C 101.69625,50.025479 98.473488,52.69837 91.425073,59.391733 C 91.459366,54.585378 91.639306,43.911649 91.614572,40.397592 C 90.565479,40.208389 89.628528,40.155766 88.433689,40.139507 z M 79.773893,51.274418 C 79.751523,59.39193 79.897565,62.834445 79.773893,68.701128 C 74.508029,68.607413 71.340332,68.713545 64.837364,68.583467 C 65.646435,58.409945 72.683597,52.324004 79.773893,51.274418 z M 79.773893,80.3461 C 79.805722,85.568999 79.843563,89.380263 79.957676,96.210306 C 73.051558,95.214426 65.100465,88.068256 64.760264,80.023173 C 68.824617,79.941776 74.649439,80.116888 79.773893,80.3461 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.51327449;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> + <path + inkscape:export-ydpi="138.63892" + inkscape:export-xdpi="138.63892" + inkscape:export-filename="/home/gburri/projets/euphorik/trunk/img/css1/marque_ek.png" + id="path3650" + d="M 87.952896,36.086515 C 66.976879,36.086515 49.910868,53.152359 49.910907,74.128504 C 49.910907,78.794041 50.824661,83.087479 52.365229,87.218221 C 65.260559,67.054961 87.620903,53.675822 113.31422,53.675822 C 115.5549,53.675822 118.07899,53.885818 120.26813,54.084876 C 113.56738,43.269146 101.60273,36.086515 87.952896,36.086515 z" + style="fill:#fdf9c4;fill-opacity:0.68306011;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> </g> <g - inkscape:groupmode="layer" - id="layer3" + style="display:inline" inkscape:label="menu" - style="display:inline"> + id="layer3" + inkscape:groupmode="layer"> <rect - style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" - id="rect5408" - width="33.23402" - height="19.003494" - x="278.95361" - y="63.561737" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> - <text - xml:space="preserve" - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Standard Symbols L;-inkscape-font-specification:Standard Symbols L" - x="284.48007" - y="75.487816" - id="text3197" - sodipodi:linespacing="125%" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + y="63.561737" + x="278.95361" + height="19.003494" + width="33.23402" + id="rect5408" + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> + <text + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3199" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3197" + y="75.487816" + x="284.48007" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Standard Symbols L;-inkscape-font-specification:Standard Symbols L" + xml:space="preserve"><tspan + y="75.487816" x="284.48007" - y="75.487816">chat</tspan></text> + id="tspan3199" + sodipodi:role="line">chat</tspan></text> <text - xml:space="preserve" - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Standard Symbols L;-inkscape-font-specification:Standard Symbols L" - x="324.82281" - y="75.487816" - id="text3201" - sodipodi:linespacing="125%" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3203" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3201" + y="75.487816" + x="324.82281" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Standard Symbols L;-inkscape-font-specification:Standard Symbols L" + xml:space="preserve"><tspan + y="75.487816" x="324.82281" - y="75.487816">profile</tspan></text> + id="tspan3203" + sodipodi:role="line">profile</tspan></text> <text - xml:space="preserve" - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Standard Symbols L;-inkscape-font-specification:Standard Symbols L" - x="380.86096" - y="75.487816" - id="text3205" - sodipodi:linespacing="125%" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3207" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3205" + y="75.487816" + x="380.86096" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Standard Symbols L;-inkscape-font-specification:Standard Symbols L" + xml:space="preserve"><tspan + y="75.487816" x="380.86096" - y="75.487816">about</tspan></text> + id="tspan3207" + sodipodi:role="line">about</tspan></text> <path - style="fill:#510f0f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" - d="M 294.62095,77.596161 L 300.14691,82.88847 L 288.83185,82.88847 L 294.62095,77.596161 z" - id="rect3221" - sodipodi:nodetypes="cccc" - inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892" /> - <text - xml:space="preserve" - style="font-size:9px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Standard Symbols L;-inkscape-font-specification:Standard Symbols L Italic" - x="132.93362" - y="96.410347" - id="text3466" - sodipodi:linespacing="125%" inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:nodetypes="cccc" + id="rect3221" + d="M 294.62095,77.596161 L 300.14691,82.88847 L 288.83185,82.88847 L 294.62095,77.596161 z" + style="fill:#510f0f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> + <text + inkscape:export-ydpi="138.63892" inkscape:export-xdpi="138.63892" - inkscape:export-ydpi="138.63892"><tspan - sodipodi:role="line" - id="tspan3468" + inkscape:export-filename="/home/gburri/projets/euphorik/doc/graphiques/logo_brut2.png" + sodipodi:linespacing="125%" + id="text3466" + y="96.410347" + x="132.93362" + style="font-size:9px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Standard Symbols L;-inkscape-font-specification:Standard Symbols L Italic" + xml:space="preserve"><tspan + y="96.410347" x="132.93362" - y="96.410347">troll de la semaine :</tspan></text> - <rect - style="opacity:1;fill:#f6dfc2;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.8172037;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3222" - width="89.202576" - height="47.277973" - x="304.47925" - y="110.74908" /> - <rect - style="opacity:1;fill:#df5050;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93000001000000021;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3225" - width="129.26752" - height="124.60923" - x="184.00241" - y="111.9701" /> + id="tspan3468" + sodipodi:role="line">troll de la semaine :</tspan></text> </g> </svg> diff --git a/doc/protocole3.txt b/doc/protocole3.txt index eb661a3..dc3ff4b 100644 --- a/doc/protocole3.txt +++ b/doc/protocole3.txt @@ -93,9 +93,9 @@ ou "nick_format" : "nick" | "login" | "nick_login", "view_times" : true | false, "view_tooltips" : true | false, - // "main_page" : 1, - "conversations" : [3, 8], - "ek_master" : true | false + "conversations" : [{"root" : 3, "minimized" : true}, + "ek_master" : true | false, + "ostentatious_master" : "invisible" | "light" | "heavy" } @@ -120,8 +120,8 @@ c -> s "nick_format" : "nick" | "login" | "nick_login", "view_times" : true | false, "view_tooltips" : true | false, - "main_page" : 1, - "conversations" : [3, 8] + "conversations" : [{"root" : 3, "minimized" : true}, + "ostentatious_master" : "invisible" | "light" | "heavy" } s -> c @@ -151,7 +151,8 @@ Si "main_page" est absent alors est vaut 1. "answer_to" : [ { "id" : 123, "nick" : "Pierre", "login" : "pierre_45" } ] - "ek_master" : true | false + "ek_master" : true | false, + "ostentatious_master" : "invisible" | "light" | "heavy" } c -> s diff --git a/img/css1/logo_ek_master.png b/img/css1/logo_ek_master.png new file mode 100644 index 0000000000000000000000000000000000000000..8e03c9340ac5cc3bbb18fbf0726f9fa179566bbb GIT binary patch literal 16975 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 literal 0 HcmV?d00001 diff --git a/img/css1/marque_ek.png b/img/css1/marque_ek.png new file mode 100644 index 0000000000000000000000000000000000000000..2755449f062f96e77d56e0da1c9781e0ae5f0259 GIT binary patch literal 657 zcmV;C0&e|@P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG00004b3#c}2nYxW zd<bNS00009a7bBm000$I000$I0Su*5d;kCd8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10uD(;K~yM_O_EPYlW`n}Kfk^2wr0tkhzr+T9>%6-ZW4Ad#@eO4 zNJ$YS1wm0pbO?f^KbMs7YF#3TNQf>GNCTxr(6V$}&ei6yXticot8MT8zT5l0`*z9E zbAF!N!-xm~z!+m=qwZ_Y?iNp3Vs-{1j+54ct3T&%-kKk$e<C9yoIcgrcJxTsq#$s8 zv$MY-mKF3L-ie`;79<iS3Iq~w9zJ?KG(EE!=NV({`Lh#~i*E~k@putdYdxaTEQo+` zSir>HPprY9I&f^z`Is?wkQ*CykEqr9Gk$*>*GKHwZK=b{R~v|Z{f;~13s_oSM~_2> z+oiD-3rdP_w>NvHrjoGR>tSdB)*|beo_U8YE}pkwaG)85T!ooU8W&$Gk}Y45;rA!- z<mnu;f>@I;oHgT+$AEN7ge)l_MX~eQtfWdNGw}IBU@D+esn&w`D+0PZbWrmINva~B zt3XvQ<-#k$2s+xg<H3XtS1+4u!Ezvr8@In8^dXB(O2nU3Im%I0FtqMc_b)68Fg9^e z<SLc|dGvJEVVjQO$EE~dumJrIQ0!azJ^--e1C8ERlZF70v56-D)a%gEm2(E_b!e%@ z$dPNG)(e2Ch=^7{7KS@*TJL_R4nj@=0Ei_SnY0L-g;ASH^&++*4HFTu|JT@K<u5hr rnM;zf7XZ{eLccRKANefb+gjr<(Y5$$bedyx00000NkvXXu0mjfg~uEY literal 0 HcmV?d00001 diff --git a/index.yaws b/index.yaws index d1469d9..d3ff0f8 100755 --- a/index.yaws +++ b/index.yaws @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>euphorik.ch</title> <erl> + % prédéfinit la feuille de style out(A) -> CSS = case euphorik_bd:css_from_user_cookie(yaws_api:find_cookie_val("cookie", A)) of undefined -> "css/1/euphorik.css"; @@ -35,10 +36,16 @@ </head> <body> <div id="container"> - <div id="logo"></div> + <erl> + % permet de prédéfinir la "class" du logo pour un ekMaster.. + out(A) -> + Est_ek_master = euphorik_bd:is_ek_master_from_cookie(yaws_api:find_cookie_val("cookie", A)), + {ehtml, {'div', [{id, "logo"}] ++ if Est_ek_master -> [{class, "ekMaster"}]; true -> [] end}}. + + </erl> <div id="info" style="display:none" ><div id="icone"></div><div class="fermer" ></div><div class="message" ></div><div class="boutons"></div></div> <ul id="menu"> - <li class="minichat">chat</li><li class="admin" style="display:none">admin</li><li class="profile"></li><li class="register">register</li><li class="logout">logout</li><li class="about">about</li> + <li class="minichat">chat</li><li class="admin" style="display:none">admin</li><li class="profile"></li><li class="register">register</li><li class="logout">logout</li><li class="about">about</li> </ul> <form action="" id="formMenuCss"> <p> diff --git a/js/euphorik.js b/js/euphorik.js index 596ded4..7e611db 100755 --- a/js/euphorik.js +++ b/js/euphorik.js @@ -597,6 +597,7 @@ Client.prototype.resetDonneesPersonnelles = function() this.pagePrincipale = 1 this.ekMaster = false + this.ostentatiousMaster = "light" // les conversations, une conversation est un objet possédant les attributs suivants : // - root (entier) @@ -720,7 +721,7 @@ Client.prototype.getJSONConversations = function() { var conversations = new Array() for (var i = 0; i < this.conversations.length; i++) - conversations.push(this.conversations[i].root) + conversations.push({root : this.conversations[i].root, minimized : this.conversations[i].reduit}) return conversations } @@ -737,7 +738,8 @@ Client.prototype.getJSONProfile = function() "nick_format" : this.nickFormat, "view_times" : this.viewTimes, "view_tooltips" : this.viewTooltips, - "conversations" : this.getJSONConversations() + "conversations" : this.getJSONConversations(), + "ostentatious_master" : this.ostentatiousMaster } } @@ -788,6 +790,7 @@ Client.prototype.setStatut = function(statut) this.statut = statut this.majMenu() + this.majLogo() } /** @@ -879,6 +882,7 @@ Client.prototype.chargerDonnees = function(data) this.nickFormat = data["nick_format"] this.viewTimes = data["view_times"] this.viewTooltips = data["view_tooltips"] + this.ostentatiousMaster = data["ostentatious_master"] // la page de la conversation principale this.pagePrincipale = 1 @@ -886,10 +890,11 @@ Client.prototype.chargerDonnees = function(data) // les conversations this.conversations = data["conversations"] for (var i = 0; i < this.conversations.length; i++) - this.conversations[i] = {root : this.conversations[i], page : 1} + this.conversations[i] = {root : this.conversations[i].root, page : 1, reduit : this.conversations[i].minimized} this.majBulle() this.majCssSelectionee() + //this.majLogo() } } @@ -984,6 +989,18 @@ Client.prototype.majCssSelectionee = function() } } +/** + * Change la "class" du logo en fonction du statut de ekMaster. + */ +Client.prototype.majLogo = function() +{ + if (this.ekMaster) + $("#logo").addClass("ekMaster") + else + $("#logo").removeClass("ekMaster") +} + + Client.prototype.slap = function(userId, raison) { var thisClient = this diff --git a/js/pageMinichat.js b/js/pageMinichat.js index 4068f35..574dedd 100755 --- a/js/pageMinichat.js +++ b/js/pageMinichat.js @@ -302,6 +302,7 @@ function Message(client, formateur, element) this.systeme = element["system"] // est-ce un message 'système' ? this.setRepondA(element["answer_to"]) // un ensemble de reponse (voir Reponse) indexé par l'id du message de la reponses this.ekMaster = element["ek_master"] + this.degreeOstentatoire = element["ostentatious_master"] } /** @@ -387,8 +388,8 @@ Message.prototype.XHTML = function(messagePair, pre) // construit l'identifiant de la personne var identifiant = this.client.nickFormat == "nick" || this.login == "" ? this.formateur.traitementComplet(this.pseudo) : - (this.client.nickFormat == "login" ? this.formateur.traitementComplet(message.login) : - this.formateur.traitementComplet(this.pseudo) + "<span class=\"login\">(" + this.formateur.traitementComplet(message.login) +")</span>" ) + (this.client.nickFormat == "login" ? this.formateur.traitementComplet(this.login) : + this.formateur.traitementComplet(this.pseudo) + "<span class=\"login\">(" + this.formateur.traitementComplet(this.login) +")</span>" ) var XHTMLrepondA = "" var debut = true @@ -406,7 +407,7 @@ Message.prototype.XHTML = function(messagePair, pre) (this.clientARepondu ? " repondu" : "") + (this.estUneReponse ? " reponse" : "") + (this.systeme ? " systeme" : "") + - (this.ekMaster ? " ekMaster" : "") + + (this.ekMaster ? " ekMaster" + this.degreeOstentatoire : "") + "\">" + "<div class=\"outilsMess\"><div class=\"extraire\"></div><div class=\"extraireCompletement\"></div></div><span class=\"entete\">" + "<span class=\"dateComplete\">[<span class=\"date\">" + this.date + "</span>]</span>" + @@ -662,8 +663,8 @@ Conversation.prototype.attacherEventsSurMessage = function(element) // l'id du message var idMess = this.idMessageFromString($(element).attr("id")) - this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", this)) - this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", this)) + this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", element)) + this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", element)) var thisConversation = this $(".lienConv", element).click( diff --git a/js/pageProfile.js b/js/pageProfile.js index 14ca09c..cb29198 100755 --- a/js/pageProfile.js +++ b/js/pageProfile.js @@ -14,58 +14,61 @@ // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License -// along with Euphorik. If not, see <http://www.gnu.org/licenses/>. - -function PageProfile(client, formateur, util) -{ - this.nom = "profile" - - this.client = client - this.formateur = formateur - this.util = util -} - -PageProfile.prototype.contenu = function() -{ - // pourquoi ? - return "" -} - -PageProfile.prototype.charger = function() -{ - $("#page").html(this.getHTML()) - - // en fonction du statut - if (this.client.authentifie()) - this.chargerProfile() - else - this.chargerLogin() - - $("#page form#profile").submit(function(){return false}) -} - -PageProfile.prototype.chargerProfile = function() +// along with Euphorik. If not, see <http://www.gnu.org/licenses/>. + +function PageProfile(client, formateur, util) +{ + this.nom = "profile" + + this.client = client + this.formateur = formateur + this.util = util +} + +PageProfile.prototype.contenu = function() +{ + // pourquoi ? + return "" +} + +PageProfile.prototype.charger = function() +{ + $("#page").html(this.getHTML()) + + // en fonction du statut + if (this.client.authentifie()) + this.chargerProfile() + else + this.chargerLogin() + + $("#page form#profile").submit(function(){return false}) +} + +PageProfile.prototype.chargerProfile = function() { var thisPage = this $("form#profile input.login").val(this.client.login) $("form#profile input.pseudo").val(this.client.pseudo) - $("form#profile input.email").val(this.client.email) - $("form#profile input#viewTooltips").attr("checked", this.client.viewTooltips) - $("form#profile input#viewTimes").attr("checked", this.client.viewTimes) - - $("form#profile select#affichagePseudo option").removeAttr("selected") - $("form#profile select#affichagePseudo option[value=" + this.client.nickFormat + "]").attr("selected", "selected") + $("form#profile input.email").val(this.client.email) + $("form#profile input#viewTooltips").attr("checked", this.client.viewTooltips) + $("form#profile input#viewTimes").attr("checked", this.client.viewTimes) + + $("form#profile select#degreeOstentatoire option").removeAttr("selected") + $("form#profile select#degreeOstentatoire option[value=" + this.client.ostentatiousMaster + "]").attr("selected", "selected") + $("form#profile select#affichagePseudo option").removeAttr("selected") + $("form#profile select#affichagePseudo option[value=" + this.client.nickFormat + "]").attr("selected", "selected") $("form#profile button").click( function() { thisPage.client.pseudo = thisPage.formateur.filtrerInputPseudo($("form#profile input.pseudo").val()) - thisPage.client.email = $("form#profile input.email").val() - thisPage.client.nickFormat = $("form#profile select#affichagePseudo option:selected").attr("value") - thisPage.client.viewTooltips = $("form#profile input#viewTooltips").attr("checked") - thisPage.client.viewTimes = $("form#profile input#viewTimes").attr("checked") + thisPage.client.email = $("form#profile input.email").val() + thisPage.client.nickFormat = $("form#profile select#affichagePseudo option:selected").attr("value") + thisPage.client.ostentatiousMaster = $("form#profile select#degreeOstentatoire option:selected").attr("value") + thisPage.client.viewTooltips = $("form#profile input#viewTooltips").attr("checked") + thisPage.client.viewTimes = $("form#profile input#viewTimes").attr("checked") var password = $("form#profile input.password").val() var passwordRe = $("form#profile input.passwordRe").val() @@ -81,80 +84,90 @@ PageProfile.prototype.chargerProfile = function() if(!thisPage.client.flush()) thisPage.util.messageDialogue("Impossible de mettre à jour votre profile, causes inconnues", messageType.erreur) - else - { - thisPage.util.messageDialogue("Votre profile a été mis à jour") - thisPage.pages.afficherPage("minichat") + else + { + thisPage.util.messageDialogue("Votre profile a été mis à jour") + thisPage.pages.afficherPage("minichat") } } - ) -} - -PageProfile.prototype.chargerLogin = function() -{ - var thisPage = this - - $("#page form#profile button").click( - function() - { - if(thisPage.client.connexionLogin($("form#profile input.login").val(), thisPage.util.md5($("form#profile input.password").val()))) + ) +} + +PageProfile.prototype.chargerLogin = function() +{ + var thisPage = this + + $("#page form#profile button").click( + function() + { + if(thisPage.client.connexionLogin($("form#profile input.login").val(), thisPage.util.md5($("form#profile input.password").val()))) { - // TODO afficher un message "ok" - thisPage.pages.afficherPage("minichat") - } - } - ) -} - -PageProfile.prototype.getHTML = function() -{ -return '\ -<form action="" id="profile" >\ - <table>\ - <tr>\ - <td>login</td>\ - <td><input class="login" type="text" size="20" maxlength="20" ' + (this.client.authentifie() ? 'readonly="readonly"' : '') + ' /></td>\ - </tr>\ - <tr>\ - <td>password</td>\ - <td><input class="password" type="password" size="20" maxlength="20"/></td>\ - </tr>' + - (this.client.authentifie() ? '\ - <tr>\ - <td>password re</td>\ - <td><input class="passwordRe" type="password" size="20" maxlength="20"/></td>\ - </tr>\ - <tr>\ - <td>pseudo</td>\ - <td><input class="pseudo" type="text" size="40" maxlength="20"/></td>\ - </tr>\ - <tr>\ - <td>e-mail</td>\ - <td><input class="email" type="text" size="40" maxlength="100"/></td>\ - </tr>\ - <tr>\ - <td>Affichage des identifiants</td>\ - <td>\ - <select id="affichagePseudo">\ - <option value="nick">Pseudo</option>\ - <option value="login">Login</option>\ - <option value="nick_login">Pseudo(Login)</option>\ - </select>\ - </td>\ - </tr>\ - <tr>\ - <td>Afficher les infos bulles</td>\ - <td><input type="checkbox" id="viewTooltips" /></td>\ - </tr>\ - <tr>\ - <td>Afficher les dates</td>\ - <td><input type="checkbox" id="viewTimes" /></td>\ - </tr>' : '') + '\ - <tr>\ - <td></td>\ - <td><button>Valider</button>\ - </tr>\ - </table>\ -</form>' -} - + // TODO afficher un message "ok" + thisPage.pages.afficherPage("minichat") + } + } + ) +} + +PageProfile.prototype.getHTML = function() +{ +return '\ +<form action="" id="profile" >\ + <table>\ + <tr>\ + <td>login</td>\ + <td><input class="login" type="text" size="20" maxlength="20" ' + (this.client.authentifie() ? 'readonly="readonly"' : '') + ' /></td>\ + </tr>\ + <tr>\ + <td>password</td>\ + <td><input class="password" type="password" size="20" maxlength="20"/></td>\ + </tr>' + + (this.client.authentifie() ? '\ + <tr>\ + <td>password re</td>\ + <td><input class="passwordRe" type="password" size="20" maxlength="20"/></td>\ + </tr>\ + <tr>\ + <td>pseudo</td>\ + <td><input class="pseudo" type="text" size="40" maxlength="20"/></td>\ + </tr>\ + <tr>\ + <td>e-mail</td>\ + <td><input class="email" type="text" size="40" maxlength="100"/></td>\ + </tr>\ + <tr>' + + (this.client.ekMaster ? '<td>Degrée d\'ostentation</td>\ + <td>\ + <select id="degreeOstentatoire">\ + <option value="invisible">Aucun</option>\ + <option value="light">Léger</option>\ + <option value="heavy">Lourd</option>\ + </select>\ + </td>' : '') + + '</tr>\ + <tr>\ + <td>Affichage des identifiants</td>\ + <td>\ + <select id="affichagePseudo">\ + <option value="nick">Pseudo</option>\ + <option value="login">Login</option>\ + <option value="nick_login">Pseudo(Login)</option>\ + </select>\ + </td>\ + </tr>\ + <tr>\ + <td>Afficher les infos bulles</td>\ + <td><input type="checkbox" id="viewTooltips" /></td>\ + </tr>\ + <tr>\ + <td>Afficher les dates</td>\ + <td><input type="checkbox" id="viewTimes" /></td>\ + </tr>' : '') + '\ + <tr>\ + <td></td>\ + <td><button>Valider</button>\ + </tr>\ + </table>\ +</form>' +} + diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index be46ab2..d84b0fb 100755 --- a/modules/erl/euphorik_bd.erl +++ b/modules/erl/euphorik_bd.erl @@ -33,7 +33,7 @@ % users : nouveau_user/2, nouveau_user/3, - set_profile/10, + set_profile/11, update_date_derniere_connexion/1, update_ip/2, update_pseudo_user/2, @@ -47,6 +47,7 @@ user_by_mess/1, toggle_ek_master/1, css_from_user_cookie/1, + is_ek_master_from_cookie/1, % messages :e nouveau_message/3, @@ -192,8 +193,11 @@ nouveau_user(Login, Password, Cookie) -> % Mise à par Cookie les autres peuvent être undefined ce qui veut dire qu'ils ne seront pas modifié. -set_profile(Cookie, Login, Password, Pseudo, Email, Css, Nick_format, View_times, View_tooltips, Conversations) -> - if Nick_format =:= nick; Nick_format =:= login; Nick_format =:= nick_login -> +% Conversation est de type [{int(), bool()}] où l'entier est la racine, le booléen indique si la conversation est réduite ou non +% Ostentatious_master peut valoir invisible, light ou heavy +set_profile(Cookie, Login, Password, Pseudo, Email, Css, Nick_format, View_times, View_tooltips, Conversations, Ostentatious_master) -> + if Nick_format =:= nick; Nick_format =:= login; Nick_format =:= nick_login, + Ostentatious_master =:= invisible; Ostentatious_master =:= light; Ostentatious_master =:= heavy -> resultat_transaction(mnesia:transaction( fun() -> case user_by_cookie(Cookie) of @@ -213,7 +217,8 @@ set_profile(Cookie, Login, Password, Pseudo, Email, Css, Nick_format, View_times nick_format = Nick_format, view_times = View_times, view_tooltips = View_tooltips, - conversations = if is_list(Conversations) -> Conversations; true -> User#user.conversations end + conversations = if is_list(Conversations) -> Conversations; true -> User#user.conversations end, + ostentatious_master = Ostentatious_master }, mnesia:write(User_modifie), ok @@ -396,6 +401,13 @@ css_from_user_cookie(Cookie) -> undefined end. + +is_ek_master_from_cookie(Cookie) -> + case user_by_cookie(Cookie) of + {ok, #user{ek_master = true}} -> true; + _ -> false + end. + user_by_login_password(Login, Password) -> resultat_transaction(mnesia:transaction( diff --git a/modules/erl/euphorik_bd_update.erl b/modules/erl/euphorik_bd_update.erl index 14a85c9..1f04ab0 100644 --- a/modules/erl/euphorik_bd_update.erl +++ b/modules/erl/euphorik_bd_update.erl @@ -78,7 +78,7 @@ patch(1) -> mnesia:transform_table( user, fun({user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Nick_format, View_times, View_tooltips, Indice_flood, _Page_principale, Conversations, Ek_master, Last_ip}) -> - {user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Nick_format, View_times, View_tooltips, reverse, Indice_flood, lists:map(fun({C, _}) -> C end, Conversations), Ek_master, Last_ip} + {user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Nick_format, View_times, View_tooltips, light, reverse, Indice_flood, lists:map(fun({R, _}) -> {R, false} end, Conversations), Ek_master, Last_ip} end, record_info(fields, user), user diff --git a/modules/erl/euphorik_daemon.erl b/modules/erl/euphorik_daemon.erl index 274a2c2..548eab1 100755 --- a/modules/erl/euphorik_daemon.erl +++ b/modules/erl/euphorik_daemon.erl @@ -16,25 +16,25 @@ % You should have received a copy of the GNU General Public License % along with Euphorik. If not, see <http://www.gnu.org/licenses/>. % -% Module tournant en background s'occupant periodiquement de certaines tâches : +% Module tournant en background s'occupant periodiquement de certaines tâches : % - sélection du prochain troll chaque semaine % - rechargement des modules lors d'une mise en production -% Date : 05.11.2007 +% Date : 05.11.2007 % @author G.Burri --module(euphorik_daemon). --export([start/1, reload_euphorik/0, loop/0]). --include("../include/euphorik_defines.hrl"). +-module(euphorik_daemon). +-export([start/1, reload_euphorik/0, loop/0]). +-include("../include/euphorik_defines.hrl"). - -% Démarre le démon + +% Démarre le démon start(_A) -> register(euphorik_daemon, self()), - loop(). + loop(). + - -loop() -> +loop() -> % on attend une minute de plus pour prevenir une dérive négative (ce qui pourrait engendrer une double élection) receive switch -> % permet de substituer le code du process par un nouveau code, voir reload_euphorik @@ -42,38 +42,39 @@ loop() -> after 1000 * (trunc(temps_prochaine_election() + 60)) -> euphorik_bd:elire_troll(), euphorik_daemon:loop() - end. - - -% Renvoie le nombre de seconde qu'il reste jusque au prochain lundi à l'heure donnée (l'heure est sur 24heures) -% 86400 est le nombre de seconde dans un jour -temps_prochaine_election() -> - {Date, {H,M,S}} = calendar:local_time(), - Delta = (?JOUR_ELECTION_TROLL - 1) * 86400 + ?HEURE_ELECTION_TROLL * 60 * 60 - -((calendar:day_of_the_week(Date) - 1) * 86400 + H * 60 * 60 + M * 60 + S), - % attention au cas où deux dates (maintenant et la date d'élection) ne se trouvent pas dans la même semaine. - if Delta =< 0 -> Delta + 7 * 86400; true -> Delta end. - - -% Recharge tous les modules euphorik. -% Appelé lors d'une mise en prod. -% TODO : récupérer les noms à partir des .beam dans /modules/ebin -reload_euphorik() -> - lists:foreach( - fun(M) -> - code:purge(M), - code:load_file(M) - end, - [ - euphorik_common, - euphorik_minichat_conversation, - euphorik_protocole, - euphorik_requests, - euphorik_bd, - euphorik_bd_update, - euphorik_daemon - ] + end. + + +% Renvoie le nombre de seconde qu'il reste jusque au prochain lundi à l'heure donnée (l'heure est sur 24heures) +% 86400 est le nombre de seconde dans un jour +temps_prochaine_election() -> + {Date, {H,M,S}} = calendar:local_time(), + Delta = (?JOUR_ELECTION_TROLL - 1) * 86400 + ?HEURE_ELECTION_TROLL * 60 * 60 + -((calendar:day_of_the_week(Date) - 1) * 86400 + H * 60 * 60 + M * 60 + S), + % attention au cas où deux dates (maintenant et la date d'élection) ne se trouvent pas dans la même semaine. + if Delta =< 0 -> Delta + 7 * 86400; true -> Delta end. + + +% Recharge tous les modules euphorik. +% Appelé lors d'une mise en prod. +% TODO : récupérer les noms à partir des .beam dans /modules/ebin +reload_euphorik() -> + lists:foreach( + fun(M) -> + code:purge(M), + code:load_file(M) + end, + [ + euphorik_common, + euphorik_minichat_conversation, + euphorik_protocole, + euphorik_requests, + euphorik_bd, + euphorik_bd_update, + euphorik_daemon + ] ), % changement du code du daemon - euphorik_daemon ! switch. + euphorik_daemon ! switch, + ok. \ No newline at end of file diff --git a/modules/erl/euphorik_protocole.erl b/modules/erl/euphorik_protocole.erl index dac7d03..3f9d7a1 100755 --- a/modules/erl/euphorik_protocole.erl +++ b/modules/erl/euphorik_protocole.erl @@ -74,19 +74,27 @@ erreur_register_flood() -> % Un utilisateur se logge (avec un couple {login, mot de passe}) login([{login, Login}, {password, Password}], IP) -> - loginUser(euphorik_bd:user_by_login_password(Login, Password), IP); + case euphorik_bd:user_by_login_password(Login, Password) of + {ok, User} -> + loginUser(User, IP); + _ -> + timer:sleep(?TEMPS_ATTENTE_ERREUR_LOGIN), + erreur("Couple login/pass introuvable") + end; % Un utilisateur se logge (avec un cookie) login([{cookie, Cookie}], IP) -> - loginUser(euphorik_bd:user_by_cookie(Cookie), IP). + case euphorik_bd:user_by_cookie(Cookie) of + {ok, User} -> + loginUser(User, IP); + _ -> + timer:sleep(?TEMPS_ATTENTE_ERREUR_LOGIN), + erreur("Authentification impossible par cookie") + end. -loginUser({ok, User}, IP) -> +loginUser(User, IP) -> euphorik_bd:update_ip(User#user.id, IP), euphorik_bd:update_date_derniere_connexion(User#user.id), - json_reponse_login_ok(User); -loginUser(_, _) -> - % ajoute un délais d'attente - timer:sleep(?TEMPS_ATTENTE_ERREUR_LOGIN), - erreur("Couple login/pass introuvable"). + json_reponse_login_ok(User). % Renvoie un string() représentant un cookie en base 36. Il y a 10^32 possibillités. @@ -113,14 +121,22 @@ profile( {nick_format, Nick_format_str}, {view_times, View_times}, {view_tooltips, View_tooltips}, - {conversations, {array, Conversations_json}} + {conversations, {array, Conversations_json}}, + {ostentatious_master, Ostentatious_master} ] ) -> - % virage des messages qui n'existent pas - Conversations = lists:dropwhile( - fun(Message_id) -> - not euphorik_bd:message_existe(Message_id) + % décomposition de la strucure JSON + Conversations = lists:foldr( + fun({struc, [{root, Racine}, {minimized, Reduit}]}, A) -> + % virage des messages qui n'existent pas + Message_exite = euphorik_bd:message_existe(Racine), + if Message_exite -> + [ {Racine, Reduit} | A]; + true -> + A + end end, + [], Conversations_json ), % TODO : pas très beau, mieux vaut construire un #user @@ -134,7 +150,8 @@ profile( list_to_atom(Nick_format_str), View_times, View_tooltips, - Conversations) of + Conversations, + list_to_atom(Ostentatious_master)) of ok -> json_reponse_ok(); login_deja_pris -> @@ -658,8 +675,14 @@ json_reponse_login_ok(User) -> {nick_format, atom_to_list(User#user.nick_format)}, {view_times, User#user.view_times}, {view_tooltips, User#user.view_tooltips}, - {conversations, {array, User#user.conversations } }, - {ek_master, User#user.ek_master} + {conversations, {array, lists:map( + fun({Racine, Reduit}) -> + {struct, [{root, Racine}, {minimized, Reduit}]} + end, + User#user.conversations + )}}, + {ek_master, User#user.ek_master}, + {ostentatious_master, atom_to_list(User#user.ostentatious_master)} ] }. @@ -692,5 +715,6 @@ json_message(Mess, Repond_a, User) -> end, Repond_a )}}, - {ek_master, User_mess#user.ek_master} + {ek_master, User_mess#user.ek_master}, + {ostentatious_master, atom_to_list(User_mess#user.ostentatious_master)} ]}. diff --git a/modules/include/euphorik_bd.hrl b/modules/include/euphorik_bd.hrl index b779583..1a12872 100755 --- a/modules/include/euphorik_bd.hrl +++ b/modules/include/euphorik_bd.hrl @@ -74,9 +74,10 @@ nick_format = nick, %atom(), peut valoir 'nick', 'login' ou 'nick_login' view_times = true, view_tooltips = true, + ostentatious_master = light, % peut valoir invisible, light ou heavy. seulement pour ek_master message_order = reverse, % can be normal or reverse indice_flood = 0, % integer() est incrémenté lorsque l'utilisateur envoie trop rapidement des messages. - conversations = [], % [integer()], la liste des messages correspondant au conversation + conversations = [], % [{integer(), bool}], la liste des messages correspondant au conversation {racine, reduite?} ek_master = false, last_ip = undefined % integer(), undefined si inconnu }). diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 3212e36..da5c656 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -4,8 +4,8 @@ <file> <url>js/pageMinichat.js</url> <line>237</line> - <line>901</line> - <line>1150</line> + <line>906</line> + <line>1155</line> </file> </editor-bookmarks> </project-private> -- 2.45.2