summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAche <ache@ache.one>2016-08-14 20:42:05 +0200
committerAche <ache@ache.one>2016-08-14 20:42:05 +0200
commit302575cdb0a7ea361ad7cae18e35121285da08cc (patch)
treed3726efeee2e1cdd7b3e6b80cffbc626e3b3b382
parentSuppression du footer (diff)
Site passe en static
Désormais le site passe en static. Plus de CGI. Peut-être plus tard un autre outils de factorisation serra utilisé mais pour le moment tout est static.
-rw-r--r--Makefile11
-rwxr-xr-xarticle.c72
-rwxr-xr-xarticle/duckduckgo.txt37
-rw-r--r--article/duckduckgo_google_en_mieux.html199
-rwxr-xr-xarticle/quisuis.txt48
-rwxr-xr-xarticle/quisuisje.txt48
-rw-r--r--contact/contact.pngbin0 -> 2736 bytes
-rw-r--r--contact/index.html69
-rwxr-xr-xcontact/slache.html5
-rw-r--r--description1
-rwxr-xr-xdesign/contenu.css44
-rw-r--r--dev.c82
-rwxr-xr-xindex.html145
-rwxr-xr-xmain.c453
-rwxr-xr-xmain.h26
-rwxr-xr-xres/acheVersionAlpha.xpibin6406 -> 0 bytes
-rwxr-xr-xres/emploi du temps TS3.pdfbin1210901 -> 0 bytes
-rw-r--r--session_dev.vim458
18 files changed, 378 insertions, 1320 deletions
diff --git a/Makefile b/Makefile
index 14c1053..f50294a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,8 @@
-all: index.fcgi
-
-index.fcgi: main.c dev.c main.h
- gcc main.c dev.c -lfcgi -o index.fcgi
- pkill index.fcgi
- ./index.fcgi &
+install:
+ cp -R */ /var/www/ache
+ cp index.html /var/www/ache
+clean:
+ rm -R /var/www/ache/*
diff --git a/article.c b/article.c
deleted file mode 100755
index 85de2ca..0000000
--- a/article.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include "main.h"
-
-int main(void)
-{
- char article[50] = "...", *env;
- char* tmp_h = NULL;
- int num = 0, i;
-
- env = getenv("QUERY_STRING");
- if(!env || sscanf(env, "article=%d", &num) != 1)
- num = 0;
-
- if( env >= 0)
- {
- int nb_CR = 0, c;
- FILE* fichier = fopen("article/_liste", "r");
- if(!fichier)
- erreur("Impossible de charger la page. Veuillez reessayer ult&eacute;rieurement.");
-
- for(nb_CR=-1;nb_CR < num && fgets(article, 50, fichier);++nb_CR);
-
- if(nb_CR != num)
- erreur("Article introuvable");
- for(tmp_h=article;*tmp_h;tmp_h++)
- if( isspace(*tmp_h) )
- *tmp_h = '\0';
-
- }
- char date[20], titre[50] = "Vive la lettre H !", ident[50];
- int type = getinfo(article, titre, date, ident);
- if( titre )
- start(titre, "Site d'ache : Articles et présentation de mes projets");
- else
- start("Ache", "Site d'ache : Articles et présentation de mes projets");
- { // LOG
- char chemin[50] = "";
- char command[100] = "";
- time_t rawtime;
- struct tm* UTCTime;
- FILE* log;
- time( &rawtime );
- UTCTime = gmtime( &rawtime );
- sprintf(chemin, "logs/%.2d.%.2d.%.2d.txt", UTCTime->tm_mday, UTCTime->tm_mon, UTCTime->tm_year);
- log = fopen(chemin, "a");
-
-
- if( log )
- {
- fprintf(log, "[%.2d:%.2d:%.2d]<%s-%s>%d\n", UTCTime->tm_hour, UTCTime->tm_min, UTCTime->tm_sec, getenv("REMOTE_ADDR"), getenv("HTTP_USER_AGENT"), num);
- fclose(log);
- }
- else
- {
- printf("Voir %s", chemin);
- perror( "Erreur :");
- return 1;
- }
- if( getenv("REMOTE_ADDR") ) {
- sprintf(command, "wget -q -O - ipinfo.io/%s | tr \"\\n\" \" \" | tr -s ' ' >> %s", getenv("REMOTE_ADDR"), chemin);
- system(command);
- sprintf(command, "echo ' ' >> %s",chemin);
- system(command);
- }
- }
- sideBar();
- //sommaire();
- contenu(article, num);
- voirAussi();
- end();
- return 0;
-}
-
diff --git a/article/duckduckgo.txt b/article/duckduckgo.txt
deleted file mode 100755
index 827cbef..0000000
--- a/article/duckduckgo.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-DuckDuckGo, Google en mieux ?|13/04/2012|svg|http://ache.one/res/DuckDuckGo_Logo.svg
-<div id="intro"> Depuis un certain temps déjà, Google ne se consacre plus entièrement à son moteur de recherche. En effet, la firme est déjà bien implentée dans la plupart des pays occidentaux où elle est le site le plus visité. Mais la concurrence, elle, s'est développée. Les moteurs de recherches tels que DuckDuckGo évoluent avec le temps, jusqu'à devenir plus pratique et ergonomique que Google. <p> DuckDuckGo est un moteur de recherche assez jeune mais qui a beaucoup d'avenir. En effet, il allie rapidité et fonctionnalités innovantes, tout en conservant la vie privée de l'utilisateur</p> </div>
-<h3>Bang ! </h3>
-
-<p> Vous connaissiez le "I'm Feeling Lucky" de Google ("J'ai de la chance" en français). DuckDuckGo lui propose une fonctionnalité similaire du nom de "I'm Feeling Ducky". En effet, il suffit de placer un point d'exclamation ("bang" en anglais) dans les termes de votre recherche afin d'arriver directement sur le premier résultat. Mais ce n'est pas tout, sinon !Bang n'aurait rien d'innovant. DuckDuckGo permet d'accéder simplement à certains sites environs une centaine. Par exemple, "!wfr" permet d'afficher directement la page d'accueil de Wipipédia en Français ("!w" pour la version anglaise). On peut remarquer notamment "!sdz" qui permet d'afficher directement la page d'accueil du site du zéro. Il existe pour tous les sites couramment utilisés comme FaceBook par exemple ("!fb").
- Toujours pas convaincu ? !Bang peut également prendre des arguments dans ces !Bang afin de créer une véritable ligne de commande. On peut ainsi directement accéder à l'article DuckDuckGo de Wikipédia en français en tapants simplement "!wfr DuckDuckGo". Et cela fonctionne avec énormément de mot-clé comme "!ixquick", "!sp", "!g" (Google), "!answers", ...
-
-DuckDuckGo devient ainsi une véritable ligne de commande dans votre navigateur Web. De quoi satisfaire les adeptes de la console. D'ailleur de nombreux !Bang son adapté au developpement comme "!cpp" pour la man du C++ ou encore "!golang" pour une recherche dans la documentation de GO (le langage de programmation)
-
-Vous pouvez consulter la liste des <a style="color: #944040" href="https://duckduckgo.com/bang.html">!Bang</a> en tappant "!Bang" dans DuckDuckGo.</p>
-
-
-<h3>Zero Click Infobox</h3>
-<p>
-<img class="fr" src="http://ache.nyan.at/res/zeroClickBox1.png" alt="ZéroClickBox"/>
- Mais qu'est-ce dont encore ce truc-là ? La Zéro Click Infobox, est une boite d'information apparaissant avant les premiers liens et qui essaye de vous apporter l'information que vous recherchez sans que vous ayez besoin de visiter un quelconque autre site. Pratique quand on est pressé. Elle vous propose également quelques liens utiles à tout début de recherche.
- Afin d'apporter l'information, la Zero Click Infobox va s'appuyer sur d'autres sites comme Wikipédia. Elle permet aussi comme la <a href="https://fr.wikipedia.org/wiki/Calculatrice_Google">calculatrice de Google</a> d'effectuer des calculs directement dans le champ de recherche. Là où DuckDuckGo innove, c'est dans la précision. En effet, Google se plante assez minablement dans des calculs simples pour des raisons des précisions. On connait tous le célèbre <a href="http://www.google.com/search?&amp;q=399999999999999+-+399999999999998">"399 999 999 999 999 - 399 999 999 999 998 = 0"</a> de Google. Pour pallier ce problème de précision, DuckDuckGo va directement chercher sur WorlFramAlpha afin de faire les calculs les plus compliqués (Il traite cependant les plus simples).
- Mais quitte à utiliser WolframAlpha ... autant utiliser toutes les fonctionnalités disponibles ... C'est ce que propose DuckDuckGo. Ainsi, on peut retrouver certaines informations très rapidement "mass of jupiter" par exemple ou encore "base64 Hello World" qui donne directement "SGVsbG8gV29ybGQ=". Ce système de conversion marche également pour le binaire, rot13, SHA, ... Plus d'info et de fonctionnalités sur leur page d'information <a style="color: #944040" href="http://duckduckgo.com/tech.html">tech Goodies</a>. Toutes les lister seraient trop long.
-</p>
-
-<h3>Respect de la vie privée</h3>
-<p>
- Contrairement à Google, DuckDuckGo respecte la vie privée de ses utilisateurs. DuckDuckGo reproche à Google de personnaliser les recherches et de créer une sorte de bulle qui réduit les résultats en fonction de vos centres d'intérêts et donc ainsi réduire le nombre d'information auxquelles vous avez accès. DuckDuckGo lui propose donc les mêmes résultats pour tous les utilisateurs. Voir la page <a href="http://dontbubble.us/">dontbubble.us</a> pour plus d'informations.
- Par ailleurs DuckDuckGo est totalement contre le tracking. Son slogan est d'ailleurs "Google tracks you. We don't." . D'ailleurs, DuckDuckGo n'utilise pas de Coockies (mis à part pour les préférences, mais il propose également une alternative aux Cookies par URL) et ne stocke aucun historique des requêtes. Leur campagne <a href="http://donttrack.us/">donttrack.us</a> essaye d'ailleurs d'être assez choquante.
- Encore plus de respect de la vie privée ? DuckDuckGo propose la recherche anonyme par l'utilisation de TOR. Ou comment arriver à l'anonymat le plus totale. Vous pouvez également utiliser la version HTTPS qui utilise donc une couche de chiffrement SSL pour que tout soit chiffré du début à la fin.
-</p>
-<h3>Un Moteur de recherche proche de ses utilisateurs</h3>
-<p>
- DuckDuckGo est le seul moteur de recherche que je connaisse aussi ouvert et aussi à l'écoute de ses utilisateurs. DuckDuckGo vous permets <a style="color: #944040" href="https://duckduckgo.com/newbang.html">d'ajouter vos propres !Bang</a> au site (s'il y a plusieurs demandes, ils l'ajouteront). C'est certainement comme cela qu'on peut retrouver "!sdz" comme !Bang.
- Pour les utilisateurs trouvant le moteur trop gourmand, DuckDuckGo propose également une version lite de son moteur de recherche. Celui-ci est cependant basique mais l'initiative est preuve de la bonne volonté de DuckDuckGo de vouloir bien faire.
- DuckDuckGo est aussi une petite communauté. En effet, en plus d'être totalement transparent sur leurs informations (code source, <a href="http://duckduckgo.com/traffic.html">info trafique</a>, ...), ils vous proposent même de participer à l'amélioration du Wiki, de la traduction de DuckDuckGo, au développement du site, ou tout simplement de discuter sur des améliorations à apporter sur #duckduckgo sur Freenode. <a href="https://dukgo.com/base/welcome">Voir la plateforme de développement</a></p>
-
-<p>DuckDuckGo est ainsi une véritable mine d'or. Proposant de nombreuses fonctionnalités innovantes. Il est de ce fait un des meilleurs moteurs de recherche du moment. Personnellement, je l'adopte. Je découvre de plus en plus de fonctionnalité en l'utilisant quotidiennement et ça fait vraiment plaisir de gagner chaque jour en ergonomie. DuckDuckGo vient récemment de dépasser le million de requêtes par jour.
-
-Consulter la page d'accueil de DuckDuckGo pour plus d'info sur l'utilisation du moteur de recherche.
-</p>
-
diff --git a/article/duckduckgo_google_en_mieux.html b/article/duckduckgo_google_en_mieux.html
new file mode 100644
index 0000000..a6f68d2
--- /dev/null
+++ b/article/duckduckgo_google_en_mieux.html
@@ -0,0 +1,199 @@
+
+<!DOCTYPE html>
+<html>
+ <head>
+
+
+ <script type="text/javascript" src="/static/js/analytics.js"></script>
+ <script type="text/javascript">archive_analytics.values.server_name="wwwb-app19.us.archive.org";archive_analytics.values.server_ms=149;</script>
+ <link type="text/css" rel="stylesheet" href="/static/css/banner-styles.css"/>
+
+ <meta charset="utf-8" />
+ <title>
+ DuckDuckGo, Google en mieux ?</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <link rel="canonical" href="http://ache.one/"/>
+ <link rel="shortcut icon" type="image/svg" href="/res/ache.ico" />
+ <link rel="stylesheet" type="text/css" title="Design" href="design/design.css" />
+ <style>
+@import url("../design/design.css");</style>
+ <meta name= "description" content="Site d'ache : Articles et présentation de mes projets" />
+ </head>
+ <body>
+ <aside id="side-bar">
+ <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" id="svg">
+ <g transform="scale(0.125)">
+ <rect width="100" height="100" x="50" y="300" id="rect1" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="400" id="rect2" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="500" id="rect3" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="600" id="rect4" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="600" id="rect5" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="600" id="rect6" style="fill:#000" />
+ <rect width="100" height="100" x="350" y="600" id="rect7" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="600" id="rect8" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="600" id="rect9" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="600" id="rect10" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="500" id="rect11" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="400" id="rect12" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="300" id="rect13" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="700" id="rect14" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="700" id="rect15" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="300" id="rect16" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="300" id="rect17" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="200" id="rect18" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="200" id="rect19" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="100" id="rect20" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="100" id="rect21" style="fill:#000" />
+ <rect width="100" height="100" x="350" y="000" id="rect22" style="fill:#000" />
+ </g>
+ </svg>
+ <h2> Ache </h2>
+ <div id="desc">
+ Étudiant en Math-Info <br /> <span id="about"> GNU\Linux, C, C++, Python, Math, ... <br /> </span>
+ </div>
+ <nav>
+ <ul>
+ <li class="about_bar">
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
+ <g transform="translate(-16,-16)scale(0.053)">
+ <path d="
+ M 630, 425
+ A 195, 195 0 0 1 331, 600
+ A 142, 142 0 0 0 428, 570
+ A 70, 70 0 0 1 370, 523
+ A 70, 70 0 0 0 401, 521
+ A 70, 70 0 0 1 344, 455
+ A 70, 70 0 0 0 372, 460
+ A 70, 70 0 0 1 354, 370
+ A 195, 195 0 0 0 495, 442
+ A 67, 67 0 0 1 611, 380
+ A 117, 117 0 0 0 654, 363
+ A 65, 65 0 0 1 623, 401
+ A 117, 117 0 0 0 662, 390
+ A 65, 65 0 0 1 630, 425
+ Z"
+ style="fill:#777;"/>
+ </g>
+ </svg>
+ </li><li class="about_bar">
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
+ <g transform="scale(0.02)"><path d="M0 500.288q0 129.32 62.952 234.728 62.952 108.824 170.8 171.288t234.728 62.464q127.368 0 235.704 -62.464 108.336 -62.952 170.556 -171.044t62.22 -234.972q0 -128.832 -62.464 -235.704 -62.952 -108.336 -171.044 -170.556t-234.972 -62.22q-129.32 0 -234.728 62.952 -108.824 62.952 -171.288 170.8t-62.464 234.728zm78.08 0q0 -78.08 30.744 -150.792t83.936 -125.416q53.192 -53.192 125.416 -83.692t150.304 -30.5 150.792 30.5 125.904 83.692q52.704 52.704 83.204 125.416t30.5 150.792q0 83.936 -34.404 160.064t-96.624 131.516 -142.252 80.276v-137.616q0 -51.24 -41.968 -80.032 102.968 -9.272 150.548 -52.216t47.58 -136.152q0 -72.224 -44.408 -121.512 8.784 -26.352 8.784 -50.752 0 -36.112 -16.592 -66.368 -32.696 0 -58.56 10.736t-63.44 37.088q-45.384 -10.248 -93.696 -10.248 -55.144 0 -102.968 11.224 -36.6 -26.84 -63.196 -37.82t-60.268 -10.98q-16.104 30.744 -16.104 66.368 0 25.376 8.296 51.24 -44.408 47.824 -44.408 121.024 0 93.208 47.336 135.664t151.768 52.216q-27.816 18.544 -38.552 54.168 -23.912 8.296 -49.776 8.296 -19.52 0 -33.672 -8.784 -4.392 -2.44 -8.052 -5.124t-7.564 -6.588 -6.344 -6.1 -6.344 -7.564 -5.124 -6.832 -5.856 -7.808 -5.124 -6.832q-22.936 -30.256 -54.656 -30.256 -17.08 0 -17.08 7.32 0 2.928 8.296 9.76 15.616 13.664 16.592 14.64 11.712 9.272 13.176 11.712 14.152 17.568 21.472 38.552 27.328 61 93.696 61 10.736 0 41.968 -4.88v103.456q-80.032 -24.888 -142.252 -80.276t-96.624 -131.516 -34.404 -160.064z" style="fill: #777;"/></g></svg>
+ </li><li class="about_bar">
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20">
+ <g transform="scale(0.04)">
+ <path fill="#777" d="M119.9,336.1C89.1,336.1,64,361.2,64,391.9c0,30.8,25.1,55.6,55.9,55.6c30.9,0,55.9-24.9,55.9-55.6 C175.8,361.2,150.8,336.1,119.9,336.1z"/>
+ <path fill="#777" d="M64,192v79.9c48,0,94.1,14.199,128,48.1s48,79.9,48,128h80C320,308.1,204,192,64,192z"/>
+ <path fill="#777" d="M64,64v79.9c171,0,303.9,133,303.9,304.1H448C448,236.3,276,64,64,64z"/>
+ </g>
+ </svg>
+ </li>
+ </ul>
+ </nav>
+ <nav>
+ <ul>
+ <li class="sommaire_blien"><a href="/index.html">Accueil</a></li><li class="sommaire_blien"><a href="http://projet.ache.one/"><s>Projets</s></a></li><li class="sommaire_blien"><a href="/contact/">Contact</a></li>
+ </ul>
+ </nav>
+ </aside>
+
+ <article id="contenu" role="article" class="post hentry clearfix">
+ <header>
+ <h1 id="contenu_top2">
+ DuckDuckGo, Google en mieux ?</h1>
+ <p>
+ Post&eacute; le <time datetime="2012-04-13">
+ 13/04/2012</time>
+ </p>
+ </header>
+ <object type="image/svg+xml" data="/res/DuckDuckGo_Logo.svg" style="float:right;width:200px;height:200px;">
+ <img src="/res/DuckDuckGo_Logo.png" alt="Logo Article"/>
+ <p>
+ http://ache.one/res/DuckDuckGo_Logo.svg</p>
+ </object>
+ <section class="entry-content clearfix">
+
+ <div id="intro">
+ <br />
+ Depuis un certain temps d&eacute;j&agrave;, Google ne se consacre plus enti&egrave;rement &agrave; son moteur de recherche. En effet, la firme est d&eacute;j&agrave; bien implent&eacute;e dans la plupart des pays occidentaux o&ugrave; elle est le site le plus visit&eacute;. Mais la concurrence, elle, s'est d&eacute;velopp&eacute;e. Les moteurs de recherches tels que DuckDuckGo &eacute;voluent avec le temps, jusqu'&agrave; devenir plus pratique et ergonomique que Google.<br />
+ <p>
+ DuckDuckGo est un moteur de recherche assez jeune mais qui a beaucoup d'avenir. En effet, il allie rapidit&eacute; et fonctionnalit&eacute;s innovantes, tout en conservant la vie priv&eacute;e de l'utilisateur</p>
+ <br />
+ </div>
+ <br />
+ <h3>
+ Bang ! </h3>
+ <br />
+ <br />
+ <p>
+ Vous connaissiez le "I'm Feeling Lucky" de Google ("J'ai de la chance" en fran&ccedil;ais). DuckDuckGo lui propose une fonctionnalit&eacute; similaire du nom de "I'm Feeling Ducky". En effet, il suffit de placer un point d'exclamation ("bang" en anglais) dans les termes de votre recherche afin d'arriver directement sur le premier r&eacute;sultat. Mais ce n'est pas tout, sinon !Bang n'aurait rien d'innovant. DuckDuckGo permet d'acc&eacute;der simplement &agrave; certains sites environs une centaine. Par exemple, "!wfr" permet d'afficher directement la page d'accueil de Wipip&eacute;dia en Fran&ccedil;ais ("!w" pour la version anglaise). On peut remarquer notamment "!sdz" qui permet d'afficher directement la page d'accueil du site du z&eacute;ro. Il existe pour tous les sites couramment utilis&eacute;s comme FaceBook par exemple ("!fb").<br />
+ Toujours pas convaincu ? !Bang peut &eacute;galement prendre des arguments dans ces !Bang afin de cr&eacute;er une v&eacute;ritable ligne de commande. On peut ainsi directement acc&eacute;der &agrave; l'article DuckDuckGo de Wikip&eacute;dia en fran&ccedil;ais en tapants simplement "!wfr DuckDuckGo". Et cela fonctionne avec &eacute;norm&eacute;ment de mot-cl&eacute; comme "!ixquick", "!sp", "!g" (Google), "!answers", ... <br />
+ <br />
+ DuckDuckGo devient ainsi une v&eacute;ritable ligne de commande dans votre navigateur Web. De quoi satisfaire les adeptes de la console. D'ailleur de nombreux !Bang son adapt&eacute; au developpement comme "!cpp" pour la man du C++ ou encore "!golang" pour une recherche dans la documentation de GO (le langage de programmation)<br />
+ <br />
+ Vous pouvez consulter la liste des <a style="color: #944040" href="https://duckduckgo.com/bang.html">
+ !Bang</a>
+ en tappant "!Bang" dans DuckDuckGo.</p>
+ <br />
+ <br />
+ <br />
+ <h3>
+ Zero Click Infobox</h3>
+ <br />
+ <p>
+ <br />
+ <img class="fr" src="/res/zeroClickBox1.png" alt="Z&eacute;roClickBox"/>
+ <br />
+ Mais qu'est-ce dont encore ce truc-l&agrave; ? La Z&eacute;ro Click Infobox, est une boite d'information apparaissant avant les premiers liens et qui essaye de vous apporter l'information que vous recherchez sans que vous ayez besoin de visiter un quelconque autre site. Pratique quand on est press&eacute;. Elle vous propose &eacute;galement quelques liens utiles &agrave; tout d&eacute;but de recherche. <br />
+ Afin d'apporter l'information, la Zero Click Infobox va s'appuyer sur d'autres sites comme Wikip&eacute;dia. Elle permet aussi comme la <a href="https://fr.wikipedia.org/wiki/Calculatrice_Google">
+ calculatrice de Google</a>
+ d'effectuer des calculs directement dans le champ de recherche. L&agrave; o&ugrave; DuckDuckGo innove, c'est dans la pr&eacute;cision. En effet, Google se plante assez minablement dans des calculs simples pour des raisons des pr&eacute;cisions. On connait tous le c&eacute;l&egrave;bre <a href="http://www.google.com/search?&amp;q=399999999999999+-+399999999999998">
+ "399 999 999 999 999 - 399 999 999 999 998 = 0"</a>
+ de Google. Pour pallier ce probl&egrave;me de pr&eacute;cision, DuckDuckGo va directement chercher sur WorlFramAlpha afin de faire les calculs les plus compliqu&eacute;s (Il traite cependant les plus simples). <br />
+ Mais quitte &agrave; utiliser WolframAlpha ... autant utiliser toutes les fonctionnalit&eacute;s disponibles ... C'est ce que propose DuckDuckGo. Ainsi, on peut retrouver certaines informations tr&egrave;s rapidement "mass of jupiter" par exemple ou encore "base64 Hello World" qui donne directement "SGVsbG8gV29ybGQ=". Ce syst&egrave;me de conversion marche &eacute;galement pour le binaire, rot13, SHA, ... Plus d'info et de fonctionnalit&eacute;s sur leur page d'information <a style="color: #944040" href="http://duckduckgo.com/tech.html">
+ tech Goodies</a>
+ . Toutes les lister seraient trop long.<br />
+ </p>
+ <br />
+ <br />
+ <h3>
+ Respect de la vie priv&eacute;e</h3>
+ <br />
+ <p>
+ <br />
+ Contrairement &agrave; Google, DuckDuckGo respecte la vie priv&eacute;e de ses utilisateurs. DuckDuckGo reproche &agrave; Google de personnaliser les recherches et de cr&eacute;er une sorte de bulle qui r&eacute;duit les r&eacute;sultats en fonction de vos centres d'int&eacute;r&egrave;ts et donc ainsi r&eacute;duire le nombre d'information auxquelles vous avez acc&egrave;s. DuckDuckGo lui propose donc les m&egrave;mes r&eacute;sultats pour tous les utilisateurs. Voir la page <a href="http://dontbubble.us/">
+ dontbubble.us</a>
+ pour plus d'informations.<br />
+ Par ailleurs DuckDuckGo est totalement contre le tracking. Son slogan est d'ailleurs "Google tracks you. We don't." . D'ailleurs, DuckDuckGo n'utilise pas de Coockies (mis &agrave; part pour les pr&eacute;f&eacute;rences, mais il propose &eacute;galement une alternative aux Cookies par URL) et ne stocke aucun historique des requ&egrave;tes. Leur campagne <a href="http://donttrack.us/">
+ donttrack.us</a>
+ essaye d'ailleurs d'&egrave;tre assez choquante. <br />
+ Encore plus de respect de la vie priv&eacute;e ? DuckDuckGo propose la recherche anonyme par l'utilisation de TOR. Ou comment arriver &agrave; l'anonymat le plus totale. Vous pouvez &eacute;galement utiliser la version HTTPS qui utilise donc une couche de chiffrement SSL pour que tout soit chiffr&eacute; du d&eacute;but &agrave; la fin.<br />
+ </p>
+ <br />
+ <h3>
+ Un Moteur de recherche proche de ses utilisateurs</h3>
+ <br />
+ <p>
+ <br />
+ DuckDuckGo est le seul moteur de recherche que je connaisse aussi ouvert et aussi &agrave; l'&eacute;coute de ses utilisateurs. DuckDuckGo vous permets <a style="color: #944040" href="https://duckduckgo.com/newbang.html">
+ d'ajouter vos propres !Bang</a>
+ au site (s'il y a plusieurs demandes, ils l'ajouteront). C'est certainement comme cela qu'on peut retrouver "!sdz" comme !Bang.<br />
+ Pour les utilisateurs trouvant le moteur trop gourmand, DuckDuckGo propose &eacute;galement une version lite de son moteur de recherche. Celui-ci est cependant basique mais l'initiative est preuve de la bonne volont&eacute; de DuckDuckGo de vouloir bien faire.<br />
+ DuckDuckGo est aussi une petite communaut&eacute;. En effet, en plus d'&egrave;tre totalement transparent sur leurs informations (code source, <a href="http://duckduckgo.com/traffic.html">
+ info trafique</a>
+ , ...), ils vous proposent m&egrave;me de participer &agrave; l'am&eacute;lioration du Wiki, de la traduction de DuckDuckGo, au d&eacute;veloppement du site, ou tout simplement de discuter sur des am&eacute;liorations &agrave; apporter sur #duckduckgo sur Freenode. <a href="https://dukgo.com/base/welcome">
+ Voir la plateforme de d&eacute;veloppement</a>
+ </p>
+ <br />
+ <br />
+ <p>
+ DuckDuckGo est ainsi une v&eacute;ritable mine d'or. Proposant de nombreuses fonctionnalit&eacute;s innovantes. Il est de ce fait un des meilleurs moteurs de recherche du moment. Personnellement, je l'adopte. Je d&eacute;couvre de plus en plus de fonctionnalit&eacute; en l'utilisant quotidiennement et &ccedil;a fait vraiment plaisir de gagner chaque jour en ergonomie. DuckDuckGo vient r&eacute;cemment de d&eacute;passer le million de requ&egrave;tes par jour.<br />
+ <br />
+ Consulter la page d'accueil de DuckDuckGo pour plus d'info sur l'utilisation du moteur de recherche. <br />
+ </p>
+ <br />
+ <br />
+ </section>
+
+ </article>
+ </body>
+</html>
diff --git a/article/quisuis.txt b/article/quisuis.txt
deleted file mode 100755
index 2a8639d..0000000
--- a/article/quisuis.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-Qui suis-je|06/09/11|svg|http://ache.nyan.at/cubes_final.svg
-<div id="intro"> Je suis H., un lycéen de 15 ans passionné d'informatique et notamment de programmation. On me retrouve sur internet sous plusieurs pseudo @che, Ache, arobase-che ou tout simplement 'H'. On peut aussi me reconnaitre par mon avatar en pixel art ci-contre. </div>
-
-<p>Au niveau scolaire, J'ai 15ans et je suis en 1er S. D'ailleurs, depuis que cette année, je suis obligé de consacrer de moins en moins de temps à la programmation et de plus en plus au travail scolaire. Sinon j'aime lire, discuter, procrastiner :p et les sciences en générale (appliquées et théoriques). Je n'apprécie pas particulièrement les Jeux Videos (ma dernière console est une GameCube sortie en 2002) et ne regarde que rarement la télévision.
-</p>
-
-<h3>Tu programmes quoi ?</h3>
-<p>
-C'est généralement la première question que l'on me pose. Je programme durant mon temps libre, c'est à dire par passion. Je programme en divers langages (selon mes besoins) mais je maîtrise le langage C et j'ai de bonnes bases en C++ et Python. Je programme diverses choses tels que des scripts en Python pour me faciliter mes tâches quotidiennes (ex: Un script qui me prévient quand un nouvelle article est posté ou encore un autre qui depuis mon portable calcule ma moyenne et l'inscrit dans un fichier sur un serveur) ou en C dernièrement, un bot IRC qui s'occupe de récuperer des messages à ma place quand je suis absent, ou tout simplement le premier truc qui me passe par la tête comme un fractal par exemple... Vous pouvez retrouvez une partie de mes rélisations dans la section <a href="projet/">Prog</a>. Je suis particulièrement actif sur le SiteduZero, site spécialisé dans l'informatique, notamment sur le forum C ou je participe activement.</p>
-
-<h3>Niveau Professionel ?</h3>
-<p>
-J'ai déjà effectué 2 stages dans le secteur de l'informatique. 1 stage dans une entreprise de développement logiciel pendant 2 semaines et un autre dans un SAV d'un magasin spécialisé dans l'informatique (d'une durée d'une semaine). J'ai apprécié les 2 mais j'ai cependant préférer le premier.
-
-</p>
-<h3>Niveau personnel ?</h3>
-<p>Je n'aime généralement pas laisser trop d'informations sur internet. Je ne suis sur aucun réseau social mis-à-part Google+ (que j'utilise rarement sous un pseudonyme) je n'aime en général pas le fichage ; Je tiens à un minimun d'anonymat sur internet. Cependant, je participe couramment à des rencontres IRL, vous pouvez me retrouver aux <a href="http://www.siteduzero.com/forum-83-678142-p1-les-jeudis-du-sdz-nantes.html"> Jeudi du SdZ @ Nantes</a>.</p>
-
-<h3>Contact</h3>
-<p>
-Vous pouvez me contacter par mail à l'adresse: Ache [at] kegtux [dot] org
-Ou encore à l'adresse :
-Ou encore sur <a href="http://www.siteduzero.com/mp-273-224188.html">le Sdz par MP</a>.
-Je suis habituellement très disponible.
-</p>
-<h3>Autres informations</h3>
-<p>Je m'ammuse beaucoup à personaliser mon desktop, à créer des scripts, des images vectorielles, à bidouiller ma tour, ... </p>
-
-<h5>ScreenShoot</h5>
-<p>
-Voici le Desk de mon OS principale. Un Ubuntu modifié utilisant awesome wm, tilda, ...
-<a href="http://img11.hostingpics.net/pics/259903Capture.png"> <img src="http://img11.hostingpics.net/pics/259903Capture.png" width="160" height="100"></a><a href="http://img4.hostingpics.net/pics/953963Capture2.png"> <img src="http://img4.hostingpics.net/pics/953963Capture2.png" width="160" height="100"></a>
-
-Le Desk de mon Kubuntu un peu plus dans le style glossy mais très sympa :
-<a href="http://img4.hostingpics.net/pics/796948capturedcran.png"> <img src="http://img4.hostingpics.net/pics/796948capturedcran.png" width="160" height="100"></a>
-</p>
-<h5>Ma config</h5>
-<p>Je l'ai monté à la suite d'un pari que j'ai gagné :D . J'en suis plutôt fier.</p>
-<div id="intro"><ul>
-<li><strong>Processeur</strong>: AMD Phenom II X4 920 2.8GHz</li>
-<li><strong>Carte Mère</strong>: Asus M4A89TD PRO/USB3 </li>
-<li><strong>RAM</strong>: 4Go DDR3</li>
-<li><strong>DD</strong>: 1To en SATA6</li>
-<li><strong>Carte Graphique</strong>: HD radeon 5570</li></p>
-<ul></div>
-<div id="conclusion">En gros, une configuration qui va certainement durer encore quelques années ...</div>
-
-
diff --git a/article/quisuisje.txt b/article/quisuisje.txt
deleted file mode 100755
index 2a8639d..0000000
--- a/article/quisuisje.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-Qui suis-je|06/09/11|svg|http://ache.nyan.at/cubes_final.svg
-<div id="intro"> Je suis H., un lycéen de 15 ans passionné d'informatique et notamment de programmation. On me retrouve sur internet sous plusieurs pseudo @che, Ache, arobase-che ou tout simplement 'H'. On peut aussi me reconnaitre par mon avatar en pixel art ci-contre. </div>
-
-<p>Au niveau scolaire, J'ai 15ans et je suis en 1er S. D'ailleurs, depuis que cette année, je suis obligé de consacrer de moins en moins de temps à la programmation et de plus en plus au travail scolaire. Sinon j'aime lire, discuter, procrastiner :p et les sciences en générale (appliquées et théoriques). Je n'apprécie pas particulièrement les Jeux Videos (ma dernière console est une GameCube sortie en 2002) et ne regarde que rarement la télévision.
-</p>
-
-<h3>Tu programmes quoi ?</h3>
-<p>
-C'est généralement la première question que l'on me pose. Je programme durant mon temps libre, c'est à dire par passion. Je programme en divers langages (selon mes besoins) mais je maîtrise le langage C et j'ai de bonnes bases en C++ et Python. Je programme diverses choses tels que des scripts en Python pour me faciliter mes tâches quotidiennes (ex: Un script qui me prévient quand un nouvelle article est posté ou encore un autre qui depuis mon portable calcule ma moyenne et l'inscrit dans un fichier sur un serveur) ou en C dernièrement, un bot IRC qui s'occupe de récuperer des messages à ma place quand je suis absent, ou tout simplement le premier truc qui me passe par la tête comme un fractal par exemple... Vous pouvez retrouvez une partie de mes rélisations dans la section <a href="projet/">Prog</a>. Je suis particulièrement actif sur le SiteduZero, site spécialisé dans l'informatique, notamment sur le forum C ou je participe activement.</p>
-
-<h3>Niveau Professionel ?</h3>
-<p>
-J'ai déjà effectué 2 stages dans le secteur de l'informatique. 1 stage dans une entreprise de développement logiciel pendant 2 semaines et un autre dans un SAV d'un magasin spécialisé dans l'informatique (d'une durée d'une semaine). J'ai apprécié les 2 mais j'ai cependant préférer le premier.
-
-</p>
-<h3>Niveau personnel ?</h3>
-<p>Je n'aime généralement pas laisser trop d'informations sur internet. Je ne suis sur aucun réseau social mis-à-part Google+ (que j'utilise rarement sous un pseudonyme) je n'aime en général pas le fichage ; Je tiens à un minimun d'anonymat sur internet. Cependant, je participe couramment à des rencontres IRL, vous pouvez me retrouver aux <a href="http://www.siteduzero.com/forum-83-678142-p1-les-jeudis-du-sdz-nantes.html"> Jeudi du SdZ @ Nantes</a>.</p>
-
-<h3>Contact</h3>
-<p>
-Vous pouvez me contacter par mail à l'adresse: Ache [at] kegtux [dot] org
-Ou encore à l'adresse :
-Ou encore sur <a href="http://www.siteduzero.com/mp-273-224188.html">le Sdz par MP</a>.
-Je suis habituellement très disponible.
-</p>
-<h3>Autres informations</h3>
-<p>Je m'ammuse beaucoup à personaliser mon desktop, à créer des scripts, des images vectorielles, à bidouiller ma tour, ... </p>
-
-<h5>ScreenShoot</h5>
-<p>
-Voici le Desk de mon OS principale. Un Ubuntu modifié utilisant awesome wm, tilda, ...
-<a href="http://img11.hostingpics.net/pics/259903Capture.png"> <img src="http://img11.hostingpics.net/pics/259903Capture.png" width="160" height="100"></a><a href="http://img4.hostingpics.net/pics/953963Capture2.png"> <img src="http://img4.hostingpics.net/pics/953963Capture2.png" width="160" height="100"></a>
-
-Le Desk de mon Kubuntu un peu plus dans le style glossy mais très sympa :
-<a href="http://img4.hostingpics.net/pics/796948capturedcran.png"> <img src="http://img4.hostingpics.net/pics/796948capturedcran.png" width="160" height="100"></a>
-</p>
-<h5>Ma config</h5>
-<p>Je l'ai monté à la suite d'un pari que j'ai gagné :D . J'en suis plutôt fier.</p>
-<div id="intro"><ul>
-<li><strong>Processeur</strong>: AMD Phenom II X4 920 2.8GHz</li>
-<li><strong>Carte Mère</strong>: Asus M4A89TD PRO/USB3 </li>
-<li><strong>RAM</strong>: 4Go DDR3</li>
-<li><strong>DD</strong>: 1To en SATA6</li>
-<li><strong>Carte Graphique</strong>: HD radeon 5570</li></p>
-<ul></div>
-<div id="conclusion">En gros, une configuration qui va certainement durer encore quelques années ...</div>
-
-
diff --git a/contact/contact.png b/contact/contact.png
new file mode 100644
index 0000000..0345472
--- /dev/null
+++ b/contact/contact.png
Binary files differ
diff --git a/contact/index.html b/contact/index.html
new file mode 100644
index 0000000..fdb44f3
--- /dev/null
+++ b/contact/index.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<html> <head> <meta charset="utf-8" /><title>DuckDuckGo, Google en mieux ?</title><meta name="viewport" content="width=device-width, initial-scale=1" /><link rel="stylesheet" type="text/css" title="Design" href="../design/design.css" /><style>@import url("../design/design.css");</style><meta name= "description" content="Site d'ache : Articles et présentation de mes projets" /></head><body>
+<aside id="side-bar">
+<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" id="svg">
+ <g transform="scale(0.125)">
+ <rect width="100" height="100" x="50" y="300" id="rect1" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="400" id="rect2" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="500" id="rect3" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="600" id="rect4" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="600" id="rect5" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="600" id="rect6" style="fill:#000" />
+ <rect width="100" height="100" x="350" y="600" id="rect7" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="600" id="rect8" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="600" id="rect9" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="600" id="rect10" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="500" id="rect11" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="400" id="rect12" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="300" id="rect13" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="700" id="rect14" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="700" id="rect15" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="300" id="rect16" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="300" id="rect17" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="200" id="rect18" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="200" id="rect19" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="100" id="rect20" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="100" id="rect21" style="fill:#000" />
+ <rect width="100" height="100" x="350" y="000" id="rect22" style="fill:#000" />
+ </g>
+</svg>
+<h2> Ache </h2>
+<div id="desc"> Étudiant en Math-Info <br /> <span id="about">GNU\Linux, C, C++, Python, Math, ... <br /> </span></div><nav> <ul> <li class="about_bar">
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
+<g transform="translate(-16,-16)scale(0.053)">
+<path d="
+M 630, 425
+A 195, 195 0 0 1 331, 600
+A 142, 142 0 0 0 428, 570
+A 70, 70 0 0 1 370, 523
+A 70, 70 0 0 0 401, 521
+A 70, 70 0 0 1 344, 455
+A 70, 70 0 0 0 372, 460
+A 70, 70 0 0 1 354, 370
+A 195, 195 0 0 0 495, 442
+A 67, 67 0 0 1 611, 380
+A 117, 117 0 0 0 654, 363
+A 65, 65 0 0 1 623, 401
+A 117, 117 0 0 0 662, 390
+A 65, 65 0 0 1 630, 425
+Z"
+style="fill:#777;"/>
+</g>
+</svg>
+</li><li class="about_bar">
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
+<g transform="scale(0.02)"><path d="M0 500.288q0 129.32 62.952 234.728 62.952 108.824 170.8 171.288t234.728 62.464q127.368 0 235.704 -62.464 108.336 -62.952 170.556 -171.044t62.22 -234.972q0 -128.832 -62.464 -235.704 -62.952 -108.336 -171.044 -170.556t-234.972 -62.22q-129.32 0 -234.728 62.952 -108.824 62.952 -171.288 170.8t-62.464 234.728zm78.08 0q0 -78.08 30.744 -150.792t83.936 -125.416q53.192 -53.192 125.416 -83.692t150.304 -30.5 150.792 30.5 125.904 83.692q52.704 52.704 83.204 125.416t30.5 150.792q0 83.936 -34.404 160.064t-96.624 131.516 -142.252 80.276v-137.616q0 -51.24 -41.968 -80.032 102.968 -9.272 150.548 -52.216t47.58 -136.152q0 -72.224 -44.408 -121.512 8.784 -26.352 8.784 -50.752 0 -36.112 -16.592 -66.368 -32.696 0 -58.56 10.736t-63.44 37.088q-45.384 -10.248 -93.696 -10.248 -55.144 0 -102.968 11.224 -36.6 -26.84 -63.196 -37.82t-60.268 -10.98q-16.104 30.744 -16.104 66.368 0 25.376 8.296 51.24 -44.408 47.824 -44.408 121.024 0 93.208 47.336 135.664t151.768 52.216q-27.816 18.544 -38.552 54.168 -23.912 8.296 -49.776 8.296 -19.52 0 -33.672 -8.784 -4.392 -2.44 -8.052 -5.124t-7.564 -6.588 -6.344 -6.1 -6.344 -7.564 -5.124 -6.832 -5.856 -7.808 -5.124 -6.832q-22.936 -30.256 -54.656 -30.256 -17.08 0 -17.08 7.32 0 2.928 8.296 9.76 15.616 13.664 16.592 14.64 11.712 9.272 13.176 11.712 14.152 17.568 21.472 38.552 27.328 61 93.696 61 10.736 0 41.968 -4.88v103.456q-80.032 -24.888 -142.252 -80.276t-96.624 -131.516 -34.404 -160.064z" style="fill: #777;"/></g></svg>
+</li><li class="about_bar">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20">
+<g transform="scale(0.04)">
+ <path fill="#777" d="M119.9,336.1C89.1,336.1,64,361.2,64,391.9c0,30.8,25.1,55.6,55.9,55.6c30.9,0,55.9-24.9,55.9-55.6 C175.8,361.2,150.8,336.1,119.9,336.1z"/>
+ <path fill="#777" d="M64,192v79.9c48,0,94.1,14.199,128,48.1s48,79.9,48,128h80C320,308.1,204,192,64,192z"/>
+ <path fill="#777" d="M64,64v79.9c171,0,303.9,133,303.9,304.1H448C448,236.3,276,64,64,64z"/>
+</g>
+</svg>
+</li></ul> </nav><nav><ul><li class="sommaire_blien"><a href="/">Accueil</a></li><li class="sommaire_blien"><a href="http://projet.ache.one/"><s>Projets</s></a></li><li class="sommaire_blien"><a href="/contact/">Contact</a></li></ul></nav></aside>
+<article id="contenu" role="article" class="post hentry clearfix"><header><h1 id="contenu_top2">Contact</h1></header><section class="entry-content clearfix">
+<div id="intro">Pour parler d'un projet, d'un article, de programmation, de Mathématiques. Si vous voulez me parlez d'un de vos projets (personel ou professionel). Discuter de tout et de rien. C'est bien ici ! <br />Je ne répond pas aux questions techniques ; pour ça, il est préférable d'utiliser les forums. Je suis présent sur les forums de ZesteDeSavoir et d'OpenClassroom. </div>
+<h4>Par e-mail</h4><br /><p>La méthode la plus simple et la plus efficace. Je suis joingnable à l'adresse ci dessous. Je répond généralement dans la journée ou le lendemain.<img src="/contact/contact.png" alt="Image adresse email"></p><br /><br /><br /><h4>À travers le web</h4><br /><p>Sur twitter pour des questions rapides <a href="https://twitter.com/arobase_che">@arobase_che</a>. Vous pouvez également m'envoyer un MP sur <a href="http://zestedesavoir.com/membres/voir/ache/">ZdS</a> ou <a href="http://openclassrooms.com/membres/che-99221">OC</a>. Je possède également un compte <a href="https://github.com/arobase-che">GitHub</a>. <br />Je n'ai pas de compte Facebook ni Skype (en n'en n'aurait jamais). </p><br /><br /><br /><p></p><br /><br /></section>
+</article>
+</body></html>
diff --git a/contact/slache.html b/contact/slache.html
new file mode 100755
index 0000000..9d92a26
--- /dev/null
+++ b/contact/slache.html
@@ -0,0 +1,5 @@
+Content-Type: text/html;
+
+<!DOCTYPE html>
+<html> <head> <meta charset="utf-8" /><title>DuckDuckGo, Google en mieux ?</title><meta name="viewport" content="width=device-width, initial-scale=1" /><link rel="stylesheet" type="text/css" title="Design" href="design/design.css" /><style>@import url("design/design.css");</style><meta name= "description" content="Site d'ache : Articles et présentation de mes projets" /></head><body>
+Voir 24.04.115.txt \ No newline at end of file
diff --git a/description b/description
deleted file mode 100644
index 498b267..0000000
--- a/description
+++ /dev/null
@@ -1 +0,0 @@
-Unnamed repository; edit this file 'description' to name the repository.
diff --git a/design/contenu.css b/design/contenu.css
index 38695a7..eb65f77 100755
--- a/design/contenu.css
+++ b/design/contenu.css
@@ -22,8 +22,13 @@
float: left;
width: 95%;
}
+#suite {
+ float: right;
+ color: #121212;
+ font-size: 0.9em;
+}
#autres_articles a
-{
+{
display: inline-block;
text-indent: 30px;
text-decoration: none;
@@ -33,7 +38,7 @@
color: #3322F0;
}
#autres_articles a:hover
-{
+{
color: #222299;
}
#autres_articles:before {
@@ -66,7 +71,7 @@
background: #FFF;
padding-right:0%;
padding-left:0%;
- padding: 1.6em 1.6em;
+ padding: 1.6em 1.6em;
}
@@ -88,7 +93,7 @@
padding-left:5%;
border: 1px solid #eaeaea;
- border: 1px solid rgba(51, 51, 51, 0.1);
+ border: 1px solid rgba(51, 51, 51, 0.1);
border-color: #eaeaea !important;
margin-top: 50px;
}
@@ -147,10 +152,23 @@
{
font-style: italic;
}
-#foot
-{
-
+.lireLaSuite {
+ float: right;
+ opacity:0.8;
+ font-size: 0.6em;
+ font-weight: bold;
+ font-family: monospace, serif;
+ text-shadow: 0 1px 0 #DDD;
+ color: #888888;
+}
+.lireLaSuite a {
+ color: #888888;
+ outline: none;
+ text-decoration: none;
}
+
+
+
#foot_cloud
{
background-image: url(../cloud.svg);
@@ -160,15 +178,3 @@
position: absolute;
margin: 45px 0px 0px 0px;
}
-/*
- <div id="contenu">
- <div id="Titre"/>
- <div id="contenu_top"><div id="contenu_top2"></div>
- </div>
- <div id="contenu_"><br/>
- Voulez confirmez l'envoye de ce commentaire ?
- </div>
- <div id="commentaires">
- </div>
- </div>
-*/
diff --git a/dev.c b/dev.c
deleted file mode 100644
index 2b96e2c..0000000
--- a/dev.c
+++ /dev/null
@@ -1,82 +0,0 @@
-#include <fcgiapp.h>
-#include <stdlib.h>
-#include "main.h"
-
-
-#define printf(...) FCGX_FPrintF(req->out, __VA_ARGS__)
-#define putsF(b) FCGX_FPrintF(req.out,"%s\n", b)
-#define get_param(KEY) FCGX_GetParam(KEY, req->envp)
-
-
-void handle_req(FCGX_Request *req) {
- char *value;
- printf("Content-Type: text/html\r\n\r\n");
- /*
- if ((value = get_param("req_METHOD")) != NULL) {
- printf("%s ", value);
- }
- if ((value = get_param("req_URI")) != NULL) {
- printf("%s", value);
- }
- if ((value = get_param("QUERY_STRING")) != NULL) {
- printf("?%s", value);
- }
- if ((value = get_param("SERVER_PROTOCOL")) != NULL) {
- printf(" %s", value);
- }*/
- printf("\n");
-}
-int main(void) {
- int count = 0;
- char article[50] = "...", *env;
- char* tmp_h = NULL;
- int num = 0, i;
- int sock;
-
-
- FCGX_Request req;
- FCGX_Init();
- sock = FCGX_OpenSocket(":1337", 5);
- FCGX_InitRequest(&req, sock, 0);
-
- while(FCGX_Accept_r(&req) >= 0 ) {
- handle_req(&req);
- env = FCGX_GetParam("QUERY_STRING",req.envp);
- if(!env || sscanf(env, "article=%d", &num) != 1)
- num = 0;
-
- if( num >= 0)
- {
- int nb_CR = 0, c;
- FILE* fichier = fopen("article/_liste", "r");
- if(!fichier)
- erreur("Impossible de charger la page. Veuillez reessayer ult&eacute;rieurement.", &req);
-
- for(nb_CR=-1;nb_CR < num && fgets(article, 50, fichier);++nb_CR);
-
- if(nb_CR != num)
- erreur("Article introuvable", &req);
- for(tmp_h=article;*tmp_h;tmp_h++)
- if( isspace(*tmp_h) )
- *tmp_h = '\0';
- char date[20], titre[50] = "Vive la lettre H !", ident[50];
- int type = getinfo(article, titre, date, ident);
- if( titre )
- start(titre, "Site d'ache : Articles et présentation de mes projets", &req);
- else
- start("Ache", "Site d'ache : Articles et présentation de mes projets", &req);
- }
-
-
- ++count;
- puts("Try");
- fflush(NULL);
- sideBar(&req);
- //sommaire();
- slideContenu(article, num,&req);
- voirAussi(&req);
- end(&req);
- FCGX_Finish_r(&req);
- }
- return 0;
-}
diff --git a/index.html b/index.html
index a254113..4e81945 100755
--- a/index.html
+++ b/index.html
@@ -1,72 +1,77 @@
<!DOCTYPE html>
<html> <head> <meta charset="utf-8" /><title>DuckDuckGo, Google en mieux ?</title><meta name="viewport" content="width=device-width, initial-scale=1" /><link rel="canonical" href="http://ache.one/"/><link rel="shortcut icon" type="image/svg" href="/res/ache.ico" /><link rel="stylesheet" type="text/css" title="Design" href="design/design.css" /><style>@import url("design/design.css");</style><meta name= "description" content="Site d'ache : Articles et présentation de mes projets" /></head><body>
-<aside id="side-bar">
-<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" id="svg">
- <g transform="scale(0.125)">
- <rect width="100" height="100" x="50" y="300" id="rect1" style="fill:#000" />
- <rect width="100" height="100" x="50" y="400" id="rect2" style="fill:#000" />
- <rect width="100" height="100" x="50" y="500" id="rect3" style="fill:#000" />
- <rect width="100" height="100" x="50" y="600" id="rect4" style="fill:#000" />
- <rect width="100" height="100" x="150" y="600" id="rect5" style="fill:#000" />
- <rect width="100" height="100" x="250" y="600" id="rect6" style="fill:#000" />
- <rect width="100" height="100" x="350" y="600" id="rect7" style="fill:#000" />
- <rect width="100" height="100" x="450" y="600" id="rect8" style="fill:#000" />
- <rect width="100" height="100" x="550" y="600" id="rect9" style="fill:#000" />
- <rect width="100" height="100" x="650" y="600" id="rect10" style="fill:#000" />
- <rect width="100" height="100" x="650" y="500" id="rect11" style="fill:#000" />
- <rect width="100" height="100" x="650" y="400" id="rect12" style="fill:#000" />
- <rect width="100" height="100" x="650" y="300" id="rect13" style="fill:#000" />
- <rect width="100" height="100" x="150" y="700" id="rect14" style="fill:#000" />
- <rect width="100" height="100" x="550" y="700" id="rect15" style="fill:#000" />
- <rect width="100" height="100" x="250" y="300" id="rect16" style="fill:#000" />
- <rect width="100" height="100" x="450" y="300" id="rect17" style="fill:#000" />
- <rect width="100" height="100" x="150" y="200" id="rect18" style="fill:#000" />
- <rect width="100" height="100" x="550" y="200" id="rect19" style="fill:#000" />
- <rect width="100" height="100" x="250" y="100" id="rect20" style="fill:#000" />
- <rect width="100" height="100" x="450" y="100" id="rect21" style="fill:#000" />
- <rect width="100" height="100" x="350" y="000" id="rect22" style="fill:#000" />
- </g>
-</svg>
-<h2> Ache </h2>
-<div id="desc"> Étudiant en Math-Info <br /> <span id="about">GNU\Linux, C, C++, Python, Math, ... <br /> </span></div><nav> <ul> <li class="about_bar">
-<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
-<g transform="translate(-16,-16)scale(0.053)">
-<path d="
-M 630, 425
-A 195, 195 0 0 1 331, 600
-A 142, 142 0 0 0 428, 570
-A 70, 70 0 0 1 370, 523
-A 70, 70 0 0 0 401, 521
-A 70, 70 0 0 1 344, 455
-A 70, 70 0 0 0 372, 460
-A 70, 70 0 0 1 354, 370
-A 195, 195 0 0 0 495, 442
-A 67, 67 0 0 1 611, 380
-A 117, 117 0 0 0 654, 363
-A 65, 65 0 0 1 623, 401
-A 117, 117 0 0 0 662, 390
-A 65, 65 0 0 1 630, 425
-Z"
-style="fill:#777;"/>
-</g>
-</svg>
-</li><li class="about_bar">
-<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
-<g transform="scale(0.02)"><path d="M0 500.288q0 129.32 62.952 234.728 62.952 108.824 170.8 171.288t234.728 62.464q127.368 0 235.704 -62.464 108.336 -62.952 170.556 -171.044t62.22 -234.972q0 -128.832 -62.464 -235.704 -62.952 -108.336 -171.044 -170.556t-234.972 -62.22q-129.32 0 -234.728 62.952 -108.824 62.952 -171.288 170.8t-62.464 234.728zm78.08 0q0 -78.08 30.744 -150.792t83.936 -125.416q53.192 -53.192 125.416 -83.692t150.304 -30.5 150.792 30.5 125.904 83.692q52.704 52.704 83.204 125.416t30.5 150.792q0 83.936 -34.404 160.064t-96.624 131.516 -142.252 80.276v-137.616q0 -51.24 -41.968 -80.032 102.968 -9.272 150.548 -52.216t47.58 -136.152q0 -72.224 -44.408 -121.512 8.784 -26.352 8.784 -50.752 0 -36.112 -16.592 -66.368 -32.696 0 -58.56 10.736t-63.44 37.088q-45.384 -10.248 -93.696 -10.248 -55.144 0 -102.968 11.224 -36.6 -26.84 -63.196 -37.82t-60.268 -10.98q-16.104 30.744 -16.104 66.368 0 25.376 8.296 51.24 -44.408 47.824 -44.408 121.024 0 93.208 47.336 135.664t151.768 52.216q-27.816 18.544 -38.552 54.168 -23.912 8.296 -49.776 8.296 -19.52 0 -33.672 -8.784 -4.392 -2.44 -8.052 -5.124t-7.564 -6.588 -6.344 -6.1 -6.344 -7.564 -5.124 -6.832 -5.856 -7.808 -5.124 -6.832q-22.936 -30.256 -54.656 -30.256 -17.08 0 -17.08 7.32 0 2.928 8.296 9.76 15.616 13.664 16.592 14.64 11.712 9.272 13.176 11.712 14.152 17.568 21.472 38.552 27.328 61 93.696 61 10.736 0 41.968 -4.88v103.456q-80.032 -24.888 -142.252 -80.276t-96.624 -131.516 -34.404 -160.064z" style="fill: #777;"/></g></svg>
-</li><li class="about_bar">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20">
-<g transform="scale(0.04)">
- <path fill="#777" d="M119.9,336.1C89.1,336.1,64,361.2,64,391.9c0,30.8,25.1,55.6,55.9,55.6c30.9,0,55.9-24.9,55.9-55.6 C175.8,361.2,150.8,336.1,119.9,336.1z"/>
- <path fill="#777" d="M64,192v79.9c48,0,94.1,14.199,128,48.1s48,79.9,48,128h80C320,308.1,204,192,64,192z"/>
- <path fill="#777" d="M64,64v79.9c171,0,303.9,133,303.9,304.1H448C448,236.3,276,64,64,64z"/>
-</g>
-</svg>
-</li></ul> </nav><nav><ul><li class="sommaire_blien"><a href="http://ache.one">Accueil</a></li><li class="sommaire_blien"><a href="http://projet.ache.one/"><s>Projets</s></a></li><li class="sommaire_blien"><a href="http://ache.one/contact/">Contact</a></li></ul></nav></aside>
-<article id="contenu" role="article" class="post hentry clearfix"><object type="image/svg+xml" data="http://ache.one/res/DuckDuckGo_Logo.svg" style="float:left;width:100px;height:100px;"><img src="http://ache.one/res/DuckDuckGo_Logo.png" alt="Logo Article"/><p>http://ache.one/res/DuckDuckGo_Logo.svg</p></object><header><h1 id="contenu_top2">DuckDuckGo, Google en mieux ?</h1><p>Post&eacute; le <time datetime="2012-04-13">13/04/2012</time></p></header>
-<section class="entry-content clearfix">
-<div id="intro"><br />Depuis un certain temps d&eacute;j&agrave;, Google ne se consacre plus enti&egrave;rement &agrave; son moteur de recherche. En effet, la firme est d&eacute;j&agrave; bien implent&eacute;e dans la plupart des pays occidentaux o&ugrave; elle est le site le plus visit&eacute;. Mais la concurrence, elle, s'est d&eacute;velopp&eacute;e. Les moteurs de recherches tels que DuckDuckGo &eacute;voluent avec le temps, jusqu'&agrave; devenir plus pratique et ergonomique que Google.<br /><p> DuckDuckGo est un moteur de recherche assez jeune mais qui a beaucoup d'avenir. En effet, il allie rapidit&eacute; et fonctionnalit&eacute;s innovantes, tout en conservant la vie priv&eacute;e de l'utilisateur</p><br /></div>
-</section>
-<section class="entry-content clearfix">
-</section>
-</article>
-</body></html>
+ <aside id="side-bar">
+ <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" id="svg">
+ <g transform="scale(0.125)">
+ <rect width="100" height="100" x="50" y="300" id="rect1" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="400" id="rect2" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="500" id="rect3" style="fill:#000" />
+ <rect width="100" height="100" x="50" y="600" id="rect4" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="600" id="rect5" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="600" id="rect6" style="fill:#000" />
+ <rect width="100" height="100" x="350" y="600" id="rect7" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="600" id="rect8" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="600" id="rect9" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="600" id="rect10" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="500" id="rect11" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="400" id="rect12" style="fill:#000" />
+ <rect width="100" height="100" x="650" y="300" id="rect13" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="700" id="rect14" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="700" id="rect15" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="300" id="rect16" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="300" id="rect17" style="fill:#000" />
+ <rect width="100" height="100" x="150" y="200" id="rect18" style="fill:#000" />
+ <rect width="100" height="100" x="550" y="200" id="rect19" style="fill:#000" />
+ <rect width="100" height="100" x="250" y="100" id="rect20" style="fill:#000" />
+ <rect width="100" height="100" x="450" y="100" id="rect21" style="fill:#000" />
+ <rect width="100" height="100" x="350" y="000" id="rect22" style="fill:#000" />
+ </g>
+ </svg>
+ <h2> Ache </h2>
+ <div id="desc"> Étudiant en Math-Info <br /> <span id="about">GNU\Linux, C, C++, Python, Math, ... <br /> </span></div><nav> <ul> <li class="about_bar">
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
+ <g transform="translate(-16,-16)scale(0.053)">
+ <path d="
+ M 630, 425
+ A 195, 195 0 0 1 331, 600
+ A 142, 142 0 0 0 428, 570
+ A 70, 70 0 0 1 370, 523
+ A 70, 70 0 0 0 401, 521
+ A 70, 70 0 0 1 344, 455
+ A 70, 70 0 0 0 372, 460
+ A 70, 70 0 0 1 354, 370
+ A 195, 195 0 0 0 495, 442
+ A 67, 67 0 0 1 611, 380
+ A 117, 117 0 0 0 654, 363
+ A 65, 65 0 0 1 623, 401
+ A 117, 117 0 0 0 662, 390
+ A 65, 65 0 0 1 630, 425
+ Z"
+ style="fill:#777;"/>
+ </g>
+ </svg>
+ </li><li class="about_bar">
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20">
+ <g transform="scale(0.02)"><path d="M0 500.288q0 129.32 62.952 234.728 62.952 108.824 170.8 171.288t234.728 62.464q127.368 0 235.704 -62.464 108.336 -62.952 170.556 -171.044t62.22 -234.972q0 -128.832 -62.464 -235.704 -62.952 -108.336 -171.044 -170.556t-234.972 -62.22q-129.32 0 -234.728 62.952 -108.824 62.952 -171.288 170.8t-62.464 234.728zm78.08 0q0 -78.08 30.744 -150.792t83.936 -125.416q53.192 -53.192 125.416 -83.692t150.304 -30.5 150.792 30.5 125.904 83.692q52.704 52.704 83.204 125.416t30.5 150.792q0 83.936 -34.404 160.064t-96.624 131.516 -142.252 80.276v-137.616q0 -51.24 -41.968 -80.032 102.968 -9.272 150.548 -52.216t47.58 -136.152q0 -72.224 -44.408 -121.512 8.784 -26.352 8.784 -50.752 0 -36.112 -16.592 -66.368 -32.696 0 -58.56 10.736t-63.44 37.088q-45.384 -10.248 -93.696 -10.248 -55.144 0 -102.968 11.224 -36.6 -26.84 -63.196 -37.82t-60.268 -10.98q-16.104 30.744 -16.104 66.368 0 25.376 8.296 51.24 -44.408 47.824 -44.408 121.024 0 93.208 47.336 135.664t151.768 52.216q-27.816 18.544 -38.552 54.168 -23.912 8.296 -49.776 8.296 -19.52 0 -33.672 -8.784 -4.392 -2.44 -8.052 -5.124t-7.564 -6.588 -6.344 -6.1 -6.344 -7.564 -5.124 -6.832 -5.856 -7.808 -5.124 -6.832q-22.936 -30.256 -54.656 -30.256 -17.08 0 -17.08 7.32 0 2.928 8.296 9.76 15.616 13.664 16.592 14.64 11.712 9.272 13.176 11.712 14.152 17.568 21.472 38.552 27.328 61 93.696 61 10.736 0 41.968 -4.88v103.456q-80.032 -24.888 -142.252 -80.276t-96.624 -131.516 -34.404 -160.064z" style="fill: #777;"/></g></svg>
+ </li><li class="about_bar">
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20">
+ <g transform="scale(0.04)">
+ <path fill="#777" d="M119.9,336.1C89.1,336.1,64,361.2,64,391.9c0,30.8,25.1,55.6,55.9,55.6c30.9,0,55.9-24.9,55.9-55.6 C175.8,361.2,150.8,336.1,119.9,336.1z"/>
+ <path fill="#777" d="M64,192v79.9c48,0,94.1,14.199,128,48.1s48,79.9,48,128h80C320,308.1,204,192,64,192z"/>
+ <path fill="#777" d="M64,64v79.9c171,0,303.9,133,303.9,304.1H448C448,236.3,276,64,64,64z"/>
+ </g>
+ </svg>
+ </li></ul> </nav><nav><ul><li class="sommaire_blien"><a href="/">Accueil</a></li><li class="sommaire_blien"><a href="http://projet.ache.one/"><s>Projets</s></a></li><li class="sommaire_blien"><a href="/contact/">Contact</a></li></ul></nav></aside>
+ <article id="contenu" role="article"><object type="image/svg+xml" data="/res/DuckDuckGo_Logo.svg" style="float:left;width:100px;height:100px;"><img src="/res/DuckDuckGo_Logo.png" alt="Logo Article"/><p>/res/DuckDuckGo_Logo.svg</p></object><header><h1 id="contenu_top2">DuckDuckGo, Google en mieux ?</h1><p>Post&eacute; le <time datetime="2012-04-13">13/04/2012</time></p></header>
+ <section>
+ <div id="intro">
+ <br />
+ Depuis un certain temps d&eacute;j&agrave;, Google ne se consacre plus enti&egrave;rement &agrave; son moteur de recherche. En effet, la firme est d&eacute;j&agrave; bien implent&eacute;e dans la plupart des pays occidentaux o&ugrave; elle est le site le plus visit&eacute;. Mais la concurrence, elle, s'est d&eacute;velopp&eacute;e. Les moteurs de recherches tels que DuckDuckGo &eacute;voluent avec le temps, jusqu'&agrave; devenir plus pratique et ergonomique que Google.<br />
+ <p>
+ DuckDuckGo est un moteur de recherche assez jeune mais qui a beaucoup d'avenir. En effet, il allie rapidit&eacute; et fonctionnalit&eacute;s innovantes, tout en conservant la vie priv&eacute;e de l'utilisateur</p>
+ <br />
+ </div>
+ <div class="lireLaSuite"><a href="/article/duckduckgo_google_en_mieux.html">Lire la suite</a></div>
+ </section>
+ </article>
+ </body></html>
diff --git a/main.c b/main.c
deleted file mode 100755
index 366ac50..0000000
--- a/main.c
+++ /dev/null
@@ -1,453 +0,0 @@
-#include "main.h"
-
-
-char** allocRegex(const char* str_req,const char* str_regex, int nbExp)
-{
- int err;
- regex_t preg;
-
- err = regcomp (&preg, str_regex, REG_EXTENDED);
- if (err == 0)
- {
- int match;
- size_t nmatch = 0;
- regmatch_t *pmatch = NULL;
- nmatch = preg.re_nsub;
- pmatch = malloc (sizeof (*pmatch) * nmatch);
- if (pmatch)
- {
- match = regexec (&preg, str_req, nmatch, pmatch, 0);
- regfree (&preg);
-
- if (match == 0)
- {
- char** arg = malloc( nbExp * sizeof *arg);
- int i;
- for(i = 0; i < nbExp ; ++i)
- {
- int start = pmatch[i].rm_so;
- int end = pmatch[i].rm_eo;
- size_t size = end - start;
- arg[i] = malloc (sizeof *arg[i] * (size + 1));
- if (arg[i])
- {
- strncpy (arg[i], &str_req[start], size);
- arg[i][size] = '\0';
- }
- }
- return arg;
- }
- else
- goto regexErr;
- }
- else
- goto regexErr2;
- }
-
- regexErr:
- fprintf(stderr, "L'analyse de %s a provoquer une erreur\n", str_req);
- exit (EXIT_FAILURE);
- regexErr2:
- fprintf (stderr, "L'analyse de %s a provoquer 2 erreurs\n", str_req);
- exit (EXIT_FAILURE);
-}
-#define puts(b) FCGX_FPrintF(req->out,"%s\n", b)
-#define printf(...) FCGX_FPrintF(req->out, __VA_ARGS__)
-void start(char* titre, char* description, FCGX_Request *req) {
- puts("Content-Type: text/html;\r\n\r");
- printf("<!DOCTYPE html>\n"
- "<html> "
- "<head> "
- "<meta charset=\"utf-8\" /><title>%s</title>"
- "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />"
- "<link rel=\"canonical\" href=\"http://ache.one/\"/>" //<link rel=\"next\" href=\"http://ache.one/index.cgi?page=2\"/>"
- "<link rel=\"shortcut icon\" type=\"image/svg\" href=\"/res/ache.ico\" />"
- "<link rel=\"stylesheet\" type=\"text/css\" title=\"Design\" href=\"design/design.css\" />"
- "<style>"
- "@import url(\"design/design.css\");"
- "</style>"
- "<meta name= \"description\" content=\"%s\" />"
- "</head>"
- "<body>\n"
- , titre, description);
-}
-void end(FCGX_Request *req)
-{
- puts(" <div id=\"foot\"></div>");
- puts("</body>"
- "</html>");
-}
-void sideBar(FCGX_Request *req) {
- puts("<aside id=\"side-bar\">");
- afficherSVG("./res/ache.svg", req);
- puts("<h2> Ache </h2>\n"
- "<div id=\"desc\">"
- " Étudiant en Math-Info <br />"
- " <span id=\"about\">GNU\\Linux, C, C++, Python, Math, ... <br /> </span>"
- "</div>"
- "<nav>"
- " <ul>"
- " <li class=\"about_bar\">");
- afficherSVG("./res/tw.svg", req);
- puts("</li>"
- "<li class=\"about_bar\">");
- afficherSVG("./res/gith.svg", req);
- puts("</li>"
- "<li class=\"about_bar\">");
- afficherSVG("./res/rss.svg", req);
- puts("</li>"
- "</ul>"
- " </nav>"
- "<nav><ul>"
- "<li class=\"sommaire_blien\"><a href=\"http://ache.one\">Accueil</a></li>"
- "<li class=\"sommaire_blien\"><a href=\"http://projet.ache.one/\"><s>Projets</s></a></li>"
- "<li class=\"sommaire_blien\"><a href=\"http://ache.one/contact/\">Contact</a></li>"
- "</ul></nav>"
-"</aside>");
-}
-void erreur(const char* motif, FCGX_Request *req)
-{
- start("Erreur", "Page d'erreur", req);
- puts("<big><big>Error</big></big><br /><br />");
- puts(motif);
- end(req);
- exit(0);
-}
-void afficherSVG(char* chemin, FCGX_Request* req) {
- char* c = 0;
- char ligne[201] = {0};
- FILE* fichier = fopen(chemin, "r");
- if(fichier)
- {
- while( c = fgets (ligne, 200, fichier) ) {
- if( strstr(ligne, "<svg ") || strstr(ligne, "< svg"))
- break;
- }
- if( c ) {
- do
- printf("%s", ligne);
- while( fgets(ligne, 200, fichier) );
- }
- }
-}
-void voirAussi(FCGX_Request *req)
-{
- fprintf(stdout, "Hello\n");
- int nbArt = 0, i = 0;
- FILE* fichier = fopen("article/_liste", "r");
-
- if( !fichier ) {
- perror("");
- return;
- }
- char t[50] = {0};
- char* tmp_h = NULL;
-
- printf("%s", "<div id=\"autres_articles\"><h4>Voir aussi :</h4>");
- while(fgets(t, 50, fichier))++nbArt;
- rewind(fichier);
-
- if( nbArt<5 )
- {
- while( fgets(t, 100, fichier))
- {
- char date[20] = {0}, titre[50] = {0}, ident[50] = {0};
- for(tmp_h=t;*tmp_h;tmp_h++)
- if( isspace(*tmp_h) )
- *tmp_h = '\0';
-
- getinfo(t, titre, date, ident);
- printf("<div><a href=\"index.cgi?article=%d\">%s</a></div>", i++, titre);
- }
- fclose(fichier);
- }
- else
- {
- char tab[4] = {-1, -1, -1, -1};
- while(i<4)
- {
- char date[20] = {0}, titre[50] = {0}, ident[50] = {0};
- int has, z;
- rewind(fichier);
- do
- has = rand() % nbArt;
- while( memchr(tab, has, 4) );
- z = has;
- while( fgets(t, 100, fichier) && has-- );
- for(tmp_h=t;*tmp_h;tmp_h++)
- if( isspace(*tmp_h) )
- *tmp_h = '\0';
- getinfo(t, titre, date, ident);
- printf("<div><a href=\"index.cgi?article=%d\">%s</a></div>", z, titre);
- tab[i++] = z;
- }
- fclose(fichier);
- }
- printf("</div>");
-}
-void slideContenu(char* article, int num, FCGX_Request* req)
-{
- char d[20], t[50] = "Vive la lettre H !", i[50];
- int type = getinfo(article, t, d, i);
- (void)num;
- int year, month, day;
- sscanf(d, "%d/%d/%d", &day, &month, &year);
- printf( "<article id=\"contenu\" role=\"article\" class=\"post hentry clearfix\">");
- switch(type)
- {
- case 0:
- {
- char tab[50] = {0};
- strncpy(tab, i, strrchr(i, '.')-i);
- strcat(tab, ".png");
- printf("<object type=\"image/svg+xml\" data=\"%s\" style=\"float:left;width:100px;height:100px;\">"
- "<img src=\"%s\" alt=\"Logo Article\"/>"
- "<p>%s</p>"
- "</object>",i,tab,i);
- }
- break;
- case 1:
- printf("<img id=\"fr\" src=\"%s\" alt=\"%s\" />", i, i);
- break;
- case 2:
- printf("<iframe src=\"%s\" frameborder=\"0\" style=\"border:0;overflow:hidden;width:100px;height:100px;float:left;\"></iframe>", i);
- }
- printf(
- "<header>"
- "<h1 id=\"contenu_top2\">%s</h1>"
- "<p>Post&eacute; le <time datetime=\"%d-%.2d-%d\">%s</time></p>"
- "</header>"
- , t, year, month, day, d);
-
- puts("<section class=\"entry-content clearfix\">");
- lireIntro(article, req);
- puts("</section>");
- puts("</article>");
-}
-void contenu(char* article, int num, FCGX_Request* req)
-{
- char d[20], t[50] = "Vive la lettre H !", i[50];
- int type = getinfo(article, t, d, i);
- (void)num;
- int year, month, day;
- sscanf(d, "%d/%d/%d", &day, &month, &year);
- printf(
- "<article id=\"contenu\" role=\"article\" class=\"post hentry clearfix\">"
- "<header>"
- "<h1 id=\"contenu_top2\">%s</h1>"
- "<p>Post&eacute; le <time datetime=\"%d-%.2d-%d\">%s</time></p>"
- "</header>"
- , t, year, month, day, d);
- switch(type)
- {
- case 0:
- {
- char tab[50] = {0};
- strncpy(tab, i, strrchr(i, '.')-i);
- strcat(tab, ".png");
- printf("<object type=\"image/svg+xml\" data=\"%s\" style=\"float:right;width:200px;height:200px;\">"
- "<img src=\"%s\" alt=\"Logo Article\"/>"
- "<p>%s</p>"
- "</object>",i,tab,i);
- }
- break;
- case 1:
- printf("<img id=\"fr\" src=\"%s\" alt=\"%s\" />", i, i);
- break;
- case 2:
- printf("<iframe src=\"%s\" frameborder=\"0\" style=\"border:0;overflow:hidden;width:250px;height:250px;float:right;\"></iframe>", i);
- }
- puts("<section class=\"entry-content clearfix\">");
- lireArticle(article, req);
- puts("</section>");
- puts("</article>");
-}
-#define putchar(a) FCGX_PutChar( a, req->out)
-void lireArticle(char* chemin, FCGX_Request* req)
-{
- int c = 0;
- FILE* fichier = fopen(chemin, "r");
- if(fichier)
- {
- while((c = fgetc (fichier)) != '\n');
- while((c = fgetc (fichier)) != EOF)
- {
- if(c != 195)
- if(c != '\n')
- putchar(c);
- else
- printf("%s", "<br />");
- else
- {
- c = fgetc (fichier);
- switch(c)
- {
- CaSe(160, "&agrave;");// a
- CaSe(162, "&agrave;");
- CaSe(164, "&acirc;");
- CaSe(128, "&Agrave;");
- CaSe(130, "&Acirc;");
- CaSe(132, "&Auml;");
- CaSe(169, "&eacute;");//e
- CaSe(168, "&egrave;");
- CaSe(170, "&egrave;");
- CaSe(171, "&euml;");
- CaSe(137, "&Eacute;");
- CaSe(136, "&Egrave;");
- CaSe(138, "&Ecirc;");
- CaSe(139, "&Euml;");// o
- CaSe(180, "&otilde;");
- CaSe(182, "&ouml;");
- CaSe(148, "&Ocirc;");
- CaSe(150, "&Ouml;");// u
- CaSe(185, "&ugrave;");
- CaSe(187, "&ucirc;");
- CaSe(188, "&uuml;");
- CaSe(153, "&Ugrave;");
- CaSe(155, "&Ucirc;");
- CaSe(156, "&Uuml;");
- CaSe(174, "&icirc;");// i
- CaSe(175, "&iuml;");
- CaSe(142, "&Icirc");
- CaSe(143, "&Iuml;");
- CaSe(167, "&ccedil;");// c
- CaSe(135, "&Ccedil;");
- default:
- printf("%d", c);
- }
- }
- }
- fclose(fichier);
- }
-}
-void lireIntro(char* chemin, FCGX_Request* req)
-{
- int c = 0;
- FILE* fichier = fopen(chemin, "r");
- if(fichier)
- {
- while((c = fgetc (fichier)) != '\n');
- while((c = fgetc (fichier)) != EOF && c != '\n') {
- if(c != 195)
- if(c != '\n')
- putchar(c);
- else
- printf("%s", "<br />");
- else
- {
- c = fgetc (fichier);
- switch(c)
- {
- CaSe(160, "&agrave;");// a
- CaSe(162, "&agrave;");
- CaSe(164, "&acirc;");
- CaSe(128, "&Agrave;");
- CaSe(130, "&Acirc;");
- CaSe(132, "&Auml;");
- CaSe(169, "&eacute;");//e
- CaSe(168, "&egrave;");
- CaSe(170, "&egrave;");
- CaSe(171, "&euml;");
- CaSe(137, "&Eacute;");
- CaSe(136, "&Egrave;");
- CaSe(138, "&Ecirc;");
- CaSe(139, "&Euml;");// o
- CaSe(180, "&otilde;");
- CaSe(182, "&ouml;");
- CaSe(148, "&Ocirc;");
- CaSe(150, "&Ouml;");// u
- CaSe(185, "&ugrave;");
- CaSe(187, "&ucirc;");
- CaSe(188, "&uuml;");
- CaSe(153, "&Ugrave;");
- CaSe(155, "&Ucirc;");
- CaSe(156, "&Uuml;");
- CaSe(174, "&icirc;");// i
- CaSe(175, "&iuml;");
- CaSe(142, "&Icirc");
- CaSe(143, "&Iuml;");
- CaSe(167, "&ccedil;");// c
- CaSe(135, "&Ccedil;");
- default:
- printf("%d", c);
- }
- }
- }
- fclose(fichier);
- }
-}
-#undef putchar
-
-
-#undef puts
-#undef printf
-/*
-void confirmation(void)
-{
- puts("<div id=\"menu\">"
- "<div id=\"boutons\">"
- "<div id=\"bouton\">"
- "<div id=\"close\"><div></div><div></div></div>"
- "</div>"
- "</div>"
- "<div id=\"boutons\">"
- "<div id=\"bouton\">"
- "<div id=\"reduire\"><div></div></div>"
- "</div>"
- "</div>"
- "<div id=\"menu_mes\"><br/>"
- "Voulez confirmez l'envoye de ce ??? ? "
- "</div>"
- "</div>");
-}*/
-int getinfo(char* chemin, char* titre, char* date, char* image)
-{
- char line[300] = "", type[5] = "";
- char** infos;
-
- FILE* fichier = fopen(chemin, "r");
- if(fichier)
- {
-///*
- fgets(line, 300, fichier);
- line[strlen(line)-1] = 0;
- infos = allocRegex(line, "([[:print:]]+)\\|([[:print:]]+)\\|([[:print:]]+)\\|([[:print:]]+)()", 5);
- fclose(fichier);
-
- strcpy(titre, infos[1]) ;
- strcpy(date , infos[2]) ;
- strcpy(type , infos[3]) ;
- strcpy(image, infos[4]) ;
-
- free(infos[0]), free(infos[1]), free(infos[2]), free(infos[3]), free(infos[4]), free(infos);
-/*
- fscanf(fichier, "%[^|\n]s", titre);
- fscanf(fichier, "|%[^\n|]s", date);
- fscanf(fichier, "|%[^\n|]s", type);
- fscanf(fichier, "|%[^\n|]s", image);
- fclose(fichier);
- */
- return ((!strcmp(type, "svg")) ? 0 : (!strcmp(type, "png")) ? 1 : (!strcmp(type, "js")) ? 2 : -1);
- }
- return -2;
-}
-void imput_(char* str)
-{
- char* str2 = str;
- do
- {
- if(*str == '+')
- *str2++ = ' ';
- else if(*str == '%')
- {
- int u = 0;
- char t[3] = "";
- sscanf(++str, "%2c", t);
- sscanf(t, "%x", &u);
- *str2++ = u;
- ++str;
- }
- else
- *str2++ = *str;
- }while(*str++);
-}
diff --git a/main.h b/main.h
deleted file mode 100755
index a4f028b..0000000
--- a/main.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef H_MAIN
-#define H_MAIN
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <ctype.h>
-#include <regex.h>
-#include <fcgiapp.h>
-
-#define CaSe(a, b) case a : printf("%s", b); break
-void start(char* titre,char* description, FCGX_Request *req);
-void end(FCGX_Request *req);
-void contenu(char*,int, FCGX_Request*);
-void confirmation(void);
-int getinfo(char*,char*,char*,char*);
-void lireArticle(char* chemin, FCGX_Request*);
-void lireIntro(char* chemin, FCGX_Request*);
-void erreur(const char*, FCGX_Request *req);
-void imput_(char*);
-void lireCommentaires(const char*);
-char** allocRegex(const char*,const char*, int);
-void voirAussi(FCGX_Request*);
-void afficherSVG(char*,FCGX_Request*);
-#endif
diff --git a/res/acheVersionAlpha.xpi b/res/acheVersionAlpha.xpi
deleted file mode 100755
index 2f1b61a..0000000
--- a/res/acheVersionAlpha.xpi
+++ /dev/null
Binary files differ
diff --git a/res/emploi du temps TS3.pdf b/res/emploi du temps TS3.pdf
deleted file mode 100755
index 738f4a1..0000000
--- a/res/emploi du temps TS3.pdf
+++ /dev/null
Binary files differ
diff --git a/session_dev.vim b/session_dev.vim
deleted file mode 100644
index 97353d6..0000000
--- a/session_dev.vim
+++ /dev/null
@@ -1,458 +0,0 @@
-let SessionLoad = 1
-if &cp | set nocp | endif
-let s:cpo_save=&cpo
-set cpo&vim
-inoremap <F1> 
-noremap <silent> c :silent s/^\V=escape(b:comment_leader,'\/') //e :nohlsearch
-noremap <silent>  :silent s/^/=escape(b:comment_leader,'\/') / :nohlsearch
-nnoremap  :Unite -start-insert file_rec/async
-nmap  :TagbarToggle
-noremap <silent>  * :Unite grep:.::
-nnoremap  s :Unite buffer
-nnoremap  / :Unite grep:.
-nnoremap  ! :tab sball
-nnoremap  <BS> :x
-nnoremap   :w
-nnoremap   w
-nnoremap  - s
-nnoremap  t v
-nnoremap  
-noremap <silent> ,cu :silent s/^\V=escape(b:comment_leader,'\/') //e :nohlsearch
-noremap <silent> ,cc :silent s/^/=escape(b:comment_leader,'\/') / :nohlsearch
-nnoremap \l :set cursorline!
-nnoremap \c :set cursorcolumn!
-nnoremap cd :cd %:p:h
-nmap gx <Plug>NetrwBrowseX
-nnoremap <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cWORD>"),0)
-nnoremap <F5> :make
-nnoremap <F1> 
-vnoremap <F1> 
-inoremap  0i
-inoremap  A
-inoremap #de #define
-inoremap #in< #include<><Left>
-nnoremap <silent> èè__ :set paste m`o``:set nopaste
-nnoremap <silent> Ï :set paste m`O``:set nopaste
-nnoremap <silent> ï :set paste m`o``:set nopaste
-inoremap prt printf
-inoremap swf printf
-cabbr tc tabc
-cabbr tn tabnew
-let &cpo=s:cpo_save
-unlet s:cpo_save
-set autoindent
-set backspace=indent,eol,start
-set backup
-set backupdir=~/.vimtmp/backup
-set directory=~/.vimtmp/temp
-set expandtab
-set fileencodings=ucs-bom,utf-8,default,latin1
-set gdefault
-set helplang=fr
-set hidden
-set history=50
-set ignorecase
-set incsearch
-set laststatus=2
-set listchars=tab:.\ ,eol:¬,nbsp:␣
-set nomodeline
-set printoptions=paper:a4
-set ruler
-set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim73,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
-set scrolloff=5
-set shiftwidth=4
-set showcmd
-set showmatch
-set smartcase
-set smarttab
-set softtabstop=4
-set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=%03.3b]\ [HEX=%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
-set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
-set undodir=~/.vimtmp/undo
-set undofile
-set viminfo='20,\"50,<100,n~/.vimtmp/viminfo
-set wildmenu
-set wildmode=list:longest:full
-let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
-let v:this_session=expand("<sfile>:p")
-silent only
-cd /var/www/ache/dev
-if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
- let s:wipebuf = bufnr('%')
-endif
-set shortmess=aoO
-badd +0 dev.c
-badd +0 main.c
-badd +0 main.h
-args dev.c
-edit dev.c
-set splitbelow splitright
-set nosplitbelow
-set nosplitright
-wincmd t
-set winheight=1 winwidth=1
-argglobal
-setlocal keymap=
-setlocal noarabic
-setlocal autoindent
-setlocal nobinary
-setlocal bufhidden=
-setlocal buflisted
-setlocal buftype=
-setlocal cindent
-setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
-setlocal cinoptions=
-setlocal cinwords=if,else,while,do,for,switch
-setlocal colorcolumn=
-setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
-setlocal commentstring=/*%s*/
-setlocal complete=.,w,b,u,t,i
-setlocal concealcursor=
-setlocal conceallevel=0
-setlocal completefunc=
-setlocal nocopyindent
-setlocal cryptmethod=
-setlocal nocursorbind
-setlocal nocursorcolumn
-set cursorline
-setlocal cursorline
-setlocal define=
-setlocal dictionary=
-setlocal nodiff
-setlocal equalprg=
-setlocal errorformat=
-setlocal expandtab
-if &filetype != 'c'
-setlocal filetype=c
-endif
-setlocal foldcolumn=0
-setlocal foldenable
-setlocal foldexpr=0
-setlocal foldignore=#
-setlocal foldlevel=0
-setlocal foldmarker={{{,}}}
-setlocal foldmethod=manual
-setlocal foldminlines=1
-setlocal foldnestmax=20
-setlocal foldtext=foldtext()
-setlocal formatexpr=
-setlocal formatoptions=croql
-setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
-setlocal grepprg=
-setlocal iminsert=0
-setlocal imsearch=0
-setlocal include=
-setlocal includeexpr=
-setlocal indentexpr=
-setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
-setlocal noinfercase
-setlocal iskeyword=@,48-57,_,192-255
-setlocal keywordprg=
-setlocal nolinebreak
-setlocal nolisp
-set list
-setlocal list
-setlocal makeprg=
-setlocal matchpairs=(:),{:},[:]
-setlocal nomodeline
-setlocal modifiable
-setlocal nrformats=octal,hex
-set number
-setlocal nonumber
-setlocal numberwidth=4
-setlocal omnifunc=ccomplete#Complete
-setlocal path=
-setlocal nopreserveindent
-setlocal nopreviewwindow
-setlocal quoteescape=\\
-setlocal noreadonly
-set relativenumber
-setlocal relativenumber
-setlocal norightleft
-setlocal rightleftcmd=search
-setlocal noscrollbind
-setlocal shiftwidth=4
-setlocal noshortname
-setlocal nosmartindent
-setlocal softtabstop=4
-setlocal nospell
-setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
-setlocal spellfile=
-setlocal spelllang=en
-setlocal statusline=
-setlocal suffixesadd=
-setlocal swapfile
-setlocal synmaxcol=3000
-if &syntax != 'c'
-setlocal syntax=c
-endif
-setlocal tabstop=8
-setlocal tags=
-setlocal textwidth=0
-setlocal thesaurus=
-setlocal undofile
-setlocal nowinfixheight
-setlocal nowinfixwidth
-setlocal wrap
-setlocal wrapmargin=0
-silent! normal! zE
-let s:l = 1 - ((0 * winheight(0) + 32) / 64)
-if s:l < 1 | let s:l = 1 | endif
-exe s:l
-normal! zt
-1
-normal! 0
-tabedit main.c
-set splitbelow splitright
-wincmd _ | wincmd |
-vsplit
-1wincmd h
-wincmd w
-set nosplitbelow
-set nosplitright
-wincmd t
-set winheight=1 winwidth=1
-exe 'vert 1resize ' . ((&columns * 130 + 101) / 202)
-exe 'vert 2resize ' . ((&columns * 71 + 101) / 202)
-argglobal
-setlocal keymap=
-setlocal noarabic
-setlocal autoindent
-setlocal nobinary
-setlocal bufhidden=
-setlocal buflisted
-setlocal buftype=
-setlocal cindent
-setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
-setlocal cinoptions=
-setlocal cinwords=if,else,while,do,for,switch
-setlocal colorcolumn=
-setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
-setlocal commentstring=/*%s*/
-setlocal complete=.,w,b,u,t,i
-setlocal concealcursor=
-setlocal conceallevel=0
-setlocal completefunc=
-setlocal nocopyindent
-setlocal cryptmethod=
-setlocal nocursorbind
-setlocal nocursorcolumn
-set cursorline
-setlocal cursorline
-setlocal define=
-setlocal dictionary=
-setlocal nodiff
-setlocal equalprg=
-setlocal errorformat=
-setlocal expandtab
-if &filetype != 'c'
-setlocal filetype=c
-endif
-setlocal foldcolumn=0
-setlocal foldenable
-setlocal foldexpr=0
-setlocal foldignore=#
-setlocal foldlevel=0
-setlocal foldmarker={{{,}}}
-setlocal foldmethod=manual
-setlocal foldminlines=1
-setlocal foldnestmax=20
-setlocal foldtext=foldtext()
-setlocal formatexpr=
-setlocal formatoptions=croql
-setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
-setlocal grepprg=
-setlocal iminsert=0
-setlocal imsearch=0
-setlocal include=
-setlocal includeexpr=
-setlocal indentexpr=
-setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
-setlocal noinfercase
-setlocal iskeyword=@,48-57,_,192-255
-setlocal keywordprg=
-setlocal nolinebreak
-setlocal nolisp
-set list
-setlocal list
-setlocal makeprg=
-setlocal matchpairs=(:),{:},[:]
-setlocal nomodeline
-setlocal modifiable
-setlocal nrformats=octal,hex
-set number
-setlocal number
-setlocal numberwidth=4
-setlocal omnifunc=ccomplete#Complete
-setlocal path=
-setlocal nopreserveindent
-setlocal nopreviewwindow
-setlocal quoteescape=\\
-setlocal noreadonly
-set relativenumber
-setlocal relativenumber
-setlocal norightleft
-setlocal rightleftcmd=search
-setlocal noscrollbind
-setlocal shiftwidth=4
-setlocal noshortname
-setlocal nosmartindent
-setlocal softtabstop=4
-setlocal nospell
-setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
-setlocal spellfile=
-setlocal spelllang=en
-setlocal statusline=
-setlocal suffixesadd=
-setlocal swapfile
-setlocal synmaxcol=3000
-if &syntax != 'c'
-setlocal syntax=c
-endif
-setlocal tabstop=8
-setlocal tags=
-setlocal textwidth=0
-setlocal thesaurus=
-setlocal undofile
-setlocal nowinfixheight
-setlocal nowinfixwidth
-setlocal wrap
-setlocal wrapmargin=0
-silent! normal! zE
-let s:l = 103 - ((31 * winheight(0) + 31) / 63)
-if s:l < 1 | let s:l = 1 | endif
-exe s:l
-normal! zt
-103
-normal! 083l
-wincmd w
-argglobal
-edit main.h
-setlocal keymap=
-setlocal noarabic
-setlocal autoindent
-setlocal nobinary
-setlocal bufhidden=
-setlocal buflisted
-setlocal buftype=
-setlocal cindent
-setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
-setlocal cinoptions=
-setlocal cinwords=if,else,while,do,for,switch
-setlocal colorcolumn=
-setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
-setlocal commentstring=/*%s*/
-setlocal complete=.,w,b,u,t,i
-setlocal concealcursor=
-setlocal conceallevel=0
-setlocal completefunc=
-setlocal nocopyindent
-setlocal cryptmethod=
-setlocal nocursorbind
-setlocal nocursorcolumn
-set cursorline
-setlocal cursorline
-setlocal define=
-setlocal dictionary=
-setlocal nodiff
-setlocal equalprg=
-setlocal errorformat=
-setlocal expandtab
-if &filetype != 'cpp'
-setlocal filetype=cpp
-endif
-setlocal foldcolumn=0
-setlocal foldenable
-setlocal foldexpr=0
-setlocal foldignore=#
-setlocal foldlevel=0
-setlocal foldmarker={{{,}}}
-setlocal foldmethod=manual
-setlocal foldminlines=1
-setlocal foldnestmax=20
-setlocal foldtext=foldtext()
-setlocal formatexpr=
-setlocal formatoptions=croql
-setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
-setlocal grepprg=
-setlocal iminsert=0
-setlocal imsearch=0
-setlocal include=
-setlocal includeexpr=
-setlocal indentexpr=
-setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
-setlocal noinfercase
-setlocal iskeyword=@,48-57,_,192-255
-setlocal keywordprg=
-setlocal nolinebreak
-setlocal nolisp
-set list
-setlocal list
-setlocal makeprg=
-setlocal matchpairs=(:),{:},[:]
-setlocal nomodeline
-setlocal modifiable
-setlocal nrformats=octal,hex
-set number
-setlocal number
-setlocal numberwidth=4
-setlocal omnifunc=ccomplete#Complete
-setlocal path=
-setlocal nopreserveindent
-setlocal nopreviewwindow
-setlocal quoteescape=\\
-setlocal noreadonly
-set relativenumber
-setlocal relativenumber
-setlocal norightleft
-setlocal rightleftcmd=search
-setlocal noscrollbind
-setlocal shiftwidth=4
-setlocal noshortname
-setlocal nosmartindent
-setlocal softtabstop=4
-setlocal nospell
-setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
-setlocal spellfile=
-setlocal spelllang=en
-setlocal statusline=
-setlocal suffixesadd=
-setlocal swapfile
-setlocal synmaxcol=3000
-if &syntax != 'cpp'
-setlocal syntax=cpp
-endif
-setlocal tabstop=8
-setlocal tags=
-setlocal textwidth=0
-setlocal thesaurus=
-setlocal undofile
-setlocal nowinfixheight
-setlocal nowinfixwidth
-setlocal wrap
-setlocal wrapmargin=0
-silent! normal! zE
-let s:l = 25 - ((24 * winheight(0) + 31) / 63)
-if s:l < 1 | let s:l = 1 | endif
-exe s:l
-normal! zt
-25
-normal! 0
-wincmd w
-2wincmd w
-exe 'vert 1resize ' . ((&columns * 130 + 101) / 202)
-exe 'vert 2resize ' . ((&columns * 71 + 101) / 202)
-tabnext 2
-if exists('s:wipebuf')
- silent exe 'bwipe ' . s:wipebuf
-endif
-unlet! s:wipebuf
-set winheight=1 winwidth=20 shortmess=filnxtToO
-let s:sx = expand("<sfile>:p:r")."x.vim"
-if file_readable(s:sx)
- exe "source " . fnameescape(s:sx)
-endif
-let &so = s:so_save | let &siso = s:siso_save
-doautoall SessionLoadPost
-unlet SessionLoad
-" vim: set ft=vim :