diff --git a/2013/03/31/premierarticle/index.html b/2013/03/31/premierarticle/index.html index f42a77d73..0fc0898c3 100644 --- a/2013/03/31/premierarticle/index.html +++ b/2013/03/31/premierarticle/index.html @@ -6,7 +6,7 @@ - + @@ -43,7 +43,7 @@ Réalisations - L'équipe + L'équipe Blog @@ -259,7 +259,7 @@

Suivez nos actualités

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+ Blog +

+
+ +
+
+
+ + + + + +
+

Site web, l'envers du décor avec Hugo et DecapCMS

+ + + +
+

Explorez les dessous de notre site web

+

Pourquoi Hugo ? 🤔

+

Lorsque nous avons célébré l’anniversaire de notre blog, nous avons révélé un secret : rendre notre site éditable sans nécessiter de compétences en développement. Mais, bien sûr, savoir ce qui se cache derrière est essentiel pour comprendre pourquoi c’est intéressant.

+

Nous avons opté pour Hugo, un générateur de sites qui crée des fichiers HTML/CSS statiques. Pourquoi Hugo ? Tout simplement parce que c’est rapide, polyvalent sur toutes les plateformes, intuitif, et offre une multitude de possibilités. Alors, pourquoi ne pas choisir une plateforme nocode comme Webflow ou Wix ? Parce que, pour être honnête, ce n’est tout simplement pas aussi amusant. Ces solutions ne nous permettent pas la liberté créative que nous recherchons. De même, les CMS classiques comme WordPress ou Drupal ne nous ont jamais vraiment séduits. Ils sont souvent développés en PHP ou en Python, nécessitent un hébergement spécifique, et, avouons-le, manquent parfois de flexibilité pour les développeurs qui aiment personnaliser chaque détail. En plus c’est payant, alors que nous hébergeons notre site gratuitement depuis 11 ans sur les github pages ! (téma la taille du rat) Et puis il y a un autre point à prendre en compte, pour de l’auto hébergement, personne ne va pirater un site en html/css c’est juste (presque) pas possible. Alors qu’un wordpress, il vaut mieux le faire héberger chez quelqu’un dont c’est le métier et qui va s’en occuper à plein temps.

+

Comment ça marche ? 🛠️

+

Hugo fonctionne sur la base de répertoires et de fichiers pour générer des sites statiques, sans nécessiter de base de données. Le processus est simple : une fois les fichiers générés, il suffit de les servir.

+

Dans notre configuration, le répertoire “content” contient notamment un sous-répertoire “blog”, où chaque article de blog est représenté par un répertoire individuel contenant un fichier index et une image de bannière. Ces fichiers index peuvent être écrits en HTML, Markdown ou AsciiDoc, offrant une flexibilité totale. Pour créer un nouvel article, il suffit de créer un répertoire, un fichier markdown, y écrire le contenu et voilà !

+

Les contenus sont ensuite utilisés par des “layouts”. Par exemple, dans nos fichiers index, nous définissons un titre, qui est ensuite affiché à l’aide d’un modèle prédéfini.

+

De plus, nous utilisons des “partials” pour rendre certaines parties du site réutilisables, comme le footer ou le menu. C’est l’équivalent d’une directive Vue ou Angular.

+

Pour finir, les layouts ou les partials peuvent contenir des shortcodes. Par exemple sur la page d’accueil il y a une boucle pour afficher les 3 derniers articles. Un autre exemple concernant les articles de blog, les bannières sont toutes converties en webp et re-taillées en 900x500. Si on décide de changer un jour de résolution, il suffira de mettre à jour une ligne de code et le laisser faire les resize sur les images.

+

Est-ce accessible à tous ? 🌟

+

Vous vous demandez peut-être si cette approche est adaptée aux non-techniciens. Pas tout à fait ! Écrire du markdown pourquoi pas, mais le fait de ne pas avoir de retour direct, de savoir si on crée le fichier au bon endroit, de faire des commits… Ce n’est pas adapté et c’est pourquoi nous avons ajouté DecapCMS !

+

Qu’est-ce que DecapCMS ?

+

DecapCMS, comme son nom l’indique c’est un CMS mais qui a la particularité de se baser sur des fichiers, il fait aussi des commits pour mettre à jour comme il faut.

+

