Comment intégrer une vidéo envoyée par FTP dans la médiathèque WordPress

Rédacteur : LaRedac
30 juillet 2025

Une vidéo chargée par FTP mais absente de l’interface

Le besoin initial était simple : rendre accessible dans WordPress une vidéo déjà transférée en FTP. Le fichier, bien présent dans le dossier wp-content/uploads, n’apparaissait pourtant pas dans la médiathèque. Aucune erreur, aucun message. Juste un vide.

Premier réflexe : rechercher une méthode classique pour forcer l’import. Le plugin « Add From Server » est historiquement conçu pour cela. Mais une vérification rapide montre qu’il n’est plus maintenu depuis plusieurs années. L’option est donc écartée pour éviter d’introduire une faille ou un conflit dans le site.

Explorer une alternative manuelle sans plugin

Vient alors la question clé : peut-on « déclarer » manuellement un fichier média déjà présent sur le serveur ? La réponse est oui, mais cela implique d’interagir avec WordPress au niveau de sa base de données et de sa structure d’attachement.

WordPress ne détecte pas automatiquement les fichiers présents dans les dossiers. Il ne considère comme « médiathèque » que ce qui est inscrit dans la base avec le type attachment. Il faut donc créer cette entrée manuellement, en associant le fichier local au bon format de métadonnées.

Script pour enregistrer la vidéo dans la base

Un code PHP a été rédigé pour automatiser cette opération :

function lia_register_video_attachment() {
    $file = 'wp-content/uploads/2025/06/mavideo.mp4';
    $filepath = ABSPATH . $file;

    if (!file_exists($filepath)) {
        echo 'Fichier introuvable';
        return;
    }

    $filetype = wp_check_filetype(basename($file), null);

    $attachment = array(
        'guid'           => site_url($file),
        'post_mime_type' => $filetype['type'],
        'post_title'     => sanitize_file_name(basename($file)),
        'post_content'   => '',
        'post_status'    => 'inherit',
        'post_type'      => 'attachment',
    );

    $attach_id = wp_insert_attachment($attachment, $filepath);

    require_once(ABSPATH . 'wp-admin/includes/image.php');
    $attach_data = wp_generate_attachment_metadata($attach_id, $filepath);
    wp_update_attachment_metadata($attach_id, $attach_data);

    echo 'Fichier enregistré en tant qu’attachment ID : ' . $attach_id;
}
add_action('init', 'lia_register_video_attachment');

Ce code doit être inséré temporairement dans le functions.php du thème actif. Il s’exécute à l’appel du site, en une seule fois, puis doit être retiré immédiatement après pour éviter les doublons.

Une fois exécuté, la vidéo devient disponible dans la médiathèque comme n’importe quel autre média. Elle peut alors être insérée via l’éditeur ou utilisée comme source dans un bloc vidéo.

Autre possibilité : insérer le fichier directement dans le contenu

Pour les cas où l’on ne souhaite pas l’enregistrer dans la médiathèque, l’insertion directe dans une page reste envisageable. Exemple d’intégration HTML :

<video controls width="640">
  <source src="https://exemple.fr/wp-content/uploads/2025/06/mavideo.mp4" type="video/mp4">
  Votre navigateur ne supporte pas la lecture vidéo.
</video>

Ce mode d’intégration fonctionne sans lien avec la médiathèque, mais sans les avantages de gestion WordPress (édition, compression, changement de nom ou de format).

Quand la médiathèque devient indispensable

L’intégration via attachment devient cruciale si l’on veut :

  • utiliser des plugins de galerie ou de media player évolués ;
  • gérer les fichiers dans l’interface admin ;
  • activer des restrictions d’accès ou de droits ;
  • exploiter le CDN ou les optimisations natives de WordPress.

Dans ces cas, le script vu plus haut est la solution la plus propre et la plus pérenne.

Pour toute assistance dans la mise en œuvre de ce script ou l’automatisation d’imports médias massifs, vous pouvez nous contacter. Nous intervenons aussi bien sur les WordPress standards que sur les architectures personnalisées.

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Voir aussi…

Merci, votre message a bien été envoyé

Nous avons bien reçu votre demande. Nous revenons vers vous au plus vite avec une réponse claire et des premières orientations.

Si votre demande est urgente

contactez-nous par message sur WhatsApp.

WhatsApp