Seed : notre modèle de site web dynamique
Publié le 10 décembre 2022
Lorsque nous avons fondé Code Bards en janvier 2021, nous avions besoin d'un site web et nous avons rapidement mis quelque chose en place. C'était juste un paquet de fichiers HTML statiques. Quand nous avons lancé Calendarium, nous avons ajouté nos politiques de confidentialité et une infolettre à codebards.io. Tout à coup, le simple site web d'origine commençait à être lourd à maintenir. Nous devions suivre un grand nombre de fichiers HTML similaires, la plupart en anglais et en français.
Nous avons étudié différentes solutions pour rendre le contenu du site plus dynamique. Nous cherchions à satisfaire ces besoins :
- Support du français et de l'anglais
- Possibilité de rester sur la page en cours lors du changement de langue
- Support de routes statiques pour les pages HTML statiques personnalisées telles que la page d'accueil
- Support de routes dynamiques pour afficher le contenu créé en Markdown
- Support de la redirection des anciennes URL
- Extensibilité pour permettre le stockage des données quel que soit le format dont nous avons besoin
- Facilité de déploiement
- Bonne performance
Nous aimons coder, c'est ce que nous faisons. Nous avons également un framework interne personnalisé pour construire des applications web. Nous avons décidé d'extraire des parties de notre framework et de créer quelque chose de nouveau à partager avec le monde: Seed est né.
Seed n'est pas un framework pour créer des applications web comme Rails, Django ou WordPress. C'est plutôt un modèle que vous pouvez utiliser comme point de départ pour construire un site web personnalisé. Le framework Dropwizard constitue la base du modèle, qui comprend tout ce dont vous avez besoin pour créer des sites web dynamiques. Nous avons également inclus flexmark-java pour convertir le contenu Markdown stocké dans la base de données, prêt à être affiché dans une vue HTML. Gradle a été choisi pour gérer les dépendances et nous avons inclus des tâches personnalisées pour démarrer le développement. Le modèle comprend une migration initiale de base de données qui sert d'exemple et que vous pouvez utiliser comme point de départ pour la structure de votre base de données. Quelques routes sont configurées par défaut :
- La page d'accueil
- Une page à propos
- Une section dynamique pour les articles
- Une section dynamique pour les politiques
Une fois construite, l'application est contenue dans un seul fichier jar (à l'exclusion du fichier de configuration et de la base de données) et peut être facilement déployée. Nous avons également inclus un service systemd.
Nous sommes très satisfaits du résultat et nous aimons maintenant maintenir notre site web. Peut-être trouverez-vous vous aussi un cas d'utilisation pour Seed. Si vous décidez de l'essayer, n'hésitez pas à collaborer avec nous!