Bootstrap
nuit de l'info
Nuit de l’Info 2024 NodeJs
MyAvatar Symfony · Twig
Critikanime Symfony · VueJs
Projet client / serveur — API REST + Vue.js

Critik Anime

Développement d’une API REST avec Symfony + API Platform, et d’une application Vue.js + TypeScript consommant l’API pour permettre de publier et consulter des critiques d’anime, gérer les favoris et les rôles (user/admin).

Symfony API Platform Vue.js TypeScript JWT MyAvatar
Critik Anime

Architecture

Un système complet client / serveur avec sécurité, permissions, et un front réactif.

API REST Symfony + API Platform
Front Vue SPA + TypeScript
MyAvatar SHA-256 email → photo

Back-end : API REST (API Platform)

  • Ressources : utilisateurs, animes, critiques, favoris
  • Groupes de sérialisation / validation
  • Permissions (security), rôles & voters
  • StateProcessors / StateProviders
  • JWT + refresh token

Front : Vue.js + TypeScript

  • Routes nommées + vues & composants
  • Connexion / déconnexion / refresh token
  • Gestion erreurs API + notifications
  • CRUD : animes & critiques selon permissions
  • Favoris + feed “dernières critiques”

Intégration MyAvatar

Les avatars des utilisateurs sont chargés depuis MyAvatar : on récupère l’email depuis l’API, on le chiffre en SHA-256, puis on affiche l’image via une URL de type :

https://mon-myavatar.fr/avatar/{hashSHA256}

Résultat : aucune image stockée côté client, et une photo de profil réutilisable partout.

Fonctionnalités clés

Rôles & permissions

Users et admins : création, validation, suppression contrôlées via security/voters.

Critiques (1 par anime)

Note, texte + critères spécifiques ; modification/suppression par l’auteur, modération admin.

Validation des contenus

Les users soumettent un anime, l’admin valide avant publication publique.

Favoris & feed privé

Liste des favoris + dernières critiques des favoris triées de la plus récente à la plus ancienne.

JWT + refresh

Authentification sécurisée avec cookies JWT + rafraîchissement automatique.

UX & robustesse

Gestion des erreurs API, notifications, typage TypeScript, composants Vue bien découpés.

Modèle de données

User
Anime
Critique
Favoris

Relations + sous-ressources (ex: publications, critiques par utilisateur, favoris d’un utilisateur, etc.).

Contactez-moi

Nom Evan Nunes
Téléphone 06 72 21 86 00

Merci de m’envoyer un message avant d’appeler,
je suis souvent en cours ou je filtre les appels non identifiés.

Mes réseaux professionnels

GitHub GitLab LinkedIn