Import FTP

Le FTP, File Transfert Protocol est un protocole de transfert de fichiers.

Il s’agit d’un moyen codifié utilisé pour transférer des fichiers d’un ordinateur à un serveur ou inversement d’un serveur à un ordinateur. Il permet aussi d’échanger des fichiers entre plusieurs ordinateurs.

Attention, pour ce faire, il est essentiel de disposer d’une connexion Internet.
Comme le FTP a été pensé pour de gros transferts, il est possible de transférer plusieurs fichiers lourds à la fois.

Le Serveur FTP est à fournir par vos soins, cela peut être un service acheté chez un prestataire tel que OVH. Une fois installé, il permet à un “Client” (ici la Plateforme Saooti Octopus) de lire, modifier ou supprimer les fichiers du Serveur.

Le Serveur est identifié par son adresse IP. Cette adresse va permettre à la plateforme SAOOTI de se connecter à votre Serveur FTP au travers des ports 20 (données) et 21 (commandes). La version sécurisée du FTP (FTPS) est accessible au travers du port 990. La numérotation des ports est une pure convention, elle peut varier selon les choix de l’administrateur système.

shema-import-ftp

A noter :

Une fois importés, vos épisodes sont exploitables dans la plateforme SAOOTI comme tout autre contenu. Ils apparaissent automatiquement dans l’émission à laquelle ils ont été rattachés, y compris dans le fil RSS de cette émission. Vous pouvez en faire la promotion sur vos Réseaux Sociaux, générer le code HTML pour vos Newsletter ou encore Insérer les QR Code de ces épisodes ou émissions dans vos affiches, prospectus… Tous les épisodes remontés sont, le cas échéant, distribués automatiquement vers les plateformes audio grand public de votre choix (Apple, Deezer, Spotify, Amazon, Google…). Vous disposez enfin de vos rapports d’écoute certifiables ACPM. Vous pouvez monétiser vos audiences auprès de votre régie, quelque soit les modalités d’écoute de vos podcasts (players, deezer, Apple, Google…).

La fonction d’Import FTP de la plateforme SAOOTI Octopus est une fonction qui vient récupérer automatiquement toutes les 20 minutes le contenu d’un répertoire FTP de votre choix. Vous pouvez aussi forcer manuellement la récupération de ces fichiers.

Une application concrète de cette fonction concerne les Radio, qui ont la possibilité de configurer dans leur Diffuseur une extraction automatique de leurs émissions podcastables vers un répertoire FTP. Les logiciels de diffusion Zetta, Zenon, Open Radio, Win Radio disposent de ce type de fonction. Notez que le présent article ne traite pas de la configuration de votre Diffuseur pour qu’il puisse effectuer l’extraction de vos émissions vers un FTP, pour cela, merci de vous référer à la documentation de votre logiciel de diffusion.

Le présent article explique comment :

    • Etape A : configurer une connexion vers un serveur FTP
    • Etape B : configurer la sélection intelligente des fichiers sons disponibles à remonter vers la plateforme SAOOTI pour générer automatiquement de nouveaux épisodes dans une émission donnée
    • Etape C : élaborer des données de votre émission et de vos épisodes (titres, description, date de publication pour chaque épisode remonté du FTP…). Et ce en fonction des paramètres de votre choix (nom de fichier, metada MP3 de votre fichier…).
    • L’article vous décrira les étapes A, B et C.

En annexe, vous trouverez des exemples concrets dont vous pourrez vous inspirer ! 

Une fois importés, vos épisodes sont exploitables dans la plateforme SAOOTI comme tout autre contenu. Ils apparaissent automatiquement dans l’émission à laquelle ils ont été rattachés, y compris dans le fil RSS de cette émission. Vous pouvez en faire la promotion sur vos Réseaux Sociaux, générer le code HTML pour vos Newsletter ou encore Insérer les QR Code de ces épisodes ou émissions dans vos affiches, prospectus… Tous les épisodes remontés sont, le cas échéant, distribués automatiquement vers les plateformes audio grand public de votre choix (Apple, Deezer, Spotify, Amazon, Google…). Vous disposez enfin de vos rapports d’écoute certifiables ACPM. Vous pouvez monétiser vos audiences auprès de votre régie, quelque soit les modalités d’écoute de vos podcasts (players, deezer, Apple, Google…).

