Premier projets : remplissez votre portfolio !

Premier projets : remplissez votre portfolio !

Si la théorie, c’est bien, la pratique, c’est mieux. Alors que vous commencez à découvrir plein de nouveaux concepts, il est parfois difficile de les transposer dans des utilisations réelles. C’est donc le moment pour vous de commencer vos premiers ‘side projects’ ! En effet, au-delà de la pratique, ces projets seront de superbes éléments à intégrer à votre portfolio et pour montrer à vos futurs recruteurs l’étendue de vos compétences. Nous vous proposons donc 5 idées de projets pour les débutants afin de gagner en compétence.

Nota Bene

Bien que les tutoriels puissent être des guides précieux pour démarrer un projet, il est essentiel de ne pas s’enfermer dans le “tutoriel effect”. Les projets de développement web offrent souvent des défis uniques qui ne sont pas toujours couverts par des tutoriels spécifiques. C’est là que réside la véritable opportunité d’apprentissage.

Il est important de se familiariser avec la documentation des technologies que vous utilisez. Apprendre à lire et à comprendre la documentation est une compétence cruciale pour tout développeur. Vous rencontrerez inévitablement des problèmes imprévus, et savoir comment rechercher des solutions dans la documentation, les forums de développeurs et les ressources en ligne est une compétence inestimable. Le monde réel du développement web demande de l’indépendance et de la résolution de problèmes, et c’est ainsi que l’on devient un développeur accompli.

Souvenez-vous, la plupart du temps, il n’y aura pas de tutoriel pas à pas pour vos projets spécifiques. Apprendre à vous débrouiller par vous-même est une étape importante de votre parcours de développement.

Projet 1 : Site Web de Recettes de Cuisine

Descriptif : Pour bien commencer, vous pouvez réaliser un site de recettes de cuisine. Proposez de pouvoir créer, éditer ou encore noter des recettes ! Un projet certes simple mais efficace qui démontrera vos compétences en front-end, en back-end et en design. Vous pourrez trouver de nombreuses maquettes sur des sites comme Dribbble ou encore Behance.

Stack : HTML, CSS, JavaScript, Node.js, MongoDB.

Structure du Projet

  1. Front-End : La partie front-end sera principalement développée avec HTML, CSS et JavaScript. Elle comprendra des éléments d’interface utilisateur tels que des formulaires pour soumettre des recettes, des listes pour afficher les recettes, et des options de recherche et de filtrage.

  2. Back-End :

    • Node.js et Nest.js : Utilisez Node.js pour créer un serveur et Nest.js pour gérer les routes API. Nest.js facilite la gestion des requêtes et des réponses HTTP.
    • MongoDB et Mongoose : MongoDB sera votre base de données pour stocker les recettes. Utilisez Mongoose pour interagir avec MongoDB depuis votre application Node.js. Mongoose fournit une solution de modélisation de données pour MongoDB qui facilite la manipulation des données.
  3. Fonctionnalités CRUD :

    • Create (Créer) : Permettre aux utilisateurs de soumettre de nouvelles recettes.
    • Read (Lire) : Afficher les recettes et permettre aux utilisateurs de les rechercher.
    • Update (Mettre à jour) : Permettre aux utilisateurs de modifier leurs recettes.
    • Delete (Supprimer) : Permettre aux utilisateurs de supprimer leurs recettes.

Tutoriels

Projet 2 : Utiliser l’API de la NASA

Descriptif : Adieu la classique application météo ! Mettez un peu d’originilaté dans votre portofolio en proposant un site web qui utilise les API de la Nasa. L’application de suivi des événements spatiaux permet aux utilisateurs d’explorer des données spatiales en temps réel. En utilisant les API de la NASA, cette application offre un aperçu fascinant des phénomènes spatiaux, comme les images quotidiennes de l’espace, les mouvements des corps célestes, ou encore des vues de la Terre depuis l’espace. Les utilisateurs pourront voir des images capturées par des satellites, suivre des événements astronomiques et apprendre des faits intéressants sur l’espace et l’astronomie.

Stack : HTML, CSS, JavaScript, Nest.js .

Structure du Projet

  • Front-End :

    • HTML/CSS : Pour structurer et styliser l’interface utilisateur.
    • JavaScript/React : Pour créer une interface dynamique et gérer les interactions avec l’API.
    • Frameworks CSS (optionnel) : Comme Bootstrap ou Tailwind CSS pour un design réactif et moderne.
  • Back-End :

    • Node.js avec Nest.js : Pour gérer les requêtes API et servir le front-end.
    • API de la NASA :
      • APOD (Astronomy Picture of the Day) : Pour obtenir des images astronomiques quotidiennes et leurs explications.
      • EPIC (Earth Polychromatic Imaging Camera) : Pour accéder aux images de la Terre prises par EPIC à bord du satellite DSCOVR de la NOAA.
  • Dépendances et Outils :

    • Axios ou Fetch API : Pour effectuer des requêtes HTTP aux APIs de la NASA.
    • Environment Variables : Pour stocker de manière sécurisée les clés API.

