4D Write Pro : Maîtriser les sections et sous-sections avec de nouvelles fonctions !

Traduit automatiquement de Deepl

Les sections et les sous-sections sont les éléments constitutifs de tout document bien structuré. Vous les avez probablement utilisées un nombre incalculable de fois, peut-être même sans vous en rendre compte, car chaque document contient au moins une section par défaut !

Que vous soyez un professionnel chevronné ou que vous débutiez, cet article vous présentera les principes de base des sections et des sous-sections.

Nous explorerons également les nouvelles fonctionnalités de 4D Write Pro dans 4D 20 R7, qui rendent la gestion de ces éléments plus facile et plus puissante que jamais.

HDI Gérer les sous-sections

Connaître les documents, les sections et les sous-sections

Si vous êtes déjà familiarisé avec ces concepts, n’hésitez pas à passer à l’étape suivante. Pour les autres, reprenons les bases.

Comme nous l’avons dit dans l’introduction, un document contient au moins une section. S’il en contient plusieurs, elles sont séparées par des sauts de section (nous y reviendrons).

Le document

Commençons par le document lui-même. Il peut être configuré à l’aide de toute une série d’attributs tels que la taille du papier, la couleur d’arrière-plan, les bordures, etc.

Les sections

Les sections sont des segments de votre document qui peuvent hériter de ses propriétés, telles que la couleur d’arrière-plan et les marges. Par défaut, les sections reflètent les attributs du document, sauf indication contraire. Chaque section peut également avoir ses propres en-tête et pied de page.

Sous-sections

Contrairement aux sections, les sous-sections n’existent que si vous les créez. Mais qu’est-ce qu’une sous-section ?

Il en existe deux types : Des premières pages différentes et des pages gauche et droite différentes. Tout comme les sections héritent des attributs du document, les sous-sections héritent des attributs de leur section mère, jusqu’à ce que vous décidiez d’y apporter des modifications.

Visualisation des sections et des sous-sections

Le document ci-dessus contient quatre sections distinctes :

  • Section 1: un fond vert avec un en-tête.
  • Section 2: une « première page différente » avec un fond bleu foncé et sans en-tête.
  • Troisième section: Une « première page différente » sans en-tête et des « pages gauche et droite différentes » avec en-têtes.
  • Quatrième section: Deux colonnes avec un pied de page, et toutes les pages identiques (pas de sous-sections).

 

Enfin, les trois premières sections comportent un saut de section (représenté par des tirets rouges) à la fin de la section, alors que la quatrième n’en comporte pas (c’est-à-dire qu’il n’y a pas de cinquième section).

Toutes ces caractéristiques, qu’il s’agisse de sections ou de sous-sections, sont stockées dans la mémoire interne, qu’elles soient définies via l’interface ou par programme.

Tout ce qui est décrit ci-dessus est disponible dans de nombreuses versions de 4D Write Pro. Passons maintenant aux nouveautés !

Présentation des nouveautés de 4D 20 R7

Suppression de sections

Jusqu’à présent, la gestion des sections pouvait sembler simple, mais était en réalité plus complexe qu’il n’y paraissait.

En effet, dans 4D Write Pro, les sections n’ont pas d’identifiant interne unique, elles sont indexées en fonction de leur position dans le document. Lorsque vous supprimez une section, les index de toutes les sections suivantes sont modifiés en conséquence. Si vous ne supprimez que le saut de section, les sections fusionnent, ce qui entraîne souvent des changements de formatage inattendus. Ce problème n’est pas propre à 4D Write Pro, il est commun à de nombreux traitements de texte, y compris Word et Pages.

Une nouvelle commande

La suppression d’une section est désormais un jeu d’enfant, car une nouvelle commande WP DELETE SECTION vous permet de supprimer des sections sans provoquer ces problèmes. Cette commande garantit la suppression complète du contenu et des caractéristiques de la section, empêchant ainsi toute fusion involontaire.

N’oubliez cependant pas qu’un document contient toujours au moins une section. Un document doit comporter au moins deux sections pour que cette commande soit utilisable.

Exemples :

