Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:claudiux:zwookmachine [Le 13/06/2011, 15:04]
claudiux [Configuration du DNS]
utilisateurs:claudiux:zwookmachine [Le 03/03/2023, 19:01] (Version actuelle)
L'Africain
Ligne 1: Ligne 1:
 ====== ZwookMachine ====== ====== ZwookMachine ======
 <note important>​Cette page est en cours de construction. Les informations qu'​elle contient sont fortement susceptibles d'​être modifiées.</​note>​ <note important>​Cette page est en cours de construction. Les informations qu'​elle contient sont fortement susceptibles d'​être modifiées.</​note>​
-<​note>​Dernière mise à jour : le 24/05/​2011</​note>​+<​note>​Dernière mise à jour : le 23/09/​2011</​note>​
  
 ===== Présentation ===== ===== Présentation =====
Ligne 16: Ligne 16:
 Le but de cette page est de créer un LiveDVD installable. Le but de cette page est de créer un LiveDVD installable.
  
-Contrairement aux serveurs traditionnels,​ qui ne comprennent aucune interface graphique, la ZwookMachine proposera Gnome, et ce pour deux raisons : +Contrairement aux serveurs traditionnels,​ qui ne comprennent aucune interface graphique, la ZwookMachine proposera Gnome, et ce pour deux raisons :
   * Une interface graphique est nécessaire pour créer un LiveDVD   * Une interface graphique est nécessaire pour créer un LiveDVD
   * Le but est de créer un serveur facilement installable et paramétrable par un newbie   * Le but est de créer un serveur facilement installable et paramétrable par un newbie
Ligne 69: Ligne 69:
   * quand l'​écran de connexion s'​affiche,​ faites un Ctrl-Alt-F1 pour ouvrir la console tty1 ; vous vous retrouvez devant un écran tout noir, qui effraie un peu le néophyte, mais ça mord pas !   * quand l'​écran de connexion s'​affiche,​ faites un Ctrl-Alt-F1 pour ouvrir la console tty1 ; vous vous retrouvez devant un écran tout noir, qui effraie un peu le néophyte, mais ça mord pas !
   * sur tty1, connectez-vous en adminzm   * sur tty1, connectez-vous en adminzm
-  * une fois connecté, tapez : +  * une fois connecté, tapez :
     * **sudo service gdm stop** ; cela va arrêter le serveur graphique (gdm est l'​interface de connexion graphique)     * **sudo service gdm stop** ; cela va arrêter le serveur graphique (gdm est l'​interface de connexion graphique)
     * **sudo X -configure** ; cela va créer le fichier xorg.conf.new     * **sudo X -configure** ; cela va créer le fichier xorg.conf.new
Ligne 114: Ligne 114:
 Les //​logiciels//​ se trouvent dans des //paquets// téléchargeables dans des //​dépôts//​. Les //​logiciels//​ se trouvent dans des //paquets// téléchargeables dans des //​dépôts//​.
  
-Soit dans Synaptics (menu Configuration / Dépôts), soit dans Système / Administration / Sources de logiciels : +Soit dans Synaptics (menu Configuration / Dépôts), soit dans Système / Administration / Sources de logiciels :
   * onglet Logiciels de Ubuntu : tout cocher **sauf** //Code source// et //CD-Rom// ; choisir //​Télécharger depuis// **serveur principal** (plus réactif et davantage disponible, pour les mises à jour de sécurité, que le serveur national).   * onglet Logiciels de Ubuntu : tout cocher **sauf** //Code source// et //CD-Rom// ; choisir //​Télécharger depuis// **serveur principal** (plus réactif et davantage disponible, pour les mises à jour de sécurité, que le serveur national).
   * onglet Mises à jour : cochez **//​security//​**,​ **//​updates//​**,​ éventuellement //​backports//,​ mais surtout pas //​proposed//​ ; demandez de //vérifier les mises à jour// **tous les jours** et d'​**installer les mises à jour de sécurité sans confirmation** ; //mise à niveau de la distribution//​ : **jamais**.   * onglet Mises à jour : cochez **//​security//​**,​ **//​updates//​**,​ éventuellement //​backports//,​ mais surtout pas //​proposed//​ ; demandez de //vérifier les mises à jour// **tous les jours** et d'​**installer les mises à jour de sécurité sans confirmation** ; //mise à niveau de la distribution//​ : **jamais**.