Vous allez apprendre :

  • Consommation d’APIs : Comment intégrer et utiliser des APIs externes dans une application web.
  • Traitement de Données en Temps Réel : Gérer et afficher des données spatiales en temps réel.
  • React et Node.js : Développer des compétences en full-stack avec React pour le front-end et Node.js pour le back-end.
  • Manipulation de Données JSON : Apprendre à traiter et à afficher des données JSON provenant des APIs.
  • UI/UX Design : Conception d’une interface utilisateur attrayante et informative centrée sur l’espace.

Tutoriels

  1. Utilisation de l’API APOD de la NASA : Ce tutoriel explique comment utiliser l’API APOD pour récupérer des images et des informations spatiales. Vous apprendrez à effectuer des requêtes API et à traiter les réponses en JSON. Le tutoriel guide également sur la manière d’intégrer ces données dans une application web avec JavaScript et HTML (source: wilsjame.github.io).

  2. Exploration de l’espace avec les APIs de la NASA en JavaScript : Ce cours interactif vous initie aux différentes APIs de la NASA. Vous apprendrez à obtenir des informations sur les astéroïdes proches de la Terre et des événements terrestres, à récupérer des images des rovers martiens et à accéder aux images et vidéos de la NASA. Ce cours est idéal pour intégrer les APIs de la NASA dans une application React (source: Educative.io).

  3. Documentation de l’API EPIC : Pour obtenir des images de la Terre prises par EPIC à bord du satellite DSCOVR de la NOAA, vous pouvez utiliser l’API EPIC. Ce tutoriel vous guidera sur la manière de faire des requêtes à cette API et de traiter les réponses JSON pour obtenir des images et des métadonnées (source: wilsjame.github.io).

Projet 3 : Blog Personnel

Descriptif : Ce projet consiste à créer un blog personnel en utilisant l’architecture Jamstack, avec Strapi comme système de gestion de contenu (CMS) en backend. Le blog se focalisera sur une approche moderne du développement web, combinant la génération de pages statiques avec une architecture headless CMS. Strapi sera utilisé pour gérer le contenu du blog, tandis que des technologies frontend comme React ou Vue.js peuvent être employées pour construire l’interface utilisateur.

Stack : Nuxt/Next, Strapi

Structure du Projet

  1. Configuration du Backend avec Strapi : Mise en place d’un backend Strapi, création de types de contenu pour les articles de blog, et configuration des permissions.
  2. Développement du Front-End : Utilisation d’un framework JavaScript pour créer des pages qui consomment les données de Strapi via API.

Tutoriels

  1. “Building a Jamstack Food Ordering App with Strapi, Gridsome & Snipcart” sur Strapi.io : Un tutoriel en six parties pour construire une application Jamstack avec Strapi. Bien que centré sur une application de commande de nourriture, les principes de base sont applicables à un blog personnel (Strapi.io).
  2. “Create a Custom Backend for Jamstack Apps with Strapi” sur Netlify : Ce tutoriel guide à travers la création d’un backend personnalisé avec Strapi pour une application Jamstack, y compris l’utilisation de fonctions serverless pour sécuriser les accès à l’API (Netlify).
  3. “Use a Custom Strapi Backend to Build a Jamstack App” sur Netlify : Un tutoriel pour construire une application Jamstack en utilisant un backend Strapi personnalisé, qui comprend la création de contenu et la configuration de Strapi (Netlify).

Projet 4 : Jeu de Quiz en Ligne

Descriptif : Ce projet consiste à créer un jeu de quiz interactif en utilisant les technologies web de base : HTML, CSS et JavaScript. Le quiz comprendra une série de questions avec plusieurs options de réponse, et les joueurs recevront des points pour chaque réponse correcte. Vous pourrez ajouter des fonctionnalités comme un timer, un affichage des scores et une variété de questions pour rendre le jeu plus engageant.

Stack : HTML, CSS, JavaScript, API pour les questions de quiz.

Structure du Projet

  1. Configuration initiale : Création des fichiers de base (HTML, CSS, JavaScript).
  2. Création de l’interface utilisateur : Développement de la structure HTML avec des éléments pour afficher les questions, les options de réponse et les scores.
  3. Style CSS : Personnalisation de l’apparence du quiz avec CSS.
  4. Logique JavaScript : Écriture de scripts pour gérer les questions, vérifier les réponses, mettre à jour les scores et contrôler le flux du jeu.
  5. Fonctionnalités supplémentaires : Ajout d’un timer, gestion des scores et éventuellement d’une base de données pour les questions.

Tutoriels

  1. “Create A Basic Quiz Using JavaScript” sur GameDev Academy : Ce tutoriel offre une introduction à la création d’un quiz simple en utilisant HTML, CSS et JavaScript. Il couvre la configuration de base, l’affichage des questions, la gestion des réponses et l’intégration avec le DOM (GameDev Academy).
  2. “Quiz App using HTML, CSS and JavaScript” sur Coding Torque : Un guide complet pour créer une application de quiz, y compris des fonctionnalités telles que le chronométrage, l’affichage des scores et la gestion des réponses. Le tutoriel fournit également des exemples de code pour la structure HTML, le style CSS et la logique JavaScript (Coding Torque).

