Top.Mail.Ru
  • CMS «GIRVAS»

    Un système de gestion de contenu flexible et gratuit, permettant de créer un site de toute orientation.

    Plus simple avec nous !

  • Absolument gratuit

    Arrêtez d'utiliser des systèmes de gestion anciens et payants ! L'ère des nouvelles solutions est arrivée - choisissez «GIRVAS» !

  • Solution carélienne

    «GIRVAS» a été développé en République de Carélie et est inscrit au Registre des logiciels russes du Ministère du développement numérique de la Fédération de Russie (numéro d'enregistrement n° 25012 du 27.11.2024).

0.3.0 « Chouïa »

CMS « GIRVAS » Version du 12 mai 2026 à l"étape de développement « Chouïa ».

Dernières modifications

QueryBuilder : ajout du support des JOIN, des expressions CASE et des index

  • ajout de l"Enum IndexType avec les types d"index (BTREE, HASH, GIST, GIN, SPGIST, BRIN, FULLTEXT)
  • ajout de la classe ClauseJoin pour le support des JOIN dans les requêtes SELECT (INNER, LEFT, RIGHT, FULL)
  • implémentation de la génération adaptative des conditions JOIN pour MySQL et PostgreSQL
  • ajout de la classe CaseExpression pour la construction des expressions CASE en SQL
  • implémentation des méthodes whenJsonLike() et whenJsonArrayContains() pour la recherche JSON
  • ajout de la méthode statique CaseExpression::sum() pour la sommation des expressions CASE
  • ajout de la méthode factory createCase() dans QueryBuilder
  • ajout de la classe StatementCreateIndex pour la construction des requêtes CREATE INDEX
  • ajout de la classe StatementDropIndex pour la construction des requêtes DROP INDEX
  • implémentation du support UNIQUE, CONCURRENTLY, IF NOT EXISTS/IF EXISTS, index partiels avec WHERE
  • ajout des méthodes setStatementCreateIndex() et setStatementDropIndex() dans QueryBuilder
  • correction de l"échappement des expressions CASE dans addSelections() pour PostgreSQL
  • ajout de la mise en cache des données initialisées (initData) dans la classe EntryCategory

Ajout d"un moteur de recherche intégré pour les entrées

  • ajout de la méthode search() dans la classe Entries pour la recherche en texte intégral avec prise en compte de la localisation
  • ajout de la méthode getCountBySearch() dans la classe Entries pour la pagination des résultats de recherche
  • implémentation du classement des résultats de recherche par pertinence avec des pondérations de champs configurables
  • implémentation de la recherche AND avec découpage de la requête en mots et prise en compte de la ponctuation
  • ajout de la classe PageSearch pour l"affichage de la page de recherche publique
  • correction du décodage URL de la requête de recherche dans PageSearch

Ajout d"une page d"archive des entrées avec navigation par dates

  • ajout des méthodes getByDateRange() et getCountByDateRange() dans la classe Entries pour la sélection sur une période
  • ajout des méthodes getAvailableYears() et getAvailableMonths() dans la classe Entries pour la navigation dans l"archive
  • ajout de la classe PageArchive pour l"affichage de la page d"archive
  • implémentation de la navigation par années et mois avec comptage du nombre d"entrées
  • getMonthName() modifié en méthode statique publique avec récupération des noms depuis la localisation
  • la navigation d"archive buildArchiveNavigation() a été réécrite avec DOMDocument
  • ajout des pages d"archive au Sitemap (/archive, /archive?year=AAAA, /archive?year=AAAA&month=MM)

Ajout du support des catégories enfants et des fils d"Ariane hiérarchiques

  • ajout des méthodes getByCategoriesIDs() et getCountByCategoriesIDs() dans la classe Entries
  • ajout de la méthode getChildCategoriesIDs() dans la classe EntryCategory pour la récupération récursive des catégories enfants
  • ajout de la méthode getParentChain() dans la classe EntryCategory pour la hiérarchie des fils d"Ariane
  • mise à jour des méthodes getEntries() et getEntriesCount() avec le paramètre includeChildren
  • la page de catégorie PageEntries affiche les entrées en tenant compte des catégories enfants
  • les fils d"Ariane affichent la hiérarchie complète de la racine à la catégorie actuelle

Ajout de la création automatique des index lors de l"installation du CMS

  • ajout d"un bloc de création d"index à l"étape 6 de l"installation après la génération des tables
  • index pour les tables entries, entries_categories, entries_comments, pages_static
  • index pour les tables users, users_sessions, forms_data, web_channels, metrics
  • index uniques sur name, login, email
  • pour PostgreSQL, ajout d"index GIN sur les champs JSONB et d"un index partiel pour les entrées publiées
  • tous les index sont créés avec IF NOT EXISTS, les erreurs sont enregistrées sans interrompre l"installation

Ajout d"une sous-section dans la section « Contenu » du panneau d"administration : « Blocs de contenu »

  • Nouvelle sous-section « Blocs de contenu » introduite dans la section « Contenu »

Ajout d"un analyseur SEO de contenu intégré avec support markdown

  • implémentation de la classe SeoAnalyzer pour vérifier cinq axes : titre, méta-description, mots-clés, contenu, url
  • l"analyseur vérifie la présence des mots-clés dans le titre SEO, la méta-description, les titres h2-h6, le premier paragraphe et l"ensemble du texte
  • contrôle des doublons : avertissement si les champs SEO sont vides et dupliquent les champs principaux
  • l"analyseur markdown supporte les attributs json des liens et des images dans la syntaxe du CMS « GIRVAS »
  • recherche d"urls nues avec recommandation de les formater en liens markdown
  • vérification du texte alt des images et du rel=nofollow des liens externes
  • hiérarchie des titres : h1 exclu de l"analyse du contenu car généré par le thème
  • indication colorée et barres de progression pour chaque section
  • bloc de recommandations avec des étapes concrètes pour l"amélioration
  • fonctionne entièrement côté client, sans requêtes vers le serveur
  • localisation via _t() avec un format compatible PHP %s, %d, %.nf
  • interface intégrée dans le panneau latéral de l"éditeur de pages et d"entrées

Corrections de bugs mineurs

Version précédente : 0.2.9 « Voïtsy »

Traductions

Commentaires

Cet article n'a pas de commentaires.