Skip to content

Repository files navigation

mediatekformationmobile

Cette application mobile permet d'accéder aux vidéos des formations proposées par la médiathèque.

Fonctionnalités

L'application permet de consulter la liste des titres des formations mises à disposition (récupérées dans la base de données distante, via une API REST).
En sélectionnant un titre, une page présente plus de détails sur la formation et le clic sur l'image permet d'accéder à la page de diffusion de la vidéo à partir de son adresse en ligne.

Page 1 : l'accueil

La page d'accueil présente le menu :
. "les formations" : avec en dessous, une image cliquable qui permet d'accéder à la page des formations.
. "mes favoris" : avec en dessous, une image cliquable, non encore opérationnelle.
img1
Le code se trouve dans MainActivity lié au layout activity_main.

Page 2 : les formations

La page des formations affiche la liste des formations avec, sur chaque ligne :
. un cœur actuellement non opérationnel, qui permettra de sélectionner les favoris ;
. la date de la formation et, en dessous, son titre en plus gros.
La liste est triée sur la date de parution, dans l'ordre inverse (la plus récente en premier).
Au-dessus de la liste, une zone de saisie et un bouton "filtrer" doit permettre de filtrer les lignes sur le titre (en tapant une partie du titre, la casse n'est pas prise en compte). Si le bouton "filtrer" est utilisé alors que la zone de saisie est vide, toutes les formations devront être à nouveau affichées. La fonctionnalité n'est pas encore implémentée.
Le clic sur une date ou un titre de formation permet d'accéder à la page suivante de la présentation du détail d'une formation.
Le clic sur la flèche à gauche du titre permet de revenir au menu (cette possibilité est définie dans le manifest).
img2
Le code se trouve dans FormationsActivity lié au layout activity_formations. FormationActivity fait appel à FormationListAdapter pour gérer la liste interactive. Chaque ligne de la liste interactive est construite avec le layout layout_liste_formations.

Page 3 : une formation

La page de présentation d'une formation contient, de haut en bas :
. l'image de la formation (correspondant à l'attribut "picture") ;
. le titre de la formation (en gros) ;
. la date de parution ;
. le sous-titre "description" avec, en dessous, la description détaillée dans une zone déroulante (dans le cas où elle dépasse la taille de la zone d'affichage).
Le clic sur l'image permet d'accéder à la page suivante contenant la vidéo. Si la formation n'a pas d'image, une image standard s'affiche, cependant, la fonctionnalité d'accès à la page de la vidéo est opérationnelle.
Le clic sur la flèche à gauche du titre permet de revenir à la page de la liste des formations.
img3
Le code se trouve dans UneFormationActivity lié au layout activity_une_formation.

Page 4 : la vidéo

La page de la vidéo affiche la vidéo en pleine page et permet de la lancer. Cette page peut être gérée verticalement ou horizontalement (suivant le format de la vidéo, la version horizontale est souvent plus confortable).
Pour que la vidéo soit la plus grande possible, la barre du haut a été supprimée. Pour revenir à la page précédente, il suffit d'utiliser la flèche gauche de navigation en bas du smartphone.
img4
Le code se trouve dans VideoActivity lié au layout activity_video qui se décline en 2 versions.

Base de données

La base de données 'mediatekformation' est au format MySQL. Elle est aussi utilisée pour l'application web.
Elle contient plusieurs tables mais une seule est utile pour l'application mobile : la table 'formation' dont voici la structure :

CREATE TABLE formation (
  id int(11) NOT NULL,
  published_at datetime DEFAULT NULL,
  title varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  description longtext COLLATE utf8mb4_unicode_ci,
  video_id varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  playlist_id int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Explication des champs :
. id : identifiant de la formation
. published_at : date de parution
. title : titre
. description : description
. video_id : id de la vidéo sur YouTube. Cet id correspond à la fin du chemin obtenu en cliquant sur le bouton "partager" d'une vidéo sur YouTube. Par exemple, l'id " Z4yTTXka958" a été récupéré dans le lien de partage "https://youtu.be/Z4yTTXka958"
. playlist_id : id de la playlist qui contient cette formation (non utilisé ici).

Contenu de l'API REST

L'API REST qui permet d'accéder à la base de données est composée de 5 fichiers :
. .htaccess : contient la route redéfinie pour récupérer les formations.
. mediatekformationmobile.php : fichier d'entrée dans l'API (récupère les variables en GET et appelle les méthodes de Controle, suivant le verbe http.
. Controle.php : sollicite AccessBDD pour exécuter les demandes et retourne l'information demandée en l'affichant au format JSON.
. AccessBDD.php : prépare les requêtes et demande à ConnexionPDO de les exécuter.
. ConnexionPDO.php : se connecte à la BDD et exécute les requêtes.
L'application n'utilise que le verbe http "GET" mais L'API permet de gérer les 4 verbes standards.

Installation des applications

API REST

Pour tester l'application mediatekformationmobile local, il faut d'abord installer l'API. Voici le mode opératoire :
. Installer les outils nécessaires (WampServer ou équivalent, Netbeans ou équivalent, Postman pour les tests).
. Récupérer le zip du code de l'API (en racine du dépôt) et le dézipper dans le dossier www de wampserver (renommer le dossier en "rest_mediatekformationmobile", donc en enlevant "_master").
. Récupérer le script mediatekformation.sql dans le zip précédent, avec phpMyAdmin, créer la BDD mediatekformation et, dans cette BDD, exécuter le script pour remplir la BDD.
. Ouvrir l'API dans Netbeans (ou autre IDE) pour pouvoir analyser le code et le faire évoluer suivant les besoins.

Application Android

Pour installer et tester l'application Android en local, consulter l'article "Préparer l'environnement de travail" dans le wiki.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages