Chemin principal : Accueil > SPIP > Mutualisation > Gérer beaucoup de sites SPIP en local sous MacOsX

Autres chemins : (Aller directement au contenu de l'article)

Gérer beaucoup de sites SPIP en local sous MacOsX

mercredi 11 janvier 2012, mise à jour lundi 31 août 2015, par Maïeul
Suivre la vie du site RSS 2.0 Forum

Cet article ne s’adresse pas aux SPIPeurs débutants qui souhaiteraient créer un site web en local sous Mac. Un article existe déjà sur le sujet. Non, cet article s’adresse aux personnes qui souhaitent gérer beaucoup de site web en local en n’ayant qu’une installation de SPIP par version, autrement dit en mutualisant le noyau de SPIP.

J’y détaille ma pratique, que j’utilise depuis trois ans, donc que j’estime mûre.

Principe

Je développe en local 30 sites. Chaque site que je développe possède une adresse réelle, par exemple http://maieul.net [1], correspondant à la version cours de production, et une adresse locale, correspondante à la version en cours de développement.

Par principe, chaque adresse d’un site local termine par .dev. Par exemple maieul.dev, geek.dev, maman.dev etc. Pourquoi .dev ? Parce que cette extension n’existe pas, donc je suis certain que lorsque j’utilise .dev je suis en version locale.

Je vais dire à mon ordinateur, via la modification d’un fichier caché, d’orienter mes adresses en .dev vers l’IP 127.0.0.1, autrement dit vers mon propre ordinateur.

Conséquent : lorsque dans mon navigateur je frapperais http://maieul.dev, celui-ci me redirigera vers 127.0.0.1. Là, mon serveur local, MAMP, me renverra vers mon SPIP, que j’aurais organisé selon le principe de la mutualisation facile, c’est à dire à que j’aurais réglé pour avoir un seul noyau SPIP pour plusieurs sites (par exemple maman.dev, papa.dev etc.)

Par ailleurs, un site fera exception localhost : ce site sert de brouillon pour toutes les expériences.

De plus, je souhaite pouvoir disposer de différentes branches de SPIP : je souhaite pouvoir orienter vers la branche 2.0.z ou vers la branche 2.1.z ou vers la branche 3.0.z selon le cas. En revanche, je souhaite pouvoir facilement mettre à jour une branche.

Je vais donc créer un dossier par branches, avec dans chaque dossier une mutualisation. Je configurerais mon serveur Apache local (installé via MAMP) pour qu’il me renvoi sur l’un ou l’autre des dossiers selon l’URL du site.

Bon, tout ceci c’était la théorie, passons à la pratique.

Cette pratique nécessite d’utiliser les Terminal, pour frapper quelques commandes.

Préparer les versions de SPIP

Dans le terminal, rendons-nous dans le dossier sites du répertoire de départ :

  1. cd ~/sites

Puis récupérons les dernieres versions stables des différentes branches de SPIP. Ces versions sont situées dans le dossier tags du serveur SVN de SPIP.

  1. svn co svn://trac.rezo.net/spip/tags/spip-2.0.9 SPIP 20
  2. svn co svn://trac.rezo.net/spip/tags/spip-2.1.12 SPIP21

Télécharger

Et soyons fous, prenons même la dernière version de dev de SPIP, instable (pour le moment c’est SPIP 3)

  1. svn co svn://trac.rezo.net/spip/spip SPIPdev

Je me retrouve donc dans mon dossier sites avec trois dossiers : SPIP20 SPIP21 et SPIPdev.

Par défaut mes sites pointeront vers SPIP21. Les autres sites seront des exceptions.

Préparer la mutualisation

Maintenant rendons-nous dans le dossier SPIP21 pour préparer le chemin à la mutualisation des sites SPIP.

  1. cd ~/SPIP21

D’abord il faut récupérer le plugin mutualisation facile :

  1. svn://zone.spip.org/spip-zone/_plugins_/mutualisation

Ensuite il me faut copier le fichier mes_options.php dans le dossier config.

  1. cp mutualisation mes_options.php.txt mes_options.php

Puis ouvrir le fichier config/mes_options.php avec le logiciel de mon choix.

Il va falloir régler pour indiquer les réglages MySQL de Mamp.

Voici le contenu de ce fichier

  1. <?php
  2.  
  3. /*
  4. * Inscrire ici le nom du site d'administration du tableau de bord
  5. * de la mutualisation (ou plusieurs, separes par des virgules)
  6. * (dans cet exemple, 'scriibe.net' est le top level domain, TLD)
  7. * pour autoriser tous les sites, ne pas definir la constante ;
  8. * Si le site maitre n'est pas dans sites/ mais a la racine, mettre ''
  9. * et ajouter 'mutualisation' dans $dossier_squelettes
  10. */
  11. define ('_SITES_ADMIN_MUTUALISATION', 'scriibe.net');
  12.  
  13. if (!defined("_ECRIRE_INC_VERSION")) return;
  14. if (!is_readable (_DIR_RACINE.'mutualisation/mutualiser.php')) {
  15. echo _L("Fichier 'mutualisation/mutualiser.php' manquant dans la racine " . _DIR_RACINE);
  16. }
  17. require _DIR_RACINE.'mutualisation/mutualiser.php';
  18.  
  19. /* placer dans ce tableau les sites ou l'on ne veut pas la redirection canonique */
  20. $www = array();
  21.  
  22. $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);
  23. if ($site != $_SERVER['HTTP_HOST'] AND !in_array($site, $www)) {
  24. include_spip('inc/headers');
  25. $req = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
  26. if (isset($_SERVER['HTTPS'])
  27. AND test_valeur_serveur($_SERVER['HTTPS']))
  28. $protocole = 'https';
  29. elseif (!isset($_SERVER["SCRIPT_URI"]) OR !($p = strpos($_SERVER["SCRIPT_URI"], '://')))
  30. $protocole = 'http';
  31. else $protocole = substr($_SERVER["SCRIPT_URI"],0,$p);
  32. redirige_par_entete($protocole . '://' . $site . $req);
  33. }
  34.  
  35. // Compatibilite avec le ":" de $dossier_squelettes
  36. // Si l'url indique explicitement un port (grace a ":")
  37. // tout eliminer s'il s'agit du port 80
  38. // et remplacer ":" par _ pour les autres ports
  39.  
  40. if (strpos($site, ':')) {
  41. if (preg_match('/:80$/', $site)) $site = substr($site,-3);
  42. else $site = str_replace(':', '_', $site);
  43. }
  44.  
  45. define ('_INSTALL_SITE_PREF', prefixe_mutualisation($site));
  46. define ('_INSTALL_NAME_DB', 'mu_'. _INSTALL_SITE_PREF);
  47.  
  48. define ('_INSTALL_SERVER_DB', 'mysql');
  49. define ('_INSTALL_HOST_DB', 'localhost');
  50. define ('_INSTALL_USER_DB', 'loginsql');
  51. define ('_INSTALL_PASS_DB', '123456HDJ');
  52.  
  53. /* mettre en commentaire la ligne suivante si vous utilisez l'option table_prefixe plus bas dans la config */
  54. define ('_INSTALL_TABLE_PREFIX', 'spip');
  55.  
  56. /*
  57. * Si le nom du serveur est different du nom dns,
  58. * ca peut parfois poser probleme
  59. * il faut alors le definir ici
  60. */
  61. # define ('_INSTALL_HOST_DB_LOCALNAME', 'nom_serveur');
  62.  
  63. /*
  64. * Si le serveur n'est pas mysql, il faut le preciser obligatoirement.
  65. * # define ('_INSTALL_SERVER_DB', 'pg'); // mysql|pg|sqlite2|sqlite3
  66. *
  67. * /!\ En PG, il est conseille d'utiliser la creation d'utilisateur SQL
  68. */
  69.  
  70. /*
  71. * Creer automatiquement les users SQL (pg|mysql)
  72. *
  73. * Cela permet
  74. * - d'avoir un utilisateur root possedant les droits
  75. * de creation de bases (cet utilisateur possedant obligatoirement
  76. * une base a son nom en PG - PG ne se connecte pas sans donner un nom de bdd)
  77. * - de creer des utilisateurs sql automatiquement
  78. * ne possedant que les droits d'administation
  79. * de leur base de donnee qui sera creee
  80. *
  81. * Il faut remplacer alors
  82. * _INSTALL_(USER|PASS)_DB par _INSTALL_(USER|PASS)_DB_ROOT
  83. *
  84. * et ajouter dans demarrer_site l'option
  85. * 'creer_user_base' => true
  86. */
  87. # define ('_INSTALL_USER_DB_ROOT', 'mon_root');
  88. # define ('_INSTALL_PASS_DB_ROOT', '********');
  89.  
  90. /*
  91. * Creer les bases de donnees via un ping sur une URL (methode AlternC)
  92. *
  93. * Il suffit de renseigner l'option url_creer_base, en lui passant les bons parametres :
  94. * 'url_creer_base' => 'https://bureau.tld/admin/sql_doadd.php?username=USER&password=PASS&dbn='.prefixe_mutualisation($site)
  95. */
  96.  
  97.  
  98. /*
  99. * Transformer sur les pages publiques les url des images
  100. * /sites/mon_site/IMG/* -> /IMG/*
  101. * /sites/mon_site/local/* -> /local/*
  102. *
  103. * - Necessite le mod_rewrite (reecriture d'url) d'apache
  104. * - Ne fonctionne qu'avec des mutualisations de nom de domaine
  105. * ('http_host' : http://mon_site_mutu.tld)
  106. * (donc pas avec une mutualisation de repertoire - http://site/mon_spip_mutu/)
  107. *
  108. * et ajouter dans demarrer_site l'option
  109. * 'url_img_courtes' => true
  110. *
  111. * Il est possible de regenerer les fichiers .htaccess
  112. * crees automatiquement dans /IMG et /local
  113. * grace a ?var_mode=creer_htaccess_img
  114. *
  115. */
  116.  
  117. demarrer_site($site,
  118. 'creer_site' => true, // Creer ou non le site s'il n'existe pas (defaut: false)
  119. 'creer_base' => true, // Creer ou non la base de donnee si elle n'existe pas (false)
  120. 'creer_user_base' => false, // Creer ou non un utilisateur pour la nouvelle base de donnee (false)
  121. 'mail' => '', // Adresse mail pour recevoir un mail lors d'une creation de site mutualise ('')
  122. 'code' => 'ecureuil', // Code d'activation ('ecureuil')
  123. 'table_prefix' => false, // Definir automatiquement le prefixe de table (false) ... mettre true si tous les sites dans la meme base
  124. 'cookie_prefix' => true, // Definir automatiquement le prefixe de cookie (false)
  125. 'repertoire' => 'sites', // Nom du repertoire contenant les sites mutualises ('sites')
  126. 'url_img_courtes' => true, // Utiliser la redirection des URL d'images courtes dans la partie publique (false)
  127. // /!\ il faut qu'apache ait le droit d'ecrire dans les dossiers IMG/ et local/ a la racine du site !
  128. // C'est la que la mutualisation va ecrire les regles de redirection automatiques pour les images de chaque site
  129. # 'utiliser_panel' => false, // Utiliser une table externe pour recuperer des identifiants ... (code, user, pass) permettant a un utilisateur d'installer le site (false)
  130. # 'annonce' => '<p>Un service propos&eacute; par <a href="http://www.spip.net/">la communaut&eacute; SPIP</a></p>', // Texte a afficher en bas du formulaire d'activation de la mutualisation
  131. 'url_creer_base' => '' // Creer la base de donnees via une URL (methode AlternC)
  132. )
  133. );
  134.  
  135. /*
  136. * Notes concernant SQLite
  137. *
  138. * 1) creer_base = false
  139. * Avec SQLite, il est inutile de mettre creer_base a true.
  140. * Si creer_base est true, une base sera cree (par l'outil de mutualisation)
  141. * dans le repertoire defini par la constante _DIR_DB.
  142. *
  143. * Si cette constante n'est pas renseignee, elle vaudra
  144. * _DIR_ETC/bases/ soit : config/bases/, ce qui ne correspond pas
  145. * a l'emplacement du futur site : sites/X/config/bases.
  146. *
  147. * En laissant l'option a false, SPIP creera la base de donnee
  148. * au moment de l'installation (exec=install) et a ce moment
  149. * la, _DIR_ETC vaudra 'sites/X/config' donc la base sera stockee
  150. * ou il faut si _DIR_DB n'est pas defini.
  151. *
  152. * 2) creer_user_base = false
  153. * SQLite ne gerant pas de droits d'utilisateurs,
  154. * (les droits sont ceux du fichier .sqlite)
  155. * mettre true provoquera des erreurs (je suppose)
  156. *
  157. * 3) constantes a definir :
  158. * define ('_INSTALL_SERVER_DB', 'sqlite3'); // sqlite2 ou sqlite3
  159. * define ('_INSTALL_NAME_DB', 'mu_'.prefixe_mutualisation($site));
  160. *
  161. * les constantes _INSTALL_(HOST|PASS|USER)_DB sont inutiles.
  162. */
  163.  
  164. /*
  165. * Notes concernant MySQL
  166. *
  167. * - Pour la creation d'utilisateurs MYSQL
  168. * (creer_base+creer_user_base)
  169. * il est possible de definir les droits de ces utilisateurs avec la constante
  170. * _PRIVILEGES_MYSQL_USER_BASE (ici avec les valeurs utilisees par defaut) :
  171. *
  172. * define('_PRIVILEGES_MYSQL_USER_BASE','Alter, Select, Insert, Update, Delete, Create, Drop');
  173. *
  174. */
  175. ?>