Comment accéder au module d’Import FTP ?

Connectez-vous à votre compte Octopus.

1. RDV dans l’Administration (cliquez sur le bouton Administration en haut à droite)

topbar-octopus

2. Descendez le long des fonctions jusqu’à la section “Gérer” et cliquez sur le module « Gérer les imports FTP”

import-ftp-admin

Étape A : comment créer des connexions FTP ?

Vous pouvez créer autant de connexions FTP que nécessaire. Vous pourrez ensuite dans l’étape B, c’est-à-dire pour chaque import à mettre en place, sélectionner la connexion au serveur FTP de votre choix. 

Pour créer une connexion FTP :

1. Cliquez sur “Nouvelle connexion”

import-creer-ftp
Un Popup apparaît :
popup-creation-ftp

2. Le nom vous permettra de retrouver dans la liste de vos connexions FTP celle de votre choix. Dans l’exemple suivant, nous choisirons le nom “Podcasts News”…

popup-creation-ftp-nom
3. Protocole : deux protocoles sont disponibles (FTP ou SFTP). Ce paramètre est choisi par l’administrateur système à la configuration de votre serveur FTP.
protocole-ftp
4. Hôte : il s’agit de l’adresse (URL) de votre serveur FTP
popup-ftp-hote
5. Port : choisissez 21 qui est le port standard pour le protocole FTP, ou bien le port 22 si vous utilisez le protocole SFTP
popup-ftp-protocole

6. Type d’authentification : 3 choix sont proposés

Anonyme : ce choix ne requiert pas d’identifiant/mot de passe pour établir une connexion

popup-creation-ftp-type-auth

Le mode “Normal” impose l’usage d’un identifiant/mot de passe propre à votre FTP

popup-creation-ftp-type-auth2
Le mode “Clé” nécessite un identifiant et une clé que vous fournirez sous forme de fichier (le couple identifiant/clé peut vous être fourni par l’administrateur de votre FTP).
popup-creation-ftp-type-auth3

7. “Nettoyer les fichiers ayant plus de” : si vous choisissez “0”, les fichiers de votre FTP ne seront jamais supprimés par la plateforme SAOOTI Octopus. Si vous choisissez un entier N supérieur à 0 (1 ou plus), tous les fichiers âgés de plus N jours seront supprimés automatiquement de votre serveur par la plateforme.

popup-creation-ftp-nettoyage

8. Connexion : vous pouvez tester le bon établissement de la connexion avec votre serveur
FTP en cliquant sur le bouton “Test”

popup-creation-ftp-connexion

9. N’oubliez pas de cliquer sur “VALIDER” pour terminer la création de votre connexion FTP !

Étape B : créer un import FTP pour alimenter les épisodes d’une émission

Vous avez créé dans l’étape A des connexions vers des serveurs FTP. Vous allez maintenant pouvoir configurer l’importation de fichiers sons qui auront été mis à disposition sur ces serveurs FTP (par des partenaires, un diffuseur, un technicien…).

Pour chaque nouvelle émission à alimenter avec des épisodes importés via FTP vous devrez recommencer l’étape B et C.

Nous recommandons d’utiliser un répertoire FTP distinct par émission : cela permet de bien cloisonner les imports d’une émission à l’autre et cette approche est plus facile à gérer opérationnellement ensuite en cas d’évolutions.

Pour créer un nouvel import :

1. Cliquez sur le bouton “Nouvel import FTP”

popup-creation-ftp-emissions-importees
Cette action ouvre une page de création :
popup-creation-import-ftp

2. Choix de la connexion FTP : Vous devez commencer par choisir le serveur FTP

choix-connexion-ftp

3. Optez pour le serveur qui hébergera les épisodes de l’émission à alimenter

