# 🌐 Projet Front-Back End Easy_Admin_YouTube_NewsLetter_Firebase
=======================
Front:
Vertin Go Website Design By Mobirise(http://mobirise.com) + Front File Manager
Back end:
Api YouTube + FireBase(Push Notification) + NewsLetters + File Manager
#### Illustrations
#### Ci-dessus tous vos fichiers upload sur le file manager regroupés sous forme de carousel automatique!
————————————
————————————
————————————
————————————
————————————
————————————
————————————
Ci-dessous un aperçu de la page Playlist Youtube généré automatiquement une fois votre compte synchronisé avec YouTube!
Back-End
————————————
————————————
————————————
————————————
————————————
Personnaliser votre Panel Football LiveScore en choississant votre championnat, joueur et club favori!
————————————
————————————
————————————
————————————
————————————
————————————
————————————
————————————
————————————
————————————
#### Installation Localement avec Xampp
Prérequis:
– *Gestionnaire de commande composer with xampp! ==> https://www.youtube.com/watch?v=v7uCji-WhjY
Une fois xampp installé il faut lancer le serveur apache et mysql illustré ci-dessous:
Assurer vous que les références à votre base de donnée sont bien renseignés dans parameters.yml.dist et parameters.yml. A priori les valeurs sont déjà correct pour l’environnement de dev! A noter qu’il faut bien distinguer config_dev.yml et config_prod.yml qui comme son nom l’indique sont deux fichiers de config propre à leur environnement dans lequelle l’application évolue! Soit local pour config_dev.yml et en ligne config_prod.yml!
Cliquer sur admin pour accéder à l’interface phpMyAdmin:
Une fois vos bases de données recréés elles seront accessibles dans PhpMyAdmin!
Pour les recréer voir les commandes ci-dessous:
composer install
php bin/console doctrine:database:create (Ou créer la base de donnée easy_admin directement dans phpmyadmin)
php bin/console doctrine:schema:create (Création des tables dans la base de donnée easy_admin)
php bin/console fos:user:create name test@example.com password (Utilisation du bundle fosuserbundle)
php bin/console fos:user:promote user ROLE_ADMIN (Afin de vous logger sur l'interface admin)
Page de login de l'admin interface ==> http://localhost/easyadmin-master/web/app_dev.php/login
Page de front interface ==> http://localhost/easyadmin-master/web/app_dev.php/intro
How to deploy on Heroku
Prérequis avant la phase de déploiement:Ajout des lignes suivantes dans le front controller de prod donc app.php dans le dossier web:
Request::setTrustedProxies(array($request->server->get(‘REMOTE_ADDR’)));
Request::setTrustedHeaderName(Request::HEADER_FORWARDED, null);
Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, null);
Ajout d’un fichier procfile avec le contenu suivant spécifique pour les applications symfony dans le dossier web:web: vendor/bin/heroku-php-apache2 web/Ajouter une extension postgre pour la persistance des données:
Cliquer sur votre extension dans le sous menu du champs recherche:
Rendez-vous ensuite sur settings:
Aller sur view credentials:
Les différents champs doivent être ajouter dans le parameters.yml et parameters.yml.dist dans app/config dans les variables d’environnements prod donc database_host_prod. Pour database_host_mandanta et b il faut ajouter une fois de plus la même extension postgre! Il faut également préciser la variable d’environnement database url dans composer.json disponible une fois l’ajout de l’extension postgre effectué:
"incenteev-parameters": {
"file": "app/config/parameters.yml",
"env-map": {
"database_url": "DATABASE_URL",
"database_url2": "HEROKU_POSTGRESQL_BLUE_URL",
"database_url3": "HEROKU_POSTGRESQL_ONYX_URL",
"monolog_action_level": "LOG_LEVEL"
} }
Commande de Déploiement:
Prérequis installation des gestionnaires de commandes:
– *Git!(Git Cli)
– *Composer!(Composer Cli)
– *Heroku!(Heroku Cli)
Créer un projet sur Heroku, installer le gestionnaire de commande Heroku en local et taper les commandes suivantes:
heroku login
heroku create (Créer un nom d'app aléatoire sinon créer la sur Heroku directement!)
heroku git:remote -a nom_de_votre_app_heroku
heroku config:set ENV=PRODUCTION
git add .
git commit -am "make it better"
git push heroku master
Une fois déployé sur le serveur Heroku:
Il faut recréer la base donnée en se connectant à distance sur le terminal du serveur:
heroku run bash
php bin/console doctrine:schema:create (Création des tables dans la base de donnée easy_admin)
php bin/console fos:user:create name test@example.com password (Utilisation du bundle FosUserbundle)
php bin/console fos:user:promote user ROLE_ADMIN (Afin de vous logger sur l'interface admin)
Page de login de l'admin interface ==> https://platform-media.herokuapp.com/login
Page de front interface ==> https://platform-media.herokuapp.com/intro
Suppléments de configuration pour la connexion à YouTube:Créer un projet dans Google Cloud Console! Activer YouTube Data Api V3Cliquer sur créer des identifiants Id Client Auth
Origines JavaScript autorisées:
– http://votre_heroku_app.herokuapp.comEt URI de redirection autorisés:
– http://votre_heroku_app.herokuapp.com/admin/dashboard/
– http://localhost/easyadmin-master/web/app_dev.php/admin/dashboard/Une fois la clé créé copier coller cette clé puis renseigné la dans web/youtube:
– auth.js ligne 5
– analytics_codelab.js ligne 4
Ensuite si votre connexion via Google est bien configuré loger vous sur votre Interface Admin afin de synchroniser votre compte avec YouTube et ensuite accédez à la page: https://votre_heroku_app.herokuapp.com/listplaylist?pseudo=votre_nom_d_utilisateur
Voici l’exemple de ma page playlist automatiquement généré une fois connecté sur mon espace administrateur et la connexion établi via YouTube Api V3: https://platform-media.herokuapp.com/listplaylist?pseudo=vertingo
Ci-dessous la page Playlist Youtube généré une fois synchronisé avec YouTube!
#### Synchroniser avec l’application mobile:
– Des fichiers uploads sur le File Manager.
– Des vidéos et playlist de votre chaîne YouTube.
– Google Cloud Messaging pour réception de notification push.
Ci-dessous illustration de la synchronisation avec l’application mobile TopsiteApp et réception de notification push!