As-tu regardé le principe de fonctionnement de la page d'accueil de Notes, dans la base bookmark.nsf ?
Dans la mesure où tu n'as pas d'expérience sou Notes ni en developpement, pour avoir une idée de ce qui est faisable, il faut absoluement que tu jetes un oeil aux différents modèles de bases Notes fournis en standard, pour te faire une "culture" Notes.
D'une façon générale, pour identifier un doc dans une base,
- soit tu connais son UNID (que tu peux récupérer par exemple dans une variable d'environnemet, un doc profil, ...)
- soit tu connais le mot clé qui va permettre de le trouver dans une vue qui est triée sur le champ contenant ce mot clé. Par exemple, tu as un masque PageHtml avec un champ identifiant (en plus du champ Titre et Html). Ce masque te permet de créer plusieurs document Notes avec le code HTML de plusieurs page de ton site web (home, about,faq,...). Ces docs sont accessibles dans une vues dont la première colonne affiche le champ identifiant, trié par ordre croissant. Ensuite un @DbLookup te permet de chercher la page que tu veux
- soit tu veux toujours prendre le premier doc d'une vue. Par exemple, tu as une vue avec en première colonne un champ DatePublication, trié par ordre décroissant. Pou avoir le dernier doc publié, il suffit de prendre le premier doc de la vue (NotesView.GetFirstDocument() )
cyril08 a écrit:lorsqu'il est enregistrer l'administrateur peut aller le selectionner dans un masque [ADMIN] via une zone de liste déroulante.
Est-ce que ton admin fonctionnel doit pouvoir créer plusieurs pages d'accueil, par exemple pour préparer d'avance plusieurs versions et décider à un instant t de celle qui sera la page d'accueil pour tout le monde et avoir la possibilité à un autre instant de changer rapidement de page d'accueil en désignant une autre page déjà préparée en brouillon ?
Ou considères tu qu'il y aura toujours une et une seule page d'accueil dans ta vue ?
De ce que je devine, une solution pourrait se présenter ainsi :
1) ton masque PageAccueil avec tes champs "Titre", "HTML" et un champ "Etat" qui peut prendre 2 valeurs : "Brouillon" / "Publiée"
2) Une vue PagesAccueil tous les documents basés sur ce masque => formule de sélection SELECT Form="PageAccueil"
catégorisée sur le champ Etat => 1ère colonne catégorisée avec en formule Etat
Tu pourra ajouter un bouton d'action dans la vue pour publier la PageAccueil sélectionnée et donc au passage désactiver les autres ...
3) Une page StartPage avec une formule dans le PostOpen pour ouvrir le doc PageAccueil qui est dans l'état "Publié"
UNID := @DbLookup( "":""; "":""; "PagesAccueil"; "Publiée"; [RETURNDOCUMENTUNIQUEID] );
@If( @IsError(UNID); "Erreur ..."; @Command([OpenDocument]; 0; @Subset(UNID; 1) ) );
4) et enfin, dans les aoption de lancement de la base, dire de démarrer avec la page StartPage