<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.leloop.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Guyzmo</id>
		<title>Le L∞p's Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.leloop.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Guyzmo"/>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php/Special:Contributions/Guyzmo"/>
		<updated>2026-05-14T15:44:41Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Acc%C3%A8s&amp;diff=4879</id>
		<title>Accès</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Acc%C3%A8s&amp;diff=4879"/>
				<updated>2016-08-23T22:17:29Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Après avoir pas mal voyagé, avoir partagé différentes adresses, Le Loop est en mode « Ou Plus ». Il est donc fermé, et ne réouvrira pas.&lt;br /&gt;
&lt;br /&gt;
    ''Le roi est mort vive le roi!''&lt;br /&gt;
&lt;br /&gt;
Toutefois, d'autres lieux sont toujours ouverts et de nouveaux lieux ont vu le jour ! Allez voir le [https://wiki.hackerspaces.org/Ile_de_France wiki d'hackerspaces.org] pour les adresses des autres hackerspaces de Paris!&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Acc%C3%A8s&amp;diff=4878</id>
		<title>Accès</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Acc%C3%A8s&amp;diff=4878"/>
				<updated>2016-08-23T22:14:32Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Après avoir pas mal voyagé, avoir partagé différentes adresses, Le Loop est en mode « Ou Plus ». Il est donc fermé, et ne réouvrira pas.&lt;br /&gt;
&lt;br /&gt;
    ''Le roi est mort vive le roi!''&lt;br /&gt;
&lt;br /&gt;
Toutefois, d'autres lieux sont toujours ouverts et de nouveaux lieux ont vu le jour ! Allez voir le [https://wiki.hackerspaces.org/Paris wiki d'hackerspaces.org] pour d'autres adresses !&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2408</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2408"/>
				<updated>2013-01-17T16:00:55Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Soudure de son Arduino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