choix-connexion-ftp

4. Répertoire FTP : vos fichiers sons sont peut être placés dans un répertoire spécifique (ce que nous recommandons). Vous allez pouvoir ici préciser le chemin d’accès à ce répertoire

repertoire-ftp

5. Connexion : vous disposez d’un bouton de test. Ce test va vérifier que la connexion s’établit convenablement avec le serveur, dans le répertoire distant que vous aurez choisi à l’étape précédente. Ce test vous retournera le nombre de fichiers existants dans le répertoire distant, et vous indiquera si des épisodes trop anciens seront supprimés (ce dernier point étant configuré dans l’étape A de création d’une connexion FTP).

popup-creation-import-ftp-connexion

6. Masque de fichiers : ce masque permet de décrire quel nommage de fichier doit être filtré et pris en compte par l’import FTP.

Ce masque suit une syntaxe qui s’appelle “Expression régulière » (parfois dénommée Regex).

En savoir plus les expressions régulières ?

Vous pouvez par exemple imposer de ne prendre que les fichiers de la forme “Jounal_Ville_JJMMAAAA_HHMM.mp3”. Le masque doit être compris comme un “filtre” qui permet de n’absorber que les fichiers dont le nommage dans le répertoire est pertinent.

Le masque permet également de capturer et de mémoriser des éléments dans le nom de votre fichier.

Par exemple, dans l’exemple précédent, vous pourriez souhaiter récupérer le nom de la ville concernée par le journal, ainsi que la date et l’heure. Ces informations vous serviront en étape C pour élaborer le titre, la description et la date de publication de votre épisode.

Une fois que vous avez rédigé votre Masque sous forme d’expression régulière, vous pouvez tester à nouveau votre connexion (étape 5 – Test) et vous verrez le nombre de fichiers conforme au masque que vous aurez élaboré.

Dans l’exemple ci dessous, le test précédent sur la connexion renvoie maintenant 1 seul fichier “conforme” sur les 9 que comprend le répertoire :

popup-creation-ftp-masques
Une fois le masque mis en place, nous recommandons de respecter scrupuleusement les règles de nommage, afin que vos fichiers sons soient bien acceptés par le filtre constitué par l’expression régulière.

Étape C : élaborer des données de vos émissions et de vos épisodes importés

Vous venez de passer les étapes A et B : vous avez choisi une connexion FTP, un répertoire spécifique pour l’import des épisodes de votre émission, et vous avez mis en place un masque qui vous permet de filtrer les fichiers sons sur la base de leur nommage, sous forme d’une expression régulière. Et au passage, cette expression régulière aura permis de récupérer des parties du nom de chaque fichier à importer.

Il vous reste donc maintenant à remplir 3 onglets :

  • L’onglet Émission : les données de votre émission (vignette, titre…)
  • L’onglet Episode : précise la façon dont devront être construites dynamiquement les données de chaque épisode importé : titre, description, animateur(s)…
  • L’onglet Publication : précise la façon dont seront publiés vos épisodes.

L’onglet Émission

Cet onglet concerne l’émission qui va accueillir les différents épisodes que vous allez importer de votre répertoire FTP. Il est important de comprendre que vos épisodes importés font partie d’une seule émission (et héritent par défaut de certains paramètres de l’émission).

1. Cliquez sur l’onglet « Émission »

popup-creation-import-ftp-onglet-emission

2. Choisissez le nom de votre Émission

nom-emission-ftp

3. Sélectionnez le niveau de visibilité des Players de votre émission

popup-creation-import-ftp-onglet-emission-exclu

4. Choisissez la ou les catégories IAB pertinentes pour votre émission

categorie-iab-ftp

5. Choisir une image : choisissez une image (minimum 600 x 600), en sachant que tous les épisodes générés par import FTP hériteront de cette image. Si vous désirez changer cette image ultérieurement pour un épisode donné, il vous faudra plus tard manuellement éditer l’image de l’épisode après sa création.

image-ftp-emission