Ligne 146: Ligne 146:
  
 === Paquets obsolètes === === Paquets obsolètes ===
-Certains paquets sont rendus obsolètes par une mise à jour avec une version plus élevée ; c'est souvent le cas de //​linux-headers-2.6.xx-yy//​. Supprimez-les avec : +Certains paquets sont rendus obsolètes par une mise à jour avec une version plus élevée ; c'est souvent le cas de //​linux-headers-2.6.xx-yy//​. Supprimez-les avec :
   sudo apt-get autoremove   sudo apt-get autoremove
  
Ligne 152: Ligne 152:
 Nous avons besoin d'​installer les logiciels cités dans [[#​presentation | la présentation]]. Nous avons besoin d'​installer les logiciels cités dans [[#​presentation | la présentation]].
  
-Nous pouvons les installer en [[apt://​apache2,​apache2-doc,​mysql-server,​php5,​libapache2-mod-php5,​php5-mysql,​php5-auth-pam,​libapache2-mod-auth-pam,​perl,​php-pear,​proftpd-basic,​phpmyadmin,​openssl,​php5-gd,​freetype2-demos,​libfreetype6,​libjpeg-progs,​libjpeg62,​libpng12-0,​libgdbm3,​zlib1g,​zlib1g-dev,​expat,​sablotron,​php5-cli,​proftpd-doc,​libgd-tools,​libcompress-zlib-perl,​libxml2-dev,​mingw32-binutils,​webalizer,​php-fpdf,​ncurses-bin,​libapache2-mod-perl2,​libapache2-mod-perl2-doc,​freetds-dev,​gettext,​php5-mcrypt,​php5-mhash,​php5-sqlite,​dovecot-postfix,​php5-xcache,​dokuwiki,​txt2tags,​zopeedit,​python-ldap,​python-zodb,​openssh-server,​nautilus-gksu,​nautilus-open-terminal,​vim|un clic]] (cela prend du temps). (Si firefox vous demande avec quoi ouvrir ce lien, validez le choix par défaut qui est **apturl**.)+Nous pouvons les installer en [[apt://​apache2,​apache2-doc,​mysql-server,​php5,​libapache2-mod-php5,​php5-mysql,​php5-auth-pam,​libapache2-mod-auth-pam,​perl,​php-pear,​proftpd-basic,​phpmyadmin,​openssl,​php5-gd,​freetype2-demos,​libfreetype6,​libjpeg-progs,​libjpeg62,​libpng12-0,​libgdbm3,​zlib1g,​zlib1g-dev,​expat,​sablotron,​php5-cli,​proftpd-doc,​libgd-tools,​libcompress-zlib-perl,​libxml2-dev,​mingw32-binutils,​webalizer,​php-fpdf,​ncurses-bin,​libapache2-mod-perl2,​libapache2-mod-perl2-doc,​freetds-dev,​gettext,​php5-mcrypt,​php5-mhash,​php5-sqlite,​dovecot-postfix,​php5-xcache,​dokuwiki,​txt2tags,​zopeedit,​python-ldap,​python-zodb,​openssh-server,​nautilus-gksu,​nautilus-open-terminal,​vim,​debconf-utils,​ssh,​filezilla|un clic]] (cela prend du temps). (Si firefox vous demande avec quoi ouvrir ce lien, validez le choix par défaut qui est **apturl**.)
  
-Ou bien les installer en ligne de commande : +Ou bien les installer en ligne de commande :
  
 <​code>​ <​code>​
 sudo apt-get update sudo apt-get update
-sudo apt-get install apache2 apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql php5-auth-pam libapache2-mod-auth-pam perl php-pear proftpd-basic phpmyadmin openssl php5-gd freetype2-demos libfreetype6 libjpeg-progs libjpeg62 libpng12-0 libgdbm3 zlib1g zlib1g-dev expat sablotron php5-cli proftpd-doc libgd-tools libcompress-zlib-perl libxml2-dev mingw32-binutils webalizer php-fpdf ncurses-bin libapache2-mod-perl2 libapache2-mod-perl2-doc freetds-dev gettext php5-mcrypt php5-mhash php5-sqlite dovecot-postfix php5-xcache dokuwiki txt2tags zopeedit python-ldap python-zodb openssh-server nautilus-gksu nautilus-open-terminal vim+sudo apt-get install apache2 apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql php5-auth-pam libapache2-mod-auth-pam perl php-pear proftpd-basic phpmyadmin openssl php5-gd freetype2-demos libfreetype6 libjpeg-progs libjpeg62 libpng12-0 libgdbm3 zlib1g zlib1g-dev expat sablotron php5-cli proftpd-doc libgd-tools libcompress-zlib-perl libxml2-dev mingw32-binutils webalizer php-fpdf ncurses-bin libapache2-mod-perl2 libapache2-mod-perl2-doc freetds-dev gettext php5-mcrypt php5-mhash php5-sqlite dovecot-postfix php5-xcache dokuwiki txt2tags zopeedit python-ldap python-zodb openssh-server nautilus-gksu nautilus-open-terminal vim debconf-utils ssh filezilla
 </​code>​ </​code>​
  
-Ou bien les installer un par un : [[apt://apache2]], [[apt://apache2-doc]],​ [[apt://mysql-server]],​ [[apt://php5]], [[apt://libapache2-mod-php5]],​ [[apt://php5-mysql]],​ [[apt://php5-auth-pam]],​ [[apt://libapache2-mod-auth-pam]],​ [[apt://perl]], [[apt://php-pear]], [[apt://proftpd-basic]],​ [[apt://phpmyadmin]],​ [[apt://openssl]], [[apt://php5-gd]], [[apt://freetype2-demos]],​ [[apt://libfreetype6]],​ [[apt://libjpeg-progs]],​ [[apt://libjpeg62]],​ [[apt://libpng12-0]],​ [[apt://libgdbm3]], [[apt://zlib1g]], [[apt://zlib1g-dev]],​ [[apt://expat]], [[apt://sablotron]],​ [[apt://php5-cli]], [[apt://proftpd-doc]],​ [[apt://libgd-tools]],​ [[apt://libcompress-zlib-perl]],​ [[apt://libxml2-dev]],​ [[apt://mingw32-binutils]],​ [[apt://webalizer]],​ [[apt://php-fpdf]], [[apt://ncurses-bin]],​ [[apt://libapache2-mod-perl2]],​ [[apt://libapache2-mod-perl2-doc]],​ [[apt://freetds-dev]],​ [[apt://gettext]], [[apt://php5-mcrypt]],​ [[apt://php5-mhash]], ​ [[apt://php5-sqlite]],​ [[apt://dovecot-postfix]],​ [[apt://php5-xcache]],​ [[apt://dokuwiki]], [[apt://txt2tags]], [[apt://zopeedit]], [[apt://python-ldap]],​ [[apt://python-zodb]],​ [[apt://openssh-server]],​ [[apt://nautilus-gksu]],​ [[apt://nautilus-open-terminal]],​ [[apt://vim]]+Ou bien les installer un par un : [[apt>apache2]], [[apt>apache2-doc]],​ [[apt>mysql-server]],​ [[apt>php5]], [[apt>libapache2-mod-php5]],​ [[apt>php5-mysql]],​ [[apt>php5-auth-pam]],​ [[apt>libapache2-mod-auth-pam]],​ [[apt>perl]], [[apt>php-pear]], [[apt>proftpd-basic]],​ [[apt>phpmyadmin]],​ [[apt>openssl]], [[apt>php5-gd]], [[apt>freetype2-demos]],​ [[apt>libfreetype6]],​ [[apt>libjpeg-progs]],​ [[apt>libjpeg62]],​ [[apt>libpng12-0]],​ [[apt>libgdbm3]], [[apt>zlib1g]], [[apt>zlib1g-dev]],​ [[apt>expat]], [[apt>sablotron]],​ [[apt>php5-cli]], [[apt>proftpd-doc]],​ [[apt>libgd-tools]],​ [[apt>libcompress-zlib-perl]],​ [[apt>libxml2-dev]],​ [[apt>mingw32-binutils]],​ [[apt>webalizer]],​ [[apt>php-fpdf]], [[apt>ncurses-bin]],​ [[apt>libapache2-mod-perl2]],​ [[apt>libapache2-mod-perl2-doc]],​ [[apt>freetds-dev]],​ [[apt>gettext]], [[apt>php5-mcrypt]],​ [[apt>php5-mhash]], ​ [[apt>php5-sqlite]],​ [[apt>dovecot-postfix]],​ [[apt>php5-xcache]],​ [[apt>dokuwiki]], [[apt>txt2tags]], [[apt>zopeedit]], [[apt>python-ldap]],​ [[apt>python-zodb]],​ [[apt>openssh-server]],​ [[apt>nautilus-gksu]],​ [[apt>nautilus-open-terminal]],​ [[apt>vim]], [[apt>​debconf-utils]],​ **[[apt>​ssh]]**,​ **[[apt>​filezilla]]**
  
 ^Paquet ​ ^Renseignement demandé ^Conseil ^ ^Paquet ​ ^Renseignement demandé ^Conseil ^
Ligne 175: Ligne 175:
 |dokuwiki | Supprimer les pages à la suppression du paquet | Ne pas cocher, au risque de perdre des données | |dokuwiki | Supprimer les pages à la suppression du paquet | Ne pas cocher, au risque de perdre des données |
  
-===== Installation de Remastersys ===== 
-C'est avec [[/​remastersys]] que nous allons créer le DVD-live. 
- 
-Pour Ubuntu **Karmic** (version 2.0.13-1 et supérieures),​ entrez dans un terminal, l'une après l'​autre,​ les commandes : 
-<​code>​echo "deb http://​www.geekconnection.org/​remastersys/​repository karmic/"​ | sudo tee -a /​etc/​apt/​sources.list.d/​remastersys.list 
-sudo apt-get update 
-sudo apt-get install remastersys ubiquity-frontend-gtk</​code>​ 
- 
-Ou bien téléchargez directement la version 2.0.15 : [[http://​www.geekconnection.org/​remastersys/​repository/​karmic/​remastersys_2.0.15-1_all.deb]] et installez-la d'un double-clic. 
  
 ===== Installation de Zope 2.9.12 (Ubuntu Lucid 10.04.2) ===== ===== Installation de Zope 2.9.12 (Ubuntu Lucid 10.04.2) =====
Ligne 189: Ligne 180:
 ==== Installation de Python 2.4.6 ==== ==== Installation de Python 2.4.6 ====
 === Paquets nécessaires à la compilation === === Paquets nécessaires à la compilation ===
-  sudo apt-get install build-essential ​libreadline5-dev zlib1g-dev libjpeg62-dev subversion libpq-dev+  sudo apt-get install build-essential ​libreadline-dev zlib1g-dev libjpeg62-dev subversion libpq-dev ​lib32z1-dev 
 + 
 === Préparation et installation === === Préparation et installation ===
 Pour Python 2.4.6 : Pour Python 2.4.6 :
Ligne 198: Ligne 191:
   tar xzf Python-2.4.6.tgz   tar xzf Python-2.4.6.tgz
   cd Python-2.4.6   cd Python-2.4.6
 +  make clean
   ./configure --prefix=/​usr/​lib/​python2.4   ./configure --prefix=/​usr/​lib/​python2.4
   make   make
Ligne 221: Ligne 215:
   tar xzf Zope-2.9.12-final.tgz   tar xzf Zope-2.9.12-final.tgz
   cd Zope-2.9.12-final   cd Zope-2.9.12-final
 +  make clean
   ./configure --prefix=/​usr/​lib/​zope2.9 --with-python=/​usr/​lib/​python2.4/​bin/​python   ./configure --prefix=/​usr/​lib/​zope2.9 --with-python=/​usr/​lib/​python2.4/​bin/​python
   make   make
Ligne 229: Ligne 224:
   sudo /​usr/​lib/​zope2.9/​bin/​mkzopeinstance.py --dir=/​var/​lib/​zope2.9/​instances/​zwookedu --user=admin:​adminzope   sudo /​usr/​lib/​zope2.9/​bin/​mkzopeinstance.py --dir=/​var/​lib/​zope2.9/​instances/​zwookedu --user=admin:​adminzope
  
-Vérification : +Vérification :
   ls /​var/​lib/​zope2.9/​instances/​zwookedu/​   ls /​var/​lib/​zope2.9/​instances/​zwookedu/​
 ''​bin ​ etc  Extensions ​ import ​ inituser ​ lib  log  Products ​ README.txt ​ var''​ ''​bin ​ etc  Extensions ​ import ​ inituser ​ lib  log  Products ​ README.txt ​ var''​
Ligne 235: Ligne 230:
 ==== Rendre adminzm propriétaire des instances de Zope 2.9 ==== ==== Rendre adminzm propriétaire des instances de Zope 2.9 ====
 Rendre adminzm propriétaire du dossier ''/​var/​lib/​zope2.9'',​ et root propriétaire des scripts ''​inituser''​ (s'ils existent) : Rendre adminzm propriétaire du dossier ''/​var/​lib/​zope2.9'',​ et root propriétaire des scripts ''​inituser''​ (s'ils existent) :
-  sudo chown -R adminzm:adminzm ​/​var/​lib/​zope2.9+  sudo chown -R $USER:$USER /​var/​lib/​zope2.9
   sudo chown root:root /​var/​lib/​zope2.9/​instances/​*/​inituser 2> /dev/null   sudo chown root:root /​var/​lib/​zope2.9/​instances/​*/​inituser 2> /dev/null
  
 Éditer le fichier de configuration de l'​instance : Éditer le fichier de configuration de l'​instance :
   gedit /​var/​lib/​zope2.9/​instances/​zwookedu/​etc/​zope.conf   gedit /​var/​lib/​zope2.9/​instances/​zwookedu/​etc/​zope.conf
-Vers la ligne 150, insérer : +Vers la ligne 150, insérer :
   effective-user adminzm   effective-user adminzm
 Ainsi, l'​instance zwookedu fonctionnera sous le nom d'​adminzm. Ainsi, l'​instance zwookedu fonctionnera sous le nom d'​adminzm.
Ligne 252: Ligne 247:
 Test : Ouvrir Firefox sur [[http://​localhost:​8080]] Test : Ouvrir Firefox sur [[http://​localhost:​8080]]
  
-La page d'​accueil de Zope apparait. ​+La page d'​accueil de Zope apparait.
  
-Cliquez ensuite sur le lien [[http://​localhost:​8080/​manage|Zope Management Interface]],​ une fenêtre d'​authentification apparait. Utilisateur : admin et mot de passe admin, comme défini précédemment.+Cliquez ensuite sur le lien [[http://​localhost:​8080/​manage|Zope Management Interface]],​ une fenêtre d'​authentification apparait. Utilisateur : admin et mot de passe adminzope, comme défini précédemment.
  
 ==== Liens symboliques simplificateurs ==== ==== Liens symboliques simplificateurs ====
Ligne 270: Ligne 265:
 Les liens symboliques dont il est question ci-dessus ont été créés. Les liens symboliques dont il est question ci-dessus ont été créés.
  
-On crée le script ''/​etc/​init.d/​zope2.9''​qui contient ceci :+On crée le script ''/​etc/​init.d/​zope2.9''​ 
 +  sudo gedit /​etc/​init.d/​zope2.9 
 +qui contient ceci  ​(Attention à la ligne 27 : **OWNER=adminzm** ; à modifier éventuellement pour l'​adapter à votre cas) :
 <​code>​ <​code>​
 #! /bin/sh #! /bin/sh
Ligne 373: Ligne 370:
   sudo chmod +x /​etc/​init.d/​zope2.9   sudo chmod +x /​etc/​init.d/​zope2.9
  
-Installons les raccourcis-service : +Installons les raccourcis-service :
   sudo update-rc.d zope2.9 defaults 90 10   sudo update-rc.d zope2.9 defaults 90 10
 Ainsi le service zope2.9 démarrera en position 90, avant Apache2 (qui démarre en position 91), et s'​arrêtera en position 10, après Apache2 (qui s'​arrête en position 9). Ainsi le service zope2.9 démarrera en position 90, avant Apache2 (qui démarre en position 91), et s'​arrêtera en position 10, après Apache2 (qui s'​arrête en position 9).
Ligne 382: Ligne 379:
   gedit /​etc/​zope2.9/​zope.conf   gedit /​etc/​zope2.9/​zope.conf
  
-Vérifier les "​directives"​ suivantes, en les adaptant à vos besoins : +Vérifier les "​directives"​ suivantes, en les adaptant à vos besoins :
 <​code>​ <​code>​
 <​environment>​ <​environment>​
Ligne 482: Ligne 479:
  
   cd /​var/​lib/​zope2.9/​instances/​zwookedu/​Products/​   cd /​var/​lib/​zope2.9/​instances/​zwookedu/​Products/​
-  mv /​home/​adminzm/​Téléchargements/​ZwooksManagerAAAAMMJJ.tgz .    +  mv ~/​Téléchargements/​ZwooksManagerAAAAMMJJ.tgz .
  
 (AAAAMMJJ est une date ; ne pas oublier le point, qui désigne le répertoire actuel, à la fin de la dernière commande.) (AAAAMMJJ est une date ; ne pas oublier le point, qui désigne le répertoire actuel, à la fin de la dernière commande.)
  
-Décompresser ce fichiez ​:+Décompresser ce fichier ​:
  
   tar xzf ZwooksManager20100516.tgz   tar xzf ZwooksManager20100516.tgz
Ligne 660: Ligne 657:
 }; };
 </​code>​ </​code>​
 +
 +=== Redémarrage du service bind ===
 +
 +  sudo service bind9 restart
 +
 +=== Utiliser ce service DNS ===
 +
 +Éditer le fichier ''/​etc/​resolv.conf''​ afin qu'il ne contienne que la ligne nameserver suivante :
 +  nameserver 127.0.0.1
 +
 +(Commentez les autres lignes en les faisant commencer par un #.)
 +
 +=== Tests ===
 +
 +Peut-on //pinguer// le nom de domaine ?
 +  ping www2.lyc-detest.ac-aix-marseille.fr
 +
 +
 +Test du fichier de configuration ''​db.zm''​ :
 +  named-checkzone www2.lyc-detest.ac-aix-marseille.fr /​etc/​bind/​db.zm
 +
 +
 +Test du fichier de configuration ''​db.zm.inv''​ :
 +  named-checkzone www2.lyc-detest.ac-aix-marseille.fr /​etc/​bind/​db.zm.inv
 +
 +(S'il vous est répondu que cette zone //has no address records (A or AAAA)//, c'est normal.)
 +
 +
 +Test de la résolution directe :
 +  host www2.lyc-detest.ac-aix-marseille.fr
 +ou, plus complet :
 +  dig www2.lyc-detest.ac-aix-marseille.fr AXFR
 +
 +
 +Test de la résolution inverse :
 +  host 192.168.0.13
 +ou, plus complet :
 +  dig 0.168.192.in-addr.arpa AXFR
 +
 +
 ===== Apache2.2 ===== ===== Apache2.2 =====
  
 <​note>​En raison de l'​utilisation de Php5, le MPM (module multi-traitement) d'​Apache2.2 utilisé est le //prefork// et non le //worker// (qui est plus rapide, mais ne permet pas d'​isoler les requêtes, ce qui est nécessaire avec Php5).</​note>​ <​note>​En raison de l'​utilisation de Php5, le MPM (module multi-traitement) d'​Apache2.2 utilisé est le //prefork// et non le //worker// (qui est plus rapide, mais ne permet pas d'​isoler les requêtes, ce qui est nécessaire avec Php5).</​note>​
 +
 +==== Php5 ====
 +
 +Une erreur m'a bloqué longtemps, m'​empêchant d'​utiliser des solutions Php/MySQL : les modules idoines de Php5 ne se chargent pas ; une erreur "**PHP Startup: Unable to load dynamic library**"​ apparaît dans ''/​var/​log/​apache2/​error.log''​.
 +
 +La solution :
 +  cd /​usr/​lib/​php5
 +  sudo ln -s 20090626+lfs modules
 +
 +Ensuite, éditer le fichier ''/​etc/​php5/​apache2/​php.ini''​ ; modifier la ligne :
 +  extension_dir = "/​usr/​lib/​php5/​*/"​
 +en :
 +  extension_dir = "/​usr/​lib/​php5/​modules/"​
  
 ==== Modules ==== ==== Modules ====
  • utilisateurs/claudiux/zwookmachine.1307970281.txt.gz
  • Dernière modification: Le 15/12/2011, 15:21
  • (modification externe)