<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wikifab.hatlab.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
		<title>HATLAB - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://wikifab.hatlab.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/Sp%C3%A9cial:Contributions/Admin"/>
		<updated>2026-04-28T21:46:26Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Utilisateur:Admin&amp;diff=1493</id>
		<title>Utilisateur:Admin</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Utilisateur:Admin&amp;diff=1493"/>
				<updated>2019-07-14T21:58:43Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : create user page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=618</id>
		<title>SUNLAB - Enregistrement, Authentification &amp; Accès électronique</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=618"/>
				<updated>2018-04-11T14:44:59Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Area=Électronique&lt;br /&gt;
|Description=Mise en place d'ouverture de porte par accès portail web.&lt;br /&gt;
|Difficulty=Difficile&lt;br /&gt;
|Cost=100&lt;br /&gt;
|Currency=EUR (€)&lt;br /&gt;
|Duration=10&lt;br /&gt;
|Duration-type=heure(s)&lt;br /&gt;
|Licences=GNU Free Hardware Designs&lt;br /&gt;
|Main_Picture=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_sunlab_door.png&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Dans ce tutoriel nous allons voir deux sujets :&lt;br /&gt;
- Service d'authentification de la porte du Sunlab.&lt;br /&gt;
- Service d'enregistrement de présence au Sunlab.&lt;br /&gt;
&lt;br /&gt;
Afin de suivre correctement ce tutoriel, il est nécessaire d'avoir des connaissances au moins basiques dans les domaines suivants: Linux, Programmation &amp;amp; électronique. Je ne vais pas rentrer dans les détails de certaines parties.&lt;br /&gt;
&lt;br /&gt;
La majorité des opérations doivent être réalisés sur votre Raspberry-pi. Notamment la partie compilation des codes et programmes C qui ne fonctionneront pas s'ils sont compilés sous une architecture x68/x64 et déplacés sur ARM… Une partie des codes sources sont déjà disponibles compilés pour ARM dans le dépôt git.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Material=* Electro-aimants (de porte)&lt;br /&gt;
* Boitier plastique&lt;br /&gt;
* Connecteurs&lt;br /&gt;
* Fils electrique&lt;br /&gt;
* Raspberry (équipé)&lt;br /&gt;
* Relais  2A (5/12v commande)&lt;br /&gt;
|Tools=''' Liste des technologies '''&lt;br /&gt;
* Dév web: PHP / CSS / HTML / Javascript&lt;br /&gt;
* Dév système: C&lt;br /&gt;
* Hardware: Raspberry py, NFC reader&lt;br /&gt;
* Base de données: MYSQL / LDAP&lt;br /&gt;
* Système : Linux (debian), Apache2&lt;br /&gt;
* Gestion du code: Git&lt;br /&gt;
}}&lt;br /&gt;
{{Separator}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Fonctionnement et architecture du code&lt;br /&gt;
|Step_Content=L'intégralité du code est géré sous GIT, vous pouvez contribuer directement en effectuant des demandes de merge.&lt;br /&gt;
&lt;br /&gt;
Lien du git: [[https://github.com/ThomasGsp/sunlab|https://github.com/ThomasGsp/sunlab]]&lt;br /&gt;
&lt;br /&gt;
'''Le code est divisé en quatre grande parties:'''&lt;br /&gt;
* Le &amp;quot;common&amp;quot;, le code sert de base fonctionnelle aux trois autres.&lt;br /&gt;
* La partie &amp;quot;door&amp;quot;, comprenant le code spécifique pour la porte.&lt;br /&gt;
* La partie &amp;quot;nfc&amp;quot;, pour le nfc.&lt;br /&gt;
* La partie &amp;quot;register&amp;quot; pour l'enregistrement de présence.&lt;br /&gt;
&lt;br /&gt;
'''Afin d'accélérer le développement, le code est basé sur plusieurs tierces parties:'''&lt;br /&gt;
* PHPMailer pour l'envoi des email.&lt;br /&gt;
* Bootstrap pour le CSS/HTML.&lt;br /&gt;
* PHP-Login pour la base php/js/mysql ( [[https://github.com/fethica/PHP-Login/tree/master/login|https://github.com/fethica/PHP-Login/tree/master/login]] ).&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Hardware&lt;br /&gt;
|Step_Content=* Un raspberry pi équipé (alimentation, carte SD, boitier).&lt;br /&gt;
* Un lecteur NFC compatible (type: [[https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader|https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader]]&lt;br /&gt;
* Tablette tactile (optionnel)&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Installation et configuration&lt;br /&gt;
|Step_Content=* Préparer une installation propre de Raspbian sur un Raspberry&lt;br /&gt;
* Installer les suites de logiciels suivants avec les configurations associés&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Stack web: apache2, php, mysql&lt;br /&gt;
|Step_Content='''Installation des paquets debian pour squeeze/Debian 8'''&lt;br /&gt;
  apt-get install apache2 mysql-server php5 libapache2-mod-php5 php-curl php5-ldap  php5-mysql&lt;br /&gt;
&lt;br /&gt;
'''Installation des paquets debian pour stretch/Debian 9.1'''&lt;br /&gt;
  apt install mariadb-server apache2 php libapache2-mod-php php-ldap php-mysql&lt;br /&gt;
&lt;br /&gt;
'''Configuration sécurité apache:'''&lt;br /&gt;
vi /etc/apache2/conf-enabled/security.conf&lt;br /&gt;
  ServerTokens Prod&lt;br /&gt;
  ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
'''VHOST apache:'''&lt;br /&gt;
vi /etc/apache2/sites-available/sunlab.conf&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName porte.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/door&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/door&amp;gt;&lt;br /&gt;
          Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/porte_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/porte_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName presence.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/register&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/register&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/presence_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/presence_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName nfc.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/nfc&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/nfc&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/nfc_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/nfc_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuration MYSQL:'''&lt;br /&gt;
Se connecter à mysql, créer une base avec un utilisateur associé:&lt;br /&gt;
  CREATE DATABASE sunlab;&lt;br /&gt;
  CREATE USER 'sunlab'@'localhost' IDENTIFIED BY   'definir_ici_un_mot_de_passe';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON sunlab.* TO 'sunlab'@'localhost';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
&lt;br /&gt;
Le schéma de la base est disponible dans '''SUNLAB/DOC/DATABASE.sql'''&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Restaurer la base à partir de fichiers physiques&lt;br /&gt;
|Step_Content=* https://stackoverflow.com/questions/484750/restoring-mysql-database-from-physical-files&lt;br /&gt;
* https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/&lt;br /&gt;
&lt;br /&gt;
  service mariadb stop&lt;br /&gt;
  cd /var/lib/mysql&lt;br /&gt;
  for i in ib* ; do mv $i ${i}.prev ; done&lt;br /&gt;
&lt;br /&gt;
  mv sunlab sunlab_prev&lt;br /&gt;
  tar zxvf /home/pi/download /var_lib_mysql_sunlab20180207.tar.gz&lt;br /&gt;
&lt;br /&gt;
  chown -R mysql: ib* sunlab&lt;br /&gt;
&lt;br /&gt;
  service mariadb start&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Déploiement: git&lt;br /&gt;
|Step_Content=''' Installation des paquets debian'''&lt;br /&gt;
  apt-get install git&lt;br /&gt;
&lt;br /&gt;
''' Cloner le projet dans votre home utilisateur'''&lt;br /&gt;
  git clone https://github.com/ThomasGsp/sunlab.git&lt;br /&gt;
&lt;br /&gt;
''' Copier le projet dans votre répertoire web'''&lt;br /&gt;
  cp -R sunlab /var/www/&lt;br /&gt;
  chown -R www-data: /var/www/sunlab&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=NFC&lt;br /&gt;
|Step_Content=Pour utiliser le module nfc usb, il est nécessaire d'installer la librairie libnfc. &lt;br /&gt;
&lt;br /&gt;
'''Installation des paquets debian'''&lt;br /&gt;
  apt-get install dh-autoreconf  doxygen  libusb-dev libpcsclite-dev make pcscd&lt;br /&gt;
&lt;br /&gt;
  apt install libnfc5 libnfc-bin # en stretch / Debian 9.3&lt;br /&gt;
&lt;br /&gt;
''' Installation de la libnfc (utiliser la version 1.5 pour des raisons de compatibilités !)'''&lt;br /&gt;
  git clone https://github.com/nfc-tools/libnfc.git&lt;br /&gt;
  cd libnfc/&lt;br /&gt;
  git checkout libnfc-1.7.1&lt;br /&gt;
  autoreconf -vis&lt;br /&gt;
  ./configure --enable-doc&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
''' Blacklist du module originel'''&lt;br /&gt;
  vi /etc/modprobe.d/blacklist-libnfc.conf&lt;br /&gt;
  blacklist pn533&lt;br /&gt;
  blacklist nfc&lt;br /&gt;
&lt;br /&gt;
''' Désactivation à chaud '''&lt;br /&gt;
  modprobe -r pn533 nfc&lt;br /&gt;
&lt;br /&gt;
''' restart du process'''&lt;br /&gt;
  service pcscd restart&lt;br /&gt;
&lt;br /&gt;
  lsusb # doit afficher une ligne similaire à :&lt;br /&gt;
  Bus 001 Device 005: ID 072f:2200   Advanced Card Systems, Ltd ACR122U&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nfc-list # en plaçant une carte reconnue par le nfc (navigo, carte bleue...) doit afficher quelque chose comme :&lt;br /&gt;
  nfc-list uses libnfc 1.7.1&lt;br /&gt;
  NFC device: ACS / ACR122U PICC Interface opened&lt;br /&gt;
  1 ISO14443B-2 ST SRx passive target(s) found:&lt;br /&gt;
  ISO/IEC 14443-2B ST SRx (106 kbps) target:&lt;br /&gt;
                UID: 86  25  06  18  86  19  02  d0&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Gestion IO: wiringPi&lt;br /&gt;
|Step_Content='''Ce module permet de gérer les entrés/sorties GPIO du raspberry (en C) '''&lt;br /&gt;
  git clone git://git.drogon.net/wiringPi&lt;br /&gt;
  cd wiringPi&lt;br /&gt;
  ./build&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Code source spécifique&lt;br /&gt;
|Step_Content=L'utilisation des commandes NFC et PIN GPIO du Raspberry-pi nécessitent des droits utilisateur élevés (root).&lt;br /&gt;
Pour des raisons de sécurité, apache n'a pas des droits suffisamment élevés pour réaliser les opérations. Il existe plusieurs possibilités pour contourner le problème: Mettre en place un SUDO sur certaines commandes ou réaliser un Wrapper en C avec des droits associés corrects.&lt;br /&gt;
&lt;br /&gt;
C'est cette seconde possibilité qui est mise en place.&lt;br /&gt;
&lt;br /&gt;
Trois programmes sont concernés:&lt;br /&gt;
  &amp;lt;web dir&amp;gt;/SUNLAB/nfc/bin/getid.c&lt;br /&gt;
  &amp;lt;web dir&amp;gt;/SUNLAB/door/bin/waitforce.c&lt;br /&gt;
  &amp;lt;web dir&amp;gt;/SUNLAB/door/bin/opendoor.c&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Configuration opendoor.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o opendoor opendoor.c -lwiringPi&lt;br /&gt;
&lt;br /&gt;
''' L'attribuer avec le bon user:'''&lt;br /&gt;
  chown root: opendoor&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique:'''&lt;br /&gt;
  chmod ug+s opendoor&lt;br /&gt;
&lt;br /&gt;
'''Configuration waitforce.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o waitforce waitforce.c -lwiringPi&lt;br /&gt;
&lt;br /&gt;
''' L'attribuer avec le bon user:'''&lt;br /&gt;
  chown root: waitforce&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique:'''&lt;br /&gt;
  chmod ug+s waitforce&lt;br /&gt;
&lt;br /&gt;
'''Configuration getid.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o getid getid.c&lt;br /&gt;
&lt;br /&gt;
'''L'attribuer avec le bon user: '''&lt;br /&gt;
  chown root: getid&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique: '''&lt;br /&gt;
  chmod ug+s getid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Les programmes sont maintenant habilités à s'exécuter en root avec un utilisateur classique.&lt;br /&gt;
&lt;br /&gt;
Le programme waitforce.c permettant l'ouverture forcé de la porte par le bouton est lancé automatiquement au démarrage du raspberry via une ligne ajouté au fichier “/etc/rc.local”.&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Architecture physique&lt;br /&gt;
|Step_Content='''Le système est composé de trois parties:''&lt;br /&gt;
* Les électro-aimants au situés au niveau de la porte&lt;br /&gt;
* La puissance électronique, le petit boîtier blanc&lt;br /&gt;
* La commande électroniques, le raspberry&lt;br /&gt;
&lt;br /&gt;
'''Les électro-aimants:'''&lt;br /&gt;
Afin de limiter l'intensité au niveau du circuit électronique, ils ont été réglés sur 12v. Ils sont montés en dérivation et contrôlés par le boitier de puissance électronique.&lt;br /&gt;
&lt;br /&gt;
L'alimentation 12v est assuré par un bloc dédié, un relais est mis en coupure permettant d'ouvrir ou fermer le circuit.&lt;br /&gt;
&lt;br /&gt;
'''La puissance électronique:'''&lt;br /&gt;
&lt;br /&gt;
Ce boîtier blanc permet de faire l'interconnexion entre les éléments d'actions (interrupteurs, électro-aimants) et le raspberry-pi.&lt;br /&gt;
&lt;br /&gt;
Il possède plusieurs connecteurs externes:&lt;br /&gt;
* Connecteur series, pour l'interconnexion avec le raspberry&lt;br /&gt;
* Connecteur alimentation (entrée), qui permet de connecter le bloc d'alimentation&lt;br /&gt;
* Connecteur alimentation (sortie), qui permet la servitude des electro-aimants&lt;br /&gt;
* Connecteur jack, pour l'entrée de la commande des boutons de force d'ouverture&lt;br /&gt;
|Step_Picture_00=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_shemaporte.png&lt;br /&gt;
}}&lt;br /&gt;
{{Notes}}&lt;br /&gt;
{{Tuto Status}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=617</id>
		<title>SUNLAB - Enregistrement, Authentification &amp; Accès électronique</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=617"/>
				<updated>2018-04-11T14:39:48Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Area=Électronique&lt;br /&gt;
|Description=Mise en place d'ouverture de porte par accès portail web.&lt;br /&gt;
|Difficulty=Difficile&lt;br /&gt;
|Cost=100&lt;br /&gt;
|Currency=EUR (€)&lt;br /&gt;
|Duration=10&lt;br /&gt;
|Duration-type=heure(s)&lt;br /&gt;
|Licences=GNU Free Hardware Designs&lt;br /&gt;
|Main_Picture=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_sunlab_door.png&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Dans ce tutoriel nous allons voir deux sujets :&lt;br /&gt;
- Service d'authentification de la porte du Sunlab.&lt;br /&gt;
- Service d'enregistrement de présence au Sunlab.&lt;br /&gt;
&lt;br /&gt;
Afin de suivre correctement ce tutoriel, il est nécessaire d'avoir des connaissances au moins basiques dans les domaines suivants: Linux, Programmation &amp;amp; électronique. Je ne vais pas rentrer dans les détails de certaines parties.&lt;br /&gt;
&lt;br /&gt;
La majorité des opérations doivent être réalisés sur votre Raspberry-pi. Notamment la partie compilation des codes et programmes C qui ne fonctionneront pas s'ils sont compilés sous une architecture x68/x64 et déplacés sur ARM… Une partie des codes sources sont déjà disponibles compilés pour ARM dans le dépôt git.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Material=* Electro-aimants (de porte)&lt;br /&gt;
* Boitier plastique&lt;br /&gt;
* Connecteurs&lt;br /&gt;
* Fils electrique&lt;br /&gt;
* Raspberry (équipé)&lt;br /&gt;
* Relais  2A (5/12v commande)&lt;br /&gt;
|Tools=''' Liste des technologies '''&lt;br /&gt;
* Dév web: PHP / CSS / HTML / Javascript&lt;br /&gt;
* Dév système: C&lt;br /&gt;
* Hardware: Raspberry py, NFC reader&lt;br /&gt;
* Base de données: MYSQL / LDAP&lt;br /&gt;
* Système : Linux (debian), Apache2&lt;br /&gt;
* Gestion du code: Git&lt;br /&gt;
}}&lt;br /&gt;
{{Separator}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Fonctionnement et architecture du code&lt;br /&gt;
|Step_Content=L'intégralité du code est géré sous GIT, vous pouvez contribuer directement en effectuant des demandes de merge.&lt;br /&gt;
&lt;br /&gt;
Lien du git: [[https://github.com/ThomasGsp/sunlab|https://github.com/ThomasGsp/sunlab]]&lt;br /&gt;
&lt;br /&gt;
'''Le code est divisé en quatre grande parties:'''&lt;br /&gt;
* Le &amp;quot;common&amp;quot;, le code sert de base fonctionnelle aux trois autres.&lt;br /&gt;
* La partie &amp;quot;door&amp;quot;, comprenant le code spécifique pour la porte.&lt;br /&gt;
* La partie &amp;quot;nfc&amp;quot;, pour le nfc.&lt;br /&gt;
* La partie &amp;quot;register&amp;quot; pour l'enregistrement de présence.&lt;br /&gt;
&lt;br /&gt;
'''Afin d'accélérer le développement, le code est basé sur plusieurs tierces parties:'''&lt;br /&gt;
* PHPMailer pour l'envoi des email.&lt;br /&gt;
* Bootstrap pour le CSS/HTML.&lt;br /&gt;
* PHP-Login pour la base php/js/mysql ( [[https://github.com/fethica/PHP-Login/tree/master/login|https://github.com/fethica/PHP-Login/tree/master/login]] ).&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Hardware&lt;br /&gt;
|Step_Content=* Un raspberry pi équipé (alimentation, carte SD, boitier).&lt;br /&gt;
* Un lecteur NFC compatible (type: [[https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader|https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader]]&lt;br /&gt;
* Tablette tactile (optionnel)&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Installation et configuration&lt;br /&gt;
|Step_Content=* Préparer une installation propre de Raspbian sur un Raspberry&lt;br /&gt;
* Installer les suites de logiciels suivants avec les configurations associés&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Stack web: apache2, php, mysql&lt;br /&gt;
|Step_Content='''Installation des paquets debian pour squeeze/Debian 8'''&lt;br /&gt;
  apt-get install apache2 mysql-server php5 libapache2-mod-php5 php-curl php5-ldap  php5-mysql&lt;br /&gt;
&lt;br /&gt;
'''Installation des paquets debian pour stretch/Debian 9.1'''&lt;br /&gt;
  apt install mariadb-server apache2 php libapache2-mod-php php-ldap php-mysql&lt;br /&gt;
&lt;br /&gt;
'''Configuration sécurité apache:'''&lt;br /&gt;
vi /etc/apache2/conf-enabled/security.conf&lt;br /&gt;
  ServerTokens Prod&lt;br /&gt;
  ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
'''VHOST apache:'''&lt;br /&gt;
vi /etc/apache2/sites-available/sunlab.conf&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName porte.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/door&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/door&amp;gt;&lt;br /&gt;
          Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/porte_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/porte_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName presence.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/register&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/register&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/presence_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/presence_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName nfc.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/nfc&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/nfc&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/nfc_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/nfc_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuration MYSQL:'''&lt;br /&gt;
Se connecter à mysql, créer une base avec un utilisateur associé:&lt;br /&gt;
  CREATE DATABASE sunlab;&lt;br /&gt;
  CREATE USER 'sunlab'@'localhost' IDENTIFIED BY   'definir_ici_un_mot_de_passe';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON sunlab.* TO 'sunlab'@'localhost';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
&lt;br /&gt;
Le schéma de la base est disponible dans '''SUNLAB/DOC/DATABASE.sql'''&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Restaurer la base à partir de fichiers physiques&lt;br /&gt;
|Step_Content=* https://stackoverflow.com/questions/484750/restoring-mysql-database-from-physical-files&lt;br /&gt;
* https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/&lt;br /&gt;
&lt;br /&gt;
  service mariadb stop&lt;br /&gt;
  cd /var/lib/mysql&lt;br /&gt;
  for i in ib* ; do mv $i ${i}.prev ; done&lt;br /&gt;
&lt;br /&gt;
  mv sunlab sunlab_prev&lt;br /&gt;
  tar zxvf /home/pi/download /var_lib_mysql_sunlab20180207.tar.gz&lt;br /&gt;
&lt;br /&gt;
  chown -R mysql: ib* sunlab&lt;br /&gt;
&lt;br /&gt;
  service mariadb start&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Déploiement: git&lt;br /&gt;
|Step_Content=''' Installation des paquets debian'''&lt;br /&gt;
  apt-get install git&lt;br /&gt;
&lt;br /&gt;
''' Cloner le projet dans votre home utilisateur'''&lt;br /&gt;
  git clone https://github.com/ThomasGsp/sunlab.git&lt;br /&gt;
&lt;br /&gt;
''' Copier le projet dans votre répertoire web'''&lt;br /&gt;
  cp -R sunlab /var/www/&lt;br /&gt;
  chown -R www-data: /var/www/sunlab&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=NFC&lt;br /&gt;
|Step_Content=Pour utiliser le module nfc usb, il est nécessaire d'installer la librairie libnfc. &lt;br /&gt;
&lt;br /&gt;
'''Installation des paquets debian'''&lt;br /&gt;
  apt-get install dh-autoreconf  doxygen  libusb-dev libpcsclite-dev make pcscd&lt;br /&gt;
&lt;br /&gt;
  apt install libnfc5 libnfc-bin # en stretch / Debian 9.3&lt;br /&gt;
&lt;br /&gt;
''' Installation de la libnfc (utiliser la version 1.5 pour des raisons de compatibilités !)'''&lt;br /&gt;
  git clone https://github.com/nfc-tools/libnfc.git&lt;br /&gt;
  cd libnfc/&lt;br /&gt;
  git checkout libnfc-1.7.1&lt;br /&gt;
  autoreconf -vis&lt;br /&gt;
  ./configure --enable-doc&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
''' Blacklist du module originel'''&lt;br /&gt;
  vi /etc/modprobe.d/blacklist-libnfc.conf&lt;br /&gt;
  blacklist pn533&lt;br /&gt;
  blacklist nfc&lt;br /&gt;
&lt;br /&gt;
''' Désactivation à chaud '''&lt;br /&gt;
  modprobe -r pn533 nfc&lt;br /&gt;
&lt;br /&gt;
''' restart du process'''&lt;br /&gt;
  service pcscd restart&lt;br /&gt;
&lt;br /&gt;
  lsusb # doit afficher une ligne similaire à :&lt;br /&gt;
  Bus 001 Device 005: ID 072f:2200   Advanced Card Systems, Ltd ACR122U&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nfc-list # en plaçant une carte reconnue par le nfc (navigo, carte bleue...) doit afficher quelque chose comme :&lt;br /&gt;
  nfc-list uses libnfc 1.7.1&lt;br /&gt;
  NFC device: ACS / ACR122U PICC Interface opened&lt;br /&gt;
  1 ISO14443B-2 ST SRx passive target(s) found:&lt;br /&gt;
  ISO/IEC 14443-2B ST SRx (106 kbps) target:&lt;br /&gt;
                UID: 86  25  06  18  86  19  02  d0&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Gestion IO: wiringPi&lt;br /&gt;
|Step_Content='''Ce module permet de gérer les entrés/sorties GPIO du raspberry (en C) '''&lt;br /&gt;
  git clone git://git.drogon.net/wiringPi&lt;br /&gt;
  cd wiringPi&lt;br /&gt;
  ./build&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Code source spécifique&lt;br /&gt;
|Step_Content=L'utilisation des commandes NFC et PIN GPIO du Raspberry-pi nécessitent des droits utilisateur élevés (root).&lt;br /&gt;
Pour des raisons de sécurité, apache n'a pas des droits suffisamment élevés pour réaliser les opérations. Il existe plusieurs possibilités pour contourner le problème: Mettre en place un SUDO sur certaines commandes ou réaliser un Wrapper en C avec des droits associés corrects.&lt;br /&gt;
&lt;br /&gt;
C'est cette seconde possibilité qui est mise en place.&lt;br /&gt;
&lt;br /&gt;
Trois programmes sont concernés:&lt;br /&gt;
    &amp;lt;web dir&amp;gt;/SUNLAB/nfc/bin/getid.c&lt;br /&gt;
    &amp;lt;web dir&amp;gt;/SUNLAB/door/bin/waitforce.c&lt;br /&gt;
    &amp;lt;web dir&amp;gt;/SUNLAB/door/bin/opendoor.c&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Configuration opendoor.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o opendoor opendoor.c -lwiringPi&lt;br /&gt;
&lt;br /&gt;
''' L'attribuer avec le bon user:'''&lt;br /&gt;
  chown root: opendoor&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique:'''&lt;br /&gt;
  chmod ug+s opendoor&lt;br /&gt;
&lt;br /&gt;
'''Configuration waitforce.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o waitforce waitforce.c -lwiringPi&lt;br /&gt;
&lt;br /&gt;
''' L'attribuer avec le bon user:'''&lt;br /&gt;
  chown root: waitforce&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique:'''&lt;br /&gt;
  chmod ug+s waitforce&lt;br /&gt;
&lt;br /&gt;
'''Configuration getid.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o getid getid.c&lt;br /&gt;
&lt;br /&gt;
'''L'attribuer avec le bon user: '''&lt;br /&gt;
  chown root: getid&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique: '''&lt;br /&gt;
  chmod ug+s getid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Les programmes sont maintenant habilités à s'exécuter en root avec un utilisateur classique.&lt;br /&gt;
&lt;br /&gt;
Le programme waitforce.c permettant l'ouverture forcé de la porte par le bouton est lancé automatiquement au démarrage du raspberry via une ligne ajouté au fichier “/etc/rc.local”.&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Architecture physique&lt;br /&gt;
|Step_Content='''Le système est composé de trois parties:''&lt;br /&gt;
* Les électro-aimants au situés au niveau de la porte&lt;br /&gt;
* La puissance électronique, le petit boîtier blanc&lt;br /&gt;
* La commande électroniques, le raspberry&lt;br /&gt;
&lt;br /&gt;
'''Les électro-aimants:'''&lt;br /&gt;
Afin de limiter l'intensité au niveau du circuit électronique, ils ont été réglés sur 12v. Ils sont montés en dérivation et contrôlés par le boitier de puissance électronique.&lt;br /&gt;
&lt;br /&gt;
L'alimentation 12v est assuré par un bloc dédié, un relais est mis en coupure permettant d'ouvrir ou fermer le circuit.&lt;br /&gt;
&lt;br /&gt;
'''La puissance électronique:'''&lt;br /&gt;
&lt;br /&gt;
Ce boîtier blanc permet de faire l'interconnexion entre les éléments d'actions (interrupteurs, électro-aimants) et le raspberry-pi.&lt;br /&gt;
&lt;br /&gt;
Il possède plusieurs connecteurs externes:&lt;br /&gt;
* Connecteur series, pour l'interconnexion avec le raspberry&lt;br /&gt;
* Connecteur alimentation (entrée), qui permet de connecter le bloc d'alimentation&lt;br /&gt;
* Connecteur alimentation (sortie), qui permet la servitude des electro-aimants&lt;br /&gt;
* Connecteur jack, pour l'entrée de la commande des boutons de force d'ouverture&lt;br /&gt;
|Step_Picture_00=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_shemaporte.png&lt;br /&gt;
}}&lt;br /&gt;
{{Notes}}&lt;br /&gt;
{{Tuto Status}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Fichier:SUNLAB_-_Enregistrement_Authentification_Acc_s_lectronique_shemaporte.png&amp;diff=616</id>
		<title>Fichier:SUNLAB - Enregistrement Authentification Acc s lectronique shemaporte.png</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Fichier:SUNLAB_-_Enregistrement_Authentification_Acc_s_lectronique_shemaporte.png&amp;diff=616"/>
				<updated>2018-04-11T14:39:40Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Fichier téléversé avec MsUpload on SUNLAB_-_Enregistrement,_Authentification_&amp;amp;_Accès_électronique&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fichier téléversé avec MsUpload on [[SUNLAB_-_Enregistrement,_Authentification_&amp;amp;_Accès_électronique]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=615</id>
		<title>SUNLAB - Enregistrement, Authentification &amp; Accès électronique</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=615"/>
				<updated>2018-04-11T14:35:22Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Area=Électronique&lt;br /&gt;
|Description=Mise en place d'ouverture de porte par accès portail web.&lt;br /&gt;
|Difficulty=Difficile&lt;br /&gt;
|Cost=100&lt;br /&gt;
|Currency=EUR (€)&lt;br /&gt;
|Duration=10&lt;br /&gt;
|Duration-type=heure(s)&lt;br /&gt;
|Licences=GNU Free Hardware Designs&lt;br /&gt;
|Main_Picture=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_sunlab_door.png&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Dans ce tutoriel nous allons voir deux sujets :&lt;br /&gt;
- Service d'authentification de la porte du Sunlab.&lt;br /&gt;
- Service d'enregistrement de présence au Sunlab.&lt;br /&gt;
&lt;br /&gt;
Afin de suivre correctement ce tutoriel, il est nécessaire d'avoir des connaissances au moins basiques dans les domaines suivants: Linux, Programmation &amp;amp; électronique. Je ne vais pas rentrer dans les détails de certaines parties.&lt;br /&gt;
&lt;br /&gt;
La majorité des opérations doivent être réalisés sur votre Raspberry-pi. Notamment la partie compilation des codes et programmes C qui ne fonctionneront pas s'ils sont compilés sous une architecture x68/x64 et déplacés sur ARM… Une partie des codes sources sont déjà disponibles compilés pour ARM dans le dépôt git.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Material=* Electro-aimants (de porte)&lt;br /&gt;
* Boitier plastique&lt;br /&gt;
* Connecteurs&lt;br /&gt;
* Fils electrique&lt;br /&gt;
* Raspberry (équipé)&lt;br /&gt;
* Relais  2A (5/12v commande)&lt;br /&gt;
|Tools=''' Liste des technologies '''&lt;br /&gt;
* Dév web: PHP / CSS / HTML / Javascript&lt;br /&gt;
* Dév système: C&lt;br /&gt;
* Hardware: Raspberry py, NFC reader&lt;br /&gt;
* Base de données: MYSQL / LDAP&lt;br /&gt;
* Système : Linux (debian), Apache2&lt;br /&gt;
* Gestion du code: Git&lt;br /&gt;
}}&lt;br /&gt;
{{Separator}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Fonctionnement et architecture du code&lt;br /&gt;
|Step_Content=L'intégralité du code est géré sous GIT, vous pouvez contribuer directement en effectuant des demandes de merge.&lt;br /&gt;
&lt;br /&gt;
Lien du git: [[https://github.com/ThomasGsp/sunlab|https://github.com/ThomasGsp/sunlab]]&lt;br /&gt;
&lt;br /&gt;
'''Le code est divisé en quatre grande parties:'''&lt;br /&gt;
* Le &amp;quot;common&amp;quot;, le code sert de base fonctionnelle aux trois autres.&lt;br /&gt;
* La partie &amp;quot;door&amp;quot;, comprenant le code spécifique pour la porte.&lt;br /&gt;
* La partie &amp;quot;nfc&amp;quot;, pour le nfc.&lt;br /&gt;
* La partie &amp;quot;register&amp;quot; pour l'enregistrement de présence.&lt;br /&gt;
&lt;br /&gt;
'''Afin d'accélérer le développement, le code est basé sur plusieurs tierces parties:'''&lt;br /&gt;
* PHPMailer pour l'envoi des email.&lt;br /&gt;
* Bootstrap pour le CSS/HTML.&lt;br /&gt;
* PHP-Login pour la base php/js/mysql ( [[https://github.com/fethica/PHP-Login/tree/master/login|https://github.com/fethica/PHP-Login/tree/master/login]] ).&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Hardware&lt;br /&gt;
|Step_Content=* Un raspberry pi équipé (alimentation, carte SD, boitier).&lt;br /&gt;
* Un lecteur NFC compatible (type: [[https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader|https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader]]&lt;br /&gt;
* Tablette tactile (optionnel)&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Installation et configuration&lt;br /&gt;
|Step_Content=* Préparer une installation propre de Raspbian sur un Raspberry&lt;br /&gt;
* Installer les suites de logiciels suivants avec les configurations associés&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Stack web: apache2, php, mysql&lt;br /&gt;
|Step_Content='''Installation des paquets debian pour squeeze/Debian 8'''&lt;br /&gt;
  apt-get install apache2 mysql-server php5 libapache2-mod-php5 php-curl php5-ldap  php5-mysql&lt;br /&gt;
&lt;br /&gt;
'''Installation des paquets debian pour stretch/Debian 9.1'''&lt;br /&gt;
  apt install mariadb-server apache2 php libapache2-mod-php php-ldap php-mysql&lt;br /&gt;
&lt;br /&gt;
'''Configuration sécurité apache:'''&lt;br /&gt;
vi /etc/apache2/conf-enabled/security.conf&lt;br /&gt;
  ServerTokens Prod&lt;br /&gt;
  ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
'''VHOST apache:'''&lt;br /&gt;
vi /etc/apache2/sites-available/sunlab.conf&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName porte.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/door&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/door&amp;gt;&lt;br /&gt;
          Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/porte_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/porte_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName presence.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/register&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/register&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/presence_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/presence_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName nfc.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/nfc&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/nfc&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/nfc_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/nfc_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuration MYSQL:'''&lt;br /&gt;
Se connecter à mysql, créer une base avec un utilisateur associé:&lt;br /&gt;
  CREATE DATABASE sunlab;&lt;br /&gt;
  CREATE USER 'sunlab'@'localhost' IDENTIFIED BY   'definir_ici_un_mot_de_passe';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON sunlab.* TO 'sunlab'@'localhost';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
&lt;br /&gt;
Le schéma de la base est disponible dans '''SUNLAB/DOC/DATABASE.sql'''&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Restaurer la base à partir de fichiers physiques&lt;br /&gt;
|Step_Content=* https://stackoverflow.com/questions/484750/restoring-mysql-database-from-physical-files&lt;br /&gt;
* https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/&lt;br /&gt;
&lt;br /&gt;
  service mariadb stop&lt;br /&gt;
  cd /var/lib/mysql&lt;br /&gt;
  for i in ib* ; do mv $i ${i}.prev ; done&lt;br /&gt;
&lt;br /&gt;
  mv sunlab sunlab_prev&lt;br /&gt;
  tar zxvf /home/pi/download /var_lib_mysql_sunlab20180207.tar.gz&lt;br /&gt;
&lt;br /&gt;
  chown -R mysql: ib* sunlab&lt;br /&gt;
&lt;br /&gt;
  service mariadb start&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Déploiement: git&lt;br /&gt;
|Step_Content=''' Installation des paquets debian'''&lt;br /&gt;
  apt-get install git&lt;br /&gt;
&lt;br /&gt;
''' Cloner le projet dans votre home utilisateur'''&lt;br /&gt;
  git clone https://github.com/ThomasGsp/sunlab.git&lt;br /&gt;
&lt;br /&gt;
''' Copier le projet dans votre répertoire web'''&lt;br /&gt;
  cp -R sunlab /var/www/&lt;br /&gt;
  chown -R www-data: /var/www/sunlab&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=NFC&lt;br /&gt;
|Step_Content=Pour utiliser le module nfc usb, il est nécessaire d'installer la librairie libnfc. &lt;br /&gt;
&lt;br /&gt;
'''Installation des paquets debian'''&lt;br /&gt;
  apt-get install dh-autoreconf  doxygen  libusb-dev libpcsclite-dev make pcscd&lt;br /&gt;
&lt;br /&gt;
  apt install libnfc5 libnfc-bin # en stretch / Debian 9.3&lt;br /&gt;
&lt;br /&gt;
''' Installation de la libnfc (utiliser la version 1.5 pour des raisons de compatibilités !)'''&lt;br /&gt;
  git clone https://github.com/nfc-tools/libnfc.git&lt;br /&gt;
  cd libnfc/&lt;br /&gt;
  git checkout libnfc-1.7.1&lt;br /&gt;
  autoreconf -vis&lt;br /&gt;
  ./configure --enable-doc&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
''' Blacklist du module originel'''&lt;br /&gt;
  vi /etc/modprobe.d/blacklist-libnfc.conf&lt;br /&gt;
  blacklist pn533&lt;br /&gt;
  blacklist nfc&lt;br /&gt;
&lt;br /&gt;
''' Désactivation à chaud '''&lt;br /&gt;
  modprobe -r pn533 nfc&lt;br /&gt;
&lt;br /&gt;
''' restart du process'''&lt;br /&gt;
  service pcscd restart&lt;br /&gt;
&lt;br /&gt;
  lsusb # doit afficher une ligne similaire à :&lt;br /&gt;
  Bus 001 Device 005: ID 072f:2200   Advanced Card Systems, Ltd ACR122U&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nfc-list # en plaçant une carte reconnue par le nfc (navigo, carte bleue...) doit afficher quelque chose comme :&lt;br /&gt;
  nfc-list uses libnfc 1.7.1&lt;br /&gt;
  NFC device: ACS / ACR122U PICC Interface opened&lt;br /&gt;
  1 ISO14443B-2 ST SRx passive target(s) found:&lt;br /&gt;
  ISO/IEC 14443-2B ST SRx (106 kbps) target:&lt;br /&gt;
                UID: 86  25  06  18  86  19  02  d0&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Gestion IO: wiringPi&lt;br /&gt;
|Step_Content='''Ce module permet de gérer les entrés/sorties GPIO du raspberry (en C) '''&lt;br /&gt;
  git clone git://git.drogon.net/wiringPi&lt;br /&gt;
  cd wiringPi&lt;br /&gt;
  ./build&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Code source spécifique&lt;br /&gt;
|Step_Content=L'utilisation des commandes NFC et PIN GPIO du Raspberry-pi nécessitent des droits utilisateur élevés (root).&lt;br /&gt;
Pour des raisons de sécurité, apache n'a pas des droits suffisamment élevés pour réaliser les opérations. Il existe plusieurs possibilités pour contourner le problème: Mettre en place un SUDO sur certaines commandes ou réaliser un Wrapper en C avec des droits associés corrects.&lt;br /&gt;
&lt;br /&gt;
C'est cette seconde possibilité qui est mise en place.&lt;br /&gt;
&lt;br /&gt;
Trois programmes sont concernés:&lt;br /&gt;
    &amp;lt;web dir&amp;gt;/SUNLAB/nfc/bin/getid.c&lt;br /&gt;
    &amp;lt;web dir&amp;gt;/SUNLAB/door/bin/waitforce.c&lt;br /&gt;
    &amp;lt;web dir&amp;gt;/SUNLAB/door/bin/opendoor.c&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Configuration opendoor.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o opendoor opendoor.c -lwiringPi&lt;br /&gt;
&lt;br /&gt;
''' L'attribuer avec le bon user:'''&lt;br /&gt;
  chown root: opendoor&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique:'''&lt;br /&gt;
  chmod ug+s opendoor&lt;br /&gt;
&lt;br /&gt;
'''Configuration waitforce.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o waitforce waitforce.c -lwiringPi&lt;br /&gt;
&lt;br /&gt;
''' L'attribuer avec le bon user:'''&lt;br /&gt;
  chown root: waitforce&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique:'''&lt;br /&gt;
  chmod ug+s waitforce&lt;br /&gt;
&lt;br /&gt;
'''Configuration getid.c:'''&lt;br /&gt;
&amp;lt;code a mettre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compiler le code source:'''&lt;br /&gt;
  gcc -Wall -o getid getid.c&lt;br /&gt;
&lt;br /&gt;
'''L'attribuer avec le bon user: '''&lt;br /&gt;
  chown root: getid&lt;br /&gt;
&lt;br /&gt;
''' Lui donner les droits spécifique: '''&lt;br /&gt;
  chmod ug+s getid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Les programmes sont maintenant habilités à s'exécuter en root avec un utilisateur classique.&lt;br /&gt;
&lt;br /&gt;
Le programme waitforce.c permettant l'ouverture forcé de la porte par le bouton est lancé automatiquement au démarrage du raspberry via une ligne ajouté au fichier “/etc/rc.local”.&lt;br /&gt;
}}&lt;br /&gt;
{{Notes}}&lt;br /&gt;
{{Tuto Status}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=614</id>
		<title>SUNLAB - Enregistrement, Authentification &amp; Accès électronique</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=614"/>
				<updated>2018-04-11T14:23:05Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Area=Électronique&lt;br /&gt;
|Description=Mise en place d'ouverture de porte par accès portail web.&lt;br /&gt;
|Difficulty=Difficile&lt;br /&gt;
|Cost=100&lt;br /&gt;
|Currency=EUR (€)&lt;br /&gt;
|Duration=10&lt;br /&gt;
|Duration-type=heure(s)&lt;br /&gt;
|Licences=GNU Free Hardware Designs&lt;br /&gt;
|Main_Picture=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_sunlab_door.png&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Dans ce tutoriel nous allons voir deux sujets :&lt;br /&gt;
- Service d'authentification de la porte du Sunlab.&lt;br /&gt;
- Service d'enregistrement de présence au Sunlab.&lt;br /&gt;
&lt;br /&gt;
Afin de suivre correctement ce tutoriel, il est nécessaire d'avoir des connaissances au moins basiques dans les domaines suivants: Linux, Programmation &amp;amp; électronique. Je ne vais pas rentrer dans les détails de certaines parties.&lt;br /&gt;
&lt;br /&gt;
La majorité des opérations doivent être réalisés sur votre Raspberry-pi. Notamment la partie compilation des codes et programmes C qui ne fonctionneront pas s'ils sont compilés sous une architecture x68/x64 et déplacés sur ARM… Une partie des codes sources sont déjà disponibles compilés pour ARM dans le dépôt git.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Material=* Electro-aimants (de porte)&lt;br /&gt;
* Boitier plastique&lt;br /&gt;
* Connecteurs&lt;br /&gt;
* Fils electrique&lt;br /&gt;
* Raspberry (équipé)&lt;br /&gt;
* Relais  2A (5/12v commande)&lt;br /&gt;
|Tools=''' Liste des technologies '''&lt;br /&gt;
* Dév web: PHP / CSS / HTML / Javascript&lt;br /&gt;
* Dév système: C&lt;br /&gt;
* Hardware: Raspberry py, NFC reader&lt;br /&gt;
* Base de données: MYSQL / LDAP&lt;br /&gt;
* Système : Linux (debian), Apache2&lt;br /&gt;
* Gestion du code: Git&lt;br /&gt;
}}&lt;br /&gt;
{{Separator}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Fonctionnement et architecture du code&lt;br /&gt;
|Step_Content=L'intégralité du code est géré sous GIT, vous pouvez contribuer directement en effectuant des demandes de merge.&lt;br /&gt;
&lt;br /&gt;
Lien du git: [[https://github.com/ThomasGsp/sunlab|https://github.com/ThomasGsp/sunlab]]&lt;br /&gt;
&lt;br /&gt;
'''Le code est divisé en quatre grande parties:'''&lt;br /&gt;
* Le &amp;quot;common&amp;quot;, le code sert de base fonctionnelle aux trois autres.&lt;br /&gt;
* La partie &amp;quot;door&amp;quot;, comprenant le code spécifique pour la porte.&lt;br /&gt;
* La partie &amp;quot;nfc&amp;quot;, pour le nfc.&lt;br /&gt;
* La partie &amp;quot;register&amp;quot; pour l'enregistrement de présence.&lt;br /&gt;
&lt;br /&gt;
'''Afin d'accélérer le développement, le code est basé sur plusieurs tierces parties:'''&lt;br /&gt;
* PHPMailer pour l'envoi des email.&lt;br /&gt;
* Bootstrap pour le CSS/HTML.&lt;br /&gt;
* PHP-Login pour la base php/js/mysql ( [[https://github.com/fethica/PHP-Login/tree/master/login|https://github.com/fethica/PHP-Login/tree/master/login]] ).&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Hardware&lt;br /&gt;
|Step_Content=* Un raspberry pi équipé (alimentation, carte SD, boitier).&lt;br /&gt;
* Un lecteur NFC compatible (type: [[https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader|https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader]]&lt;br /&gt;
* Tablette tactile (optionnel)&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Installation et configuration&lt;br /&gt;
|Step_Content=* Préparer une installation propre de Raspbian sur un Raspberry&lt;br /&gt;
* Installer les suites de logiciels suivants avec les configurations associés&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Stack web: apache2, php, mysql&lt;br /&gt;
|Step_Content='''Installation des paquets debian pour squeeze/Debian 8'''&lt;br /&gt;
  apt-get install apache2 mysql-server php5 libapache2-mod-php5 php-curl php5-ldap  php5-mysql&lt;br /&gt;
&lt;br /&gt;
'''Installation des paquets debian pour stretch/Debian 9.1'''&lt;br /&gt;
  apt install mariadb-server apache2 php libapache2-mod-php php-ldap php-mysql&lt;br /&gt;
&lt;br /&gt;
'''Configuration sécurité apache:'''&lt;br /&gt;
vi /etc/apache2/conf-enabled/security.conf&lt;br /&gt;
  ServerTokens Prod&lt;br /&gt;
  ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
'''VHOST apache:'''&lt;br /&gt;
vi /etc/apache2/sites-available/sunlab.conf&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName porte.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/door&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/door&amp;gt;&lt;br /&gt;
          Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/porte_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/porte_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName presence.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/register&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/register&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/presence_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/presence_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName nfc.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/nfc&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/nfc&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/nfc_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/nfc_access.log combined&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuration MYSQL:'''&lt;br /&gt;
Se connecter à mysql, créer une base avec un utilisateur associé:&lt;br /&gt;
  CREATE DATABASE sunlab;&lt;br /&gt;
  CREATE USER 'sunlab'@'localhost' IDENTIFIED BY   'definir_ici_un_mot_de_passe';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON sunlab.* TO 'sunlab'@'localhost';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
&lt;br /&gt;
Le schéma de la base est disponible dans SUNLAB/DOC/DATABASE.sql&lt;br /&gt;
&lt;br /&gt;
'''Restaurer la base à partir de fichiers physiques :'''&lt;br /&gt;
* https://stackoverflow.com/questions/484750/restoring-mysql-database-from-physical-files&lt;br /&gt;
* https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/&lt;br /&gt;
}}&lt;br /&gt;
{{Notes}}&lt;br /&gt;
{{Tuto Status}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=613</id>
		<title>SUNLAB - Enregistrement, Authentification &amp; Accès électronique</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=613"/>
				<updated>2018-04-11T14:18:31Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Area=Électronique&lt;br /&gt;
|Description=Mise en place d'ouverture de porte par accès portail web.&lt;br /&gt;
|Difficulty=Difficile&lt;br /&gt;
|Cost=100&lt;br /&gt;
|Currency=EUR (€)&lt;br /&gt;
|Duration=10&lt;br /&gt;
|Duration-type=heure(s)&lt;br /&gt;
|Licences=GNU Free Hardware Designs&lt;br /&gt;
|Main_Picture=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_sunlab_door.png&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Dans ce tutoriel nous allons voir deux sujets :&lt;br /&gt;
- Service d'authentification de la porte du Sunlab.&lt;br /&gt;
- Service d'enregistrement de présence au Sunlab.&lt;br /&gt;
&lt;br /&gt;
Afin de suivre correctement ce tutoriel, il est nécessaire d'avoir des connaissances au moins basiques dans les domaines suivants: Linux, Programmation &amp;amp; électronique. Je ne vais pas rentrer dans les détails de certaines parties.&lt;br /&gt;
&lt;br /&gt;
La majorité des opérations doivent être réalisés sur votre Raspberry-pi. Notamment la partie compilation des codes et programmes C qui ne fonctionneront pas s'ils sont compilés sous une architecture x68/x64 et déplacés sur ARM… Une partie des codes sources sont déjà disponibles compilés pour ARM dans le dépôt git.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Material=* Electro-aimants (de porte)&lt;br /&gt;
* Boitier plastique&lt;br /&gt;
* Connecteurs&lt;br /&gt;
* Fils electrique&lt;br /&gt;
* Raspberry (équipé)&lt;br /&gt;
* Relais  2A (5/12v commande)&lt;br /&gt;
|Tools=''' Liste des technologies '''&lt;br /&gt;
* Dév web: PHP / CSS / HTML / Javascript&lt;br /&gt;
* Dév système: C&lt;br /&gt;
* Hardware: Raspberry py, NFC reader&lt;br /&gt;
* Base de données: MYSQL / LDAP&lt;br /&gt;
* Système : Linux (debian), Apache2&lt;br /&gt;
* Gestion du code: Git&lt;br /&gt;
}}&lt;br /&gt;
{{Separator}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Fonctionnement et architecture du code&lt;br /&gt;
|Step_Content=L'intégralité du code est géré sous GIT, vous pouvez contribuer directement en effectuant des demandes de merge.&lt;br /&gt;
&lt;br /&gt;
Lien du git: [[https://github.com/ThomasGsp/sunlab|https://github.com/ThomasGsp/sunlab]]&lt;br /&gt;
&lt;br /&gt;
__Le code est divisé en quatre grande parties:__&lt;br /&gt;
&lt;br /&gt;
  * Le &amp;quot;common&amp;quot;, le code sert de base fonctionnelle aux trois autres.&lt;br /&gt;
  * La partie &amp;quot;door&amp;quot;, comprenant le code spécifique pour la porte.&lt;br /&gt;
  * La partie &amp;quot;nfc&amp;quot;, pour le nfc.&lt;br /&gt;
  * La partie &amp;quot;register&amp;quot; pour l'enregistrement de présence.&lt;br /&gt;
&lt;br /&gt;
__Afin d'accélérer le développement, le code est basé sur plusieurs tierces parties:__&lt;br /&gt;
&lt;br /&gt;
  * PHPMailer pour l'envoi des email.&lt;br /&gt;
  * Bootstrap pour le CSS/HTML.&lt;br /&gt;
  * PHP-Login pour la base php/js/mysql ( [[https://github.com/fethica/PHP-Login/tree/master/login|https://github.com/fethica/PHP-Login/tree/master/login]] ).&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Hardware&lt;br /&gt;
|Step_Content=* Un raspberry pi équipé (alimentation, carte SD, boitier).&lt;br /&gt;
* Un lecteur NFC compatible (type: [[https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader|https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader]]&lt;br /&gt;
* Tablette tactile (optionnel)&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Installation et configuration&lt;br /&gt;
|Step_Content=* Préparer une installation propre de Raspbian sur un Raspberry&lt;br /&gt;
* Installer les suites de logiciels suivants avec les configurations associés&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Stack web: apache2, php, mysql&lt;br /&gt;
|Step_Content=&amp;lt;code&amp;gt;&lt;br /&gt;
#  Installation des paquets debian pour squeeze/Debian 8&lt;br /&gt;
apt-get install apache2 mysql-server php5 libapache2-mod-php5 php-curl php5-ldap  php5-mysql&lt;br /&gt;
&lt;br /&gt;
#  Installation des paquets debian pour stretch/Debian 9.1&lt;br /&gt;
apt install mariadb-server apache2 php libapache2-mod-php php-ldap php-mysql&lt;br /&gt;
&lt;br /&gt;
# Configuration sécurité apache:&lt;br /&gt;
vi /etc/apache2/conf-enabled/security.conf&lt;br /&gt;
ServerTokens Prod&lt;br /&gt;
ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
#  VHOST apache:&lt;br /&gt;
vi /etc/apache2/sites-available/sunlab.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName porte.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/door&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/door&amp;gt;&lt;br /&gt;
          Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/porte_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/porte_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName presence.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/register&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/register&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/presence_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/presence_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName nfc.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/nfc&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/nfc&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/nfc_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/nfc_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#  Configuration MYSQL:&lt;br /&gt;
# Se connecter à mysql, créer une base avec un utilisateur associé:&lt;br /&gt;
CREATE DATABASE sunlab;&lt;br /&gt;
CREATE USER 'sunlab'@'localhost' IDENTIFIED BY 'definir_ici_un_mot_de_passe';&lt;br /&gt;
GRANT ALL PRIVILEGES ON sunlab.* TO 'sunlab'@'localhost';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&lt;br /&gt;
# Le schéma de la base est disponible dans SUNLAB/DOC/DATABASE.sql&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Restaurer la base à partir de fichiers physiques :'''&lt;br /&gt;
* https://stackoverflow.com/questions/484750/restoring-mysql-database-from-physical-files&lt;br /&gt;
* https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/&lt;br /&gt;
}}&lt;br /&gt;
{{Notes}}&lt;br /&gt;
{{Tuto Status}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=612</id>
		<title>SUNLAB - Enregistrement, Authentification &amp; Accès électronique</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=612"/>
				<updated>2018-04-11T14:13:48Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Area=Électronique&lt;br /&gt;
|Description=Mise en place d'ouverture de porte par accès portail web.&lt;br /&gt;
|Difficulty=Difficile&lt;br /&gt;
|Cost=100&lt;br /&gt;
|Currency=EUR (€)&lt;br /&gt;
|Duration=10&lt;br /&gt;
|Duration-type=heure(s)&lt;br /&gt;
|Licences=GNU Free Hardware Designs&lt;br /&gt;
|Main_Picture=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_sunlab_door.png&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Dans ce tutoriel nous allons voir deux sujets :&lt;br /&gt;
- Service d'authentification de la porte du Sunlab.&lt;br /&gt;
- Service d'enregistrement de présence au Sunlab.&lt;br /&gt;
&lt;br /&gt;
Afin de suivre correctement ce tutoriel, il est nécessaire d'avoir des connaissances au moins basiques dans les domaines suivants: Linux, Programmation &amp;amp; électronique. Je ne vais pas rentrer dans les détails de certaines parties.&lt;br /&gt;
&lt;br /&gt;
La majorité des opérations doivent être réalisés sur votre Raspberry-pi. Notamment la partie compilation des codes et programmes C qui ne fonctionneront pas s'ils sont compilés sous une architecture x68/x64 et déplacés sur ARM… Une partie des codes sources sont déjà disponibles compilés pour ARM dans le dépôt git.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Tools===== Liste des technologies ====&lt;br /&gt;
&lt;br /&gt;
  * Dév web: PHP / CSS / HTML / Javascript&lt;br /&gt;
  * Dév système: C&lt;br /&gt;
  * Hardware: Raspberry py, NFC reader&lt;br /&gt;
  * Base de données: MYSQL / LDAP&lt;br /&gt;
  * Système : Linux (debian), Apache2&lt;br /&gt;
  * Gestion du code: Git&lt;br /&gt;
}}&lt;br /&gt;
{{Separator}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Fonctionnement et architecture du code&lt;br /&gt;
|Step_Content=L'intégralité du code est géré sous GIT, vous pouvez contribuer directement en effectuant des demandes de merge.&lt;br /&gt;
&lt;br /&gt;
Lien du git: [[https://github.com/ThomasGsp/sunlab|https://github.com/ThomasGsp/sunlab]]&lt;br /&gt;
&lt;br /&gt;
__Le code est divisé en quatre grande parties:__&lt;br /&gt;
&lt;br /&gt;
  * Le &amp;quot;common&amp;quot;, le code sert de base fonctionnelle aux trois autres.&lt;br /&gt;
  * La partie &amp;quot;door&amp;quot;, comprenant le code spécifique pour la porte.&lt;br /&gt;
  * La partie &amp;quot;nfc&amp;quot;, pour le nfc.&lt;br /&gt;
  * La partie &amp;quot;register&amp;quot; pour l'enregistrement de présence.&lt;br /&gt;
&lt;br /&gt;
__Afin d'accélérer le développement, le code est basé sur plusieurs tierces parties:__&lt;br /&gt;
&lt;br /&gt;
  * PHPMailer pour l'envoi des email.&lt;br /&gt;
  * Bootstrap pour le CSS/HTML.&lt;br /&gt;
  * PHP-Login pour la base php/js/mysql ( [[https://github.com/fethica/PHP-Login/tree/master/login|https://github.com/fethica/PHP-Login/tree/master/login]] ).&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Hardware&lt;br /&gt;
|Step_Content=* Un raspberry pi équipé (alimentation, carte SD, boitier).&lt;br /&gt;
  * Un lecteur NFC compatible (type: [[https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader|https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader]]&lt;br /&gt;
  * Tablette tactile (optionnel)&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Installation et configuration&lt;br /&gt;
|Step_Content=* Préparer une installation propre de Raspbian sur un raspberry&lt;br /&gt;
  * Installer les suites de logiciels suivants avec les configurations associés&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Stack web: apache2, php, mysql&lt;br /&gt;
|Step_Content=&amp;lt;code&amp;gt;&lt;br /&gt;
#  Installation des paquets debian pour squeeze/Debian 8&lt;br /&gt;
apt-get install apache2 mysql-server php5 libapache2-mod-php5 php-curl php5-ldap  php5-mysql&lt;br /&gt;
&lt;br /&gt;
#  Installation des paquets debian pour stretch/Debian 9.1&lt;br /&gt;
apt install mariadb-server apache2 php libapache2-mod-php php-ldap php-mysql&lt;br /&gt;
&lt;br /&gt;
# Configuration sécurité apache:&lt;br /&gt;
vi /etc/apache2/conf-enabled/security.conf&lt;br /&gt;
ServerTokens Prod&lt;br /&gt;
ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
#  VHOST apache:&lt;br /&gt;
vi /etc/apache2/sites-available/sunlab.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName porte.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/door&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/door&amp;gt;&lt;br /&gt;
          Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/porte_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/porte_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName presence.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/register&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/register&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/presence_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/presence_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName nfc.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/nfc&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/nfc&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/nfc_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/nfc_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#  Configuration MYSQL:&lt;br /&gt;
# Se connecter à mysql, créer une base avec un utilisateur associé:&lt;br /&gt;
CREATE DATABASE sunlab;&lt;br /&gt;
CREATE USER 'sunlab'@'localhost' IDENTIFIED BY 'definir_ici_un_mot_de_passe';&lt;br /&gt;
GRANT ALL PRIVILEGES ON sunlab.* TO 'sunlab'@'localhost';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&lt;br /&gt;
# Le schéma de la base est disponible dans SUNLAB/DOC/DATABASE.sql&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restaurer la base à partir de fichiers physiques :&lt;br /&gt;
&lt;br /&gt;
  * https://stackoverflow.com/questions/484750/restoring-mysql-database-from-physical-files&lt;br /&gt;
  * https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/&lt;br /&gt;
}}&lt;br /&gt;
{{Notes}}&lt;br /&gt;
{{Tuto Status}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=611</id>
		<title>SUNLAB - Enregistrement, Authentification &amp; Accès électronique</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=SUNLAB_-_Enregistrement,_Authentification_%26_Acc%C3%A8s_%C3%A9lectronique&amp;diff=611"/>
				<updated>2018-04-11T14:10:17Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Area=Électronique&lt;br /&gt;
|Description=Mise en place d'ouverture de porte par accès portail web.&lt;br /&gt;
|Difficulty=Difficile&lt;br /&gt;
|Cost=100&lt;br /&gt;
|Currency=EUR (€)&lt;br /&gt;
|Duration=10&lt;br /&gt;
|Duration-type=heure(s)&lt;br /&gt;
|Licences=GNU Free Hardware Designs&lt;br /&gt;
|Main_Picture=SUNLAB_-_Enregistrement__Authentification___Acc_s__lectronique_sunlab_door.png&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Tools===== Liste des technologies ====&lt;br /&gt;
&lt;br /&gt;
  * Dév web: PHP / CSS / HTML / Javascript&lt;br /&gt;
  * Dév système: C&lt;br /&gt;
  * Hardware: Raspberry py, NFC reader&lt;br /&gt;
  * Base de données: MYSQL / LDAP&lt;br /&gt;
  * Système : Linux (debian), Apache2&lt;br /&gt;
  * Gestion du code: Git&lt;br /&gt;
}}&lt;br /&gt;
{{Separator}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Fonctionnement et architecture du code&lt;br /&gt;
|Step_Content=L'intégralité du code est géré sous GIT, vous pouvez contribuer directement en effectuant des demandes de merge.&lt;br /&gt;
&lt;br /&gt;
Lien du git: [[https://github.com/ThomasGsp/sunlab|https://github.com/ThomasGsp/sunlab]]&lt;br /&gt;
&lt;br /&gt;
__Le code est divisé en quatre grande parties:__&lt;br /&gt;
&lt;br /&gt;
  * Le &amp;quot;common&amp;quot;, le code sert de base fonctionnelle aux trois autres.&lt;br /&gt;
  * La partie &amp;quot;door&amp;quot;, comprenant le code spécifique pour la porte.&lt;br /&gt;
  * La partie &amp;quot;nfc&amp;quot;, pour le nfc.&lt;br /&gt;
  * La partie &amp;quot;register&amp;quot; pour l'enregistrement de présence.&lt;br /&gt;
&lt;br /&gt;
__Afin d'accélérer le développement, le code est basé sur plusieurs tierces parties:__&lt;br /&gt;
&lt;br /&gt;
  * PHPMailer pour l'envoi des email.&lt;br /&gt;
  * Bootstrap pour le CSS/HTML.&lt;br /&gt;
  * PHP-Login pour la base php/js/mysql ( [[https://github.com/fethica/PHP-Login/tree/master/login|https://github.com/fethica/PHP-Login/tree/master/login]] ).&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Hardware&lt;br /&gt;
|Step_Content=* Un raspberry pi équipé (alimentation, carte SD, boitier).&lt;br /&gt;
  * Un lecteur NFC compatible (type: [[https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader|https://www.amazon.fr/Lecteur-Proximit%C3%A9-125KHz-Contr%C3%B4le-S%C3%A9curit%C3%A9/dp/B00HSDOTTU/ref=sr_1_5?ie=UTF8&amp;amp;qid=1480970036&amp;amp;sr=8-5&amp;amp;keywords=nfc+reader]]&lt;br /&gt;
  * Tablette tactile (optionnel)&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Installation et configuration&lt;br /&gt;
|Step_Content=* Préparer une installation propre de Raspbian sur un raspberry&lt;br /&gt;
  * Installer les suites de logiciels suivants avec les configurations associés&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Stack web: apache2, php, mysql&lt;br /&gt;
|Step_Content=&amp;lt;code&amp;gt;&lt;br /&gt;
#  Installation des paquets debian pour squeeze/Debian 8&lt;br /&gt;
apt-get install apache2 mysql-server php5 libapache2-mod-php5 php-curl php5-ldap  php5-mysql&lt;br /&gt;
&lt;br /&gt;
#  Installation des paquets debian pour stretch/Debian 9.1&lt;br /&gt;
apt install mariadb-server apache2 php libapache2-mod-php php-ldap php-mysql&lt;br /&gt;
&lt;br /&gt;
# Configuration sécurité apache:&lt;br /&gt;
vi /etc/apache2/conf-enabled/security.conf&lt;br /&gt;
ServerTokens Prod&lt;br /&gt;
ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
#  VHOST apache:&lt;br /&gt;
vi /etc/apache2/sites-available/sunlab.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName porte.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/door&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/door&amp;gt;&lt;br /&gt;
          Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/porte_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/porte_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName presence.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/register&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/register&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/presence_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/presence_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName nfc.sunlab.org&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /var/www/sunlab/nfc&lt;br /&gt;
        &amp;lt;Directory /var/www/sunlab/nfc&amp;gt;&lt;br /&gt;
                Options -Indexes&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/nfc_error.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/nfc_access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#  Configuration MYSQL:&lt;br /&gt;
# Se connecter à mysql, créer une base avec un utilisateur associé:&lt;br /&gt;
CREATE DATABASE sunlab;&lt;br /&gt;
CREATE USER 'sunlab'@'localhost' IDENTIFIED BY 'definir_ici_un_mot_de_passe';&lt;br /&gt;
GRANT ALL PRIVILEGES ON sunlab.* TO 'sunlab'@'localhost';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&lt;br /&gt;
# Le schéma de la base est disponible dans SUNLAB/DOC/DATABASE.sql&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restaurer la base à partir de fichiers physiques :&lt;br /&gt;
&lt;br /&gt;
  * https://stackoverflow.com/questions/484750/restoring-mysql-database-from-physical-files&lt;br /&gt;
  * https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/&lt;br /&gt;
}}&lt;br /&gt;
{{Notes}}&lt;br /&gt;
{{Tuto Status}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Fichier:SUNLAB_-_Enregistrement_Authentification_Acc_s_lectronique_sunlab_door.png&amp;diff=610</id>
		<title>Fichier:SUNLAB - Enregistrement Authentification Acc s lectronique sunlab door.png</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Fichier:SUNLAB_-_Enregistrement_Authentification_Acc_s_lectronique_sunlab_door.png&amp;diff=610"/>
				<updated>2018-04-11T14:09:27Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Fichier téléversé avec MsUpload on SUNLAB_-_Enregistrement,_Authentification_&amp;amp;_Accès_électronique&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fichier téléversé avec MsUpload on [[SUNLAB_-_Enregistrement,_Authentification_&amp;amp;_Accès_électronique]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Canard&amp;diff=90</id>
		<title>Canard</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Canard&amp;diff=90"/>
				<updated>2017-11-27T09:52:45Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Page créée avec « == Points importants à corriger avant mise en place ==  Plus rien pour le moment ! \o/  == Points à regarder / approfondir == * migration de pages dokuwiki vers mediawik... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Points importants à corriger avant mise en place ==&lt;br /&gt;
&lt;br /&gt;
Plus rien pour le moment ! \o/&lt;br /&gt;
&lt;br /&gt;
== Points à regarder / approfondir ==&lt;br /&gt;
* migration de pages dokuwiki vers mediawiki pour tests de récupération dans wikifab&lt;br /&gt;
** trouver des scripts de migration https://duckduckgo.com/?q=migration+dokuwiki+mediawiki&amp;amp;ia=web&lt;br /&gt;
** en sélectionner un permettant la migration page par page ou par lot de pages (ça s'automatise...)&lt;br /&gt;
** niveau de modifications manuelles nécessaire ? (peut nécessiter l'uniformisation du format des pages dans le dokuwiki)&lt;br /&gt;
** vérifier que l'historique de modifications est conservé pour attribution des pages à chaque membre du hatlab&lt;br /&gt;
* rendre jolies les pages du wiki et du wikifab, les adapter à la charte graphique du hatlab / sqylab / sunlab&lt;br /&gt;
** voir capacité à modifier les CSS par section (ou catégorie ?)&lt;br /&gt;
* voir quelles pages rendre publiques (indexées par moteurs de recherche) et quelles pages conservées  disponibles uniquement si utilisateur identifié (+ groupes ?)&lt;br /&gt;
* voir l'utilisation possible de page personnelle des membres : photo, compétences, centres d'intérêt, prise de notes, liste de projets / pages en cours&lt;br /&gt;
* cacher les emails pour éviter de se faire spammer ensuite... (sur groupes, utilisateurs...)&lt;br /&gt;
* prendre en compte les images de type SVG&lt;br /&gt;
&lt;br /&gt;
== Les points réglés ==&lt;br /&gt;
&lt;br /&gt;
* Le nom (voire prénom) de l'auteur apparait en clair vu que la connexion se fait par le LDAP. Le LDAP, c'est pratique, mais les comptes sont nominatifs, et ça peut gêner les utilisaeurs (moi le premier ;o) ) [Question à régler côté LDAP a priori]&lt;br /&gt;
** cf. LDAP&lt;br /&gt;
* On peut attribuer un tuto à un &amp;quot;groupe&amp;quot;, mais je ne vois nulle part où les créer, c'est un peu dommage [TROUVE]&lt;br /&gt;
** Il faut aller à l'url : https://wikifab.hatlab.fr/Formulaire:Group&lt;br /&gt;
** On peut aussi lister les groupes ici : http://wikifab.hatlab.fr/wiki/Groups&lt;br /&gt;
*** Il semble que cette page n'existe pas de base. C'est bien dommage. En tout cas, on peut trouver un groupe comme ça : http://wikifab.hatlab.fr/Group:[nom du groupe]&lt;br /&gt;
*** La page qui affiche tous les groupes : https://wikifab.hatlab.fr/Sp%C3%A9cial:ExploreGroups   dur dur :D&lt;br /&gt;
*** =&amp;gt; J'ai donc créé une page http://wikifab.hatlab.fr/Groups qui redirige automatiquement vers la page spéciale.... \o/&lt;br /&gt;
* Je ne vois nulle part non plus où modifier / mettre à jour les catégories, on ne sait jamais... [TROUVE]&lt;br /&gt;
** Il faut aller sur la page https://wikifab.hatlab.fr/Attribut:Area et la modifier pour ajouter/modifier/supprimer des catégories :o)&lt;br /&gt;
** ATTENTION: Avant de supprimer et/ou renommer une catégorie, il faut vérifier qu'aucun tutoriel n'y est attaché !!!&lt;br /&gt;
** TESTS :&lt;br /&gt;
*** Si j'attribue une catégorie à un tutoriel, puis que je modifie celle-ci, le tutoriel conserve son lien à l'ancienne catégorie&lt;br /&gt;
*** Si je renomme la catégorie, le tutoriel a toujours sa case cochée&lt;br /&gt;
*** Si je recréer une nouvelle catégorie avec l'ancien nom, le tuto ne voit pas sa case cochée, il doit donc y avoir une notion d'identifiant par catégorie malgré tout&lt;br /&gt;
*** C'est un peu le bazar, donc à toucher avec parcimonie !!!&lt;br /&gt;
*** ESSAI : Création d'une catégorie =&amp;gt; il semble que la catégorie n'est pas prise en compte automatiquement sur la page d'accueil pour les filtres&lt;br /&gt;
* Il n'est pas forcément simple de créer une page &amp;quot;lambda&amp;quot;, comme celle-ci par exemple. Mais c'est assez optionnel&lt;br /&gt;
* La page https://wikifab.hatlab.fr/Contribuer ne se met pas à jour toute seule, c'est un point à travailler à mon sens, mais pas hyper important / complexe&lt;br /&gt;
** à éditer à la mano pour le moment&lt;br /&gt;
* La page Explorer, justement : https://wikifab.hatlab.fr/Explorer&lt;br /&gt;
** Cette page semble statique, et doit être mise à jour car les catégories ne pointent pas correctement...&lt;br /&gt;
* La page d'accueil ne présente pas tous les projets par défaut [Question posée côté Wikifab]&lt;br /&gt;
** A priori, seuls les projets terminés apparaissent !&lt;br /&gt;
* Je cherche dans la documentation si on peut créer un projet &amp;quot;pour quelqu'un&amp;quot; et lui attribuer ensuite. J'ai réussi à éditer la vraie source d'une page de Tuto, mais l'information n'est pas dedans [Question posée côté Wikifab]&lt;br /&gt;
** Impossible. Il faut créer le compte de la personne et l'utiliser pour lui créer son projet puis lui transmettre les infos du compte...&lt;br /&gt;
* À ce propos, quid d'un Tuto fait en groupe par plusieurs utilisateurs ? [Question posée côté Wikifab]&lt;br /&gt;
** Impossible. Cependant la liste des différents contributeurs est affichée dans l'historique de la page du tuto&lt;br /&gt;
* La page de recherche a de drôles de comportements. Si on utilise la barre de recherche, il semble qu'elle soit mal connectée au wiki et donne des résultats un peu farfelus. Par contre, utiliser la page : https://wikifab.hatlab.fr/Sp%C3%A9cial:Recherche permet d'obtenir des résultats plus &amp;quot;propres&amp;quot;...&lt;br /&gt;
** Une recherche avec '''lampe''' retourne 2 fois le même tutoriel&lt;br /&gt;
** Une recherche avec '''Test''' retourne 1 seul tutoriel mais sans image&lt;br /&gt;
** Une recherche avec '''Open''' retourne 1 seul tutoriel, mais signale 4 résultats ! &lt;br /&gt;
** Après essai, le wikifab &amp;quot;officiel&amp;quot; est encore pire, il ramène parfois 3 fois le même tutoriel !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A explorer ==&lt;br /&gt;
&lt;br /&gt;
* Les pages spéciales de mediawiki : https://www.mediawiki.org/wiki/Special_page_names#fr&lt;br /&gt;
* La page des fichiers orphelins : https://wikifab.hatlab.fr/Sp%C3%A9cial:Fichiers_inutilis%C3%A9s&lt;br /&gt;
* La page des pages avec des liens cassés : https://wikifab.hatlab.fr/Cat%C3%A9gorie:Pages_avec_des_liens_de_fichiers_bris%C3%A9s&lt;br /&gt;
* La page des pages spéciales : https://wikifab.hatlab.fr/Sp%C3%A9cial:Pages_sp%C3%A9ciales&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_StepNoImage&amp;diff=84</id>
		<title>Modèle:Tuto StepNoImage</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_StepNoImage&amp;diff=84"/>
				<updated>2017-11-12T13:01:49Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-md-12 step-instructions&amp;quot;&amp;gt;
&amp;lt;h3&amp;gt;Etape n°{{#stepNumber: step }} - {{{1}}}&amp;lt;/h3&amp;gt;
{{{2}}}
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;hrContentMinor&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
Catégorie:Tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-12 step-instructions&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Etape n°{{#stepNumber: step }} - {{{1}}}&amp;lt;/h3&amp;gt;&lt;br /&gt;
{{{2}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hrContentMinor&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_StepImage&amp;diff=83</id>
		<title>Modèle:Tuto StepImage</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_StepImage&amp;diff=83"/>
				<updated>2017-11-12T13:01:47Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;
&amp;lt;h3&amp;gt;Etape n°{{#stepNumber: step }} - {{{1}}}&amp;lt;/h3&amp;gt;
{{{2}}}
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;col-md-6&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;tuto-step-image&amp;quot;&amp;gt;
{{{3}}}
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;hrContentMinor&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
Catégorie:Tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Etape n°{{#stepNumber: step }} - {{{1}}}&amp;lt;/h3&amp;gt;&lt;br /&gt;
{{{2}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-6&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-step-image&amp;quot;&amp;gt;&lt;br /&gt;
{{{3}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hrContentMinor&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_Step&amp;diff=82</id>
		<title>Modèle:Tuto Step</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_Step&amp;diff=82"/>
				<updated>2017-11-12T13:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : {{#if:{{{Step_Picture_00|}}}| 
   {{Tuto StepImage|}}}|}}}|{{ #carousel: File:{{{Step_Picture_00}}} | File:{{{Step_Picture_01}}} | File:{{{Step_Picture_02}}} | File:{{{Step_Picture_03}}} | File:{{{Step_Picture_04}}} | File:{{{Step_Picture_05}}} }} }} | 
{{Tuto StepNoImage|}}}|}}}}}
 }}
Catégorie:Tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if:{{{Step_Picture_00|}}}| &lt;br /&gt;
   {{Tuto StepImage|[[Step_Title::{{{Step_Title|}}}]]|[[Step_Content::{{{Step_Content|}}}]]|{{ #carousel: [[File:{{{Step_Picture_00}}}]] | [[File:{{{Step_Picture_01}}}]] | [[File:{{{Step_Picture_02}}}]] | [[File:{{{Step_Picture_03}}}]] | [[File:{{{Step_Picture_04}}}]] | [[File:{{{Step_Picture_05}}}]] }} }} | &lt;br /&gt;
{{Tuto StepNoImage|[[Step_Title::{{{Step_Title|}}}]]|[[Step_Content::{{{Step_Content|}}}]]}}&lt;br /&gt;
 }}&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_Status&amp;diff=81</id>
		<title>Modèle:Tuto Status</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_Status&amp;diff=81"/>
				<updated>2017-11-12T13:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;span class=&amp;quot;hide&amp;quot;&amp;gt;{{#arraymap:{{{Complete|}}}|,|x|Complete::x}}&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span class=&amp;quot;hide&amp;quot;&amp;gt;{{#arraymap:{{{Complete|}}}|,|x|[[Complete::x]]}}&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_Details&amp;diff=80</id>
		<title>Modèle:Tuto Details</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_Details&amp;diff=80"/>
				<updated>2017-11-12T13:01:42Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;p class=&amp;quot;tuto-details-autor-revision&amp;quot;&amp;gt;Une &amp;lt;span class=&amp;quot;type-lowercase&amp;quot;&amp;gt;}}}&amp;lt;/span&amp;gt; de {{#displayAuthorDiv:toto}} dans les catégories {{#arraymap:{{{Area|}}}|,|x|Area::x}}. [{{fullurl:{{PAGENAME}}|action=history}} Dernière modification] le {{REVISIONDAY:  {{PAGENAME}} }}/{{REVISIONMONTH:  {{PAGENAME}} }}/{{REVISIONYEAR:  {{PAGENAME}} }} par [http://beta.wikifab.org/index.php/utilisateur:{{REVISIONUSER: {{PAGENAME}} }} {{REVISIONUSER: {{PAGENAME}} }}].&amp;lt;/p&amp;gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-md-5 col-sm-5 col-xs-12&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;tuto-main-image&amp;quot;&amp;gt;{{#if:{{{Main_Picture|}}}|border|link=}}
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;col-md-7 col-sm-7 col-xs-12&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;tuto-details-box&amp;quot;&amp;gt;
&amp;lt;p &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;tuto-details-autor-revision&amp;quot;&amp;gt;Une &amp;lt;span class=&amp;quot;type-lowercase&amp;quot;&amp;gt;[[Type::{{{Type|}}}]]&amp;lt;/span&amp;gt; de {{#displayAuthorDiv:toto}} dans les catégories {{#arraymap:{{{Area|}}}|,|x|[[Area::x]]}}. [{{fullurl:{{PAGENAME}}|action=history}} Dernière modification] le {{REVISIONDAY:  {{PAGENAME}} }}/{{REVISIONMONTH:  {{PAGENAME}} }}/{{REVISIONYEAR:  {{PAGENAME}} }} par [http://beta.wikifab.org/index.php/utilisateur:{{REVISIONUSER: {{PAGENAME}} }} {{REVISIONUSER: {{PAGENAME}} }}].&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-5 col-sm-5 col-xs-12&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-main-image&amp;quot;&amp;gt;{{#if:{{{Main_Picture|}}}|[[File:{{{Main_Picture}}}|frameless|border]]|[[File:No-image-yet.jpg|link=]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-7 col-sm-7 col-xs-12&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-details-box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;tuto-details-about-title&amp;quot;&amp;gt;[[Description::{{{Description|}}}]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-items-container&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;tuto-items-details-container&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;tuto-items-details-container-left&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-tachometer&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
 Difficulté&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;tuto-items-details-container-right&amp;quot;&amp;gt;[[Difficulty::{{{Difficulty|}}}]]&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-items-details-container&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;tuto-items-details-container-left&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-clock-o&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Durée&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;tuto-items-details-container-right&amp;quot;&amp;gt;[[Duration::{{{Duration|}}}]] [[Duration-type::{{{Duration-type|}}}]]&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-items-details-container&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;tuto-items-details-container-left&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-money&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
 Coût&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;tuto-items-details-container-right&amp;quot;&amp;gt;[[Cost::{{{Cost|}}}]] [[Currency::{{{Currency|}}}]]&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-items-details-container&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;tuto-items-details-container-left&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-list-ol&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;licence-detail&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-creative-commons&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;span class=&amp;quot;licence-detail-title&amp;quot;&amp;gt;Licence :&amp;lt;/span&amp;gt; [[Licences::{{{Licences|}}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-4 col-sm-4 col-xs-12&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-main-image&amp;quot;&amp;gt;&lt;br /&gt;
[[Fichier:{{{Main_Picture}}}|frameless|border]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;display-none&amp;quot;&amp;gt;Mot(s)-clé(s) : {{#arraymap:{{{Tags|}}}|,|x|[[Tags::x]]}}&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
{{#stepNumber: step| init}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_Attachments&amp;diff=79</id>
		<title>Modèle:Tuto Attachments</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Tuto_Attachments&amp;diff=79"/>
				<updated>2017-11-12T13:01:41Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;div class=&amp;quot;row attach-link-table&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-xs-4 col-md-2&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-file&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Fichier&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;col-xs-8 col-md-10&amp;quot;&amp;gt;}}}&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
Catégorie:Tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;row attach-link-table&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-xs-4 col-md-2&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-file&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Fichier&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-xs-8 col-md-10&amp;quot;&amp;gt;[[File:{{{Attachment|}}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Separator&amp;diff=78</id>
		<title>Modèle:Separator</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Separator&amp;diff=78"/>
				<updated>2017-11-12T13:01:39Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;div class=&amp;quot;bg-halfsquare-separator&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
Catégorie:Tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;bg-halfsquare-separator&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Pin&amp;diff=77</id>
		<title>Modèle:Pin</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Pin&amp;diff=77"/>
				<updated>2017-11-12T13:01:38Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;p&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;link=&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;[[File:Pin-icon.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Notes&amp;diff=76</id>
		<title>Modèle:Notes</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Notes&amp;diff=76"/>
				<updated>2017-11-12T13:01:37Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;h2&amp;gt;Notes et références&amp;lt;/h2&amp;gt;
}}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Notes et références&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[Notes::{{{Notes|}}}]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:MaterialsNoImage&amp;diff=75</id>
		<title>Modèle:MaterialsNoImage</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:MaterialsNoImage&amp;diff=75"/>
				<updated>2017-11-12T13:01:35Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : {{#if:{{{1}}}| &amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;
&amp;lt;h3&amp;gt;Liste des matériaux&amp;lt;/h3&amp;gt;
{{{1}}}
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;
&amp;lt;h3&amp;gt;Liste des outils&amp;lt;/h3&amp;gt;
{{{2}}}
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;| {{#if:{{{2}}}|&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;
&amp;lt;h3&amp;gt;Liste des outils&amp;lt;/h3&amp;gt;
{{{2}}}
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;|  }} }}

Catégorie:Tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if:{{{1}}}| &amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Liste des matériaux&amp;lt;/h3&amp;gt;&lt;br /&gt;
{{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Liste des outils&amp;lt;/h3&amp;gt;&lt;br /&gt;
{{{2}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;| {{#if:{{{2}}}|&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Liste des outils&amp;lt;/h3&amp;gt;&lt;br /&gt;
{{{2}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;|  }} }}&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:MaterialsImage&amp;diff=74</id>
		<title>Modèle:MaterialsImage</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:MaterialsImage&amp;diff=74"/>
				<updated>2017-11-12T13:01:33Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;
&amp;lt;h3&amp;gt;Liste des matériaux&amp;lt;/h3&amp;gt;
{{{1}}}
&amp;lt;div class=&amp;quot;hrContentMinor-2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;h3&amp;gt;Liste des outils&amp;lt;/h3&amp;gt;
{{{2}}}
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;col-md-6&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;tuto-step-image&amp;quot;&amp;gt;
{{{3}}}
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
Category:Tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-6 step-instructions&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Liste des matériaux&amp;lt;/h3&amp;gt;&lt;br /&gt;
{{{1}}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;hrContentMinor-2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Liste des outils&amp;lt;/h3&amp;gt;&lt;br /&gt;
{{{2}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-6&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-step-image&amp;quot;&amp;gt;&lt;br /&gt;
{{{3}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Materials&amp;diff=73</id>
		<title>Modèle:Materials</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Materials&amp;diff=73"/>
				<updated>2017-11-12T13:01:31Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : {{#if:{{{Tuto_Attachments|}}}{{{ExternalAttachmentsLinks|}}}|
&amp;lt;div class=&amp;quot;Input-tabs&amp;quot;&amp;gt;
&amp;lt;tabber&amp;gt;
 Outils &amp;amp; Matériaux=
{{#if:{{{Step_Picture_00|}}}| 
   {{MaterialsImage|}}}|}}}|{{ #carousel: File:{{{Step_Picture_00}}} | File:{{{Step_Picture_01}}} | File:{{{Step_Picture_02}}} | File:{{{Step_Picture_03}}} | File:{{{Step_Picture_04}}} | File:{{{Step_Picture_05}}} }} }} | 
 {{MaterialsNoImage|}}}|}}} }}
 }}
|-|
 Fichiers={{{ExternalAttachmentsLinks|}}}
{{{Tuto_Attachments|}}}
&amp;lt;/tabber&amp;gt;
&amp;lt;/div&amp;gt;
|
&amp;lt;div class=&amp;quot;Input-tabs&amp;quot;&amp;gt;
&amp;lt;tabber&amp;gt;
 Outils &amp;amp; Matériaux=
{{#if:{{{Step_Picture_00|}}}| 
   {{MaterialsImage|}}}|[[Tools::{{{Tools|&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if:{{{Tuto_Attachments|}}}{{{ExternalAttachmentsLinks|}}}|&lt;br /&gt;
&amp;lt;div class=&amp;quot;Input-tabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 Outils &amp;amp; Matériaux=&lt;br /&gt;
{{#if:{{{Step_Picture_00|}}}| &lt;br /&gt;
   {{MaterialsImage|[[Material::{{{Material|}}}]]|[[Tools::{{{Tools|}}}]]|{{ #carousel: [[File:{{{Step_Picture_00}}}]] | [[File:{{{Step_Picture_01}}}]] | [[File:{{{Step_Picture_02}}}]] | [[File:{{{Step_Picture_03}}}]] | [[File:{{{Step_Picture_04}}}]] | [[File:{{{Step_Picture_05}}}]] }} }} | &lt;br /&gt;
 {{MaterialsNoImage|[[Material::{{{Material|}}}]]|[[Tools::{{{Tools|}}}]] }}&lt;br /&gt;
 }}&lt;br /&gt;
|-|&lt;br /&gt;
 Fichiers={{{ExternalAttachmentsLinks|}}}&lt;br /&gt;
{{{Tuto_Attachments|}}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;div class=&amp;quot;Input-tabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 Outils &amp;amp; Matériaux=&lt;br /&gt;
{{#if:{{{Step_Picture_00|}}}| &lt;br /&gt;
   {{MaterialsImage|[[Material::{{{Material|}}}]]|[[Tools::{{{Tools|}}}]]|{{ #carousel: [[File:{{{Step_Picture_00}}}]] | [[File:{{{Step_Picture_01}}}]] | [[File:{{{Step_Picture_02}}}]] | [[File:{{{Step_Picture_03}}}]] | [[File:{{{Step_Picture_04}}}]] | [[File:{{{Step_Picture_05}}}]] }} }} | &lt;br /&gt;
 {{MaterialsNoImage|[[Material::{{{Material|}}}]]|[[Tools::{{{Tools|}}}]] }}&lt;br /&gt;
 }}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Introduction&amp;diff=72</id>
		<title>Modèle:Introduction</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Introduction&amp;diff=72"/>
				<updated>2017-11-12T13:01:30Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : {{#if:{{{Introduction|}}}| &amp;lt;div class=&amp;quot;hrContentMinor-2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;h3&amp;gt;Introduction&amp;lt;/h3&amp;gt;
}}} | }}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if:{{{Introduction|}}}| &amp;lt;div class=&amp;quot;hrContentMinor-2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Introduction&amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Introduction::{{{Introduction|}}}]] | }}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Info&amp;diff=71</id>
		<title>Modèle:Info</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Info&amp;diff=71"/>
				<updated>2017-11-12T13:01:28Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;p&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;link=&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;[[File:Info-icon.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Idea&amp;diff=70</id>
		<title>Modèle:Idea</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Idea&amp;diff=70"/>
				<updated>2017-11-12T13:01:27Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;p&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;link=&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;[[File:Icon-idea.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Group_Tabs&amp;diff=69</id>
		<title>Modèle:Group Tabs</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Group_Tabs&amp;diff=69"/>
				<updated>2017-11-12T13:01:26Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;div class=&amp;quot;Input-tabs group-tabs&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;tabGroupsButton&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;{{#joinGroupButton:}}&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;tabber&amp;gt;
 Tutoriels=
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Tutoriels du groupe&amp;lt;/h2&amp;gt;{{#displayMemberTutorials:this}}&amp;lt;/div&amp;gt;
|-|
 Membres=
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Membres du groupe&amp;lt;/h2&amp;gt;{{#usersPagesLinksUsersList:member}}&amp;lt;/div&amp;gt;
|-|
 Machines=
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Parc machines&amp;lt;/h2&amp;gt;
{{{Group_Machines|}}}&amp;lt;/div&amp;gt;
|-|
 Évènements=
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Évènements&amp;lt;/h2&amp;gt;
{{{Group_Event|}}}&amp;lt;/div&amp;gt;
|-|
 À propos=
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;À propos de ce groupe&amp;lt;/h2&amp;gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;col-sm-3 col-xs-4 group-about-text&amp;quot;&amp;gt;Description&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;col-sm-9 col-xs-8&amp;quot;&amp;gt;}}}&amp;lt;/div&amp;gt;
&amp;lt;d&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;Input-tabs group-tabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabGroupsButton&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;{{#joinGroupButton:}}&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 Tutoriels=&lt;br /&gt;
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Tutoriels du groupe&amp;lt;/h2&amp;gt;{{#displayMemberTutorials:this}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Membres=&lt;br /&gt;
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Membres du groupe&amp;lt;/h2&amp;gt;{{#usersPagesLinksUsersList:member}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Machines=&lt;br /&gt;
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Parc machines&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{{Group_Machines|}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Évènements=&lt;br /&gt;
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Évènements&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{{Group_Event|}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 À propos=&lt;br /&gt;
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;À propos de ce groupe&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;col-sm-3 col-xs-4 group-about-text&amp;quot;&amp;gt;Description&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;col-sm-9 col-xs-8&amp;quot;&amp;gt;[[group-long-description::{{{group-long-description|}}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-sm-12&amp;quot;&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-sm-3 col-xs-4 group-about-text&amp;quot;&amp;gt;Phone&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;col-sm-9 col-xs-8&amp;quot;&amp;gt;[[group-phone::{{{group-phone|}}}]]&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Catégorie:Group]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Group_Machines&amp;diff=68</id>
		<title>Modèle:Group Machines</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Group_Machines&amp;diff=68"/>
				<updated>2017-11-12T13:01:23Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : __NOTOC__
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-md-2 col-sm-3 col-xs-4&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;group-machine-image&amp;quot;&amp;gt;
{{#if:{{{group-machine-image|}}}|&amp;lt;div class=&amp;quot;tuto-main-image&amp;quot;&amp;gt;link=&amp;lt;/div&amp;gt; |
&amp;lt;div class=&amp;quot;tuto-main-image&amp;quot;&amp;gt;link=&amp;lt;/div&amp;gt; }}
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;col-md-10 col-sm-9 col-xs-8&amp;quot;&amp;gt;
&amp;lt;h4 class=&amp;quot;group-machine-name&amp;quot;&amp;gt;}}}&amp;lt;/h4&amp;gt;
&amp;lt;p class=&amp;quot;group-machine-description&amp;quot;&amp;gt;}}}&amp;lt;/p&amp;gt;
&amp;lt;p class=&amp;quot;group-machine-conditions&amp;quot;&amp;gt;}}}&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;hr&amp;gt;
Catégorie:Group&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-2 col-sm-3 col-xs-4&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;group-machine-image&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{group-machine-image|}}}|&amp;lt;div class=&amp;quot;tuto-main-image&amp;quot;&amp;gt;[[File:{{{group-machine-image}}}|link=]]&amp;lt;/div&amp;gt; |&lt;br /&gt;
&amp;lt;div class=&amp;quot;tuto-main-image&amp;quot;&amp;gt;[[File:No-image-yet.jpg|link=]]&amp;lt;/div&amp;gt; }}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-10 col-sm-9 col-xs-8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4 class=&amp;quot;group-machine-name&amp;quot;&amp;gt;[[group-machine-name::{{{group-machine-name|}}}]]&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;group-machine-description&amp;quot;&amp;gt;[[group-machine-description::{{{group-machine-description|}}}]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;group-machine-conditions&amp;quot;&amp;gt;[[group-machine-conditions::{{{group-machine-conditions|}}}]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
[[Catégorie:Group]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Group_Event&amp;diff=67</id>
		<title>Modèle:Group Event</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Group_Event&amp;diff=67"/>
				<updated>2017-11-12T13:01:21Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : __NOTOC__
&amp;lt;h4&amp;gt;}}}&amp;lt;/h4&amp;gt;
&amp;lt;p&amp;gt;}}}&amp;lt;/p&amp;gt;
&amp;lt;div class=&amp;quot;group-event-icon&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-map-marker&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; }}}&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;group-event-icon&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-calendar-check-o&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; }}}&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;group-event-icon&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-external-link&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; }}}&amp;lt;/div&amp;gt;
&amp;lt;hr&amp;gt;
Catégorie:Group&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;h4&amp;gt;[[group-event-title::{{{group-event-title|}}}]]&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[group-event-description::{{{group-event-description|}}}]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;group-event-icon&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-map-marker&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; [[group-event-address::{{{group-event-address|}}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;group-event-icon&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-calendar-check-o&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; [[group-event-date::{{{group-event-date|}}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;group-event-icon&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-external-link&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; [[group-event-url::{{{group-event-url|}}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
[[Catégorie:Group]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Group_Details&amp;diff=66</id>
		<title>Modèle:Group Details</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Group_Details&amp;diff=66"/>
				<updated>2017-11-12T13:01:19Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : __NOTOC__
&amp;lt;div class=&amp;quot;group-banner&amp;quot;&amp;gt;
link=
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;container group-title-box&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-md-3 col-sm-3 col-xs-12&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;group-main-image&amp;quot;&amp;gt;
{{#if:{{{group-logo|}}}|link=|link=}}
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;col-md-9 col-sm-9 col-xs-12&amp;quot;&amp;gt;
&amp;lt;h1 class=&amp;quot;group-title&amp;quot;&amp;gt;{{PAGENAME}}&amp;lt;span class=&amp;quot;group-type&amp;quot;&amp;gt;}}}&amp;lt;/span&amp;gt;&amp;lt;/h1&amp;gt;
&amp;lt;p class=&amp;quot;group-description&amp;quot;&amp;gt;}}}&amp;lt;/p&amp;gt;
&amp;lt;div class=&amp;quot;group-info&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;i class=&amp;quot;fa fa-map-marker&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; }}}&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;lt;i class=&amp;quot;fa fa-envelope&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; }}}&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;lt;i class=&amp;quot;fa fa-globe&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; [&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;group-banner&amp;quot;&amp;gt;&lt;br /&gt;
[[File:{{{group-banner}}}|link=]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;container group-title-box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-3 col-sm-3 col-xs-12&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;group-main-image&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{group-logo|}}}|[[File:{{{group-logo}}}|link=]]|[[File:no-logo-group.gif|link=]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-md-9 col-sm-9 col-xs-12&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;group-title&amp;quot;&amp;gt;{{PAGENAME}}&amp;lt;span class=&amp;quot;group-type&amp;quot;&amp;gt;[[group-type::{{{group-type|}}}]]&amp;lt;/span&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;group-description&amp;quot;&amp;gt;[[group-description::{{{group-description|}}}]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;group-info&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;i class=&amp;quot;fa fa-map-marker&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; [[group-address::{{{group-address|}}}]]&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;lt;i class=&amp;quot;fa fa-envelope&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; [[group-email::{{{group-email|}}}]]&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;lt;i class=&amp;quot;fa fa-globe&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; [[group-url::{{{group-url|}}}]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#stepNumber: step| init}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Catégorie:Group]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:ExternalAttachmentsLinks&amp;diff=65</id>
		<title>Modèle:ExternalAttachmentsLinks</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:ExternalAttachmentsLinks&amp;diff=65"/>
				<updated>2017-11-12T13:01:18Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;div class=&amp;quot;row attach-link-table&amp;quot;&amp;gt;
&amp;lt;div class=&amp;quot;col-xs-4 col-md-2&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-external-link&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Lien externe&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;col-xs-8 col-md-10&amp;quot;&amp;gt;}}}&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
Catégorie:Tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;row attach-link-table&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-xs-4 col-md-2&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-external-link&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Lien externe&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;col-xs-8 col-md-10&amp;quot;&amp;gt;[[ExternalAttachmentsLinks::{{{ExternalAttachmentsLinks|}}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Dont&amp;diff=64</id>
		<title>Modèle:Dont</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Dont&amp;diff=64"/>
				<updated>2017-11-12T13:01:16Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;p&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;link=&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;[[File:Dont-icon.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Caution&amp;diff=63</id>
		<title>Modèle:Caution</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Mod%C3%A8le:Caution&amp;diff=63"/>
				<updated>2017-11-12T13:01:14Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : &amp;lt;p&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;link=&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-image&amp;quot;&amp;gt;[[File:Caution-icon.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;icon-instructions-text&amp;quot;&amp;gt;{{{Text}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Type&amp;diff=62</id>
		<title>Attribut:Type</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Type&amp;diff=62"/>
				<updated>2017-11-12T13:01:12Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte. Elle pointe sur les pages utilisant le formulaire Utilise le formulaire::Tutoriel.

Les valeurs autorisées pour cette propriété sont :
* Valeur possible::Création
* Valeur possible::Technique&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]]. Elle pointe sur les pages utilisant le formulaire [[Utilise le formulaire::Tutoriel]].&lt;br /&gt;
&lt;br /&gt;
Les valeurs autorisées pour cette propriété sont :&lt;br /&gt;
* [[Valeur possible::Création]]&lt;br /&gt;
* [[Valeur possible::Technique]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Tuto_Attachments&amp;diff=61</id>
		<title>Attribut:Tuto Attachments</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Tuto_Attachments&amp;diff=61"/>
				<updated>2017-11-12T13:01:10Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Tools&amp;diff=60</id>
		<title>Attribut:Tools</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Tools&amp;diff=60"/>
				<updated>2017-11-12T13:01:08Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Tags&amp;diff=59</id>
		<title>Attribut:Tags</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Tags&amp;diff=59"/>
				<updated>2017-11-12T13:01:05Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::String.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::String]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Title&amp;diff=58</id>
		<title>Attribut:Step Title</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Title&amp;diff=58"/>
				<updated>2017-11-12T13:01:02Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_06&amp;diff=57</id>
		<title>Attribut:Step Picture 06</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_06&amp;diff=57"/>
				<updated>2017-11-12T13:01:01Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_05&amp;diff=56</id>
		<title>Attribut:Step Picture 05</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_05&amp;diff=56"/>
				<updated>2017-11-12T13:00:59Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_04&amp;diff=55</id>
		<title>Attribut:Step Picture 04</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_04&amp;diff=55"/>
				<updated>2017-11-12T13:00:58Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_03&amp;diff=54</id>
		<title>Attribut:Step Picture 03</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_03&amp;diff=54"/>
				<updated>2017-11-12T13:00:55Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_02&amp;diff=53</id>
		<title>Attribut:Step Picture 02</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_02&amp;diff=53"/>
				<updated>2017-11-12T13:00:53Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_01&amp;diff=52</id>
		<title>Attribut:Step Picture 01</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_01&amp;diff=52"/>
				<updated>2017-11-12T13:00:51Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_00&amp;diff=51</id>
		<title>Attribut:Step Picture 00</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Picture_00&amp;diff=51"/>
				<updated>2017-11-12T13:00:50Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Content&amp;diff=50</id>
		<title>Attribut:Step Content</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Step_Content&amp;diff=50"/>
				<updated>2017-11-12T13:00:47Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Notes&amp;diff=49</id>
		<title>Attribut:Notes</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Notes&amp;diff=49"/>
				<updated>2017-11-12T13:00:44Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Material&amp;diff=48</id>
		<title>Attribut:Material</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Material&amp;diff=48"/>
				<updated>2017-11-12T13:00:41Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Main_Picture&amp;diff=47</id>
		<title>Attribut:Main Picture</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Main_Picture&amp;diff=47"/>
				<updated>2017-11-12T13:00:38Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Enregistrement.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Enregistrement]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wikifab.hatlab.fr/index.php?title=Attribut:Licences&amp;diff=46</id>
		<title>Attribut:Licences</title>
		<link rel="alternate" type="text/html" href="https://wikifab.hatlab.fr/index.php?title=Attribut:Licences&amp;diff=46"/>
				<updated>2017-11-12T13:00:34Z</updated>
		
		<summary type="html">&lt;p&gt;Admin : Cette propriété est de type A le type::Texte.

Les valeurs autorisées pour cette propriété sont :
* Valeur possible::Attribution (CC BY)
* Valeur possible::Attribution - Partage dans les Mêmes Conditions (CC BY-SA)
* Allows value::CERN Open Hardware Licence v1.2
* Allows value::TAPR Open Hardware License v1.0
* Allows value::GNU Free Hardware Designs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette propriété est de type [[A le type::Texte]].&lt;br /&gt;
&lt;br /&gt;
Les valeurs autorisées pour cette propriété sont :&lt;br /&gt;
* [[Valeur possible::Attribution (CC BY)]]&lt;br /&gt;
* [[Valeur possible::Attribution - Partage dans les Mêmes Conditions (CC BY-SA)]]&lt;br /&gt;
* [[Allows value::CERN Open Hardware Licence v1.2]]&lt;br /&gt;
* [[Allows value::TAPR Open Hardware License v1.0]]&lt;br /&gt;
* [[Allows value::GNU Free Hardware Designs]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>