Le marathon débute le par une présentation du sujet et se termine le . Le vendredi 18 décembre après midi (13h30 - 16h) est consacré à la présentation des projets.
L'IUT de Lens est ouvert exceptionnellement toute la nuit du mercredi au jeudi avec à disposition les ressources informatiques de l'IUT. Les salles machines des départements Informatique et Médias Numériques sont à votre disposition pour ce projet.
Pour les équipes en DUT, vous devez utiliser le framework PHP Laravel. Pour les équipes en LP, il vous est demandé de le réaliser avec Symfony. Des enseignants des 2 départements sont à votre disposition pour des conseils. Cette année, le groupe CERISE est notre partenaire. Le sujet vient des chaînes du groupe et 3 intervenants du groupe CERISE vont également vous épauler durant ces deux jours.
Salles à disposition :
L'objectif de cette année est de réaliser un site web complet pour l'une des émissions de Gentside ou Ohmymag. Vous aurez le choix entre Daily Workout, notre émission axée musculation et entretien du corps, et Yummy, notre programme sur la cuisine.
Quelque soit votre choix, vous allez devoir développer un espace dédié autour de cette marque. Un carrousel accueillera l'utilisateur du site. Une série d'articles en rapport avec le thème choisi incitera l'utilisateur à intéragir avec le site. Chaque article contient un média (photo, gif, vidéo...). Bien entendu, la création des formulaires devra être faite en ligne lorque l'administrateur est connécté.
Les utilisateurs classiques auront également d'autres moyens d'intéragir avec le site en fonction de l'univers choisi :
Un catalogue de vidéos sera à disposition de l'utilisateur. Les vidéos seront de courts
tutoriels
sur la façon de réaliser un exercice. Les utilisateurs pourront réaliser une playlist avec leurs
vidéos préférées afin de constituer leurs entrainements. Ils pourront commenter les vidéos, mais
également voter pour les
meilleures.
NB : Lien pour les
vidéos
(liste complète à venir plus tard)
Élément d'un tuto :
Pour chaque exercice :
Un catalogue de recettes de cuisine sera à disposition de l'utilisateur. Chaque fiche recette
devra contenir des éléments clés comme : la liste des ingrédients, les temps de
préparation/cuisson,
l'apport calorique... Chaque utilisateur pourra déposer une review contenant une note et un
commentaire.
NB : Lien pour les vidéos
Élément d'une recette :
Cliquez sur le bouton ci-dessous pour modifier l'énoncé en fonction de votre choix
Articles : Un article sera une actualité dans l'univers de la cuisine. Des astuces
inédites,
en passant des tops 10 de recettes pour une saison jusqu'à la présentation d'un pays par ses
traditions culinaires,
tout est possible.
Comments : Chaque utilisateur pourra laisser un commentaire sur une recette,
indépendament des votes.
Medias : Un média est une image OU une vidéo qui servira à enrichir un article ou
une recette.
Recipes : Une recette de cuisine abordant de manière complète la réalisation d'un
plat, de A à Z.
Divers éléments sont renseignés dans la table afin de vous permettre de mettre en forme une recette
de la manière la
plus optimale.
Users : Liste des utilisateurs avec une mention pour savoir si ils ont accès au
panneau d'admin.
Votes : Chaque utilisateur pourra laisser un vote sur une recette, indépendament
des commentaires.
Un seul vote accepté par utilisateur. La note sera un nombre entier
entre 0 et 5 inclus.
Différents champs de la base de donnée sont des champs TEXT. Ces champs devront contenir du texte saisi via un éditeur de texte en markdown. Au moment de l'affichage, le markdown devra être interprété pour formatter le texte avec des balises html (h2, ul/li, br...). Pour cela on utilisera le plugin php-markdown déjà installé via composer).
De même, on pourra (faites cela à la fin, pas au début) utiliser un éditeur WISWIG pour écrire le markdown comme celui la : medium-editor-markdown.
Vous devez réaliser :
Page principale du site, contiendra un listing basique des articles et des recettes.
Listing des articles avec la possibilité de trier par popularité (nombre de visite).
Pareil que la liste des articles, mais quelques filtres supplémentaires seront disponibles comme un tri en fonction de la note, du nombre de commentaire. On pourra également mettre en place un moteur de recherche.
Cette page devra servir l'ensemble des informations d'un article. Lors de l'arrivée sur la page, le compteur de visite ('hitcount') devra être incrémenté.
Pareil que les pages articles, cette page devra également donner la possibilité à l'utilisateur de
poster
une note ou un commentaire. Si l'utilisateur n'est pas inscrit, on lui proposera de s'inscrire.
La mise en forme de cette page est très importante.
Deux formulaires, l'un pour s'inscrire, l'autre pour s'identifier. Pas forcément sur la même page. Ils existent, il suffit de les mettre en forme.
Un formulaire complet pour pouvoir créer un article ou une recette. Un rédacteur devra être capable de modifier un article existant.
Afficher les commentaires par recette avec la possibilité de supprimer certains commentaires (en cas de spam).
Possibilité de bloquer/supprimer un utilisateur (dans le cas d'un spammeur par exemple).
Vous devez réaliser 3 articles :
Dans la mesure où les thèmes sont cadrés, vous avez toute liberté pour traiter le sujet sous l’angle de votre choix, c’est à vous qu’il appartient de trouver la tonalité idéale. Votre marge d’action rédactionnelle est complète, c’est à vous de trouver votre ligne éditoriale.
La pertinence de cet angle et la relation avec le contenu seront primordiales dans l’évaluation. Vous gérerez également la relation entre les images et les textes. Vous pourrez ainsi varier la longueur des textes (notices illustratives, texte d’accompagnement, article de fond, édito, etc.) Il pourrait être particulièrement judicieux de procéder à une soigneuse veille informationnelle avant de commencer. Un tiers du site sera rédigé en Anglais.
Vous devez déposer sur moodle votre rédaction (en français et en anglais) au format pdf pour le jeudi
21
décembre 2016 à 18h00. Attention l'accès ne sera plus possible à 18h15.
Pour les étudiants de DUT :
Un étudiant informaticien déposera deux fichiers pdf : un pour la rédaction en français et l'autre
pour
celle en anglais. Deux devoirs sont créés dans Moodle / INFO / DUT2 / communication / section 9. Le
fichier comportera les noms des membres du groupe (MMI et INFO).
Pour les LP Créaweb : trois devoirs ont été créés sous moodle / MMI /LPCréaWeb /
Marathon du
WEB.
A vous de jouer, mais nous voulons :
Articles : Un article sera une actualité dans l'univers du sport. Des astuces
inédites,
en passant des tops 10 des entrainements à faire cet été jusqu'à la présentation d'un champion du
monde de culturisme,
tout est possible.
Comments : Chaque utilisateur pourra laisser un commentaire sur un entrainement,
indépendament des votes.
Medias : Un média est une image OU une vidéo qui servira à enrichir un article ou
un entrainement.
Tranings : Un entrainement abordant de manière complète la réalisation de
l'exercice, de A à Z.
Divers éléments sont renseignés dans la table afin de vous permettre de mettre en forme
l'entrainement de la manière la
plus optimale.
Users : Liste des utilisateurs avec une mention pour savoir si ils ont accès au
panneau d'admin.
Votes : Chaque utilisateur pourra laisser un vote sur un entrainement,
indépendament des commentaires.
Un seul vote accepté par utilisateur. La note sera un nombre entier
entre 0 et 5 inclus.
Différents champs de la base de donnée sont des champs TEXT. Ces champs devront contenir du texte saisi via un éditeur de texte en markdown (avec preview). Au moment de l'affichage, le markdown devra être interprété pour formatter le texte avec des balises html (h2, ul/li, br...).
Lien pour l'éditeur markdown en standalone : Medium Editor.
Il faudra build le standalone sur une machine à part et le fournir aux étudiants. Simple
d'utilisation.
Vous devez réaliser :
Page principale du site, contiendra un listing basique des articles et des entrainements.
Listing des articles avec la possibilité de trier par popularité (nombre de visite).
Pareil que la liste des articles, mais quelques filtres supplémentaires seront disponibles comme un tri en fonction de la note où du nombre de commentaire.
Cette page devra servir l'ensemble des informations d'un article. Lors de l'arrivée sur la page, le compteur de visite ('hitcount') devra être incrémenté.
Pareil que les pages articles, cette page devra également donner la possibilité à l'utilisateur de
poster
une note ou un commentaire. Si l'utilisateur n'est pas inscrit, on lui proposera de s'inscrire.
La mise en forme de cette page est très importante.
Deux formulaires, l'un pour s'inscrire, l'autre pour s'identifier. Pas forcément sur la même page. Ils existent déjà, il suffit de les mettre en forme.
Un formulaire complet pour pouvoir créer un article ou un entrainement. Un rédacteur devra être capable de modifier un article existant.
Afficher les commentaires par entrainement avec la possibilité de supprimer certains commentaires (en cas de spam).
Possibilité de bloquer/supprimer un utilisateur (dans le cas d'un spammeur par exemple).
Vous devez réaliser 3 articles :
Dans la mesure où les thèmes sont cadrés, vous avez toute liberté pour traiter le sujet sous l’angle de votre choix, c’est à vous qu’il appartient de trouver la tonalité idéale. Votre marge d’action rédactionnelle est complète, c’est à vous de trouver votre ligne éditoriale.
La pertinence de cet angle et la relation avec le contenu seront primordiales dans l’évaluation. Vous gérerez également la relation entre les images et les textes. Vous pourrez ainsi varier la longueur des textes (notices illustratives, texte d’accompagnement, article de fond, édito, etc.) Il pourrait être particulièrement judicieux de procéder à une soigneuse veille informationnelle avant de commencer. Un tiers du site sera rédigé en Anglais.
Vous devez déposer sur moodle votre rédaction (en français et en anglais) au format pdf pour le jeudi
21
décembre 2016 à 18h00. Attention l'accès ne sera plus possible à 18h15.
Pour les étudiants de DUT :
Un étudiant informaticien déposera deux fichiers pdf : un pour la rédaction en français et l'autre
pour
celle en anglais. Deux devoirs sont créés dans Moodle / INFO / DUT2 / communication / section 9. Le
fichier comportera les noms des membres du groupe (MMI et INFO).
Pour les LP Créaweb : trois devoirs ont été créés sous moodle / MMI /LPCréaWeb /
Marathon du
WEB.
A vous de jouer, mais nous voulons :
La notation tiendra compte de chaque partie (code, design, écriture). Ne négligez en aucune.
Les notes obtenues seront compatbilisées :
Vous travaillerez en équipe et partagerez vos développement/création via un outil de travail collaboratif : git. Nous vous avons préparé le travail, l'installation de Laravel/Symfony est déjà faite. Il ne vous reste qu'à déployer votre application sur vos machines locales et sur le serveur web du marathon. Votre projet sera alors accessible à l'adresse : http://172.31.146.100/~LOGIN_GROUPE.
Des dépots GIT sont disponibles pour le téléchargement de votre projet initial à partir de la forge de l'Université d'Artois. Vous disposez de 2 dépots : un pour le projet Yummy et un pour le projet DailyWorkout. Vous clonerez l'un de ces deux dépots (en fonction du projet choisi) sur votre machine locale.
Pour les DUTs (projet sous Laravel) :git clone https://forge.univ-artois.fr/marathon/yummi-laravel.git
git clone https://forge.univ-artois.fr/marathon/dailyworkout-laravel.git
git clone https://forge.univ-artois.fr/marathon/yummi-symfony.git
git clone https://forge.univ-artois.fr/marathon/dailyworkout-symfony.git
Une fois votre projet téléchargé vous devez configurer votre application pour un fonctionnement local :
composer install
php artisan serve
ou
sous Symfony via php bin/console server:start
Vous pouvez utiliser phpstorm pour votre développement. Le menu File/Open vous permet d'ouvrir le
répertoire contenant votre application.
Nous allons maintenant configurer votre projet afin que vos modifications locales soient propagées sur
le serveur web marathon lors d'un push.
Dans le menu VCS/Git/Remote, vous éditez le remote origin
et modifiez l'URL associée :
Pour les DUTs (projet sous Laravel) :
ssh://LOGIN_GROUPE@172.31.146.100/srv/comptes/marathon17/LOGIN_GROUPE/website.git
ou
LOGIN_GROUPE représente l'identifiant de votre groupe du type dutGroupeX.
Pour les LPs (projet sous Symfony) :
https://forge.univ-artois.fr/marathon/LOGIN_GROUPE.git
ou LOGIN_GROUPE représente
l'identifiant de votre groupe du type lpGroupeX.
phpstorm est maintenant correctement configuré, vous pouvez effectuer votre premier commit (clique
droit, Git/Commit File puis le bouton Commit and Push).
Vous vous connecterez en ssh sur le serveur web marathon (ssh LOGIN_GROUPE@172.31.146.100
) et
vous devrez configurer votre application pour qu'elle fonctionne sur le serveur (mêmes étapes que celles
effectuées localement) :
cd /srv/comptes/marathon17/LOGIN_GROUPE/www
composer install
Un dépot GIT est disponible pour votre projet. Vous clonerez ce dépot sur votre machine locale.
Pour les DUTs (projet sous Laravel) :git clone ssh://LOGIN_GROUPE@172.31.146.100/srv/comptes/marathon17/LOGIN_GROUPE/website.git
ou
LOGIN_GROUPE représente l'identifiant de votre groupe du type dutGroupeX.git clone https://forge.univ-artois.fr/marathon/LOGIN_GROUPE.git
ou LOGIN_GROUPE représente
l'identifiant de votre groupe du type lpGroupeX.Une fois votre projet téléchargé vous devez configurer votre application pour un fonctionnement local :
composer install
fixRights
php artisan serve
ou
sous Symfony via php bin/console server:start
Lorsque des membres de votre groupe auront commité et pushé leurs modifications, il sera nécessaire de les télécharger à votre tour sur votre ordinateur local. Pour cela vous effectuerez un clique droit puis Git/Repository/Pull.
Un serveur mysql de base de données est à votre disposition sur la machine 172.31.146.100. Vous disposez de deux bases (LOGIN_GROUPE_Y pour le projet Yummy et LOGIN_GROUPE_D pour le projet Dailyworkout). Les identifiants de connexion à ces bases vous ont été distribués. Vous pouvez directement les utiliser même à partir de vos ordinateurs personnels (attention de bien renseigner le champ DB_HOST avec la valeur 172.31.146.100). Un accès via phpmyadmin est disponible à l'adresse : http://172.31.146.100/phpmyadmin