L’onglet Épisode

Il vous faut maintenant préciser les données (champs) qui seront à élaborer à chaque import d’épisode.

1. Titre de l’épisode : ce titre peut être élaboré dynamiquement en fonction du nom du fichier son remonté par FTP ou/et des Metadata du fichier son MP3.

creation-import-ftp-episode

Dans la case titre, il vous faut préciser comment vous souhaitez élaborer le titre. Pour cela vous pouvez utiliser les paramètres suivants :

  • {filename} : nom du fichier du podcast
  • {emission} : nom de l’émission dans laquelle sont importés les podcasts
  • {$0} : match global de l’expression régulière
  • {$1} ⇔ {$9} : matchs de parenthèses dans l’expression régulière
  • {ID3titre} : TAG ID3 “Titre de la chanson” (seulement disponible pour un fichier mp3), si le tag est vide ou indisponible (par exemple si le fichier n’est pas au format mp3), il est remplacé par “inconnu”
  • {ID3interprete} : TAG ID3 “Nom de l’interprète” (seulement disponible pour un fichier mp3), si le tag est vide ou indisponible (par exemple si le fichier n’est pas au format mp3), il est remplacé par “inconnu”
  • {ID3album} : TAG ID3 “Album” (seulement disponible pour un fichier mp3), si le tag est vide ou indisponible (par exemple si le fichier n’est pas au format mp3), il est remplacé par “inconnu”
  • {ID3annee} : TAG ID3 “Année de parution” (seulement disponible pour un fichier mp3), si le tag est vide ou indisponible (par exemple si le fichier n’est pas au format mp3), il est remplacé par “inconnu”
  • {ID3commentaire} : TAG ID3 “Commentaire” (seulement disponible pour un fichier mp3), si le tag est vide ou indisponible (par exemple si le fichier n’est pas au format mp3), il est remplacé par “inconnu”
  • {date:[format]} : la date de publication avec optionnellement un formatage conforme à la syntaxe des masques de parsing / formatage de la classe DateTimeFormatter (plus d’infos sur ce format ici et là pour les codes de fuseaux horaire), si aucun format n’est explicité, le format par défaut est “dd MM yyyy” (donc “{date}” = “{date:[dd MM yyyy]}”)

Exemple :

  • Nom du fichier importé : “Vin Diesel 060921”
  • Masque de nom des fichiers utilisé : ^(.+) ([0-9]+)$
    • Chaque ensemble de parenthèses () est équivalent à la capture d’une variable.
    • Dans cet exemple de nom de fichier et d’expression régulière, les variables suivantes sont générées par l’expression régulière :
      – {$1} → Vin Diesel
      – {$1} → 060921
  • Dans le présent exemple, si vous saisissez {$1} {$2} dans le titre, vous obtenez le titre suivant : Vin Diesel 060921
titre-episode-ftp
2. Description de l’épisode : vous retrouvez dans la description de l’épisode le même mécanisme que pour son titre.

Exemple :

  • Nom du fichier importé : “Vin Diesel 060921”
  • Masque de nom des fichiers utilisé : ^(.+) ([0-9]+)$
    • Chaque ensemble de parenthèses () est équivalent à la capture d’une variable.
    • Dans cet exemple de nom de fichier et d’expression régulière, les variables suivantes sont générées par l’expression régulière :
      – {$1} → Vin Diesel
      – {$1} → 060921
  • Dans le présent exemple, si vous saisissez “Le podcast {$1} a été produit le {$2}” dans le champ description, vous obtenez le titre suivant : “Le podcast Vin Diesel a été produit le 060921”
description-episode-ftp

3. Animateur de l’épisode : noter que l’animateur choisi ici sera le même pour tous les épisodes importés

creation-import-ftp-episode-animateur

L’onglet Publication

1. Cliquez sur l’onglet « Publication »

creation-import-ftp-publication

2. Destinataire des informations de publication : si vous distribuez l’émission sur les plateformes audio grand public tierces, choisissez le même mail que celui que vous utilisez pour cette distribution afin de pouvoir valider la création.