Projet 5 : E-commerce de Produits Artisanaux

Descriptif : Ce projet implique de construire un site e-commerce complet pour la vente de produits artisanaux. Vous utiliserez React pour le front-end et Node.js pour le back-end. Le projet inclura des fonctionnalités telles que la gestion des produits, un panier d’achat, l’enregistrement des utilisateurs, et le processus de paiement. Stack : React.js, Redux, Node.js, Express, MongoDB.

Stack Technologique

  • Front-End : React pour construire l’interface utilisateur.
  • Back-End : Node.js avec Express pour la logique côté serveur.
  • Base de Données : MongoDB pour stocker les données des produits et des utilisateurs.
  • Autres outils : Redux pour la gestion d’état, Mongoose pour interagir avec MongoDB.

Structure du Projet

  1. Configuration du Projet : Mise en place de React et Node.js, création des fichiers de base.
  2. Développement du Front-End : Création des composants React pour les différentes pages et fonctionnalités du site.
  3. Développement du Back-End : Mise en place d’Express et création des routes API pour gérer les données.
  4. Intégration de la Base de Données : Utilisation de MongoDB pour stocker et récupérer les informations des produits et des utilisateurs.
  5. Fonctionnalités E-commerce : Ajout d’un panier d’achat, gestion des commandes, système de paiement.

Ressources et Tutoriels

  1. React & Node Tutorial - Full ECommerce in 5 Hours sur DEV Community : Ce tutoriel offre une approche complète pour créer un site e-commerce en utilisant React et Node.js. Il couvre toutes les étapes, de la configuration initiale à la mise en œuvre des fonctionnalités avancées d’e-commerce (DEV Community).

Projet Final : Portfolio Personnel

Descriptif : Ce projet final consiste à créer votre propre portfolio en ligne. C’est l’occasion d’intégrer et de présenter tous les projets réalisés précédemment. Le portfolio doit non seulement démontrer vos compétences techniques, mais aussi refléter votre personnalité et votre créativité en tant que développeur web.

Stack : Les technologies que vous aimez et maitrisez !

Structure du Projet

  1. Conception et Planification : Définir la structure, le design et les fonctionnalités du portfolio.
  2. Développement du Front-End : Créer des pages pour présenter vos projets, compétences, et informations personnelles.
  3. Ajout de Contenu : Intégrer des détails sur chaque projet, y compris des descriptions, des images, et des liens vers des démos ou des codes sources.
  4. Responsive Design : S’assurer que le portfolio est accessible et esthétique sur tous les appareils.
  5. Optimisation et Déploiement : Optimiser pour le SEO, tester la performance et déployer le site sur une plateforme d’hébergement.

Ressources et Tutoriels

Pour vous aider dans ce projet, explorez les tutoriels en ligne sur le développement de portfolio avec les technologies spécifiques que vous souhaitez utiliser. Des ressources comme MDN Web Docs, freeCodeCamp, ou même des cours sur Udemy peuvent être utiles. Considérez également des plateformes comme GitHub Pages ou Netlify pour le déploiement de votre portfolio.

En réalisant ce projet, vous aurez une vitrine professionnelle pour présenter vos compétences et expériences en développement web.

Déploiement Gratuit avec Vercel et Render

Lorsque vous terminez un projet de développement web, il est naturel de vouloir le partager avec le monde. Deux excellentes options pour le déploiement gratuit de vos projets sont Vercel et Render.

Vercel offre un hébergement rapide et simple pour vos applications web. Il s’intègre parfaitement avec les projets React, Next.js, et d’autres frameworks populaires. La plateforme propose un plan gratuit généreux qui vous permet de déployer vos projets sans frais.

Render est une autre option solide pour le déploiement gratuit. Il prend en charge diverses technologies web, y compris Node.js, Python, et bien d’autres. Render propose également un plan gratuit avec des ressources suffisantes pour héberger vos projets personnels.

Ces deux plateformes simplifient le processus de déploiement, vous permettant de partager vos projets avec le monde en un rien de temps. Profitez de ces opportunités pour montrer vos réalisations et perfectionner vos compétences en déploiement web.

Conclusion

En explorant ces projets de développement web, vous avez enrichi votre boîte à outils de compétences essentielles. Du site de recettes à l’application météo en passant par le blog Jamstack et le jeu de quiz, vous avez eu l’opportunité de créer des applications web fonctionnelles tout en apprenant des technologies modernes.

Chacun de ces projets représente un pas vers une meilleure maîtrise du développement web. N’oubliez pas que la clé de la progression est la pratique constante. Alors, choisissez un projet qui vous passionne et lancez-vous dans le monde du développement web.

Votre portfolio est le reflet de votre parcours. Il est temps de le remplir de ces projets exceptionnels que vous avez créés. Bonne chance dans vos futurs projets de développement web !

Vous pouvez retrouvez nos autres articles :

Venez aussi nous suivre sur Instagram et Twitter !