Télécharger

Les lignes à changer sont les lignes en mettant 44 et 45 :

  1. define ('_INSTALL_USER_DB', 'root');
  2. define ('_INSTALL_PASS_DB', 'root');

Télécharger

Il nous reste ensuite à créer un répertoire sites :

  1. mkdir sites

Affinage

Comme je suis sur un site local, donc de dev, je ne veux pas de cache. Je met donc dans le fichier mes_options.php la ligne suivante :

  1. define('_NO_CACHE',-1);

Dans le dossier extensions, je peux mettre tout les plugins que je souhaite actifs automatiquement pour l’ensemble des sites. Dans le dossier plugins, je met les plugins qui ne sont pas automatiquement actif.

Répétition pour les autres versions de SPIP

Il me faut installer la mutualisation dans chaque dossier correspondant à chaque version de SPIP.

Installation et Configuration de Mamp

Tout d’abord, vérifier dans les Préférences Système que le partage web n’est pas activé. Puis télécharger MAMP et l’installer.

Ouvrir MAMP dans le dossier MAMP du dossier Application.

Dans les réglages, aller dans ports, et mettre le port Apache sur 80.

Ensuite comme je ne désire pas renvoyer mes sites systématiquement vers le même dossier, il va falloir faire une intervention à la main dans les fichiers de MAMP.