destinataire-piblication-ftp

3. Visibilité de l’épisode : préciser si l’épisode doit être visible pour les auditeurs. Si ça n’est pas le cas, l’épisode ne sera pas public mais pourra l’être rendu plus tard manuellement.

creation-import-ftp-publication-visibilite

4. Date de publication de l’épisode

Si vous choisissez “Utiliser la date de modification du fichier importé” la date de publication de l’épisode sera celle du fichier sur le FTP. Dans l’exemple ci dessous, il s’agit du 10/01/2021 :

creation-import-ftp-publication-date

(copie de l’image ci-dessus prise sur serveur FTP).

Cette option est pertinente si vous importez le fichier par FTP le jour même de sa création (par exemple par votre logiciel de diffusion radio). En revanche, si vous faites un import FTP en masse, cette option peut ne pas être pertinente, car tous les fichiers auront la même date de publication : celle de leur création sur le serveur FTP. Et cette date ne correspond peut-être pas à leur date de création éditoriale. Voir exemple ci dessous d’un import de 4 fichiers à la même date sur une répertoire FTP :

creation-import-ftp-publication-date2
Si vous choisissez de personnaliser la date de publication de l’épisode :
creation-import-ftp-publication-customiser-date
Dans le champ “Date”, vous pouvez utiliser les metadata de la même façon que vous avez pu le faire pour le titre et la description de votre épisode plus haut.

Exemple :

  • Nom du fichier importé : “Vin Diesel 060921”
  • Masque de nom des fichiers utilisé : ^(.+) ([0-9]+)$
    • Chaque ensemble de parenthèses () est équivalent à la capture d’une variable.
    • Dans cet exemple de nom de fichier et d’expression régulière, les variables suivantes sont générées par l’expression régulière :
      – {$1} → Vin Diesel
      – {$1} → 060921
  • Dans le présent exemple, si vous saisissez “{$2}” dans le champ Date, vous obtenez la date du 060921
creation-import-ftp-publication-customiser-date2
Ensuite, dans le champ Parsing, vous pouvez préciser comment vous souhaitez que votre date apparaisse dans votre épisode (format).
creation-import-ftp-publication-customiser-parsing

N’oubliez pas de cliquer sur « Valider » pour terminer votre configuration d’import !

Annexe : exemple d’expressions régulières

Exemple 1 : Title- Date – Hour – Serie .MP3

FileName
PUNISHER FRANKENSTEIN – 291021 0830 – POP UP.mp3

Masque
^(.+)- +([0-9][0-9])([0-9][0-9])([0-9][0-9]) ([0-9]+) – .*

Date
{$2}{$3}{$4} {$5}

Format de parsing
ddMMyy HHmm

Exemple 2 : Title- Date – Hour – Serie .MP3

FileName
infos.mp3

Masque
^infos.mp3

Date
N/A

Format de parsing
N/A

Exemple 3 : pas de contrainte de nom

FileName
N/A

Masque
^.*$

Date
N/A

Format de parsing
N/A

Exemple 4 : tous les fichiers commencent par POP UP

FileName
POP UP – 060921 Vin Diesel.mp3

Masque
^POP UP*

Date
N/A

Format de parsing
N/A

Exemple 5 : Album – Date Title.mp3

FileName
POP UP – 060921 Vin Diesel.mp3

Masque
^POP UP+- +([0-9]+) +(.+)\.mp3$

Date
{$1}

Format de parsing
ddMMyy

Exemple 6 : Tittle Date

FileName
Vin Diesel 060921

Masque
^+(.+) ([0-9]+)

Date
{$2}

Format de parsing
ddMMyy

Exemples de formats de dates

Best Podcast 03-09-2021 === dd-MM-yyyy
Best Podcast 03-09-21 === dd-MM-yy
Best Podcast 03/09/21 === dd/MM/yy
Best Podcast 03092021 === ddMMyyyy
Best Podcast 291021 0830 === ddMMyy HHmm