En ce moment, on se retrouve '''chaque samedi à partir de 14h''' autour des différents projets imaginés ou entamés.&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://www.adafruit.com/products/72 Boarduino] + grande breadboard + [http://hackspark.fr/en/breadboard-jumper-wires-pack-male-75pcs.html 75 fils]                      &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://shop.snootlab.com/lang-en/powerduino/11-i2c-power-protoshield.html Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard]&lt;br /&gt;
* kit [https://www.adafruit.com/products/68 ladyada]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields et autres accessoires ===&lt;br /&gt;
&lt;br /&gt;
Ethernet Shield, LoLShield, 9V battery holder, XBee, Motor Shield, ...&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2217</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2217"/>
				<updated>2012-12-11T21:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Soudure de shields Arduinos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 15 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== La dernière fois ==&lt;br /&gt;
&lt;br /&gt;
'''Samedi 8 décembre''' : cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets.&lt;br /&gt;
&lt;br /&gt;
Idées de bidouilles rapides (AKA ''fast hacks'') :&lt;br /&gt;
* [[Etiquettes electroniques]] : reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
* [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
* [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
Idées de projets (AKA ''grohacks''):&lt;br /&gt;
* [[LedFloor]] special cage d'escalier de la Gare XP (guyzmo, okhin)&lt;br /&gt;
* Montage de [[Clavier DIY]] et montage de [[RepRap]] (plus précisément foldarap) (JF)&lt;br /&gt;
* Bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
* Système de mesure de puissance (?)&lt;br /&gt;
* Automatisation du [[Le Petit Train|Petit Train]] de la Gare XP (guyzmo, rhaamo + Svenn, Audoin)&lt;br /&gt;
* pwn des [[:Category:RFID|RFID]]/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D], [http://hackspark.fr hackspark] ou encore [http://snootlab.fr snootlab])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2212</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2212"/>
				<updated>2012-12-10T22:55:53Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* La dernière fois */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 15 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== La dernière fois ==&lt;br /&gt;
&lt;br /&gt;
'''Samedi 8 décembre''' : cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets.&lt;br /&gt;
&lt;br /&gt;
* Idées de bidouilles rapides (AKA ''fast hacks'') :&lt;br /&gt;
** [[Etiquettes electroniques]] : reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
* Idées de projets (AKA ''grohacks''):&lt;br /&gt;
** [[LedFloor]] special cage d'escalier de la Gare XP (guyzmo, okhin)&lt;br /&gt;
** Montage de [[Clavier DIY]] et montage de [[RepRap]] (plus précisément foldarap) (JF)&lt;br /&gt;
** Bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
** Système de mesure de puissance (?)&lt;br /&gt;
** Automatisation du [[Le Petit Train|Petit Train]] de la Gare XP (guyzmo, rhaamo + Svenn, Audoin)&lt;br /&gt;
** pwn des [[:Category:RFID|RFID]]/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Clavier_DIY&amp;diff=2200</id>
		<title>Clavier DIY</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Clavier_DIY&amp;diff=2200"/>
				<updated>2012-12-09T23:10:53Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: Created page with &amp;quot; * liens: ** http://blog.fsck.com/2012/12/building-a-keyboard-part-1.html **  http://blog.fsck.com/2012/12/building-a-keyboard-part-2.html&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* liens:&lt;br /&gt;
** http://blog.fsck.com/2012/12/building-a-keyboard-part-1.html&lt;br /&gt;
**  http://blog.fsck.com/2012/12/building-a-keyboard-part-2.html&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2199</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2199"/>
				<updated>2012-12-09T23:10:32Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Comptes Rendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 15 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== Comptes Rendus ==&lt;br /&gt;
&lt;br /&gt;
* '''session du samedi 8 décembre'''&lt;br /&gt;
** Cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets, en voici un compte-rendu:&lt;br /&gt;
** Idées de Fast Hack :&lt;br /&gt;
*** [[pricetag-b-gone]] reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
*** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
*** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
** Idées de Hacks:&lt;br /&gt;
*** [[LedFloor]] special cage d'escalier de la gare xp (guyzmo, okhin)&lt;br /&gt;
*** montage de [[Clavier DIY]] et montage de reprap (plus précisément foldarap) (JF)&lt;br /&gt;
*** bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
*** système de mesure de puissance (?)&lt;br /&gt;
*** automatisation des trains de la gare xp (guyzmo, rhaamo, et garexp)&lt;br /&gt;
*** pwn des RFID/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Capteur_de_temperature_et_humidite&amp;diff=2198</id>
		<title>Capteur de temperature et humidite</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Capteur_de_temperature_et_humidite&amp;diff=2198"/>
				<updated>2012-12-09T17:09:19Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;numéro de modèle : DPWC11100N&lt;br /&gt;
&lt;br /&gt;
* liens: &lt;br /&gt;
** http://www.crc-srl.net/PDF/SONDE_CAREL.pdf&lt;br /&gt;
** http://www.carelparts.com/manuals/carel-dpwc-dpdc-spec-sheet.pdf&lt;br /&gt;
&lt;br /&gt;
http://catalog.carelusa.com/Asset/a1287.jpg&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Capteur_de_temperature_et_humidite&amp;diff=2197</id>
		<title>Capteur de temperature et humidite</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Capteur_de_temperature_et_humidite&amp;diff=2197"/>
				<updated>2012-12-09T17:07:49Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: Created page with &amp;quot;numéro de modèle : DPWC11100N  * liens:  ** http://www.crc-srl.net/PDF/SONDE_CAREL.pdf ** http://www.carelparts.com/manuals/carel-dpwc-dpdc-spec-sheet.pdf&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;numéro de modèle : DPWC11100N&lt;br /&gt;
&lt;br /&gt;
* liens: &lt;br /&gt;
** http://www.crc-srl.net/PDF/SONDE_CAREL.pdf&lt;br /&gt;
** http://www.carelparts.com/manuals/carel-dpwc-dpdc-spec-sheet.pdf&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2196</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2196"/>
				<updated>2012-12-09T15:51:59Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Comptes Rendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 15 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== Comptes Rendus ==&lt;br /&gt;
&lt;br /&gt;
* '''session du samedi 8 décembre'''&lt;br /&gt;
** Cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets, en voici un compte-rendu:&lt;br /&gt;
** Idées de Fast Hack :&lt;br /&gt;
*** [[pricetag-b-gone]] reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
*** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
*** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
** Idées de Hacks:&lt;br /&gt;
*** LedFloor special cage d'escalier de la gare xp (guyzmo, okhin)&lt;br /&gt;
*** montage de Clavier DIY et montage de reprap (plus précisément foldarap) (JF)&lt;br /&gt;
*** bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
*** système de mesure de puissance (?)&lt;br /&gt;
*** automatisation des trains de la gare xp (guyzmo, rhaamo, et garexp)&lt;br /&gt;
*** pwn des RFID/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2195</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2195"/>
				<updated>2012-12-09T15:51:39Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Comptes Rendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 15 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== Comptes Rendus ==&lt;br /&gt;
&lt;br /&gt;
* session du samedi 8 décembre&lt;br /&gt;
** Cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets, en voici un compte-rendu:&lt;br /&gt;
** Idées de Fast Hack :&lt;br /&gt;
*** [[pricetag-b-gone]] reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
*** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
*** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
** Idées de Hacks:&lt;br /&gt;
*** LedFloor special cage d'escalier de la gare xp (guyzmo, okhin)&lt;br /&gt;
*** montage de Clavier DIY et montage de reprap (plus précisément foldarap) (JF)&lt;br /&gt;
*** bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
*** système de mesure de puissance (?)&lt;br /&gt;
*** automatisation des trains de la gare xp (guyzmo, rhaamo, et garexp)&lt;br /&gt;
*** pwn des RFID/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2194</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2194"/>
				<updated>2012-12-09T15:51:21Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Comptes Rendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 15 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== Comptes Rendus ==&lt;br /&gt;
&lt;br /&gt;
* session du samedi 8 décembre&lt;br /&gt;
** Cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets, en voici un compte-rendu:&lt;br /&gt;
** Idées de Fast Hack :&lt;br /&gt;
*** [[pricetag-b-gone]] reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
*** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
*** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
** Hacks:&lt;br /&gt;
*** LedFloor special cage d'escalier de la gare xp (guyzmo, okhin)&lt;br /&gt;
*** montage de Clavier DIY et montage de reprap (plus précisément foldarap) (JF)&lt;br /&gt;
*** bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
*** système de mesure de puissance (?)&lt;br /&gt;
*** automatisation des trains de la gare xp (guyzmo, rhaamo, et garexp)&lt;br /&gt;
*** pwn des RFID/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2193</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2193"/>
				<updated>2012-12-09T15:50:46Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Dates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 15 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== Comptes Rendus ==&lt;br /&gt;
&lt;br /&gt;
* session du samedi 8 décembre&lt;br /&gt;
&lt;br /&gt;
Cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets, en voici un compte-rendu:&lt;br /&gt;
* Idées de Fast Hack :&lt;br /&gt;
** [[pricetag-b-gone]] reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
* Hacks:&lt;br /&gt;
** LedFloor special cage d'escalier de la gare xp (guyzmo, okhin)&lt;br /&gt;
** montage de Clavier DIY et montage de reprap (plus précisément foldarap) (JF)&lt;br /&gt;
** bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
** système de mesure de puissance (?)&lt;br /&gt;
** automatisation des trains de la gare xp (guyzmo, rhaamo, et garexp)&lt;br /&gt;
** pwn des RFID/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2192</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2192"/>
				<updated>2012-12-09T15:50:14Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Dates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 15 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois, à commencer le 1er décembre.  [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== Comptes Rendus ==&lt;br /&gt;
&lt;br /&gt;
* session du samedi 8 décembre&lt;br /&gt;
&lt;br /&gt;
Cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets, en voici un compte-rendu:&lt;br /&gt;
* Idées de Fast Hack :&lt;br /&gt;
** [[pricetag-b-gone]] reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
* Hacks:&lt;br /&gt;
** LedFloor special cage d'escalier de la gare xp (guyzmo, okhin)&lt;br /&gt;
** montage de Clavier DIY et montage de reprap (plus précisément foldarap) (JF)&lt;br /&gt;
** bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
** système de mesure de puissance (?)&lt;br /&gt;
** automatisation des trains de la gare xp (guyzmo, rhaamo, et garexp)&lt;br /&gt;
** pwn des RFID/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2191</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2191"/>
				<updated>2012-12-09T15:49:24Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Dates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 8 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois, à commencer le 1er décembre.  [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
== Comptes Rendus ==&lt;br /&gt;
&lt;br /&gt;
* session du samedi 8 décembre&lt;br /&gt;
&lt;br /&gt;
Cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets, en voici un compte-rendu:&lt;br /&gt;
* Idées de Fast Hack :&lt;br /&gt;
** [[pricetag-b-gone]] reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
* Hacks:&lt;br /&gt;
** LedFloor special cage d'escalier de la gare xp (guyzmo, okhin)&lt;br /&gt;
** montage de Clavier DIY et montage de reprap (plus précisément foldarap) (JF)&lt;br /&gt;
** bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
** système de mesure de puissance (?)&lt;br /&gt;
** automatisation des trains de la gare xp (guyzmo, rhaamo, et garexp)&lt;br /&gt;
** pwn des RFID/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2190</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2190"/>
				<updated>2012-12-09T15:48:54Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Dates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le samedi 8 décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois, à commencer le 1er décembre.  [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
* session du samedi 8 décembre&lt;br /&gt;
&lt;br /&gt;
Cette première séance a été l'occasion de faire un tour de table des envies de chacun et des idées de projets, en voici un compte-rendu:&lt;br /&gt;
* Idées de Fast Hack :&lt;br /&gt;
** [[pricetag-b-gone]] reversing et pwn des étiquettes électroniques de supermarché (à base de tv-b-gone ?)&lt;br /&gt;
** [[sonnette-b-gone]] (scanner à sonnette RF qui permet de faire sonner toutes les sonnettes à portée)&lt;br /&gt;
** [[CapteurTemperatureHumidite]] à reverser et pwn&lt;br /&gt;
* Hacks:&lt;br /&gt;
** LedFloor special cage d'escalier de la gare xp (guyzmo, okhin)&lt;br /&gt;
** montage de Clavier DIY et montage de reprap (plus précisément foldarap) (JF)&lt;br /&gt;
** bidules audio (MIDI) et appareil de télémétrie (?)&lt;br /&gt;
** système de mesure de puissance (?)&lt;br /&gt;
** automatisation des trains de la gare xp (guyzmo, rhaamo, et garexp)&lt;br /&gt;
** pwn des RFID/HID (guyzmo)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2175</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2175"/>
				<updated>2012-11-25T22:07:46Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Dates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le 1er décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le premier samedi de chaque mois, à commencer le 1er décembre.  [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2174</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2174"/>
				<updated>2012-11-25T22:07:09Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Dates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu '''le 1er décembre à 14h'''.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le troisième samedi ou quatrième samedi de chaque mois, à commencer par le mois de novembre.  [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2173</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2173"/>
				<updated>2012-11-25T22:06:38Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Soudure de son Arduino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session devrait avoir lieu courant novembre.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le troisième samedi ou quatrième samedi de chaque mois, à commencer par le mois de novembre.  [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
à titre d'exemple, voici des ensembles de kits:&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2172</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2172"/>
				<updated>2012-11-25T22:06:13Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Soudure de shields Arduinos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session devrait avoir lieu courant novembre.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le troisième samedi ou quatrième samedi de chaque mois, à commencer par le mois de novembre.  [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
Kits proposés :&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &lt;br /&gt;
* '''LoLShield''' : &lt;br /&gt;
* '''9V battery holder''' : &lt;br /&gt;
* '''XBee''' : &lt;br /&gt;
* '''Motor Shield''' : &lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Initiation_%C3%A0_la_soudure&amp;diff=2151</id>
		<title>Initiation à la soudure</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Initiation_%C3%A0_la_soudure&amp;diff=2151"/>
				<updated>2012-11-05T08:44:16Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Ressources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La '''soudure''' est une des techniques essentielles à la réalisation de projets électroniques. Certains sont peu à l'aise avec cet art, qui est pourtant à la portée de tous.&lt;br /&gt;
&lt;br /&gt;
Les ateliers d'initiation à la soudure, c'est du pain béni pour le Loop :&lt;br /&gt;
&lt;br /&gt;
; Faciles à organiser : Il suffit d'un fer à souder, d'un peu d’étain et de quelques composants (LEDs, interrupteurs, ...)&lt;br /&gt;
; Source d'inspiration : Quitte à souder des trucs, autant que ça serve, et nous voila en train de monter de nouveaux projets, comme le [[LedHunt]]&lt;br /&gt;
; Fédérateur : Il réunit aussi bien le geek attiré par l’électronique que le technicien son qui cherche à réparer sa console de mixage&lt;br /&gt;
&lt;br /&gt;
== Comment ==&lt;br /&gt;
[[Image:KitSoudure.jpg|right]]&lt;br /&gt;
Le Loop dispose d'un peu de matériel, mais pas forcément assez pour tout le monde, donc ramenez si vous pouvez :&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Étain&lt;br /&gt;
* Composants divers et fils variés&lt;br /&gt;
&lt;br /&gt;
== Quoi ==&lt;br /&gt;
&lt;br /&gt;
Pas besoin de projet grandiose, on étale les pièces sur la table et on regarde ce qu'on peut souder ensemble qui ressemble à quelque chose. Une pile et deux LEDs, un moteur avec un interrupteur, ... Ce qui ne veut pas dire qu'on fait n'importe quoi. On peut par exemple réaliser un [http://makeprojects.com/Project/Cheap+Soldering+Fan/1896/ ventilateur pour soudure]... histoire d'honorer la récursivité du Loop !&lt;br /&gt;
&lt;br /&gt;
== Quand ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu pendant les portes ouvertes de [[la Gare XP]] les 10 et 11 novembre. Les horaires précis restent à définir.&lt;br /&gt;
&lt;br /&gt;
Pour faciliter l'organisation (espaces de travail, fers à souder, ...), il est préférable de signaler sa participation, soit en s'inscrivant ci-dessous, soit par [[Wiki.leloop.org#Contact|mail]] ou sur [[IRC]].&lt;br /&gt;
&lt;br /&gt;
Intéressés : [[User:ToM|ToM]], [[User:Wxcafe|Wxcafe]], Spartition, ...&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://mightyohm.com/files/soldercomic/FullSolderComic_EN.pdf Soldering is easy] : la soudure pour les nuls en bande dessinée &amp;lt;small&amp;gt;(et en anglais)&amp;lt;/small&amp;gt;.&lt;br /&gt;
* [http://mightyohm.com/blog/2011/06/souder-cest-facile-soldering-is-easy-french-translation/ Souder c'est facile] : la même mais en Français &amp;lt;small&amp;gt;(et merci les copains de snootlab)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Ateliers d'initiation]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Initiation_%C3%A0_la_soudure&amp;diff=2150</id>
		<title>Initiation à la soudure</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Initiation_%C3%A0_la_soudure&amp;diff=2150"/>
				<updated>2012-11-05T08:43:58Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Ressources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La '''soudure''' est une des techniques essentielles à la réalisation de projets électroniques. Certains sont peu à l'aise avec cet art, qui est pourtant à la portée de tous.&lt;br /&gt;
&lt;br /&gt;
Les ateliers d'initiation à la soudure, c'est du pain béni pour le Loop :&lt;br /&gt;
&lt;br /&gt;
; Faciles à organiser : Il suffit d'un fer à souder, d'un peu d’étain et de quelques composants (LEDs, interrupteurs, ...)&lt;br /&gt;
; Source d'inspiration : Quitte à souder des trucs, autant que ça serve, et nous voila en train de monter de nouveaux projets, comme le [[LedHunt]]&lt;br /&gt;
; Fédérateur : Il réunit aussi bien le geek attiré par l’électronique que le technicien son qui cherche à réparer sa console de mixage&lt;br /&gt;
&lt;br /&gt;
== Comment ==&lt;br /&gt;
[[Image:KitSoudure.jpg|right]]&lt;br /&gt;
Le Loop dispose d'un peu de matériel, mais pas forcément assez pour tout le monde, donc ramenez si vous pouvez :&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Étain&lt;br /&gt;
* Composants divers et fils variés&lt;br /&gt;
&lt;br /&gt;
== Quoi ==&lt;br /&gt;
&lt;br /&gt;
Pas besoin de projet grandiose, on étale les pièces sur la table et on regarde ce qu'on peut souder ensemble qui ressemble à quelque chose. Une pile et deux LEDs, un moteur avec un interrupteur, ... Ce qui ne veut pas dire qu'on fait n'importe quoi. On peut par exemple réaliser un [http://makeprojects.com/Project/Cheap+Soldering+Fan/1896/ ventilateur pour soudure]... histoire d'honorer la récursivité du Loop !&lt;br /&gt;
&lt;br /&gt;
== Quand ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu pendant les portes ouvertes de [[la Gare XP]] les 10 et 11 novembre. Les horaires précis restent à définir.&lt;br /&gt;
&lt;br /&gt;
Pour faciliter l'organisation (espaces de travail, fers à souder, ...), il est préférable de signaler sa participation, soit en s'inscrivant ci-dessous, soit par [[Wiki.leloop.org#Contact|mail]] ou sur [[IRC]].&lt;br /&gt;
&lt;br /&gt;
Intéressés : [[User:ToM|ToM]], [[User:Wxcafe|Wxcafe]], Spartition, ...&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://mightyohm.com/files/soldercomic/FullSolderComic_EN.pdf Soldering is easy] : la soudure pour les nuls en bande dessinée &amp;lt;small&amp;gt;(et en anglais)&amp;lt;/small&amp;gt;.&lt;br /&gt;
* [http://mightyohm.com/blog/2011/06/souder-cest-facile-soldering-is-easy-french-translation/] : la même mais en Français &amp;lt;small&amp;gt;(et merci les copains de snootlab)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Ateliers d'initiation]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Initiation_%C3%A0_la_soudure&amp;diff=2149</id>
		<title>Initiation à la soudure</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Initiation_%C3%A0_la_soudure&amp;diff=2149"/>
				<updated>2012-11-05T08:43:39Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Ressources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La '''soudure''' est une des techniques essentielles à la réalisation de projets électroniques. Certains sont peu à l'aise avec cet art, qui est pourtant à la portée de tous.&lt;br /&gt;
&lt;br /&gt;
Les ateliers d'initiation à la soudure, c'est du pain béni pour le Loop :&lt;br /&gt;
&lt;br /&gt;
; Faciles à organiser : Il suffit d'un fer à souder, d'un peu d’étain et de quelques composants (LEDs, interrupteurs, ...)&lt;br /&gt;
; Source d'inspiration : Quitte à souder des trucs, autant que ça serve, et nous voila en train de monter de nouveaux projets, comme le [[LedHunt]]&lt;br /&gt;
; Fédérateur : Il réunit aussi bien le geek attiré par l’électronique que le technicien son qui cherche à réparer sa console de mixage&lt;br /&gt;
&lt;br /&gt;
== Comment ==&lt;br /&gt;
[[Image:KitSoudure.jpg|right]]&lt;br /&gt;
Le Loop dispose d'un peu de matériel, mais pas forcément assez pour tout le monde, donc ramenez si vous pouvez :&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Étain&lt;br /&gt;
* Composants divers et fils variés&lt;br /&gt;
&lt;br /&gt;
== Quoi ==&lt;br /&gt;
&lt;br /&gt;
Pas besoin de projet grandiose, on étale les pièces sur la table et on regarde ce qu'on peut souder ensemble qui ressemble à quelque chose. Une pile et deux LEDs, un moteur avec un interrupteur, ... Ce qui ne veut pas dire qu'on fait n'importe quoi. On peut par exemple réaliser un [http://makeprojects.com/Project/Cheap+Soldering+Fan/1896/ ventilateur pour soudure]... histoire d'honorer la récursivité du Loop !&lt;br /&gt;
&lt;br /&gt;
== Quand ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session aura lieu pendant les portes ouvertes de [[la Gare XP]] les 10 et 11 novembre. Les horaires précis restent à définir.&lt;br /&gt;
&lt;br /&gt;
Pour faciliter l'organisation (espaces de travail, fers à souder, ...), il est préférable de signaler sa participation, soit en s'inscrivant ci-dessous, soit par [[Wiki.leloop.org#Contact|mail]] ou sur [[IRC]].&lt;br /&gt;
&lt;br /&gt;
Intéressés : [[User:ToM|ToM]], [[User:Wxcafe|Wxcafe]], Spartition, ...&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://mightyohm.com/files/soldercomic/FullSolderComic_EN.pdf Soldering is easy] : la soudure pour les nuls en bande dessinée &amp;lt;small&amp;gt;(et en anglais)&amp;lt;/small&amp;gt;.&lt;br /&gt;
* [http://mightyohm.com/blog/2011/06/souder-cest-facile-soldering-is-easy-french-translation/] : la même mais en Français (et merci les copains de snootlab)&lt;br /&gt;
&lt;br /&gt;
[[Category:Ateliers d'initiation]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2148</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2148"/>
				<updated>2012-11-01T18:45:07Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Dates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session devrait avoir lieu courant novembre.&lt;br /&gt;
&lt;br /&gt;
je propose de m'occuper un samedi tous les mois de faire un atelier d'électronique (Arduino et autres), comme à la bonne époque du Chateau. A priori, je propose le troisième samedi ou quatrième samedi de chaque mois, à commencer par le mois de novembre.  [[User:Guyzmo|Guyzmo]] ([[User talk:Guyzmo|talk]]) 19:45, 1 November 2012 (CET)&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
Kits proposés :&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &amp;lt;s&amp;gt;2011 : Yoann512, Charo&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''LoLShield''' : &amp;lt;s&amp;gt;2011 : Ben&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''9V battery holder''' : &amp;lt;s&amp;gt;2011 : Ben&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''XBee''' : &amp;lt;s&amp;gt;2011 : Jacques&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''Data logger''' (carte-SD) : &amp;lt;s&amp;gt;2011 : Jacques (fini 14/03/2011)&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''Motor Shield''' : &amp;lt;s&amp;gt;2011 : WintermeW, Charo&amp;lt;/s&amp;gt;&lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2147</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2147"/>
				<updated>2012-11-01T18:33:30Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Soudure de shields Arduinos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session devrait avoir lieu courant novembre.&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
Kits proposés :&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &amp;lt;s&amp;gt;2011 : Yoann512, Charo&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''LoLShield''' : &amp;lt;s&amp;gt;2011 : Ben&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''9V battery holder''' : &amp;lt;s&amp;gt;2011 : Ben&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''XBee''' : &amp;lt;s&amp;gt;2011 : Jacques&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''Data logger''' (carte-SD) : &amp;lt;s&amp;gt;2011 : Jacques (fini 14/03/2011)&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''Motor Shield''' : &amp;lt;s&amp;gt;2011 : WintermeW, Charo&amp;lt;/s&amp;gt;&lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2146</id>
		<title>Atelier Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Atelier_Arduino&amp;diff=2146"/>
				<updated>2012-11-01T18:33:10Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Soudure de shields Arduinos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Les '''ateliers Arduino''' sont des sessions de découverte de l’électronique au travers de l’utilisation d'une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
En clair, on voit ensemble à quel point il est simple de brancher des trucs sur un Arduino et d’écrire du code pour piloter le tout.&lt;br /&gt;
[[Image:ArduinoStarterKit.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
L'Arduino est une plateforme de prototypage rapide.&lt;br /&gt;
&lt;br /&gt;
Ce [[:Category:Workshops|workshop]] a pour objectif de &amp;quot;dédramatiser&amp;quot; les choses avec le matériel, le triturer ensemble en s'attaquant à différents petits projets (selon ce que vous proposez/voulez faire), et (re)voir ensemble si nécessaire les bases pour pouvoir bidouiller de façon de plus en plus... enfin, de moins en moins... bref, de toute manière, de bidouiller du hardware principalement, et ce dans la joie et la bonne humeur !&lt;br /&gt;
&lt;br /&gt;
C'est l'occasion de se rassembler pour taffer sur nos projets liés à du hardware en général, et à des Arduino en particulier.&lt;br /&gt;
&lt;br /&gt;
== Matériel ==&lt;br /&gt;
&lt;br /&gt;
* vos outils (fer à souder, pince plate, pince coupante, ...),&lt;br /&gt;
* vos ordinateurs, avec le kit de développement Arduino installé ; &lt;br /&gt;
* vos Arduino et kits ;&lt;br /&gt;
* plein de composants électroniques utilisables en courant faible/basse tension ;&lt;br /&gt;
* à boire et à manger !&lt;br /&gt;
&lt;br /&gt;
== Dates ==&lt;br /&gt;
&lt;br /&gt;
La prochaine session devrait avoir lieu courant novembre.&lt;br /&gt;
&lt;br /&gt;
Voir aussi : [[{{PAGENAME}}/Archives]]&lt;br /&gt;
&lt;br /&gt;
== Thèmes ==&lt;br /&gt;
&lt;br /&gt;
Les thèmes ci-dessous sont proposés à titre d'inspiration, mais bien entendu la liste n'est pas exhaustive.&lt;br /&gt;
&lt;br /&gt;
=== Introduction à la programmation Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation au C++ pour concevoir des programmes simples pour Arduino (echo sur USB, contrôle d'une LED, un mini-HP, etc).&lt;br /&gt;
&lt;br /&gt;
Voir : [[ArduinoCppAtelier]]&lt;br /&gt;
&lt;br /&gt;
=== Soudure de son Arduino ===&lt;br /&gt;
&lt;br /&gt;
Initiation à la soudure sous prétexte de faire du bruit...&lt;br /&gt;
&lt;br /&gt;
Kits proposés :&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/dc-boarduino/ boarduino] + grande breadboard + [http://hackable-devices.org/shop/product/breadboard-jumper-wire-70pcs-pack 75 fils] à 35 euros                       &lt;br /&gt;
* breadboard : plaque de prototypage réutilisable&lt;br /&gt;
* kit [http://www.evilmadscientist.com/article.php/diavolino Diavolino] à 35 euros                                                     &lt;br /&gt;
* kit [http://hackable-devices.org/shop/product/arduino-uno Uno] + [http://hackable-devices.org/products/product/i2c-power-protoshield/ Snootlab i2c Protoshield] + [http://hackable-devices.org/shop/product/mini-breadboard-white mini breadboard] à 54 euros&lt;br /&gt;
* kit [http://hackable-devices.org/products/product/arduino-starter-pack/ ladyada] à 65 euros&lt;br /&gt;
&lt;br /&gt;
=== Soudure de shields Arduinos ===&lt;br /&gt;
&lt;br /&gt;
Si certains sont intéressés par des ateliers sur les shields, il est préférable de s'organiser pour un achat groupé. Vous pouvez indiquer ici vos préférences :&lt;br /&gt;
* '''Ethernet Shield''' : &amp;lt;s&amp;gt;2011 : Yoann512, Charo&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''LoLShield''' : &amp;lt;s&amp;gt;2011 : Ben&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''9V battery holder''' : &amp;lt;s&amp;gt;2011 : Ben&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''XBee''' : &amp;lt;s&amp;gt;2011 : Jacques&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''Data logger''' (carte-SD) : &amp;lt;s&amp;gt;2011 : Jacques (fini 14/03/2011)&amp;lt;/s&amp;gt;&lt;br /&gt;
* '''Motor Shield''' : &amp;lt;s&amp;gt;2011 : WintermeW, Charo&amp;lt;/s&amp;gt;&lt;br /&gt;
* ...&amp;lt;small&amp;gt;(la sélection est à faire sur [http://hackable-devices.org h:D] ou [ http://hackspark.fr hackspark])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmation avancée pour Arduino ===&lt;br /&gt;
&lt;br /&gt;
Création d'une bibliothèque, d'une application machine hôte+arduino, connectivité de l'arduino, etc.&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui aiment vraiment leur éditeur préféré, [[User:Guyzmo|Guyzmo]] a fait un petit [[ArduinoMakefile|Makefile]] et un script pour lire le port série ; voir [[ArduinoSerialRead]].&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/ arduino.cc] : la page référence. Énormément d'exemples, de guides &amp;amp; aides diverses pour faire tout et n'importe quoi avec/autour d'Arduino.&lt;br /&gt;
&lt;br /&gt;
[[Category:Workshops]]&lt;br /&gt;
[[Category:Arduino]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2025</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2025"/>
				<updated>2012-08-27T14:35:47Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Version courte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Github :&lt;br /&gt;
* Sur https://github.com/LeLoop/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Github.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Github'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  $ git remote add leloop &amp;lt;nowiki&amp;gt;https://github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Github :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
&lt;br /&gt;
=== Première fois ===&lt;br /&gt;
&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  sur https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  $ git remote add leloop &amp;lt;nowiki&amp;gt;https://github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== A chaque modification ===&lt;br /&gt;
&lt;br /&gt;
  $ git pull leloop&lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*                 # POUR MODIFIER LE BLOG&lt;br /&gt;
  $ $EDITOR _posts/042\ -\ mon\ post\ blog.markdown # POUR AJOUTER UN POST&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2024</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2024"/>
				<updated>2012-08-27T14:34:12Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Obtenir le code source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Github :&lt;br /&gt;
* Sur https://github.com/LeLoop/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Github.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Github'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  $ git remote add leloop &amp;lt;nowiki&amp;gt;https://github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Github :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  sur https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*                 # POUR MODIFIER LE BLOG&lt;br /&gt;
  $ $EDITOR _posts/042\ -\ mon\ post\ blog.markdown # POUR AJOUTER UN POST&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2023</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2023"/>
				<updated>2012-08-26T16:08:02Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Obtenir le code source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Github :&lt;br /&gt;
* Sur https://github.com/LeLoop/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Github.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Github'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Github :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  sur https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*                 # POUR MODIFIER LE BLOG&lt;br /&gt;
  $ $EDITOR _posts/042\ -\ mon\ post\ blog.markdown # POUR AJOUTER UN POST&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2022</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2022"/>
				<updated>2012-08-26T16:07:42Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Obtenir le code source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Github :&lt;br /&gt;
* Sur https://github.com/LeLoop/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Github'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Github :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  sur https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*                 # POUR MODIFIER LE BLOG&lt;br /&gt;
  $ $EDITOR _posts/042\ -\ mon\ post\ blog.markdown # POUR AJOUTER UN POST&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2021</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2021"/>
				<updated>2012-08-26T16:00:21Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Version courte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Github :&lt;br /&gt;
* Sur https://github.com/LeLoop/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Gitorious'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Github :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  sur https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*                 # POUR MODIFIER LE BLOG&lt;br /&gt;
  $ $EDITOR _posts/042\ -\ mon\ post\ blog.markdown # POUR AJOUTER UN POST&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2020</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2020"/>
				<updated>2012-08-26T15:59:42Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Version courte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Github :&lt;br /&gt;
* Sur https://github.com/LeLoop/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Gitorious'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Github :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  sur https://github.com/LeLoop/le-loop-blog ↔ &amp;lt;tt&amp;gt;Fork&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/LeLoop/le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*                 # POUR MODIFIER LE BLOG&lt;br /&gt;
  $ $EDITOR _posts/042\ -\ mon\ post\ blog.markdown # POUR AJOUTER UN POST&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Request merge&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2019</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2019"/>
				<updated>2012-08-26T15:57:48Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Publier la modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Github :&lt;br /&gt;
* Sur https://github.com/LeLoop/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Gitorious'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Github :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;git://gitorious.org/~${MOI}/le-loop-blog/${MOI}s-le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Request merge&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2018</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2018"/>
				<updated>2012-08-26T15:57:25Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Obtenir le code source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Github :&lt;br /&gt;
* Sur https://github.com/LeLoop/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Gitorious'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;git://gitorious.org/~${MOI}/le-loop-blog/${MOI}s-le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Request merge&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2017</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2017"/>
				<updated>2012-08-26T15:56:53Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Obtenir le code source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Gitorious'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;ssh://git@github.com/${MOI}/le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;git://gitorious.org/~${MOI}/le-loop-blog/${MOI}s-le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Request merge&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2016</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2016"/>
				<updated>2012-08-26T15:34:52Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Faire valider la mise à jour */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Gitorious'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;git://gitorious.org/~${MOI}/le-loop-blog/${MOI}s-le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
N.B.: un dépôt sur [https://gitorious.org/le-loop-blog/le-loop-blog gitorious] est aussi tenu à jour&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;git://gitorious.org/~${MOI}/le-loop-blog/${MOI}s-le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Request merge&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2015</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2015"/>
				<updated>2012-08-26T15:32:42Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Faire valider la mise à jour */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(voir le [https://gitorious.org/le-loop-blog/le-loop-blog/commits/master log des commits] pour un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Cliquer sur le bouton &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ MOI='Mon blaze sur Gitorious'&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;git://gitorious.org/~${MOI}/le-loop-blog/${MOI}s-le-loop-blog.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://github.com/LeLoop/le-loop-blog github] et cliquer sur &amp;lt;tt&amp;gt;Pull request&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du [https://github.com/LeLoop groupe Le Loop] intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet.&lt;br /&gt;
&lt;br /&gt;
Il suffit de créer un nouveau fichier dans le dossier &amp;lt;tt&amp;gt;_posts&amp;lt;/tt&amp;gt;  ;&lt;br /&gt;
  $ vi _posts/042 - Un loopiot dans l'espace.markdown&lt;br /&gt;
&lt;br /&gt;
La structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  categories: comm&lt;br /&gt;
  date: 2042/10/10 10:10:10&lt;br /&gt;
  title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
  author: guyzmo&lt;br /&gt;
  summary: &amp;quot;Hackers in space!&amp;quot;&lt;br /&gt;
  ---&lt;br /&gt;
  Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
  d'avoir mis en orbite son premier geek !&lt;br /&gt;
&lt;br /&gt;
=== En-tête ===&lt;br /&gt;
&lt;br /&gt;
L'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
* &amp;lt;tt&amp;gt;categories&amp;lt;/tt&amp;gt; : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
* &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt; : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
* &amp;lt;tt&amp;gt;author&amp;lt;/tt&amp;gt; : nom de l'auteur du post (donc toi !)&lt;br /&gt;
* &amp;lt;tt&amp;gt;summary&amp;lt;/tt&amp;gt; : résumé du post (ce champ est utilisé pour les résumés apparaissant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
=== Formatage ===&lt;br /&gt;
&lt;br /&gt;
Le format du corps de l'article est déterminé par l'extension du fichier :&lt;br /&gt;
* &amp;lt;tt&amp;gt;.markdown&amp;lt;/tt&amp;gt; : le formatage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.textile&amp;lt;/tt&amp;gt; : format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.rst&amp;lt;/tt&amp;gt; : format [http://docutils.sourceforge.net/rst.html reStructuredText]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; : format HTML&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en &amp;lt;tt&amp;gt;.mako&amp;lt;/tt&amp;gt; sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;how.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;what.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;when.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* &amp;lt;tt&amp;gt;where.html.mako&amp;lt;/tt&amp;gt; : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
==== Feeds ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/atom.mako&amp;lt;/tt&amp;gt; : contient le feed type atom&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/rss.mako&amp;lt;/tt&amp;gt; : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
==== Structure des pages ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/head.mako&amp;lt;/tt&amp;gt; : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/header.mako&amp;lt;/tt&amp;gt; : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/footer.mako&amp;lt;/tt&amp;gt; : contient le pied de page (collé au coin en bas à droite de la page) avec les icônes des supports&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/site.mako&amp;lt;/tt&amp;gt; : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/post_excerpt.mako&amp;lt;/tt&amp;gt; : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
==== Structure du site ====&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/base.mako&amp;lt;/tt&amp;gt; : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/permapage.mako&amp;lt;/tt&amp;gt; : structure de la page de consultation d'un post&lt;br /&gt;
* &amp;lt;tt&amp;gt;_templates/chronological.mako&amp;lt;/tt&amp;gt; : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== Style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png         bg.jpeg        close.png                lqdn.png  phack.png  tetalab.png  toile-libre.png  vi_powered.gif&lt;br /&gt;
  adfreebutton.jpg  blackboxe.png  lqdn-censortefeux-1.gif  open.png  rss.png    tmplab.png   usi.png&lt;br /&gt;
&lt;br /&gt;
=== Contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
  $ ls _controllers/blog/&lt;br /&gt;
  archives.py  categories.py  chronological.py  feed.py  __init__.py  permapage.py  post.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
Les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # apt-get install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ git clone &amp;lt;nowiki&amp;gt;git://gitorious.org/~${MOI}/le-loop-blog/${MOI}s-le-loop-blog.git&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  $ $EDITOR *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build &amp;amp;&amp;amp; blogofile serve&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Request merge&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Dossier_de_presse&amp;diff=2014</id>
		<title>Dossier de presse</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Dossier_de_presse&amp;diff=2014"/>
				<updated>2012-08-26T13:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Articles ==&lt;br /&gt;
&lt;br /&gt;
=== 2012 ===&lt;br /&gt;
* 26/8 Article sur [http://www.franceculture.fr/2012-08-24-le-loop-un-laboratoire-privilegie-pour-les-hackers franceculture.fr]&lt;br /&gt;
* 17/8 Dépêche AFP reprise par [http://lexpansion.lexpress.fr/high-tech/ces-hacktivistes-parisiens-qui-oeuvrent-aux-cotes-des-opposants-syriens_325506.html L'Express], [http://tempsreel.nouvelobs.com/monde/20120817.AFP5955/syrie-aux-cotes-des-cyber-opposants-des-hacktivistes-parisiens-s-engagent.html Le Nouvel Observateur], [http://www.france24.com/fr/20120817-cotes-cyber-opposants-syriens-hacktivistes-parisiens-sengagent France24] [http://noticias.terra.com.ar/internacionales/hacktivistas-parisinos-acuden-en-ayuda-de-ciberopositores-sirios,dc93201d0d439310VgnVCM4000009bcceb0aRCRD.html en argentin].&lt;br /&gt;
* 16/8 Article dans [http://www.liberation.fr/monde/2012/08/15/un-squat-deterre-le-hack-de-guerre_839965 Libération]&lt;br /&gt;
** copies sur http://ompldr.org/vZjRmdQ et http://ompldr.org/vZjRmdg&lt;br /&gt;
* Émission « [http://www.dailymotion.com/video/xox1za_cyber-story_tech Cyber Story] » sur Game One&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
* Article de blog de [http://rudehitchhiker.com/2011/09/24/an-evening-with-leloop-a-french-hacker-space/ Liam Boogar]&lt;br /&gt;
* Émission « [http://www.la-bas.org/article.php3?id_article=2244 Là-bas si j'y suis] » sur France Inter &amp;lt;small&amp;gt;([http://media.la-bas.org/mp3/110912/110912.ogg télécharger 31Mio])&amp;lt;/small&amp;gt;&lt;br /&gt;
* http://www.rue89.com/2011/08/18/hackers-libertaires-notre-but-cest-partager-la-connaissance-218241&lt;br /&gt;
* Émission « [http://wiki.leloop.org/index.php/DYHM Do you hack me?] » sur Radio Libertaire &amp;lt;small&amp;gt;([http://files.leloop.org/DYHM-01.mp3 télécharger 180Mo])&amp;lt;/small&amp;gt;&lt;br /&gt;
* http://www.youtube.com/user/PlaneteReporter#p/c/63/H6T8ylsz_Z0 (Concours lemonde.fr / Planète Reporters) Fabuleux Labos&lt;br /&gt;
* http://www.youtube.com/user/PlaneteReporter#p/c/F23B482507A9C73A/54/cKnsUj5qYK8 (Concours lemonde.fr / Planètes Reporters) Le Loop : hackerspace&lt;br /&gt;
* http://bonjourapril.fr/post/2011/03/30/Bonjour-le-loop&lt;br /&gt;
* http://owni.fr/2011/03/02/chroniques-de-rechi-hacker-le-systeme-politique-est-une-question-de-volonte/&lt;br /&gt;
* https://lille.dg-sc.org/random/index.php?post/2011/02/28/Random-033&lt;br /&gt;
* http://bearstech.com/les-news-des-communautes/loop-un-nouveau-hacklab-en-plein-coeur-de-paris&lt;br /&gt;
* http://www.april.org/owni-le-loop-un-hackerspace-dans-paris&lt;br /&gt;
* http://www.a-brest.net/breve1827.html&lt;br /&gt;
* http://owni.fr/2011/01/20/le-loop-un-hackerspace-dans-paris/&lt;br /&gt;
* http://www.siliconmaniacs.org/un-hackerspace-en-plein-coeur-de-paris/&lt;br /&gt;
* [https://www.youtube.com/watch?v=Eo-8lWXzvzQ Geek Politics : Hackers ouverts] (Youtube)&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
* http://lacantine.ubicast.eu/videos/les-hackerspaces/&lt;br /&gt;
* http://www.onirik.net/spip.php?article9140&lt;br /&gt;
* http://www.youtube.com/watch?v=XN5HumbEHv0&lt;br /&gt;
&lt;br /&gt;
=== 2009 ===&lt;br /&gt;
* http://techtoc.tv/event/304/innovation/paris-2.0/les-hackers-sortent-du-bois&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
* http://www.flickr.com/photos/juliant/sets/72157627138641507/with/5967762334/&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
=== hackerspaces.org ===&lt;br /&gt;
* http://hackerspaces.org/wiki/Le_Loop&lt;br /&gt;
=== APRIL ===&lt;br /&gt;
http://wiki.april.org/w/AG_et_Reunion_des_Membres_2010&lt;br /&gt;
http://wiki.april.org/w/AprilCampJuillet2011&lt;br /&gt;
=== LQDN ===&lt;br /&gt;
* https://www.laquadrature.net/wiki/Quadr'ap%C3%A9ro&lt;br /&gt;
* http://www.laquadrature.net/wiki/Hack-a-thon1_Political_Memory_2.0&lt;br /&gt;
=== wireless-fr ===&lt;br /&gt;
* http://dev.wireless-fr.org/wiki/ag2011&lt;br /&gt;
&lt;br /&gt;
[[Category:Pressbook]]&lt;br /&gt;
[[Category:Wikify]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2010</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2010"/>
				<updated>2012-08-24T12:35:29Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Faire valider la mise à jour */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout. Un des membres du loop responsable du blog intégrera les changements sur le serveur.&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet. Voici comme ce faire.&lt;br /&gt;
&lt;br /&gt;
# éditer le fichier &amp;quot;_posts/042 - Un loopiot dans l'espace.markdown&amp;quot;&lt;br /&gt;
# la structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
    ---&lt;br /&gt;
    categories: comm&lt;br /&gt;
    date: 2042/10/10 10:10:10&lt;br /&gt;
    title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
    author: guyzmo&lt;br /&gt;
    summary: &amp;quot;Apres plusieurs mois de balade dans les squats les plus chaleureux de Paris, Le Loop est accueilli par la Gare XP !&amp;quot;&lt;br /&gt;
    ---&lt;br /&gt;
    Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
    d'avoir mis en orbite son premier geek! &lt;br /&gt;
&lt;br /&gt;
* l'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
** '''categories''' : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
** '''date''' : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
** '''title''' : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
** '''author''' : nom de l'auteur du post (donc toi !)&lt;br /&gt;
** '''summary''' : résumé du post (ce champ est utilisé pour les résumés apparaîssant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
* après l'entête, le texte répond au formatage choisi (via l'extension de fichier). Notamment, en ayant choisi une extension &amp;quot;.markdown&amp;quot;, le formattage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]. (on peut utiliser aussi .textile pour le format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile], .rst pour le format [http://docutils.sourceforge.net/rst.html restructured text] ou .html pour le format HTML).&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
** '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
** '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
** '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
** '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
** '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
** '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
** '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
** '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
** '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
=== contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
    $ ls _controllers/blog&lt;br /&gt;
    __init__.py    chronological.py  post.py&lt;br /&gt;
    archives.py    feed.py&lt;br /&gt;
    categories.py  permapage.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2009</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2009"/>
				<updated>2012-08-24T12:34:11Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Ajouter un post */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet. Voici comme ce faire.&lt;br /&gt;
&lt;br /&gt;
# éditer le fichier &amp;quot;_posts/042 - Un loopiot dans l'espace.markdown&amp;quot;&lt;br /&gt;
# la structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
    ---&lt;br /&gt;
    categories: comm&lt;br /&gt;
    date: 2042/10/10 10:10:10&lt;br /&gt;
    title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
    author: guyzmo&lt;br /&gt;
    summary: &amp;quot;Apres plusieurs mois de balade dans les squats les plus chaleureux de Paris, Le Loop est accueilli par la Gare XP !&amp;quot;&lt;br /&gt;
    ---&lt;br /&gt;
    Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
    d'avoir mis en orbite son premier geek! &lt;br /&gt;
&lt;br /&gt;
* l'entête du post se situe entre les balises '---' et contient des champs au format YAML (tous les champs possible sont dans [http://docs.blogofile.com/en/latest/posts.html#yaml-header la doc]):&lt;br /&gt;
** '''categories''' : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
** '''date''' : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
** '''title''' : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
** '''author''' : nom de l'auteur du post (donc toi !)&lt;br /&gt;
** '''summary''' : résumé du post (ce champ est utilisé pour les résumés apparaîssant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
* après l'entête, le texte répond au formatage choisi (via l'extension de fichier). Notamment, en ayant choisi une extension &amp;quot;.markdown&amp;quot;, le formattage de l'article est en [http://en.wikipedia.org/wiki/Markdown markdown]. (on peut utiliser aussi .textile pour le format [http://en.wikipedia.org/wiki/Textile_(markup_language) textile], .rst pour le format [http://docutils.sourceforge.net/rst.html restructured text] ou .html pour le format HTML).&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
** '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
** '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
** '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
** '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
** '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
** '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
** '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
** '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
** '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
=== contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
    $ ls _controllers/blog&lt;br /&gt;
    __init__.py    chronological.py  post.py&lt;br /&gt;
    archives.py    feed.py&lt;br /&gt;
    categories.py  permapage.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2008</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2008"/>
				<updated>2012-08-24T11:21:28Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Ajouter un post */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet. Voici comme ce faire.&lt;br /&gt;
&lt;br /&gt;
# éditer le fichier &amp;quot;_posts/042 - Un loopiot dans l'espace.markdown&amp;quot;&lt;br /&gt;
# la structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
    ---&lt;br /&gt;
    categories: comm&lt;br /&gt;
    date: 2042/10/10 10:10:10&lt;br /&gt;
    title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
    author: guyzmo&lt;br /&gt;
    summary: &amp;quot;Apres plusieurs mois de balade dans les squats les plus chaleureux de Paris, Le Loop est accueilli par la Gare XP !&amp;quot;&lt;br /&gt;
    ---&lt;br /&gt;
    Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
    d'avoir mis en orbite son premier geek! &lt;br /&gt;
&lt;br /&gt;
* l'entête du post se situe entre les balises '---' et contient des champs au format YAML:&lt;br /&gt;
** '''categories''' : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
** '''date''' : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
** '''title''' : titre du post (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
** '''author''' : nom de l'auteur du post (donc toi !)&lt;br /&gt;
** '''summary''' : résumé du post (ce champ est utilisé pour les résumés apparaîssant en index) (/!\ ne pas mettre d'accents ici /!\)&lt;br /&gt;
&lt;br /&gt;
* après l'entête, le texte répond au formatage choisi (via l'extension de fichier). Notamment, en ayant choisi une extension &amp;quot;.markdown&amp;quot;, le formattage de l'article est en markdown. (on peut utiliser aussi .textile, et peut-être aussi .html... se référrer à la doc de blogofile pour ça).&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
** '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
** '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
** '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
** '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
** '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
** '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
** '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
** '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
** '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
=== contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
    $ ls _controllers/blog&lt;br /&gt;
    __init__.py    chronological.py  post.py&lt;br /&gt;
    archives.py    feed.py&lt;br /&gt;
    categories.py  permapage.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2007</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2007"/>
				<updated>2012-08-24T11:17:44Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Routine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
Ajoutez un post ou modifiez le code (cf sections suivantes)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Ajouter un post ==&lt;br /&gt;
&lt;br /&gt;
Imaginons que Le Loop vient d'envoyer son premier geek dans l'espace, et pour l'occasion on veut écrire un post de blog sur ce sujet. Voici comme ce faire.&lt;br /&gt;
&lt;br /&gt;
# éditer le fichier &amp;quot;_posts/042 - Un loopiot dans l'espace.markdown&amp;quot;&lt;br /&gt;
# la structure d'un post est la suivante :&lt;br /&gt;
&lt;br /&gt;
    ---&lt;br /&gt;
    categories: comm&lt;br /&gt;
    date: 2042/10/10 10:10:10&lt;br /&gt;
    title: Le Loop envoi son premier hacker dans l'espace&lt;br /&gt;
    author: guyzmo&lt;br /&gt;
    summary: &amp;quot;Apres plusieurs mois de balade dans les squats les plus chaleureux de Paris, Le Loop est accueilli par la Gare XP !&amp;quot;&lt;br /&gt;
    ---&lt;br /&gt;
    Après 20 ans de recherches dans le cadre du programme &amp;quot;hackers in space&amp;quot;, Le Loop est fier &lt;br /&gt;
    d'avoir mis en orbite son premier geek! &lt;br /&gt;
&lt;br /&gt;
* l'entête du post se situe entre les balises '---' et contient des champs au format YAML:&lt;br /&gt;
** '''categories''' : liste de catégories dans lequel le post se situe (si une catégorie n'existe pas, elle est créée)&lt;br /&gt;
** '''date''' : date du post (pour antidater, c'est toujours pratique)&lt;br /&gt;
** '''title''' : titre du post&lt;br /&gt;
** '''author''' : nom de l'auteur du post (donc toi !)&lt;br /&gt;
** '''summary''' : résumé du post (ce champ est utilisé pour les résumés apparaîssant en index)&lt;br /&gt;
&lt;br /&gt;
* après l'entête, le texte répond au formatage choisi (via l'extension de fichier). Notamment, en ayant choisi une extension &amp;quot;.markdown&amp;quot;, le formattage de l'article est en markdown. (on peut utiliser aussi .textile, et peut-être aussi .html... se référrer à la doc de blogofile pour ça).&lt;br /&gt;
&lt;br /&gt;
== Modifier le code ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
=== Pages statiques ===&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pages dynamiques ===&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
** '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
** '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
** '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
** '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
** '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
** '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
** '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
** '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
** '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
=== style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
=== contrôleurs ===&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
    $ ls _controllers/blog&lt;br /&gt;
    __init__.py    chronological.py  post.py&lt;br /&gt;
    archives.py    feed.py&lt;br /&gt;
    categories.py  permapage.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2006</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2006"/>
				<updated>2012-08-24T11:03:41Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* controlleurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
=== Modifier le code ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
==== Pages statiques ====&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Pages dynamiques ====&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
** '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
** '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
** '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
** '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
** '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
** '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
** '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
** '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
** '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
==== style, scripts et images ====&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
==== contrôleurs ====&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
    $ ls _controllers/blog&lt;br /&gt;
    __init__.py    chronological.py  post.py&lt;br /&gt;
    archives.py    feed.py&lt;br /&gt;
    categories.py  permapage.py&lt;br /&gt;
&lt;br /&gt;
* '''__init__.py''' : initialise l'environnement du blog&lt;br /&gt;
* '''archives.py''' : génère les listings de posts par date dans _site/archive/ANNEE/MOIS/JOUR/index.html&lt;br /&gt;
* '''categories.py''' : génère les listings de posts par catégorie dans _site/category/CATEGORIE/PAGE/index.html &lt;br /&gt;
** ainsi que le flux RSS correspondant dans _site/category/CATEGORIE/feed/index.xml&lt;br /&gt;
** et ATOM _site/category/CATEGORIE/feed/atom/index.xml)&lt;br /&gt;
* '''chronological.py''' : génère les listings de posts paginés (5 par page) dans _site/page/PAGE/index.html&lt;br /&gt;
* '''feed.py''' : génère les flux RSS et ATOM du site&lt;br /&gt;
* '''permapage.py''' : génère les pages d'articles de blog dans _site/YEAR/MONTH/DAY/SLUG/index.html&lt;br /&gt;
* '''post.py''' : génère l'objet post contenant un article&lt;br /&gt;
&lt;br /&gt;
les modules python ne sont à hacker que pour changer le comportement du site web (ajouter un champ aux posts etc..)&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2005</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2005"/>
				<updated>2012-08-24T10:53:27Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* = style, scripts et images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
=== Modifier le code ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
==== Pages statiques ====&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Pages dynamiques ====&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
** '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
** '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
** '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
** '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
** '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
** '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
** '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
** '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
** '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
==== style, scripts et images ====&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
==== controlleurs ====&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2004</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2004"/>
				<updated>2012-08-24T10:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Pages dynamiques */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
=== Modifier le code ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
==== Pages statiques ====&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Pages dynamiques ====&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
** '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
** '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
** '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
** '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
** '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
** '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
** '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
** '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
** '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
==== style, scripts et images ===&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2003</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2003"/>
				<updated>2012-08-24T10:52:36Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Pages dynamiques */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
=== Modifier le code ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
==== Pages statiques ====&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Pages dynamiques ====&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
** '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
** '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
** '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
** '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
** '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
** '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
** '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
** '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
** '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2002</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2002"/>
				<updated>2012-08-24T10:52:13Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Modifier le code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
=== Modifier le code ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako      _templates/footer.mako       _templates/permapage.mako&lt;br /&gt;
  _templates/rss.mako       _templates/base.mako         _templates/head.mako    &lt;br /&gt;
  _templates/post.mako      _templates/site.mako         _templates/chronological.mako  &lt;br /&gt;
  _templates/header.mako    _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
==== Pages statiques ====&lt;br /&gt;
&lt;br /&gt;
* how.html.mako : contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako : contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako : contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako : contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Pages dynamiques ====&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** '''_templates/atom.mako''' : contient le feed type atom&lt;br /&gt;
** '''_templates/rss.mako''' : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* structure des pages&lt;br /&gt;
* '''_templates/head.mako''' : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
* '''_templates/header.mako''' : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* '''_templates/footer.mako''' : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
* '''_templates/site.mako''' : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* '''_templates/post.mako''' : structure et affichage d'un post&lt;br /&gt;
* '''_templates/post_excerpt.mako''' : structure et affichage d'un résumé de post&lt;br /&gt;
&lt;br /&gt;
* structure du site&lt;br /&gt;
* '''_templates/base.mako''' : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* '''_templates/permapage.mako''' : structure de la page de consultation d'un post&lt;br /&gt;
* '''_templates/chronological.mako''' : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2001</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=2001"/>
				<updated>2012-08-24T10:49:07Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Routine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
=== Modifier le code ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako           _templates/footer.mako  _templates/permapage.mako     _templates/rss.mako&lt;br /&gt;
  _templates/base.mako           _templates/head.mako    _templates/post.mako          _templates/site.mako&lt;br /&gt;
  _templates/chronological.mako  _templates/header.mako  _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
==== Pages statiques ====&lt;br /&gt;
&lt;br /&gt;
* how.html.mako&lt;br /&gt;
** contient le texte de la page &amp;quot;how&amp;quot;&lt;br /&gt;
* what.html.mako  &lt;br /&gt;
** contient le texte de la page &amp;quot;what&amp;quot;&lt;br /&gt;
* when.html.mako  &lt;br /&gt;
** contient le texte de la page &amp;quot;when&amp;quot;&lt;br /&gt;
* where.html.mako&lt;br /&gt;
** contient le texte de la page &amp;quot;where&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Pages dynamiques ====&lt;br /&gt;
&lt;br /&gt;
* feeds&lt;br /&gt;
** _templates/atom.mako : contient le feed type atom&lt;br /&gt;
** _templates/rss.mako : contient le feed type rss&lt;br /&gt;
&lt;br /&gt;
* _templates/base.mako : permet l'affichage d'une page (à ne pas modifier)&lt;br /&gt;
* _templates/head.mako : contient les liens vers les feuilles de styles, les scripts JS etc.. tout ce qui va au milieu de &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
* _templates/header.mako : en-tête de chaque page (contient le titre, l'heisenberg et les bandeaux-menus)&lt;br /&gt;
* _templates/footer.mako : contient le pied de page (collé au coin en bas à droite de la page) avec les icones des supports&lt;br /&gt;
* _templates/site.mako : structure de toute page du site (avec l'inclusion des blocks head/header/footer)&lt;br /&gt;
* _templates/permapage.mako : structure de la page de consultation d'un post&lt;br /&gt;
* _templates/post.mako : structure et affichage d'un post&lt;br /&gt;
* _templates/post_excerpt.mako : structure et affichage d'un résumé de post&lt;br /&gt;
* _templates/chronological.mako : affiche tous les posts de blog en format paginé (correspond aussi à l'index du site) &lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Dossier_de_presse&amp;diff=2000</id>
		<title>Dossier de presse</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Dossier_de_presse&amp;diff=2000"/>
				<updated>2012-08-23T16:33:36Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Articles ==&lt;br /&gt;
&lt;br /&gt;
=== 2012 ===&lt;br /&gt;
* 17/8 Dépêche AFP reprise par [http://lexpansion.lexpress.fr/high-tech/ces-hacktivistes-parisiens-qui-oeuvrent-aux-cotes-des-opposants-syriens_325506.html L'Express], [http://tempsreel.nouvelobs.com/monde/20120817.AFP5955/syrie-aux-cotes-des-cyber-opposants-des-hacktivistes-parisiens-s-engagent.html Le Nouvel Observateur], [http://www.france24.com/fr/20120817-cotes-cyber-opposants-syriens-hacktivistes-parisiens-sengagent France24] [http://noticias.terra.com.ar/internacionales/hacktivistas-parisinos-acuden-en-ayuda-de-ciberopositores-sirios,dc93201d0d439310VgnVCM4000009bcceb0aRCRD.html en argentin].&lt;br /&gt;
* 16/8 Article dans [http://www.liberation.fr/monde/2012/08/15/un-squat-deterre-le-hack-de-guerre_839965 Libération]&lt;br /&gt;
** copies sur http://ompldr.org/vZjRmdQ et http://ompldr.org/vZjRmdg&lt;br /&gt;
* Émission « [http://www.dailymotion.com/video/xox1za_cyber-story_tech Cyber Story] » sur Game One&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
* Article de blog de [http://rudehitchhiker.com/2011/09/24/an-evening-with-leloop-a-french-hacker-space/ Liam Boogar]&lt;br /&gt;
* Émission « [http://www.la-bas.org/article.php3?id_article=2244 Là-bas si j'y suis] » sur France Inter &amp;lt;small&amp;gt;([http://media.la-bas.org/mp3/110912/110912.ogg télécharger 31Mio])&amp;lt;/small&amp;gt;&lt;br /&gt;
* http://www.rue89.com/2011/08/18/hackers-libertaires-notre-but-cest-partager-la-connaissance-218241&lt;br /&gt;
* Émission « [http://wiki.leloop.org/index.php/DYHM Do you hack me?] » sur Radio Libertaire &amp;lt;small&amp;gt;([http://files.leloop.org/DYHM-01.mp3 télécharger 180Mo])&amp;lt;/small&amp;gt;&lt;br /&gt;
* http://www.youtube.com/user/PlaneteReporter#p/c/63/H6T8ylsz_Z0 (Concours lemonde.fr / Planète Reporters) Fabuleux Labos&lt;br /&gt;
* http://www.youtube.com/user/PlaneteReporter#p/c/F23B482507A9C73A/54/cKnsUj5qYK8 (Concours lemonde.fr / Planètes Reporters) Le Loop : hackerspace&lt;br /&gt;
* http://bonjourapril.fr/post/2011/03/30/Bonjour-le-loop&lt;br /&gt;
* http://owni.fr/2011/03/02/chroniques-de-rechi-hacker-le-systeme-politique-est-une-question-de-volonte/&lt;br /&gt;
* https://lille.dg-sc.org/random/index.php?post/2011/02/28/Random-033&lt;br /&gt;
* http://bearstech.com/les-news-des-communautes/loop-un-nouveau-hacklab-en-plein-coeur-de-paris&lt;br /&gt;
* http://www.april.org/owni-le-loop-un-hackerspace-dans-paris&lt;br /&gt;
* http://www.a-brest.net/breve1827.html&lt;br /&gt;
* http://owni.fr/2011/01/20/le-loop-un-hackerspace-dans-paris/&lt;br /&gt;
* http://www.siliconmaniacs.org/un-hackerspace-en-plein-coeur-de-paris/&lt;br /&gt;
* [https://www.youtube.com/watch?v=Eo-8lWXzvzQ Geek Politics : Hackers ouverts] (Youtube)&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
* http://lacantine.ubicast.eu/videos/les-hackerspaces/&lt;br /&gt;
* http://www.onirik.net/spip.php?article9140&lt;br /&gt;
* http://www.youtube.com/watch?v=XN5HumbEHv0&lt;br /&gt;
&lt;br /&gt;
=== 2009 ===&lt;br /&gt;
* http://techtoc.tv/event/304/innovation/paris-2.0/les-hackers-sortent-du-bois&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
* http://www.flickr.com/photos/juliant/sets/72157627138641507/with/5967762334/&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
=== hackerspaces.org ===&lt;br /&gt;
* http://hackerspaces.org/wiki/Le_Loop&lt;br /&gt;
=== APRIL ===&lt;br /&gt;
http://wiki.april.org/w/AG_et_Reunion_des_Membres_2010&lt;br /&gt;
http://wiki.april.org/w/AprilCampJuillet2011&lt;br /&gt;
=== LQDN ===&lt;br /&gt;
* https://www.laquadrature.net/wiki/Quadr'ap%C3%A9ro&lt;br /&gt;
* http://www.laquadrature.net/wiki/Hack-a-thon1_Political_Memory_2.0&lt;br /&gt;
=== wireless-fr ===&lt;br /&gt;
* http://dev.wireless-fr.org/wiki/ag2011&lt;br /&gt;
&lt;br /&gt;
[[Category:Pressbook]]&lt;br /&gt;
[[Category:Wikify]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	<entry>
		<id>http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=1998</id>
		<title>Howto:Mise à jour du site web</title>
		<link rel="alternate" type="text/html" href="http://wiki.leloop.org/index.php?title=Howto:Mise_%C3%A0_jour_du_site_web&amp;diff=1998"/>
				<updated>2012-08-22T16:37:54Z</updated>
		
		<summary type="html">&lt;p&gt;Guyzmo: /* Modifier le code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mise à jour du site ouaibe pour les nuls.&lt;br /&gt;
&lt;br /&gt;
Il est important de faire des commit atomiques,  et donc de faire un changement, suivi d'une description de ce qui a été fait, chaque changement étant le plus petit possible. &amp;lt;small&amp;gt;(ici faudrait un exemple)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Installer [http://blogofile.com blogofile] et git :&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # pip install Blogofile&lt;br /&gt;
&lt;br /&gt;
== Obtenir le code source ==&lt;br /&gt;
&lt;br /&gt;
Clôner le dépôt git depuis Gitorious :&lt;br /&gt;
* Sur https://gitorious.org/le-loop-blog/le-loop-blog&lt;br /&gt;
* Faire &amp;lt;tt&amp;gt;Clôner&amp;lt;/tt&amp;gt; pour obtenir une copie en local.&lt;br /&gt;
Puis dans un shell :&lt;br /&gt;
  $ git clone git://git@gitorious.org/MONBLAZE/le-loop-blog&lt;br /&gt;
Ce qui a pour effet de créer votre propre espace de travail sur Gitorious.&lt;br /&gt;
&lt;br /&gt;
== Routine ==&lt;br /&gt;
&lt;br /&gt;
=== Modifier le code ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers en .mako sont des fichiers de [http://www.makotemplates.org/docs/syntax.html syntaxe mako].&lt;br /&gt;
  $ ls *.mako&lt;br /&gt;
  how.html.mako  index.html.mako  what.html.mako  when.html.mako  where.html.mako&lt;br /&gt;
  $ ls _templates/*.mako&lt;br /&gt;
  _templates/atom.mako           _templates/footer.mako  _templates/permapage.mako     _templates/rss.mako&lt;br /&gt;
  _templates/base.mako           _templates/head.mako    _templates/post.mako          _templates/site.mako&lt;br /&gt;
  _templates/chronological.mako  _templates/header.mako  _templates/post_excerpt.mako&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a aussi du CSS, des images et un chouilla de JS parce qu'Anéfé ;)&lt;br /&gt;
  $ ls css/&lt;br /&gt;
  site.css&lt;br /&gt;
  $ ls js/&lt;br /&gt;
  blink.js&lt;br /&gt;
  $ ls img/&lt;br /&gt;
  88x31.png  adfreebutton.jpg  bg.jpeg  blackboxe.png  lqdn-censortefeux-1.gif  lqdn.png  phack.png  rss.png  tetalab.png  tmplab.png  toile-libre.png  usi.png  vi_powered.gif&lt;br /&gt;
&lt;br /&gt;
Sinon, le code .py est en ... python, en utilisant la [http://blogofile.com/documentation/ bibliothèque blogofile].&lt;br /&gt;
&lt;br /&gt;
=== Tester en local ===&lt;br /&gt;
&lt;br /&gt;
Générer le site depuis les sources :&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
&lt;br /&gt;
Vérifier le résultat dans le navigateur sur http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
=== Valider la modification ===&lt;br /&gt;
&lt;br /&gt;
Une fois qu'un changement a été vérifié et ne casse pas tout, on ajoute les fichiers modifiés :&lt;br /&gt;
  $ git add %liste_noms_fichiers%&lt;br /&gt;
où %liste_noms_fichiers% est la liste des noms de fichiers modifiés pour ce changement. Voir aussi &amp;lt;tt&amp;gt;git status&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Puis on enregistre la modification :&lt;br /&gt;
  $ git commit -m &amp;quot;%description de ce qui a été fait dans le commit%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par convention : &lt;br /&gt;
* &amp;quot;[ENH] added bla and bla&amp;quot; pour un ajout (''enhancement'')&lt;br /&gt;
* &amp;quot;[FIX] fixed typo in bla and bla&amp;quot; pour une correction&lt;br /&gt;
* &amp;quot;[DEL] removed ...&amp;quot; pour un retrait&lt;br /&gt;
&lt;br /&gt;
=== Publier la modification ===&lt;br /&gt;
&lt;br /&gt;
On envoie le tout sur Gitorious :&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
&lt;br /&gt;
=== Faire valider la mise à jour ===&lt;br /&gt;
&lt;br /&gt;
Retourner sur [https://gitorious.org/le-loop-blog/le-loop-blog Gitorious] et cliquer sur &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis soumettre un message pour proposer les changements en expliquant le tout.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Version courte ==&lt;br /&gt;
  # aptitude install python-setuptools git&lt;br /&gt;
  # easy_install Blogofile&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ &amp;lt;éditeur&amp;gt; *.mako css/* js/* img/*&lt;br /&gt;
  $ blogofile build&lt;br /&gt;
  $ blogofile serve&lt;br /&gt;
  &amp;lt;zieute&amp;gt;&lt;br /&gt;
  $ firefox http://127.0.0.1:8080/ &amp;amp;&lt;br /&gt;
  $ git add %fichiers%&lt;br /&gt;
  $ git commit -m &amp;quot;[FIX] changé l'eau en vin&amp;quot;&lt;br /&gt;
  $ git push origin master&lt;br /&gt;
  https://gitorious.org/le-loop-blog/le-loop-blog ↔ &amp;lt;tt&amp;gt;Merge request&amp;lt;/tt&amp;gt;&lt;br /&gt;
  $ echo 'debout molasse' | mail webmaster@leloop.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:www.leloop.org]]&lt;/div&gt;</summary>
		<author><name>Guyzmo</name></author>	</entry>

	</feed>