Ouvrir le dossier /Applications/MAMP/conf/Apache et faire une copie de sécurité du fichier httpd.conf.

Puis l’ouvrir avec un éditeur de texte.

Chercher les lignes où il est écrit :

# MAMP DOCUMENT_ROOT !! Don't remove this line !!
DocumentRoot "/Applications/MAMP/htdocs"

Et faire exactement ce qu’il est dit de ne pas faire, en remplacant DocumentRoot "/Applications/MAMP/htdocs" par Include /Applications/MAMP/conf/Apache/vhost.conf

Par cela, je signale que je veux que la gestion des dossiers se fasse dans un fichier vhost.conf du dossier /Applications/MAMP/conf/Apache/.

Je crée ce fichier. Voici ce que j’y met :

<VirtualHost *>
DocumentRoot "/Users/maieul/Sites/SPIP21"
</VirtualHost>

Évidemment, il faut remplacer maieul par le nom de votre dossier de départ.

Cela indique que par défaut, mes sites locaux correspondent au dossier /Users/maieul/Sites/SPIP21 de mon ordinateur. Donc mes sites sont créés par défaut avec SPIP 2.1

En revanche, si je souhaite que le site toto.dev soit en SPIP 2.0, je met en dessous de ces lignes :

<VirtualHost *>
DocumentRoot "/Users/maieul/Sites/SPIP20"
ServerName toto.dev
</VirtualHost>

