Actualités

Grand changement du site ?

Avec plus d’une décennie d’existence, mon blog Laravel a connu un succès durable grâce à la fidélité de ses lecteurs. J’ai récemment reçu une remarque de l’un d’entre eux, suggérant que le support WordPress, bien qu’opérationnel, pourrait être un obstacle à l’évolution fulgurante de Laravel. Cette remarque m’a incité à réfléchir à un changement.

Initialement, mon choix s’est porté sur WordPress pour sa facilité d’utilisation, sa large communauté de développeurs et ses nombreuses fonctionnalités. Toutefois, l’univers Laravel évoluant rapidement, de nouvelles technologies comme Volt, Livewire et MaryUI sont désormais à notre disposition, transformant radicalement notre façon de coder.

Inspiré par ces avancées, j’ai donc entrepris d’écrire le code de mon blog pour en faire une version plus moderne. J’ai rencontré quelques difficultés, en particulier avec l’imbrication de composants Volt et les problèmes d’intégration occasionnels. Cependant, au fil du temps, j’ai appris à mieux comprendre les concepts sous-jacents et à m’adapter à ces nouveaux paradigmes.

La combinaison de Volt et MaryUI se révéle être une solution idéale, offrant une expérience utilisateur fluide et attrayante, et simplifiant grandement le développement d’interfaces modernes. Grâce à Volt, on peut réduire l’usage du JavaScript pour les interactions dans le navigateur, tandis que MaryUI fournit une bibliothèque de composants visuels prêts à l’emploi, allégeant considérablement le travail.

En intégrant ces nouvelles technologies à mon blog, je suis convaincu de pouvoir offrir une expérience utilisateur de qualité supérieure à mes lecteurs, tout en contribuant à l’innovation dans le monde Laravel. J’espère que ce projet pourra servir d’inspiration pour d’autres membres de la communauté Laravel dans leurs propres efforts de modernisation.

Le présent article a pour but de présenter le projet et de susciter des participations. Vous pouvez me faire part de vos remarques et suggestions. Je pense aussi mettre le code en partage sur Github pour faciliter les participations.

Le code est maintenant présent sur github

Le projet en résumé

Introduction

Ce projet, dont le développement est déjà bien avancé mais totalement ouvert, vise à offrir une plateforme complète et intuitive pour la publication et la gestion de contenu. La solution se compose de deux parties principales : le frontend et le backend, chacune avec des fonctionnalités spécifiques. En voici les thèmes principaux :

Côté Frontend

Le frontend est la partie visible de l’application que les utilisateurs interagissent directement. Voici les principales fonctionnalités :

  1. Page d’accueil :
    • Menu de navigation : Accès rapide aux différentes sections du site avec menus et sous-menus.
    • Derniers articles avec pagination : Affichage des articles récents avec une navigation facile pour parcourir les articles plus anciens.
    • Authentification : enregistrement, connexion, gestion du mot de passe.
  2. Articles :
    • Commentaires : Les utilisateurs peuvent lire et laisser des commentaires sur les articles.
  3. Pages fixes :
    • Contenu statique comme les pages « À propos », « Conditions d’utilisation », etc.
  4. Page de contact :
    • Formulaire de contact pour permettre aux visiteurs de nous joindre directement depuis le site.

Côté Backend

Le backend est la partie de l’application où l’administrateur et les rédacteurs gèrent le contenu et les différentes configurations du site. Voici les principales fonctionnalités :

  1. Gestion des articles :
    • Création, édition, suppression et publication des articles.
  2. Gestion des pages :
    • Création et gestion des pages fixes.
  3. Gestion des catégories :
    • Organisation des articles par catégories pour une meilleure structure.
  4. Gestion des séries :
    • Création et gestion de séries d’articles sur un même thème. c’est quelque chose qui manque dans WordPress où les articles s’enchainent en fonction des dates.
  5. Gestion des menus et sous-menus :
    • Personnalisation de la navigation sur le site.
  6. Gestion des profils utilisateurs :
    • Gestion des rôles et permissions des utilisateurs.
  7. Gestion des contacts :
    • Consultation et gestion des messages envoyés via le formulaire de contact.

Conclusion

Mon objectif n’est pas de reproduire WordPress, mais plutôt de créer une application performante et adaptée à mes besoins spécifiques, tout en rendant le code assez flexible et accessible pour être utilisé à plus grande échelle. Dans un avenir proche, je compte publier une démonstration en ligne afin de susciter des discussions concrètes autour de cette réalisation, mais j’aimerais déjà solliciter les avis pour savoir si cela intéresse la communauté et si certains d’entre vous souhaitent participer au développement.

En outre, j’aspire à faire de mon blog un espace ouvert et accueillant pour d’autres rédacteurs de contenu qui souhaiteraient partager leurs connaissances et leurs expériences ici. Je crois fermement que la collaboration et le partage d’idées sont essentiels à la croissance de notre communauté Laravel.

En ce sens, je suis conscient de l’importance de construire une plateforme solide, fiable et performante, qui non seulement répondra à mes besoins, mais aussi à ceux de potentiels contributeurs. Je vous encourage donc à vous joindre à cette entreprise, que ce soit en contribuant au code, en partageant vos idées ou en créant du contenu pour le blog. Ensemble, nous pourrons bâtir un site web innovant et dynamique qui reflète notre passion pour Laravel et le développement web.

 