Pour l’utiliser il faut d’abord l’installer, avec un package npm dans notre cas et le configurer. Dans le fichier de configuration, nous allons détailler tout ce qu’il peut éditer, sachant qu’il peut éditer du html, du markdown, du json. Voici un exemple de configuration pour les articles de blog :

+
collections: # A list of collections the CMS should be able to edit
+  - name: "post" # Used in routes, ie.: /admin/collections/:slug/edit
+    label: "Post" # Used in the UI, ie.: "New Post"
+    folder: "site/content/blog" # The path to the folder where the documents are stored
+    media_folder: "."
+    path: "{{slug}}/index" # Each document is inside a folder with the slug name.
+    create: true # Allow users to create new documents in this collection
+    fields: # The fields each document in this collection have
+      - {label: "Title", name: "title", widget: "string"}
+      - {label: "Author", name: "author", widget: "string"}
+      - {label: "Publish Date", name: "date", widget: "datetime", format: "YYYY-MM-DD", timeFormat: false}
+      - {label: "Image", name: "cover", widget: "image", required: false}
+      - {label: "Body", name: "body", widget: "markdown"}
+      - {label: "Tags", name: "tags", widget: "list"}
+

Ici on définit où se trouvent les fichiers à l’aide du folder et du path ainsi que tous les champs à éditer, pour un article on retrouve donc le titre, l’auteur, la date de publication, une image de bannière, le contenu de l’article et une liste de tags associés. Pour chaque champ, on associe un widget, par exemple la date de publication c’est un widget “datetime” ce qui va permettre d’avoir un beau datepicker dans le CMS. Le body est associé au widget markdown, qui va permettre d’avoir un éditeur de texte riche.

+

Mais on peut aller encore plus loin ! Par exemple, nous pour nos images on utilise lightbox qui permet de faire un truc un peu joli pour afficher les images et les regrouper quand on en a plusieurs. Dans ce cas on peut enregistrer un composant en détaillant simplement les champs que l’on souhaite (pour une image on veut un titre pour l’accessibilité, un nom de groupe et l’image elle-même) et enfin on lui décrit comment transformer le contenu saisi en html, donc là on écrit les balises, comme on le souhaite.

+ + Image d'illustration du widget Rich Text de DecapCMS + +

Avec Hugo et DecapCMS, la création et la modification de notre site web deviennent à la fois accessibles et passionnantes.

+

L’article présente succintement l’aspect technique, j’espère qu’il vous donnera l’envie d’aller voir plus en profondeur les projets, c’est vraiment une stack que je trouve agréable à la fois côté rédacteur de blog et côté développeur pour l’aspect technique donc si jamais vous avez besoin de mettre en place un blog ou un CMS, regardez cette alternative.

+

Vous pouvez explorer les coulisses de notre site, disponible en open source sur GitHub.

+ +
+ + +
+ + + + + + +
+ + + comments powered by Disqus +
+
+
+
+
+ + +
+

Contact

+
+
+ legos +
+
+

Code-Troopers

+

+ 26 bis rue Abraham Bosse
+ 37000 Tours - Fr +

+

+ contact@code-troopers.com +

+

+ 07 82 28 72 16 +

+
+
+ +

Suivez nos actualités

