No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Simon Vieille 2b78824ba4 README 3 years ago
images init 3 years ago
lib order by dans la récupération des projets 3 years ago
.gitignore init 3 years ago
404.php init 3 years ago
README.md README 3 years ago
database.sql Export de la base de données 3 years ago
index.php pager 3 years ago
project.php lien commentaire 3 years ago
style.css pager 3 years ago

README.md

Travail à réaliser

L’objectif de cet exercice est d’introduire l’absraction du code par l’utilisation de fonctions. Il permet également d’aller un peu plus loin en SQL via PDO. Vous pourrez vous amuser avec les requêtes munies de paramètres à traiter.

Pagination

La page d’index affichent les projets avec une pagination. Actuellement, les projets sont affichés 5 par 5. Pour passer d’une page à l’autre, il suffit d’ajouter un paramètre dans la requête en passant par la query_string : ?page=n, n le numéro de la page à afficher.

Réalisez l’affichage de la pagination sous la forme suivante :

Première page | Précédent | 1 | 2 | 3 | ... | Suivant | Dernière page

Il faudra mettre en avant la page courrante dans le listing.

Les liens Précédent et Suivant doivent être masqués si nous sommes à la première ou la dernière page.

Commentaires

Nous devons pouvoir déposer des commentaires sur chaque projet. Ces commentaires seront bien évidement affichés sur ces pages.

Un commentaire est composé de :

  • le nom ou pseudo de l’auteur
  • le site web de l’auteur
  • l’email de l’auteur
  • sa date de publication
  • son contenu

La date est générée automatiquement. Tous les champs sont obligatoires à l’exception du site web. Il faudra afficher l’avatar de l’auteur en utilisant le service gravatar. Ne pas réutiliser ce code source mais ne vous génez pas pour vous en inspirer.

Flux

Réalisez un flux RSS présentant les 10 derniers projets mis en ligne.

Vous devrez concevoir et réaliser des fonctions php.

Réécriture d’URL

Documentez-vous et réalisez une réécriture des URL (url rewriting) afin de les rendre plus sexy.

Je souhaites accéder aux projets via : http://localhost/projet/{id}/{slug} Le slug est une chaine de caractère contenant le nom du projet sans les caractères spéciaux. Vous devez donc créer une fonction pour le générer.

Exemple : le slug de Je suis une licorne, c'est classe quand même, non ? est je-suis-une-licorne-c-est-classe-quand-meme-non. Si j’avais un projet avec ce titre et si son id était 42, alors l’adresse du projet serait : http://localhost/projet/42/je-suis-une-licorne-c-est-classe-quand-meme-non

Administration

Pour le moment, la rédaction des articles est réalisée via phpmyadmin. Par ailleurs, il n’y a aucun modération des commentaires. Vous devez donc développer un backoffice (BO) pour administrer les contenus du portfolio.

L’accès au BO est reservé aux administrateurs. Prévoyez ainsi une authentification avec la méthode que vous préférez parmis :

  • Base de données + formulaire (recommandé) - @see sessions
  • Identifiants en durs dans le code + formulaire (il manque pas grand chose pour utiliser une bdd ;)) - @see sessions
  • Basic ou Digest HTTP authentication (pour les flemmards !)

Les commentaires doivent pouvoir être mis hors-ligne voire supprimés. Les articles doivent pouvoir être ajoutés, modifiés et supprimés depuis l’interface.

Petit plus

Les étudiants qui me proposeront une correction via des pull-request auront 1 point supplémentaire sur la note finale. Les intéressés devront créer un compte sur Gitlab. Je les ajouterai au dépôt et vous me transmettrez votre travail dans une branche portant votre nom : nom-prenom.

Installation du projet

$ git clone git@gitnet.fr:deblan/lpwd-php-portfolio.git
$ git branch nom-prenom # à modifier
$ git checkout nom-prenom
$ ... modifications ...
$ git commit add <les fichiers modifiés>
$ git commit -m "Explications des modifications"
$ git push -u origin nom-prenom