Forum : Simple Machine Forum (SMF)
Conseil d'utilisation
Le suivi des messages et alertes est assez compliqué sur le forum Simple Machines (ironique, non ?). Afin d'avoir des alertes saines et propres, effectuez les actions suivantes après création de votre compte :
Nettoyer l'historique :
- Sur la page principale du forum, scroller en bas de page et cliquer sur “Marquer TOUS les messages comme lus”. Il est également possible de le faire sélectivement pour chaque section/sous-section voulue via le bouton “Marquer lu” en bas de chaque page de section/sous-section.
Suivre les sections, sous-sections et les sujets voulus :
- Si tous les messages postés dans une sections vous intéressent potentiellement, allez dans la section voulue puis cliquez sur le bouton “Notifier” (ex : section “Annonces”, partie “Khaganat”)
- La même manipulation marche pour une sous-section (ex : sous-section “Carnet d'inspiration” de la section “Général”, partie “Khaganat”)
- Si un sujet vient d'être créé dans une section que vous ne suivez pas et ne désirer pas suivre, vous pouvez suivre le sujet uniquement de la même manière en cliquant sur le bouton “Notifier” en bas de page du sujet
Configurer ses alertes :
- Dans “Profil > Paramètres du compte” : s'assurer qu'une adresse e-mail valide soit renseignée
- Depuis cette même page, le bouton “Modifier le profil” est un menu déroulant. Accédez à “Notifications et E-mails”.
- Cochez “Me notifier automatiquement les réponses quand je commence ou réponds à un sujet.” afin de recevoir des alertes pour les sujets auxquels vous participer.
- Vous pouvez gérer la fréquence de notification.
- Vous pouvez gérer ici toutes vos notifications (inscription à sujet/sous-section/section).
Personnaliser l'affichage des messages :
- Dans “Profil > Paramètres du compte” puis depuis le menu déroulant du bouton “Modifier le profil”, accédez à “Affichage et disposition”. Vous pouvez configurer ici :
- le nombre de “Sujets affichés par page”
- le nombre de “Messages affichés par page”
Consulter les derniers messages postés tous sujets confondus depuis votre dernière connexion (nécessite donc d'être connectés) : https://khaganat.net/forum/index.php?action=unread
Consulter les messages postés tous sujets confondus depuis le plus récent (accessible hors connexion) : https://khaganat.net/forum/index.php?action=recent
Ignorer spécifiquement des sections et sous-sections :
- Il est possible d'ignorer des sections et sous-sections d'une autre manière. Dans “Profil > Paramètres du compte” puis depuis le menu déroulant du bouton “Modifier le profil”, accédez à “Ignorer des Sections”. Vous pouvez ici cocher/découcher les sections et sous-sections à ignorer : vous ne recevrez aucune alterne de nouveaux messages pour les items cochés (texte explicatif plus complet présent sur le page).
Processus d'installation
Créer une database (via phpmyadmin par exemple) pour smf, avec comme utilisateur “smf”1) (tous les privilèges, grant ; client “localhost”).
Télécharger et dézipper la dernière version de SMF dans un dossier à la racine du dossier web, par exemple /var/www/forum
.
wget http://download.simplemachines.org/index.php/smf_2-0-11_install.tar.gz tar zxvf smf_2-0-11_install.tar.gz -C forum
Vérifier les droits :
chown -R www-data:www-data /var/www/forum chmod -R g+W /var/www/forum
Se rendre à l'adresse web https://monsite.com/forum/install.php
(À adapter suivant votre serveur et votre installation.)) et suivre les étapes. Mettre la base de donnée en utf8.
S'il y a des soucis après l'installation, télécharger ici le truc pour réparer : http://wiki.simplemachines.org/smf/Repair_settings.php
Vérifier que le forum est bien installé, passer en français (télécharger et mettre le pack). Il va écraser certains fichiers, c'est normal.
wget http://download.simplemachines.org/index.php/smf_2-0-11_french-utf8.tar.gz tar zxvf smf_2-0-11_french-utf8.tar.gz
À adapter à la version du forum ; attention, utf8 n'est pas le premier de la liste sur http://download.simplemachines.org/?smflanguages;lang=french
Refaire après ça :
chown -R www-data:www-data /var/www/forum chmod -R g+W /var/www/forum
Installer les divers plugins.
Plugins
Télécharger les plugins qui vous intéressent sur http://custom.simplemachines.org/mods/.
Ensuite, aller dans l'administration du forum, Gestionnaire de paquets/Télécharger des paquets/Transférer un paquet et envoyez les paquets depuis votre ordinateur.
Tous les paquets s'installent sans souci, sauf subaccount, le plus important, car trop vieux. Il faut télécharger la version officielle, puis aller dans Gestionnaire de paquets/Parcourir les paquets et tout en bas, cliquer sur Avancé. On peut alors “émuler” une version plus ancienne du forum, le temps d'installer le paquet. Remplacer SMF 2.0.11
par SMF 2.0 RC4
, valider, installer subaccount.
Plugins installés sur le forum de Khaganat
Spoiler BBCode
Version actuelle 1.1.3
http://custom.simplemachines.org/mods/index.php?mod=2330
Permet de gérer des balises de “spoiler”.
Admin member list registration date
Version actuelle 1.2
http://custom.simplemachines.org/mods/index.php?mod=1085 ?
Possibilité de lister les membres par date d'enregistrement (pratique quand les bots passent).
Characters remaining of post
Version actuelle 1.0.4
http://custom.simplemachines.org/mods/index.php?mod=3722
Comptabilise le nombre de mot max qui restent dans un post (oui, il y a une limite, même si elle est réglée haute).
SubAccounts Mod
Version actuelle 1.0.1
http://custom.simplemachines.org/mods/index.php?mod=2264
LE mod important, permet de gérer des sous-comptes (utiles pour le rp : un nom=un perso).
Tagging System
Version actuelle 3.0
http://custom.simplemachines.org/mods/index.php?mod=579
Permet d'ajouter des “tags” à un sujet (aide sur certains thèmes récurrents à mieux les lister).
Enhancements to purge inactive members
Version actuelle 1.3.6
http://custom.simplemachines.org/mods/index.php?mod=2569
Gestion des membres inactifs.
SMF Theme Changer
Version actuelle 1.0.1
http://custom.simplemachines.org/mods/index.php?mod=3356
Permet de switcher de thème même sans être connecté ; pas très bien intégré au thème principal (peu visible dans le bas du forum) mais a le mérite d'exister.
My Posts
Version actuelle 1.2
http://custom.simplemachines.org/mods/index.php?mod=3809
Lister ses propres messages.
Plus installé mais...
Addthis widget in first post
Version actuelle 2.0
Addthis a un souci, il piste les gens même s'ils ne cliquent pas. Bref, ça ne va pas, on est pas ici pour fliquer.
Mais c'est un bon outil qui permet de relayer un post sur tous les réseaux sociaux facilement, très utile niveau com… à travailler à l'occase.
Like Posts
Version actuelle 1.5.2
http://custom.simplemachines.org/mods/index.php?mod=3708
Mod modifié pour laisser des guimauves aux gens. Façon d'encourager ceux qui font ce qu'on aime.
Vu qu'il bugue avec les dernières versions du forum, nous l'avons enlevé jusqu'à ce qu'on fasse une version à nous. Mais la version en ligne est plus récente, elle peut mieux marcher.
Thème
Les thèmes sont enregistrés dans :
/var/www/forum/Themes/
Nous avons créé le thème 'Khanat' ; pensez à sauvegarder vos thèmes !
Images de fond de page /Favicon / logos
Dans l'optique de rassembler toutes les images de fond, favicon etc. qui sont semblables en un seul et même endroit (en créant des liens symboliques par exemple), voici où se trouvent ces images dans ce thème :
/var/www/forum/Themes/Khanat/images
- khanat_background_01.jpg : image d'arrière-plan (appel depuis /var/www/forum/Themes/Khanat/css/index.css ) ;
- khanat_logo.png : bannière du site, définie par le panneau d'administration du forum SMF : Configuration » Thème en cours - Dans 'Options et Préférences du thème' : “URL vers l'image de logo:”
Le favicon ne semble pas géré de façon modulable, et il a donc fallu le placer directement dans :
/var/www/forum/
C'est un fichier nommé favicon.ico
Peut-être faudrait-il voir à installer un plugin pour améliorer la prise en charge du favicon : à étudier
Sauvegardes régulières
Il y a un bouton dans le panneau d'administration pour sauver tout en format zip, mais ça ne semble pas automatisable.
Sinon, plus classique, sauver la base de donnée Mysql (à lancer via un script ou cron)
/usr/bin/mysqldump -u root -p$(cat /home/user/.password) --opt smf > /home/user/backup/smf-mysqldump.sql * ''/usr/bin/mysqldump'' est la commande pour lancer le "dump" (sauvegarde) de la base * ''-u'' indique l'utilisateur de la base (ici, c'est //root//, mais ça pourrait aussi être //smf//) * ''-p'' indique le mot de passe. Ici, vu que le script est automatisé, le mot de passe est stocké dans un fichier caché (''.password''), dans un endroit que le script peut lire. (''/home/user/''). Adaptez tout cela de façon plus sécurisée suivant votre processus de sauvegarde ; par exemple dans /root/, avec un fichier au nom qui n'éveille pas les soupçons, lisible uniquement en root. * ''--opt'' évite certaines erreurs. * ''smf'' est le nom de la base de donnée à sauvegarder. * ''> /home/user/backup/smf-mysqldump.sql'' indique vers quel format et où sauvegarder le tout.
Ce fichier .sql devrait ensuite être envoyé vers un autre serveur, séparé physiquement du premier.
Voir aussi l'article Processus de sauvegarde sur un serveur.
Restauration
Si vous migrez le forum de place, ou pour récupérer depuis une sauvegarde :
Installer le forum, ses plugins et thème, puis remettre la base mysql.
mysql -u root -p -D smf < smf.sql
- -u : l'utilisateur (ici, root)
- -p : son mot de passe. Comme on ne précise rien, il sera demandé.
- -D : la base de donnée
Mise à jour de plugins ("paquets")
L'installation et la désinstallation d'un paquet se fait par un processus de patch ; l'installation ajoute des modifications dans certains fichiers de SMF, la désinstallation défait ces modifications.
Mais voilà, parfois ça ne se passe pas aussi bien que prévu, et un paquet peut refuser de se désinstaller. Pas de panique, ce n'est souvent pas bien grave, il suffit de repérer les fichiers qui posent souci et à quel endroit exactement, et d'appliquer des modifications à la main pour que le patch (ou plutôt le “dépatch” si l'on peut dire) soit content et fonctionne sans erreur.
Pourquoi vouloir désinstaller un paquet pour le mettre à jour ? Parce-que le nouveau paquet ne peut généralement pas appliquer ses modifications si une ancienne version est déjà installée.
Exemple
Voici un exemple concret, avec le paquet “Enhancements to purge inactive members”, pour passer de la version 1.3.6 à la 1.3.7 :
Le processus de patch reporte une erreur dans la première action à effectuer sur le fichier Sources/Who.php
. Pour analyser la chose on extrait le paquet et on cherche quel fichier contient la modification à effectuer :
mkdir /tmp/purgemember/
tar -C/tmp/purgemember/ -xzf Packages/PurgeMemberEnhancement_1.3.6.tar.gz
grep -r Who.php /tmp/purgemember/
/tmp/purgemember/modification-2.0.xml: <file name="$sourcedir/Who.php">
On ouvre le fichier /tmp/purgemember/modification-2.0.xml
et on cherche le bloc contenant la modification :
<file name="$sourcedir/Who.php">
<operation>
<search position="before"><![CDATA[
'mods' => array(]]></search>
<add><![CDATA[
// BEGIN MOD PurgeMemberEnhancement
'<a href="http://custom.simplemachines.org/mods/index.php?mod=2569" target="_blank" class="new_win">Enhancements to purge inactive members</a>, 1.3.6 © 2010-2014, davidhs',
// END MOD PurgeMemberEnhancement
]]></add>
</operation>
</file>
Le patch cherche dans le fichier Source/Who.php une ligne contenant 'mods' ⇒ array(
pour ajouter en-dessous les lignes suivantes :
// BEGIN MOD PurgeMemberEnhancement '<a href="http://custom.simplemachines.org/mods/index.php?mod=2569" target="_blank" class="new_win">Enhancements to purge inactive members</a>, 1.3.6 © 2010-2014, davidhs', // END MOD PurgeMemberEnhancement
Regardons dans Sources/Who.php de quoi ça a l'air :
'mods' => array( // BEGIN MOD CharsRemainingOfPost '<a href="http://custom.simplemachines.org/mods/index.php?mod=3722" target="_blank" class="new_win">Characters remaining of post</a>, 1.0.4 © 2013-2014, davidhs', // END MOD CharsRemainingOfPost // BEGIN MOD PurgeMemberEnhancement '<a href="https://custom.simplemachines.org/mods/index.php?mod=2569" target="_blank" class="new_win">Enhancements to purge inactive members</a>, 1.3.7 | © 2010-2017, <a href="https://custom.simplemachines.org/mods/index.php?action=search;author=242014" target="_blank" class="new_win">davidhs</a> | <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" class="new_win">Creative Commons Attribution 3.0 Unported License</a>', // END MOD PurgeMemberEnhancement
Le souci, ici, est que le bloc de // BEGIN MOD PurgeMemberEnhancement
à // END MOD PurgeMemberEnhancement
ne se situe pas juste après 'mods' ⇒ array(
. On corrige ça :
'mods' => array( // BEGIN MOD PurgeMemberEnhancement '<a href="https://custom.simplemachines.org/mods/index.php?mod=2569" target="_blank" class="new_win">Enhancements to purge inactive members</a>, 1.3.7 | © 2010-2017, <a href="https://custom.simplemachines.org/mods/index.php?action=search;author=242014" target="_blank" class="new_win">davidhs</a> | <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" class="new_win">Creative Commons Attribution 3.0 Unported License</a>', // END MOD PurgeMemberEnhancement // BEGIN MOD CharsRemainingOfPost '<a href="http://custom.simplemachines.org/mods/index.php?mod=3722" target="_blank" class="new_win">Characters remaining of post</a>, 1.0.4 © 2013-2014, davidhs', // END MOD CharsRemainingOfPost
Et là on devrait pouvoir désinstaller le paquet sans souci.
Problèmes et bidouilles
Modifier le mail d'envoi
J'ai passé du temps à chercher alors autant noter ça. C'est valable sur la version 2.1.3.
Modifier le mail d'envoi dans forum/Settings.php
, à la section $webmaster_email =
.
Puis dans le menu de l'administration du forum, aller sur Maintenance
> E-mail
> Paramètres
et changer les infos concernant SMTP.
Infos suivant les fournisseurs :
- Infomaniak, protocole smtp - starttls, mail.infomaniak.com, port 587 (et non 465 comme ils le préconisent).
- Scaleway (email transactionnels), protocole smtp - starttls, smtp.tem.scw.cloud, port 587, par contre rentrer le nom d'utilisateur (suite de chiffres et lettres) et non le “mail”, et le mot de passe de la clé API.