+ + +
+ + + + + + + + + + diff --git a/2024/07/10/2024/07/10/semainect2024.html b/2024/07/10/2024/07/10/semainect2024.html new file mode 100644 index 000000000..c492d8185 --- /dev/null +++ b/2024/07/10/2024/07/10/semainect2024.html @@ -0,0 +1,10 @@ + + + + /2024/07/10/semainect2024/ + + + + + + diff --git a/2024/07/10/semainect2024/image1.png b/2024/07/10/semainect2024/image1.png new file mode 100644 index 000000000..4ed8f59f9 Binary files /dev/null and b/2024/07/10/semainect2024/image1.png differ diff --git a/2024/07/10/semainect2024/image2.jpg b/2024/07/10/semainect2024/image2.jpg new file mode 100644 index 000000000..9ee04de9b Binary files /dev/null and b/2024/07/10/semainect2024/image2.jpg differ diff --git a/2024/07/10/semainect2024/image3.jpg b/2024/07/10/semainect2024/image3.jpg new file mode 100644 index 000000000..813ce8689 Binary files /dev/null and b/2024/07/10/semainect2024/image3.jpg differ diff --git a/2024/07/10/semainect2024/image3_hub9f161dfce8fde2915186fd5624af709_698849_336x200_fill_q100_h2_box_center.webp b/2024/07/10/semainect2024/image3_hub9f161dfce8fde2915186fd5624af709_698849_336x200_fill_q100_h2_box_center.webp new file mode 100644 index 000000000..198a0f21c Binary files /dev/null and b/2024/07/10/semainect2024/image3_hub9f161dfce8fde2915186fd5624af709_698849_336x200_fill_q100_h2_box_center.webp differ diff --git a/2024/07/10/semainect2024/image3_hub9f161dfce8fde2915186fd5624af709_698849_900x500_fill_q100_h2_box_center.webp b/2024/07/10/semainect2024/image3_hub9f161dfce8fde2915186fd5624af709_698849_900x500_fill_q100_h2_box_center.webp new file mode 100644 index 000000000..43642335d Binary files /dev/null and b/2024/07/10/semainect2024/image3_hub9f161dfce8fde2915186fd5624af709_698849_900x500_fill_q100_h2_box_center.webp differ diff --git a/2024/07/10/semainect2024/image4.jpg b/2024/07/10/semainect2024/image4.jpg new file mode 100644 index 000000000..9f8997eba Binary files /dev/null and b/2024/07/10/semainect2024/image4.jpg differ diff --git a/2024/07/10/semainect2024/image5.jpg b/2024/07/10/semainect2024/image5.jpg new file mode 100644 index 000000000..fe2768fb5 Binary files /dev/null and b/2024/07/10/semainect2024/image5.jpg differ diff --git a/2024/07/10/semainect2024/index.html b/2024/07/10/semainect2024/index.html new file mode 100644 index 000000000..6621ccd37 --- /dev/null +++ b/2024/07/10/semainect2024/index.html @@ -0,0 +1,317 @@ + + + + Code-Troopers - « La Semaine CT » : innovation, apprentissage et convivialité + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+ Blog +

+
+ +
+
+
+ + + + + +
+

« La Semaine CT » : innovation, apprentissage et convivialité

+ +
+

Chez Code-Troopers chaque année, pendant 5 jours, le temps s’arrête.

+

Tout le monde met en pause sa mission, on dit qu’on est « off » à tout le monde et interdiction de faire du télétravail 🙂

+

« Ouai c’est séminaire quoi. » : oui. Mais nous on appelle ça la « Semaine CT », et elle est très attendue chaque année !

+

Et bien cette semaine CT (🤡) la semaine dernière.

+

Vous voulez savoir ce qui se passe pendant cette semaine CT ? Vous êtes au bon endroit !

+

Pour résumer : Projets + démo + apéro + resto + activités diverses

+

Organisation et Équipes

+

On forme des petits groupes de 3 à 4 personnes dès le lundi matin (autour d’un petit dej colossal).

+

Cette année, 4 équipes ont été faites, elles se font sur la base des sujets sur lesquels on a envie de travailler. Les semaines précédentes on évoque des sujets, on vote, on sélectionne, on revote, parfois on improvise un sujet de dernière minute, c’est pas toujours très carré, mais à la fin, y’a toujours des projets cool sur lesquels travailler.

+

Ce format nous permet non seulement de stimuler la créativité mais aussi de travailler avec des Troopers avec qui on ne travaille pas forcément au quotidien.

+

Les Projets de la Semaine

+
    +
  1. Un ELO babyfoot : Développer un système de classement pour nos tournois de baby-foot. (Parce que oui, on joue régulièrement)
  2. +
  3. Un timeline en ligne : Développer un jeu de société en ligne
  4. +
  5. Un sujet autour de la billetterie : développer une solution permettant d’intégrer une billetterie à nos applications Chapitô
  6. +
  7. Faciliter les mises à jour de nos 50 applications Chapitô : Un projet pour…. faciliter les mises à jour de nos 50 applications Chapitô
  8. +
+

Zoom sur les Projets

+

⚽️ ELO baby foot :

+

Ce projet avait pour but de développer un système de classement dynamique, pour nos parties de baby-foot quotidiennes. L’équipe a travaillé sur un algorithme de classement (ELO, un peu comme aux échecs), une interface utilisateurs intuitive et une intégration avec notre messagerie interne (Slack)

