Podcast et Épisodes
Podcast
Dans l'organisation de Castopod, un site peut avoir un ou plusieurs podcast(s), qui eux-même pourront accueillir un ou plusieurs épisode(s). Ceux sont les épisodes qui vont être liés aux fichiers audios, un podcast n'étant finalement qu'un regroupement d'épisodes ayants le même thème.
Il existe deux manières de disposer les épisodes, soit sous forme épisodique, ce qui signifie que ceux seront les épisodes les plus récents seront ceux présentés en premier, soit sous forme de série où la présentation sera l'inverse.
Lors de la création d'un podcast, on peut participer au programme Open Podcast Prefix Project, nommé OP3, qui est un service gratuit et open-source d'analyse de podcasts. Vous pouvez retrouver plus de détails sur leur page directement.
On peut également définir le podcast comme Premium, ce qui signifie que les épisodes ne seront pas affichés aux visiteurs, il faudra être identifié pour pouvoir accéder aux épisodes (en sachant que lorsqu'un podcast est en Premium, cela signifie que les épisodes sont par défaut en Premium aussi, mais que cet attribut peut être changé pour chaque épisode).
C'est la table podcasts qui contient les données de tous les podcasts dans la base de données. On va retrouver l'ensemble des informations rentrées par l'utilisateur, ainsi que des informateurs sur le créateur du podcast. En effet, on retrouve l'identifiant d'utilisateur pour chaque podcast pour identifier le créateur, ainsi que des informations sur.
La partie Podcast est divisée en deux :
- Tout ce qui va concerner l'affichage pour les visiteurs
- Tout ce qui permet de gérer les podcasts du site pour les administrateurs
Pour la partie des visiteurs, les fichiers sont présents dans le dossier App, tandis que pour la partie administration, les fichiers sont présents dans le dossier Modules/Admin.
On va retrouver dans les deux un contrôleur PodcastController, qui s'appuie sur un modèle intéragissant avec la base de données, situé dans App/Models/PodcastModel.php.
Les vues sont aussi situées dans deux endroits différents. Pour la partie des visiteurs les vues sont situés dans le dossier themes/cp_app/podcast, tandis que pour la partie administration, elles sont situées dans le dossier themes/cp_admin/podcast.
Enfin, il existe un contrôleur dans la partie administration qui permet de gérer les différentes autorisations sur ce podcast, nommé PodcastPersonControler. Ce contrôleur communique avec le modèle PersonModel, qui va permettre d'enregistrer ou de supprimer un lien entre le podcast et l'utilisateur sur la table podcasts_persons de la base de données.
Épisodes
On va retrouver dans un style similaire la même organisation pour les épisodes. Une partie pour les visiteurs, situées dans le même sous-dossier que pour les podcasts, et idem pour la partie administration.
Les épisodes vont récupérer leurs informations dans la table Episodes, qui contient non seulement les informations rentrées par l'utilisateur mais également les identifiants vers les fichiers audios et les images associés à cet épisode.
Comme pour le podcast, on va retrouver un contrôleur EpisodePersonControler qui va permettre de gérer les autorisations sur un épisode, grâce aux fonctions attemptCreate() et remove(). Ce contrôleur communique avec le même modèle que pour les podcasts, mais ce modèle enregistrera les liens sur une table différente nommée episodes_persons.
No Comments