Synchronisation JSON locale | Field Forge - Champs personnalisés, conçus pour la vitesse
Télécharger Se connecter

Synchronisation JSON locale

La synchronisation JSON locale enregistre vos définitions de groupes de champs sous forme de fichiers JSON dans le dossier de votre thème. Cette fonctionnalité existe principalement pour les flux de travail de développement où un développeur utilise le contrôle de version (comme Git) pour gérer les modifications de code et les déployer à travers les environnements (machine locale, serveur de staging, serveur de production). Pour la plupart des gestionnaires de contenu, cette fonctionnalité fonctionne silencieusement en arrière-plan et ne nécessite aucune action, à part cliquer de temps en temps sur un bouton “Synchroniser”.

Ne confondez pas cela avec le dossier JSON local d’ACF. Field Forge écrit ses propres fichiers dans fieldforge-json/ par défaut. Lors de la migration depuis ACF, Field Forge peut également lire les fichiers acf-json/group_*.json d’ACF comme source lorsque aucun enregistrement de groupe de champs ACF n’existe dans la base de données.

Cette section explique ce que fait la synchronisation JSON, pourquoi elle existe, quand vous pourriez la rencontrer et que faire lorsque vous voyez des notifications de synchronisation dans l’administration.

Pourquoi la synchronisation JSON locale existe

Lorsque un développeur construit un site, il crée généralement des groupes de champs sur sa machine locale. Sans JSON Sync, les définitions de groupes de champs ne vivent que dans la base de données. Pour les déplacer vers le serveur de staging ou de production, le développeur devrait exporter et importer manuellement des fichiers JSON chaque fois qu’il effectue un changement. JSON Sync automatise cela en écrivant les définitions de groupes de champs dans des fichiers à l’intérieur du dossier du thème. Ces fichiers voyagent avec le code du thème à travers le contrôle de version, et lorsque le code est déployé, Field Forge détecte les nouveaux fichiers ou les fichiers modifiés et les applique.

Ce flux de travail est invisible pour les gestionnaires de contenu — les champs apparaissent ou se mettent à jour simplement lorsque le développeur pousse des changements.

Comment cela fonctionne en coulisses

  1. Lorsque la synchronisation JSON est activée, chaque fois qu’un groupe de champs est enregistré dans l’admin, Field Forge écrit un fichier JSON dans fieldforge-json/ à l’intérieur du thème actif (le nom de dossier par défaut ; à remplacer via le filtre fieldforge/local_json/save_path)
  2. Le fichier JSON contient la définition complète du groupe de champs : champs, types, paramètres, mise en page, règles de localisation, logique conditionnelle et ordre
  3. Le développeur inclut ces fichiers dans son dépôt de contrôle de version (Git, SVN, etc.)
  4. Lorsque des fichiers mis à jour sont déployés sur un serveur, Field Forge détecte que les fichiers JSON sont plus récents que les versions de la base de données
  5. Un avis de synchronisation apparaît dans l’admin vous invitant à appliquer les mises à jour

Ce que les gestionnaires de contenu doivent savoir

La plupart du temps, JSON Sync fonctionne de manière invisible. Voici les deux situations où vous pourriez avoir besoin d’agir :

Situation 1 : Vous voyez une notification “groupes de champs désynchronisés”
  1. Allez dans Field Forge > Groupes de champs
  2. Vous verrez une bannière ou un badge indiquant qu’un ou plusieurs groupes de champs sont désynchronisés avec leurs fichiers JSON
  3. Cliquez sur le bouton Synchroniser
  4. Field Forge met à jour les groupes de champs de la base de données pour correspondre aux fichiers JSON
  5. La notification disparaît
  6. Cela signifie que votre développeur a poussé des modifications — les champs mis à jour reflètent désormais son travail
Situation 2 : Vous apportez des modifications dans l’administration et vous vous demandez si elles seront écrasées

Si vous modifiez un groupe de champs dans l’administration pendant que JSON Sync est activé, vos modifications sont enregistrées dans la base de données ET écrites dans le fichier JSON dans le thème. Si un développeur pousse plus tard sa propre version de ce fichier JSON, il pourrait y avoir un conflit.

