erreur image présente mais ne s'affiche pas

une situation surprenante dans trois articles récents, les images n’apparaissent pas, leur place est dessinée, et si on clique, l’image apparait… le fichier est donc bien à sa place… mais la vignette semble avoir disparu …
cette situation fait peut-être suite à une restauration du serveur pour des raisons techniques à j-3, qui correspondaient à des jours sans apport de contenu
les articles antérieurs n’ont pas de problèmes.
le pb est pour les articles créés depuis le restauration
quand j’essaie de réimporter les images, j’ai systématiquement une erreur « erreur de transfert », idem si je chercher à créer un nouveau document image…
et j’ai des messages dans la partie privée
Warning: file_put_contents(…/tmp/meta_cache.php.85034566069efd1de426268.06479050): Failed to open stream: Permission denied in /home/venissie/spip-lepcf/ecrire/inc/flock.php on line 242
je ne vois rien dans les logs…
merci d’avance d’une piste

complément, je me dis qu’il peut y avoir eu des mises à jour, donc j’essaie un spip_loader, sauf qu’il me dit que le répertoire courant n’a pas les droits en écriture… pourtant, le répertoire du site est bien en 755…

Et si, en ligne de commande ssh, depuis la racine du site, tu fais : chmod -R 755 .

ben en ssh ou en ftp, ca ne change rien, tout est bien en 755… et spip_loader continue de me dire de tout passer en 755…

tout import d’image génère une erreur d’import

et un document pdf attaché à un article apparait bien après l’article dans la liste des documents avec le bon nom, mais si je veux le modifier, mais si je remets par ftp le fichier au bon endroit, il ne le voie pas…

en fait, tout se passe comme si le process spip n’avait pas accès malgré le 755 donc aurait changé de groupe ? pourtant, je passe tout en 777 depuis IMG, et ca fait toujours la même chose…

Est-ce qu’il n’y aurait pas une taille maxi de l’espace atteinte ?
Sinon « fait peut-être suite à une restauration du serveur pour des raisons techniques » il semble donc qu’il y ait eu un souci… La restauration ne permettrait pas de nouveaux articles ?
Je crois que SPIP n’est pour rien dans cette mésaventure et il faudrait avoir l’avis de l’hébergeur…

malheureusement, pas de réponse à mes tickets chez ovh
et il n’y a pas du tout de pb de taille max atteinte…

pourtant, il y a bien un pb de droit…
quand j’essaie d’ajouter une nouvelle image dans un article, j’obtiens
Warning: file_put_contents(…/tmp/meta_cache.php.128021489469f10eb54ad907.67886838): Failed to open stream: Permission denied in /home/venissie/spip-lepcf/ecrire/inc/flock.php on line 242

explorant les problèmes de droit , je constate que mon processus ssh tourne sur un user venissie+ alors que les dossiers en 755 ont comme propriétaire venissie-pam… je me demande d’ou ca peut venir, peut-être de la restauration ?
Est-ce qu’il faut changer le propriétaire de toute l’arborecence pour venissie+ ???

Assez souvent, l’user FTP n’est pas le même que l’user SSH.
Il faudrait que l’user des dossiers soit celui du FTP.

merci, tout est résolu avec un peu d’aide de mistral pour avoir la bonne configuration de droits… qq chmod et tout est rentré dans l’ordre
l’origine est donc la restauration ovh qui a modifié les droits…

j’ai demandé à mistral un script qui remette tous les droits au propre…
ca peut faire un utilitaire spip ? s’il est juste bien sûr…

#!/bin/bash

# Script pour corriger les permissions et la structure d'un site SPIP
# Usage: ./fix_spip_permissions.sh [chemin_vers_dossier_spip]
# Exemple: ./fix_spip_permissions.sh ~/spip-lepcf

# Vérifier que le script est exécuté avec un argument (dossier SPIP)
if [ -z "$1" ]; then
    echo "❌ Erreur: Veuillez spécifier le chemin vers le dossier SPIP."
    echo "   Exemple: $0 ~/mon-site-spip"
    exit 1
fi

SPIP_DIR="$1"

# Vérifier que le dossier existe
if [ ! -d "$SPIP_DIR" ]; then
    echo "❌ Erreur: Le dossier '$SPIP_DIR' n'existe pas."
    exit 1
fi

# Récupérer l'utilisateur actuel (ex: venissie-pam)
CURRENT_USER=$(whoami)
GROUP=$(id -gn)  # Récupère le groupe principal de l'utilisateur

echo "🔧 Correction des permissions pour SPIP dans : $SPIP_DIR"
echo "   Utilisateur: $CURRENT_USER"
echo "   Groupe: $GROUP"
echo ""

# 1. Corriger le propriétaire de tous les fichiers/dossiers
echo "🔹 Correction du propriétaire ($CURRENT_USER:$GROUP)..."
chown -R "$CURRENT_USER:$GROUP" "$SPIP_DIR"

# 2. Permissions pour les dossiers
echo "🔹 Correction des permissions des dossiers..."
find "$SPIP_DIR" -type d -exec chmod 755 {} \;

# 3. Permissions pour les fichiers (sauf .htaccess et fichiers sensibles)
echo "🔹 Correction des permissions des fichiers..."
find "$SPIP_DIR" -type f -exec chmod 644 {} \;

# 4. Permissions spécifiques pour les fichiers sensibles
echo "🔹 Correction des permissions des fichiers sensibles..."
# Fichiers de configuration (ex: mes_options.php, spip_loader.php)
find "$SPIP_DIR" -type f \( -name "mes_options.php" -o -name "spip_loader*.php" -o -name "spip_loader*.json" -o -name ".env" \) -exec chmod 644 {} \;

# 5. Dossiers critiques pour SPIP (tmp, config, local, prive, IMG, etc.)
echo "🔹 Vérification des dossiers critiques..."
for dir in tmp config local prive IMG IMG2 plugins squelettes; do
    if [ -d "$SPIP_DIR/$dir" ]; then
        chmod 755 "$SPIP_DIR/$dir"
        chown "$CURRENT_USER:$GROUP" "$SPIP_DIR/$dir"
        echo "   ✅ Dossier '$dir/' : permissions 755, propriétaire $CURRENT_USER:$GROUP"
    fi
done

# 6. Gestion des dossiers IMG2/ (optionnel)
echo ""
echo "🔹 Vérification du dossier IMG2/..."
if [ -d "$SPIP_DIR/IMG2" ]; then
    echo "   ⚠️  Le dossier IMG2/ existe."
    echo "   Contenu :"
    ls -la "$SPIP_DIR/IMG2" | head -n 5
    echo ""
    read -p "   Voulez-vous fusionner IMG2/ dans IMG/ ? (O/n) " -n 1 -r
    echo ""
    if [[ $REPLY =~ ^[OoYy]$ ]]; then
        echo "   🔄 Fusion de IMG2/ dans IMG/..."
        mv "$SPIP_DIR/IMG2/"* "$SPIP_DIR/IMG/" 2>/dev/null
        rmdir "$SPIP_DIR/IMG2/" 2>/dev/null
        echo "   ✅ Fusion terminée. IMG2/ a été supprimé s'il était vide."
    else
        echo "   ⏩ IMG2/ n'a pas été modifié."
    fi
fi

# 7. Résumé final
echo ""
echo "✅ Script terminé !"
echo "   📌 Vérifiez que tout fonctionne correctement dans SPIP."
echo "   📌 Si des erreurs persistent, exécutez : ls -la $SPIP_DIR"