+
+
+L’équipe à décidé de créer une application Web permettant de saisir les matchs joués, consulter la liste des matchs et le classement. Afin de faciliter la création d’un match, l’équipe a décidé d'intégrer le processus dans Slack en ajoutant la création automatique des équipes selon l’ELO des joueurs. La stack qui a été utilisée est : Svelte / Spring Boot / Postgres. Il n’y a pas eu de difficulté particulière à la mise en place de ce projet. +

Le projet est fonctionnel même s’il reste des ajustements à faire au niveau du front et du calcul de l’ELO qui n’est pas encore satisfaisant !

+

Mais d’ici quelques jours on devrait pouvoir obtenir quelque chose d’utilisable !

+

Pleins d’évolutions possibles : être capable de savoir contre qui tel Troopers a le plus gagné / perdu, obtenir des stats sur les meilleurs buteurs, les meilleures combinaisons de joueurs etc.

+
+
+ + Babyfoot + +
+
+

🃏Un timeline en ligne :

+

On joue pas mal au jeu de société TimeLine mais au bout d’un moment on connait les cartes par cœur, du coup le but du projet était de créer une version web (avec une infinité de thèmes et de cartes).

+

Le résultat obtenu au bout de ces quelques jours est une version jouable avec système de score et gestion des cartes du deck (manuellement via un formulaire ou générées automatiquement par IA en suivant un thème fourni par l’utilisateur).

+

Niveau techno, l’équipe a utilisé le framework React Next.js, Shadcn UI pour les composants graphiques et le SDK d’Anthropic AI pour pouvoir utiliser l’IA Claude pour la génération des cartes.

+

Pas de difficultés particulières pour le moment, quelques améliorations sont à prévoir, parce que pour l’instant, sur un thème un peu tiré par les cheveux ça invente des dates, c’est pas très malin (ex : Date du 1er burger sur Mars = 2028, on est pas dans les petits papiers de SpaceX, mais, ça nous parait un peu short).

+

🎟️ Un sujet autour de la billetterie :

+

Pour le projet Chapitô on est tous les ans amenés à parler « billetterie » avec nos clients. Alors pendant 5 jours une équipe a décidé de creuser un peu ce sujet là. Qui sont les acteurs ? Chez qui sont nos clients ? Pourquoi ? Comment les intégrer ? Comment améliorer l’expérience utilisateur ? Comment utiliser certaines de nos fonctionnalités pour optimiser l’expérience.

+

Pour ça, une équipe s’est mise dans la peau d’un service de billetterie, et en 5 jours l’équipe a développé, une interface admin pour créer une billetterie et des articles, une interface web pour réserver son billet et une appli de scan de billet. 🥵

+

Bon, il ne faut pas s’emballer, en 5 jours on ne refait pas Weezevent, mais ça permettait d’aborder des sujets techniques intéressants.

+

Techno : React Native, Java, Spring Boot, Vue

+

🚧 Faciliter les mises à jour de nos 50 applications :

+

La dernière équipe a travaillé sur le projet Chapitô pour développer un backoffice unique (les backoffice permettent aux organisateurs d’évènements de créer leurs applications mobiles).

+

L’objectif est d’aligner les versions clients, simplifier l’onboarding et réduire les coûts d’infrastructure.

+

Les technos utilisées pour ce projet sont : Java, Kotlin, Spring Boot et VueJS.

+

Les difficultés se trouvaient dans la façon d’adapter l’existant volumineux. Néanmoins, les résultats obtenus sont suffisamment encourageants pour poursuivre vers un backoffice unifié.

+

D’ailleurs un Trooper continue le projet cette semaine pour que ça aille au bout !

+

Ce projet visait à automatiser et simplifier le processus de mise à jour de nos nombreuses applications. L’équipe a conçu un système centralisé permettant de déployer les mises à jour de manière efficace et sécurisée.

+

Fin du zoom sur les projets

+

Activités et Team Building

+

La semaine CT est toujours ponctuée d’activités de détente (ou pas ! Un tournoi de baby ici c’est très sérieux et on peut être TRÈS tendu en finale).

+

🏆⚽️Tournoi de Baby : Aimeric et Florian

+

🏆🎯Tournoi de Fléchettes : Joris et Pierre

+

🏆🏎️Tournoi de Mario Kart : Matthieu

+ + Mario Kart + +

On fait toujours aussi une grosse activité team building toute une après-midi. Cette année c’était KhoLanTours Organisé par Numatéra (on a fait du feu, cherché des objets dans la forêt, fais l’épreuve des poteaux, etc.) (Rouge 🏆)

