A graphical user interface for the QEMU virtual machine emulator, showing a window with various controls and information related to the virtual machine.

C'est très enrichissant de me replonger dans la programmation C ces derniers temps, et mon objectif principal a été mon petit projet, « csend ». C'est une application de chat peer-to-peer sur laquelle je travaille. L'idée principale est de la faire fonctionner correctement sur différents systèmes, notamment les plateformes POSIX modernes comme Linux et, pour un peu de rétro, sur Mac OS classique.


A vintage Apple Macintosh SE personal computer with a CRT display and a beige, boxy design.

Après avoir terminé les fonctionnalités principales de Willow CMS, j'envisageais de lancer un second projet parallèle. Je bidouillais sur mon Mac SE et me demandais à quoi ressemblerait le développement logiciel dessus. Il y a environ 25 ans, j'ai lancé CodeWarror pour la dernière fois sur un Power Macintosh 7500 et j'ai commencé à jouer au C/C++, et il y a environ 20 ans, depuis ma dernière étude universitaire. J'ai décidé de tenter ma chance en développant une application de chat peer-to-peer. Je commencerai par la faire fonctionner sur Ubuntu, puis sur macOS moderne et, espérons-le, dans un avenir proche, sur System 6, en utilisant l'IDE Think C.


A large crowd of people dressed in medieval-style clothing, including robes, cloaks, and hats, walking in a procession through an ornate, dimly lit cathedral-like structure with arched ceilings and sunlight streaming through the windows.

Dans cet article, nous verrons comment utiliser le plugin Queue de CakePHP pour gérer et exécuter efficacement les tâches en arrière-plan. Nous explorerons la structure, l'implémentation et les avantages de cette approche, en nous concentrant sur le répertoire `src/Job` et les composants associés de Willow CMS.


A bearded chef in a rustic kitchen carefully preparing a beef wellington dish, with pastry dough, herbs, and other ingredients visible on the counter.

Cet article détaille le développement d'un microservice Python nommé « MarkItLikeItsHot », conçu pour rationaliser la conversion de contenu en Markdown dans Willow CMS. Ce microservice utilise un wrapper FastAPI autour de la puissante bibliothèque MarkItDown de Microsoft, permettant une conversion transparente des fichiers, des URL et du texte brut en Markdown propre et formaté. Nous explorerons les technologies sous-jacentes, aborderons la structure du code et mettrons en évidence des aspects clés tels que le déploiement, les tests et la configuration de Docker.


An elderly wizard with a long white beard and pointed hat sits at a desk, surrounded by books and candles, intently studying ancient scrolls and manuscripts.

Cet article couvre le refactoring du code lié au comportement de l'arbre CakePHP et aux slugs dans Willow CMS. À l'origine, les articles et les balises avaient du code dupliqué pour les opérations d'arborescence. Cela a été refactorisé dans OrderableBehavior, rendant le code réutilisable et testable. De même, la gestion des slugs, auparavant dispersée sur plusieurs emplacements, a été consolidée dans le nouveau SlugBehavior. Ce comportement gère la génération, la validation et l'historique des slugs, simplifiant les classes ArticlesTable et TagsTable tout en ajoutant des fonctionnalités telles que la génération automatique de slugs à partir des titres, les slugs personnalisés et le suivi de l'historique des slugs pour un meilleur référencement. Ce refactoring a considérablement réduit la duplication de code et amélioré la maintenabilité et la testabilité.


An elderly wizard with a long white beard sits at a desk in a dimly lit library, writing in an ancient tome by candlelight. The room is adorned with ornate, gilded frames and shelves filled with books.

Les migrations sont un outil de CakePHP permettant de gérer les modifications du schéma de base de données. Elles permettent de modifier la structure de votre base de données de manière contrôlée par version, ce qui facilite le suivi, le partage et le déploiement des modifications dans différents environnements ou installations de votre application. CakePHP dispose d'outils permettant de générer des instantanés de la structure de votre base de données et des migrations entre elles. Étant donné que les migrations peuvent également exécuter des instructions de langage de requête sur votre base de données, elles peuvent également être utilisées pour modifier les données. Willow CMS a évolué au fil de plusieurs versions depuis sa mise en ligne sur ce site, certaines de ces versions nécessitant des modifications du schéma et des données de la base de données. Dans cet article, je vais vous présenter quelques exemples pratiques de la manière dont j'ai géré cela.


Page 1 sur 2, affichant 6 enregistrement(s) sur un total de 11

À propos

Bienvenue sur willowcms.app. Ce site utilise Willow, un système de gestion de contenu que je développe en open source. Vous y trouverez des mises à jour de développement, des fonctionnalités phares et des guides sur l'utilisation de Willow pour vos propres sites.

Articles en vedette

Autre part

  1. GitHub

Feeds

  1. RSS Feed