Aller au contenu
Point Rouge
Retour

Comment développer mon site web et mon blog de portfolio

Cet article provient de mon article de blog. J’ai mis cet article pour montrer comment vous pouvez rédiger des articles de blog en utilisant le thème Point Rouge.

Mon expérience dans le développement de mon premier site web de portfolio et d’un blog utilisant NextJS et un CMS headless.

Portefeuille de bâtiments

Motivation

J’ai toujours pensé à lancer mon propre site web avec mon nom de domaine personnalisé (satnaing.dev) depuis ma vie étudiante. Mais cela ne s’est jamais produit jusqu’à ce projet. J’ai réalisé plusieurs projets et travaux sur le développement d’applications Web mais je n’ai pas fait d’effort pour le faire.

Alors, « et le blog ? » vous pouvez demander. Oui, le blog est également dans ma liste de projets depuis un certain temps. J’ai toujours voulu réaliser un projet de blog en utilisant certaines des dernières technologies. Cependant, j’ai été occupé avec mes travaux et autres projets, donc ce projet de blog n’a jamais démarré.

Aujourd’hui, je préfère développer moins de projets, mais avec davantage d’attention portée à leur qualité. Une fois un projet terminé, j’ajoute généralement un fichier README détaillé au dépôt GitHub. Cependant, un README convient surtout aux aspects techniques. Je voulais aussi raconter mes expériences et les difficultés rencontrées : j’ai donc décidé de créer mon propre blog. À ce stade, j’avais également acquis suffisamment d’expérience et de confiance pour me lancer.

Pile technologique

Pour le front-end, je voulais utiliser React. Mais React seul n’est pas suffisant pour le référencement ; et j’ai dû prendre en compte de nombreux facteurs comme le routage, l’optimisation de l’image, etc. J’ai donc choisi NextJS comme ma pile frontale principale. Et bien sûr TypeScript pour la vérification du type. (On dit que vous adorerez TypeScript quand vous y serez habitué 😉)

Pour le coiffage, j’utilise Tailwind CSS. En effet, j’aime l’expérience de développement offerte par Tailwind et elle offre beaucoup de flexibilité par rapport à d’autres bibliothèques d’interface utilisateur de composants telles que MUI ou React Bootstrap.

Tout le contenu de ce projet réside dans le référentiel GitHub. Tous mes articles de blog (y compris celui-ci) sont écrits au format de fichier Markdown car j’y suis très habitué. Mais pour écrire Markdown avec son frontmatter sans effort, j’utilise Forestry CMS headless. Il s’agit d’un CMS basé sur Git qui peut servir Markdown et d’autres contenus. Pour cette raison, je peux écrire mon contenu en utilisant Markdown ou l’éditeur wysiwyg. De plus, écrire des documents de présentation avec cela est un jeu d’enfant.

Les images et les ressources sont hébergées sur Cloudinary. J’ai connecté Cloudinary à Forestry afin de les gérer directement depuis le tableau de bord.

En conclusion, voici la pile technologique que j’ai utilisée pour ce projet.

Caractéristiques

Voici certaines fonctionnalités de mon portfolio et de mon blog

Optimisé pour le référencement

L’ensemble du projet est développé en gardant à l’esprit le référencement. J’ai utilisé des balises méta, des descriptions et des alignements de titres appropriés. Ce site est désormais indexé par Google.

Vous pouvez rechercher ce site web sur Google en utilisant des mots clés tels que « sat naing dev »

recherche satnaing.dev sur google

De plus, ce site web s’affichera bien lorsqu’il sera partagé sur les réseaux sociaux grâce à des balises méta correctement utilisées.

Disposition de la carte satnaing.dev lorsqu'elle est partagée sur Facebook

Plan du site dynamique

Le plan du site joue un rôle important dans le référencement. Pour cette raison, chaque page de ce site doit être incluse dans sitemap.xml. J’ai créé un plan de site généré automatiquement sur mon site web chaque fois que je crée un nouveau contenu, des balises ou des catégories.

Thèmes clairs et sombres

En raison de la tendance des thèmes sombres ces dernières années, de nombreux sites Web incluent aujourd’hui un thème sombre prêt à l’emploi. Certes, mon site web prend également en charge les thèmes clairs et sombres.

Entièrement accessible

Ce site web est entièrement accessible. Vous pouvez naviguer en utilisant uniquement le clavier. J’ai mis toutes les meilleures pratiques d’amélioration, comme l’inclusion de texte alternatif dans toutes les images, l’absence de saut de titres, l’utilisation de balises HTML sémantiques, l’utilisation correcte des attributs aria.

Champ de recherche, catégories et balises

Tous les contenus du blog peuvent être recherchés par champ de recherche. De plus, le contenu peut être filtré par catégories et balises. De cette façon, les lecteurs du blog peuvent rechercher et lire ce qu’ils veulent vraiment.

Performances et score Lighthouse

Grâce à une mise en œuvre soignée et au respect des bonnes pratiques, ce site obtient d’excellentes performances et un très bon score Lighthouse.

Score Lighthouse de satnaing.dev

Animations

Au départ, j’ai utilisé Framer Motion pour ajouter des animations et des micro-interactions. Lorsque j’ai voulu créer des animations plus complexes et des effets de parallaxe, son intégration m’a toutefois semblé moins pratique. J’ai donc choisi GSAP pour l’ensemble des animations. Cette bibliothèque très populaire permet de réaliser des effets complexes et avancés. Vous pouvez observer des animations et des micro-interactions sur presque toutes les pages du site.

animations sur satnaing.dev

Sortie

En conclusion, ce projet m’apporte beaucoup d’expérience et de confiance dans le développement de sites de blogs (SSG). Maintenant, j’ai acquis des connaissances sur le CMS basé sur Git et sur la façon dont il interagit avec NextJS. J’ai également appris le référencement, la génération de plans de site dynamiques et les procédures d’indexation Google. Je ferai de meilleurs projets à l’avenir. Alors restez à l’écoute ! ✌🏻

Et… enfin et surtout, je voudrais dire “merci” à mon ami Swann Fevian Kyaw (@ToonHa) qui a dessiné une belle illustration pour ma section héros du site.

Liens du projet


Partager cet article :

Article précédent
Comment développer mon site web de portfolio en terminal avec React