Et ainsi de suite pour chaque site ne fonctionnant pas avec SPIP 2.1.

Rediriger le site bidule.dev vers 127.0.0.1

Bon, maintenant je peux lancer mon site bidule.dev Pour ce faire, je vais modifier le fichier /etc/hosts, qui indique les redirections des adresses web, propres à mon ordinateur. Pour ce faire, dans le terminal je frappe :

  1. sudo pico /etc/hosts

Après la saisie de mon mot de passe administrateur, avec le clavier je me rend sur juste avant la ligne 255.255.255.255 broadcasthost, et j’insére la ligne suivante :

127.0.0.1 toto.dev

J’enregistre en frappant ctrl + X À chaque fois que je voudrais créer un nouveau site local, je ferais de même.

Lancement du site

Aller, on y va ! Dans la barre d’adresse du navigateur, j’écris http://toto.dev.

Je me retrouve alors sur la page me demandant le mot de passe de la mutualisation.

Comme je ne l’ai pas modifié, c’est facile : ecureuil. Je le rentre donc, et je clique sur ok.

Je passe ensuite les étapes suivantes, qui sont automatiques.

Vient ensuite l’habituel formulaire de création des comptes sur SPIP, que je remplis comme d’habitude :

Et voilà mon site lancé.

Particularité de la mutualisation