Print Friendly, PDF & Email

10 commentaires

  • gil

    Bonjour,

    Interessé pour le clonet et tester, j’ai un souci lors du clone :

    > λ git clone git@github.com:bestmomo/sillo.git
    > Cloning into ‘sillo’…
    > git@github.com: Permission denied (publickey).
    > fatal: Could not read from remote repository.

    > Please make sure you have the correct access rights
    > and the repository exists.

    Je suis sur gros projet de révision de fond en comble d’un site existant et de taille conséquente, sur base Laravel+Livewire+Filament+Tailwind. Une partie de l’ancien site pour des dossiers et article était géré avec Dokuwiki, que je ne compte pas conserver (implique des mises à jour régulière plus template d’intégrations). Les éditeurs « riches » possiblement gérés sous Filament (qui reste top et mieux que Nova d’après moi) comme Markdown, RichEditor, ou même en plugin comme TinyEditor ne permettent pas d’avoir des mises en pages qui me conviennent. Je n’ai pas cru voir encore dans tes articles comment tu comptes stocker la mise en page des articles, mais c’est un point qui peut être source d’idées pour moi 🙂

    • bestmomo

      Salut,

      Si tu n’arrives pas à cloner, alors télécharge le code directement (pour cloner, il faut une clé SSH dans son compte).

      J’ai déjà testé Filament et c’est effectivement un superbe package. Pour ce projet, j’ai préféré coder complètement le backend pour garder plus de liberté. En ce qui concerne l’éditeur je suis parti sur TinyMCE qui me paraît vraiment intéressant et ce qui se fait de mieux dans le domaine, surtout avec tous les plugins qu’il propose. Mais je suis évidemment ouvert à toute autre suggestion. Quels sont les éléments de mise en page qui ne te conviennent pas dans TinyMCE ? Sinon tu peux toujours intégrer Gutenberg dans ton projet avec Laraberg.

      • gil

        Entre temps j’avais trouvé et cloné via HTTPS 🙂 (d’ou ma petite propal de modif), merci !

        Pour l’éditeur, ce n’est pas forcément lié aux éditeurs eux-même, mais peut-être aux possibilités offertes par l’intégration dans Filament de l’éditeur de champs ou du plgin. Je souhaiterai d’une part pouvoir utiliser des images existantes (pas être forcé à les uploader à chaque fois) et d’autre part pouvoir faire une mise en page d’image assez libre (une ou plusieurs images par ligne, centrée ou non, et avec la maitrise de leur dimensions). Les trois essayés (dans le cadre de l’éditeur intégré Filament) ne permettent pas l’ensemble en même temps. Il est certain que Dokuwiki proposait bien plus, mais je ne cherche pas forcément des mises en pages poussées avec diverses possibiilités d’encadrements d’images par du texte. Je n’ai pas plus poussé mes recherches parce que ce n’était pas la priorité numéro 1 et qu’il reste encore pas mal de travail (même si l’ensemble est déjà très avancé).

        • bestmomo

          Je me suis posé la même question concernant l’utilisation des images existantes et je n’ai pas encore trouvé la bonne solution. Pour ce qui concerne la disposition de plusieurs images en ligne avec maîtrise des dimensions, un tableau fait très bien l’affaire.

          • gil

            En voyant ce que permet le Rich Editor que tu as mis en admin, et ce que permet celui inclus de base dans Filament, je comprends mieux 🙂 Bon, le pluginTinyEditor que j’avais essayé était simplet, deux autres plugins semblent plus prometteur (un TinyEditor plus complet et un TipTap editor, je vais essayer).
            Sinon, y-a-t-il moyen de te contacter ? (pour relecture / conseils)

  • GrCOTE7

    Wow ! BRAVOs !!!

    Car là, c’était déjà super bien, mais cela devient vraiment ‘Full’ cohérent 🙂 !

    Vraiment, félicitations !

    Et toujours heureux de lire les tutos de Sillo.org 🙂 ! Et ce repository à lui seul en vaut 100 !

    Certes, comme tu le dis, le challenge est ‘féroce’, mais fatche, avec la communauté de tes lecteurs, et le Git, la voie est ouverte, pour générer le laravel.sillo.org v2.0 🙂

    En tous les cas, bravo d’avoir enfin franchi le pas, y compris celui d’adopter comme partenaire, outre chacun d’entre nous, tes lecteurs…: Le Git !

    Car là, au-delà du ‘Full cohérent’, la puissance de la collaboration sans coordination qu’il offre, est aussi la porte ouverte à une voie de dev un site, au petits oignons, pas concurrent de WP, mais simplement tout aussi performant !

    Bravo, BestMomo, d’avoir déjà pris la décision d’oser franchir le pas, et je reste fermement convaincu, que nombre de tes lecteurs te suivront activement dans cette Voie ! 🙂

    En tous cas, cela sera mon cas 😉 !

    • bestmomo

      Merci pour la réponse. Je pense qu’un dépôt Github est la meilleure façon de collaborer. J’attends d’avoir encore un peu avancé pour le créer. Je suis tombé sur quelques difficultés avec MaryUI et je suis en contact avec son créateur.

Laisser un commentaire