+ + KohLanTours + +

On profite du fait que tout le monde soit présent pour partager les repas dans différents resto, ou dans notre petit patio. Et bien sûr on organise des apéros et des soirées !

+

Aussi, tous les matins la première heure est dédiée à un p’ti dej Démo ! Les démo sont libres, tech ou pas tech ! Le but est de partager un truc auquel on s’est intéressé récemment.

+
+
+

Cette semaine on peut dire que c’était varié :

+
    +
  • Apprendre à reconnaître une écriture asiatique pour être un pro à Geotastic. Par Charles-Marie
  • +
  • Pimp my Mac. Pour une meilleure gestion des fenêtres. Par Vincent.
  • +
  • Ornithopter : une introduction à la fascinante machine volante de DUNE. Par Pierre
  • +
  • Les astuces de Figma pour un design efficace. Par Jules
  • +
  • Next.js et les React Server Components (RSC). Par Benjamin
  • +
  • Utiliser HomeAssistant pour se débarrasser de son trousseau de clés. Par Florian
  • +
  • Découvrir la technique cinématographique du Texas switch. Par Aimeric
  • +
+
+
+ + Démo 1 + +
+
+ + Démo 2 + +

Et après ?

+

Ce que l’on peut reprocher de temps en temps à La Semaine CT c’est que les projets ne sont pas complètement aboutis et parfois sont un peu abandonnés ou partent à la “poubelle”. (C’est pas forcément grave, le but est avant tout de découvrir de nouvelles choses, technos, domaines, etc.)

+

Mais cette année, au moins 2 des 4 projets seront poursuivis, le projet sur l’ELO Baby et celui sur le backoffice unique pour Chapitô. C’est du bonus !

+

Quoi qu’il en soit, l’objectif de cette semaine CT est atteint ! Tous les Troopers ont passé un bon moment, chacun a pu tester de nouvelles idées dans une ambiance décontractée.

+ +
+ + +
+ + + + + + +
+ + + comments powered by Disqus +
+
+
+
+
+ + +
+

Contact

+
+
+ legos +
+
+

Code-Troopers

+

+ 26 bis rue Abraham Bosse
+ 37000 Tours - Fr +

+

+ contact@code-troopers.com +

+

+ 07 82 28 72 16 +

+
+
+ +

Suivez nos actualités

+ + +
+ + + + + + + + + + diff --git a/404.html b/404.html index bb504a418..a2155149e 100644 --- a/404.html +++ b/404.html @@ -6,7 +6,7 @@ - + @@ -41,7 +41,7 @@ Réalisations - L'équipe + L'équipe Blog @@ -114,7 +114,7 @@

Suivez nos actualités

- + \ No newline at end of file +Content Manager \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index 8eb58b0ff..3c50534eb 100644 --- a/blog/index.html +++ b/blog/index.html @@ -6,7 +6,7 @@ - + @@ -41,7 +41,7 @@ Réalisations - L'équipe + L'équipe Blog @@ -64,6 +64,83 @@

+
+
+ + + + + +
+ + + +
+ +
+

+ + « La Semaine CT » : innovation, apprentissage et convivialité + +

+
    + +
+

Chez Code-Troopers chaque année, pendant 5 jours, le temps s’arrête. +Tout le monde met en pause sa …

+ + En savoir plus +
+
+
+ +
+
+
+ + + +
+
+ + + + + +
+ + + +
+ +
+

+ + Site web, l'envers du décor avec Hugo et DecapCMS + +

+ +

Explorez les dessous de notre site web Pourquoi Hugo ? 🤔 Lorsque nous avons célébré …

+ + En savoir plus +
+
+
+ +
+
+
+ + +
@@ -390,84 +467,6 @@

- - -
-
- - - - - -
- - - -
- -
-

- - Google Analytics via Google Tag Manager - -

- -

C’est en branchant Facebook PIXEL sur un projet, que j’ai enfin compris et vraiment utilisé Google …

- - En savoir plus -
-
-
- -
-
-
- - - -
-
- - - - - -
- - - -
- -
-

- - Firebase + XCode - -

- -

Il est courant maintenant d’utiliser Firebase dans les applications mobiles. Que ce soit pour la …

- - En savoir plus -
-
-
- -
-
-
-