Suppression de la section 4 du document (en supposant que la section 4 existe, sinon une erreur se produit)

WP DELETE SECTION ($document;4)

Il se peut que vous souhaitiez supprimer plus d’une section… ajoutez alors le nombre de sections à supprimer.

WP DELETE SECTION ($document;4;3)

Une nouvelle action standard

Cette fonctionnalité est également disponible en tant qu’action standard de section/suppression. Elle peut être utilisée dans votre interface comme un bouton ou un élément de menu. La seule différence avec la commande est la suivante :

  • Son utilisation sera suivie d’une confirmation de la suppression (rappel : une section peut être grande et volumineuse).
  • Une seule section peut être supprimée à la fois (la première qui croise la sélection de l’utilisateur).

Cela dit, même après une suppression involontaire, il est possible de retrouver l’état antérieur grâce à un « undo ». C’est magique.

Que se passe-t-il en profondeur ?

Lorsque vous supprimez une section, voici tout ce qui est supprimé :

  • La partie du corps du document contenue dans la section
  • Les en-têtes et pieds de page de la section et de ses éventuelles sous-sections
  • Les images et les zones de texte ancrées dans la section

 

Notez également que les index des sections suivantes sont décrémentés, de sorte que les numéros d’ancrage des images et des zones de texte affectées par cette suppression sont également décrémentés automatiquement. Vous n’avez donc pas à vous en préoccuper – 4D Write Pro le fait pour vous !

Les pages disparaissent, mais les images peuvent rester DANS LE DOCUMENT

Il y a cependant une exception dont il faut tenir compte : si une image ou une zone de texte est ancrée à une page (disons la page 20) et que cette page n’existe plus après la suppression d’une section, l’image (ou la zone de texte) restera dans le document… et réapparaîtra à la page 20 si jamais cette page existe à nouveau ultérieurement.

Supprimer une sous-section

Depuis 4D 17 R3, il est possible de supprimer une sous-section à l’aide de la commande WP DELETE SUBSECTION. Comme son nom l’indique, elle supprime soit la « première page distincte », soit les pages « droite et gauche distinctes ». Cette fois, ce qui est supprimé est différent et a été amélioré.

Comme précédemment, les en-têtes, les pieds de page et toutes les options de style (cadres, marges, couleur d’arrière-plan, etc.) sont supprimés, mais le contenu (corps) est préservé.

Quelles sont les nouveautés ?

Les images et les zones de texte ancrées dans ces sous-sections sont également supprimées ; ne vous attendez donc pas à les voir réapparaître si vous les recréez. Vous devrez recréer les en-têtes, les pieds de page, les images et les zones de texte qui y sont ancrées. Seul un « undo » (magique !) vous ramènera à l’état d’origine s’il est effectué juste après la suppression.

Tout ce qui est décrit ci-dessus s’applique que vous travailliez en programmation ou que vous utilisiez l’interface. Décocher les options « Première page différente » ou « Pages gauche et droite différentes » produit exactement le même résultat que la suppression de la sous-section par programmation !

blank

WP DELETE SUBSECTION($section; wk first page)
WP DELETE SUBSECTION($section; wk left page)

Réinitialisation des attributs

Nous arrivons maintenant à la partie la plus intéressante des nouvelles fonctionnalités.

Pour rappel, les attributs des sections et des sous-sections, lorsqu’ils ne sont pas définis, sont hérités de leurs parents. Pour une section, ce sont les attributs du document ; pour une sous-section, ce sont ceux de la section elle-même.

La commande WP RESET ATTRIBUTES a été modifiée pour vous permettre de supprimer simultanément tous les attributs d’une section ou d’une sous-section. Dans ce cas, il suffit d’indiquer la section ou la sous-section en paramètre de la commande, sans entrer de nom d’attribut, et tous les attributs seront supprimés !

WP RESET ATTRIBUTES ($section) // all attributes of the section shall be reset!
WP RESET ATTRIBUTES ($subSection) // all attributes of the subsection shall be reset! 

 

blank

EXEMPLES PRATIQUES

Vous vous souvenez que la première section avait pour caractéristique essentielle d’avoir un fond vert…