Chaque sites possèdent un dossier propre dans le dossier sites. Dans chaque dossier de sites se trouvent les habituelles dossiers config ; IMG ; local ;tmp et éventuellement squelettes.

Mise à jour mineure de SPIP

Imaginons que la version 2.1.13 de SPIP sorte.

Pour faire ma mise à jour en local, c’est simple.

1. D’abord se rendre dans le dossier avec le terminal

cd ~/sites/SPIP21

2. Ensuite mettre à jour

svn switch svn://trac.rezo.net/spip/tags/spip-2.1.12

P.-S.

Comme d’habitude, j’attends les réactions des SPIPeurs.

Voici quelques liens utiles :

Notes

[1Je sais, c’est un peu narcissique, mais que voulez-vous…

Vos commentaires

  • Le 31 janvier 2012 à 17:28, par Manu En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    Bonjour, Alexandra m’a indiqué cette page où, pensait-elle, je trouverais peut-être réponse à mon soucis... Hélas, non !

    Mon problème est très simple dans son exposé : je développe mes sites avec une organisation assez similaire à la votre : 1 serveur local disposant d’une ferme à SPIP. Ce que je cherche à faire est de me servir ponctuellement de cette ferme comme site de démonstration, c’est à dire de permettre à certains clients de pouvoir accéder à la version de développement telle qu’est est sur ma machine.

    Le problème est que je ne sais pas comment configure apache pour qu’il fasse ça corectement.

    Situation actuelle Ma ferme à SPIP est installée dans le répertoire www/maferme/ J’ai créé un domaine noisetier au niveau de mon serveur Mes sites sont sagement rangés ainsi :

    • www/maferme/site1.maferme.noisetier
    • www/maferme/site2.maferme.noisetier
    • En local, j’appelle les différents sites en invoquant l’url http://site1.maferme.noisetier, http://site2.maferme.noisetier etc...

    Quelques constats Si un internaute tente d’accéder à mon serveur depuis une de ses machines en saisissant dans son navigateur :

    Je n’arrive pas à comprendre ce qu’il faut faire pour que des adresses du type http://mondyndns.org/site1.maferme.noisetier ou http://mondyndns.org/site1.noisetier ou quelque chose du genre lui permettent de consulter les différents sites mutualisés !

    Auriez-vous une piste à me proposer pour configurer correctement apache pour que je puisse mettre en place ce fonctionnement ? Cela me simplifierait beaucoup les choses parce que, pour l’instant, il me faut tout déplacer ailleurs à chaque fois et c’est ma foi un peu fastidieux...

    merci beaucoup d’avance...

    Manu

  • Le 31 janvier 2012 à 17:57, par Maïeul En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    Hum, je n’ai jamais testé cela, mais deux points :

    1. Configurer Apache pour que http://mondyndns.org pointe vers www/maferme
    2. Configurer la mututalisation de SPIP pour faire correspondre les adresses « externes » aux adresses « internes ».

    Alors, pour le 1er point, je pense qu’il faut mettre dans la conf apache

    <VirtualHost *>
    DocumentRoot "cheminabsolueversmaferme"
    ServerName mondydns.org
    </VirtualHost>

    Pour le second point, dans le mes_options.php :

    En dessous de la ligne $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);

    mettre :

    $site = str_replace('http://mondyndns.org/','http://',$site);

    pour faire correspondre l’adresse externe http://mondyndns.org/toto.maferme.noisetier à l’adresse locale http://toto.maferme.noisetier

  • Le 31 janvier 2012 à 22:06, par Maïeul En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    Attention, j’ai parlé trop vite pour la conf apache

    Le probléme c’est que tu donne des adresse de type http://domaine/chemin.

    Conséquence : avec mon réglage, tu demanderai à Apache de chercher dans cheminabsolueversmaferme/chemin.

    Il existe apparement une directive Apache qui permet de contourner cela : la directive alias.

    Typiquement dans ton cas, il semble (je dis bien « il semble », je n’ai pas testé) qu’il faille faire

    <Virtualhost *>
    Alias /site1.maferme.noisetier /cheminabsolueversmaferme
    ServerName mondydns.org
    DocumentRoot "cheminabsolueversmaferme"
    </Virtualhost>
  • Le 1er février 2012 à 09:26, par Manu En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    Bonjour et merci de ton aide.... J’ai appliqué ce que tu proposais dans ton post 3... Avec la déclaration de vhost que tu proposes, quand j’appelle http://mondyndns.org/site1, le browser se contente d’afficher le listing du directory site1.maferme.noisetier (IMG, squelettes, local et tmp)... C’est au niveau du /config/mes_options.php de la mutu qu’il faut agir maintenant pour que SPIP prenne la main ?

  • Le 1er février 2012 à 11:04, par Maïeul En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    heu, là ca veut dire que tu n’a pas pointer au bon endroit … il faut faire pointer Apache vers la racine de la mutualisation (là où se trouve le dossier mutualisation et le dossier sites)

  • Le 1er février 2012 à 14:39, par Manu En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    ... je manque probablement d’un peu de bases théoriques pour bien comprendre la notion de vhosts et je patauge... En attendant de m’y replonger, j’ai opté pour une autre solution qui est de créer directement sous /home/manu/www autant de sous répertoire que j’ai de sous répertoires dans maferme/sites et d’y mettre des liens symboliques vers les fichiers de la ferme.... C’est un compromis bancal, m’enfin, bon, en attendant de mieux comprendre comment fonctionne apache... Merci de ton aide !

  • Le 1er février 2012 à 18:45, par Maïeul En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    oui, le mieux serait de suivre un tuto sur les vhosts...

  • Le 5 novembre 2015 à 17:08, par Ospeleo En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    J’utilise cette méthode depuis plusieurs années, ça fonctionne bien. Soudainement, suite à un crash de mon DD, et une réinstallation mal faite, les url propres n’étaient plus reconnues en local. Plus précisément, la réécriture d’url fonctionne, mais le htaccess ne fonctionnait plus avec cette config et MAMP.

    solution trouvée :

    Au lieu de mettre, dans vhost.conf

    <VirtualHost *>
    DocumentRoot "/Users/moi/Sites/SPIP"
    </VirtualHost>

    j’ai mis

    <VirtualHost *>
    DocumentRoot "/Users/moi/Sites/SPIP"

       <Directory "/Users/moi/Sites/SPIP">
           Options FollowSymLinks
           AllowOverride None
       </Directory>
       <Directory "/Users/moi/Sites/SPIP">
           Options Indexes FollowSymLinks MultiViews
           AllowOverride All
           Order allow,deny
           allow from all
       </Directory>
    </VirtualHost>

    et le htaccess est correctement pris en compte.

  • Le 5 novembre 2015 à 17:17, par Maïeul En réponse à : Gérer beaucoup de sites SPIP en local sous MacOsX

    merci pour le commentaire. pour ma part je n’active jamais les urls propres en local (sauf pour developper des plugins d’urls propres).

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

À propos

Titulaire d’un master en sciences religieuses de l’Université de Strasbourg, je suis depuis août 2012 assistant-diplômé en histoire du christianisme antique et littérature apocryphe chrétienne à l’Université de Lausanne, où je prépare une thèse sous la direction de Frédéric Amsler.

Dans le cadre de la rédaction de mon mémoire de master, j’ai été emmené à utiliser LaTeX, et j’ai donc décider de partager mes techniques. En effet, au cours de mes premiers apprentissages, j’ai découvert que les ressources indiquant les outils pour l’utilisation de LaTeX en sciences humaines étaient rares.

Par ailleurs, je suis membre actif de la communauté SPIP, au sein de laquelle j’administre le site Spip-Contrib. Je propose sur ce site quelques notes sur SPIP, en général à destination de webmestre.

Il m’arrive également de faire un petit peu de Python, de temps en temps.

Enfin, je tiens un blog de réflexions politiques et religieuses.

Maïeul