ScénarioQue se passe-t-il
Seul le développeur a modifié le fichier JSONLa synchronisation applique ses modifications proprement lorsque vous cliquez sur Synchroniser
Vous seul avez modifié le groupe de champs dans l’administrationVos modifications sont en direct. Le fichier JSON a été mis à jour avec vos modifications. Si le développeur récupère votre fichier JSON mis à jour, il voit vos modifications.
Vous et le développeur avez modifié le même groupe de champsField Forge détecte un conflit et affiche un avertissement. Vous choisissez quelle version conserver.

Activation ou désactivation de la synchronisation JSON

  1. Allez à Field Forge > Paramètres
  2. Trouvez le commutateur Synchronisation JSON locale
  3. Activez-le ou désactivez-le
  4. Le chemin de sauvegarde est fieldforge-json/ dans le dossier du thème actif. Il n’y a pas de contrôle UI pour cela — votre développeur peut remplacer le chemin via le filtre fieldforge/local_json/save_path s’il a besoin d’un emplacement personnalisé.
  5. Enregistrez les paramètres

Détails clés sur les fichiers JSON

  • Les fichiers JSON sont des fichiers texte brut contenant uniquement la structure du groupe de champs — ils ne contiennent aucun contenu de publication, données d’éditeur, informations utilisateur ou fichiers multimédias.
  • Enregistrer un groupe de champs avec la synchronisation activée écrit immédiatement le fichier JSON correspondant.
  • Supprimer un groupe de champs supprime également son fichier JSON.
  • Le chemin du dossier de synchronisation peut être personnalisé par votre développeur s’il utilise une structure de dossier non standard.
  • JSON Sync fonctionne avec n’importe quel système de contrôle de version (Git, SVN, Mercurial, etc.)
  • Si vous changez de thème, les fichiers JSON dans le dossier de l’ancien thème ne sont plus détectés. Votre développeur peut avoir besoin de les déplacer ou de les copier.

Conseils de communication pour les équipes utilisant la synchronisation JSON

Si vous travaillez en étroite collaboration avec un développeur qui utilise JSON Sync :

  • Communiquez avant de modifier les groupes de champs dans l’admin. Si le développeur travaille également sur des modifications de groupes de champs dans son code, des modifications simultanées créent des conflits.
  • Informez le développeur lorsque vous ajoutez ou supprimez des champs. Il peut avoir besoin de mettre à jour les modèles de thème pour afficher les nouveaux champs ou supprimer les références aux champs supprimés.
  • Lorsque vous voyez une notification de synchronisation, cliquez sur Synchroniser rapidement. Retarder la synchronisation signifie que votre base de données a des définitions de champs obsolètes tandis que les fichiers JSON ont la dernière version. Cela peut causer de la confusion si vous modifiez un groupe de champs entre-temps.

> Bon à savoir : Si vous êtes un gestionnaire de contenu qui ne travaille jamais avec des fichiers de thème ou le contrôle de version, vous pouvez ignorer cette fonctionnalité en toute sécurité. Elle fonctionne silencieusement si votre développeur l’a activée. La seule fois où vous devez faire quelque chose, c’est lorsqu’une notification de synchronisation apparaît — il vous suffit de cliquer sur le bouton Synchroniser et c’est fait.

> Astuce : Si vous apportez accidentellement des modifications à un groupe de champs et souhaitez la version du développeur à la place, utilisez la fonctionnalité de synchronisation pour écraser vos modifications avec la version du fichier JSON. Inversement, si vous souhaitez que vos modifications soient conservées, enregistrez le groupe de champs dans l’admin — le fichier JSON se met à jour pour correspondre à votre version.

Assistant IA Forge En ligne

Bonjour ! Je suis l'assistant IA Field Forge. Posez-moi n'importe quelle question sur le plugin — configuration, fonctionnalités, dépannage ou développement.

À l'instant
Propulsé par Forge IA · Parcourir la documentation