Si nous supprimons les attributs de cette section, le fond redeviendra blanc, c’est-à-dire la couleur de fond du document. Rappelez-vous : L’attribut section n’existe plus ! C’est une question d’héritage. Si l’arrière-plan du document devient gris par la suite, la section le sera aussi !

blank

avant la réinitialisation des attributs ➼ après la réinitialisation des attributs

La deuxième section avait une sous-section de première page différente. Qu’est-ce que cela implique ?

Si nous supprimons les attributs de la deuxième section, l’arrière-plan bleu clair redeviendra également blanc, sauf pour la première page différente, dont l’arrière-plan a été explicitement défini comme bleu foncé.

blank

avant la réinitialisation des attributs ➼ après la réinitialisation des attributs

 

Si, en revanche, vous souhaitez que la première page (différente) ait la même couleur d’arrière-plan (bleu clair) que le reste de la section, vous devez réinitialiser l’attribut de couleur d’arrière-plan de la sous-section « première page différente ».

WP RESET ATTRIBUTES ($subsection;wk backgroundColor)

De même, il est possible de supprimer toutes les surcharges de cette sous-section afin qu’elle hérite des attributs de la section dont elle dépend…

// no attributes = all attributes !
WP RESET ATTRIBUTES ($subsection)

La troisième section, qui a une première page différente et des pages gauche et droite différentes, ne perdra aucune de ses couleurs d’arrière-plan lorsqu’une page WP RESET ATTRIBUTES lui sera appliquée.

En effet, les sous-sections ont des couleurs d’arrière-plan spécifiquement définies. Elles resteront donc jaunes, puisqu’elles n’héritent pas de la section (du moins pour cet attribut backgroundColor).

blank

avant la réinitialisation des attributs ➼ après la réinitialisation des attributs

 

J’en profite pour signaler (ou rappeler) que si les sous-sections droite/gauche ne peuvent (évidemment) pas exister l’une sans l’autre, elles n’en sont pas moins indépendantes. Elles peuvent avoir des attributs distincts et donc être réinitialisées indépendamment l’une de l’autre !

$subSection:=WP Get subsection(WP Get section($document; 3); wk right page)
WP RESET ATTRIBUTES($subSection)

$subSection:=WP Get subsection(WP Get section($document; 3); wk left page)
WP RESET ATTRIBUTES($subSection) 

blank

avant la réinitialisation des attributs ➼ après la réinitialisation des attributs

Enfin, la même commande appliquée à la quatrième section réinitialisera son format en mode portrait avec une seule colonne (comme dans le document original).

blank

avant la réinitialisation des attributs ➼ après la réinitialisation des attributs

Nouvel élément d’interface

blank

blank

Les dernières mises à jour de la barre d’outils et de la barre latérale incluent un nouveau bouton avec un menu associé pour supprimer des sections ou réinitialiser leurs attributs. Ces outils offrent des actions contextuelles spécifiques basées sur la position de votre curseur dans le document.

Conclusion

Nous espérons que cet article vous a permis d’approfondir votre compréhension des sections et sous-sections dans 4D Write Pro. Grâce aux nouvelles commandes et aux améliorations de l’interface, vous pouvez désormais peaufiner vos documents avec plus de précision et de style. Comme toujours, nous vous encourageons à partager vos réflexions et vos expériences sur le forum !

Roland Lannuzel
- Product Owner & 4D Expert - Après avoir étudié l'électronique, Roland s'est lancé dans l'informatique industrielle en tant que développeur et consultant, créant des solutions pour les clients avec une variété de bases de données et de technologies. À la fin des années 80, il est tombé amoureux de 4D et l'a utilisé pour écrire des applications commerciales, notamment des systèmes de comptabilité, de facturation et de messagerie électronique. Il a rejoint la société en 1997 et a contribué à la conception de spécifications, d'outils de test et de démonstrations, ainsi qu'à la formation et à la présentation de la communauté 4D lors de nombreuses conférences. Il continue à façonner activement l'avenir de 4D en définissant de nouvelles fonctionnalités et des outils de développement de bases de données.