Bonjour à tous,
Enseignant utilisateur de Canoprof 3.0, je viens vous signaler un comportement un peu piégeux lors de la génération Web (sous SCENARISuite Starter 6.5 (6.5.4 202608261447)).
J’ai eu à plusieurs reprises une alerte bloquante avec le message technique suivant :
desc="Invalid space srcUri: '_met' called in wsp '...'"
À force de chercher d’où venait le problème, j’ai fini par trouver le coupable : ce sont des champs laissés vides, mais que Canoprof n’indique jamais comme indispensables (aucun encadré rouge).
Voici les deux situations où le problème s’est produit :
1. Le bloc « Présentation » vide dans une activité Quiz
Dans une activité Quiz, il y a un bloc « Présentation » grisé qu’on ne peut pas supprimer.
- Si on ne remplit rien dedans (ni le titre, ni le texte), l’éditeur ne dit rien et ne met pas de liseré rouge : on pense donc légitimement qu’il est facultatif.
- Pourtant, au moment de la génération Web, ça génère l’alerte
_met. - Dès que j’ajoute ne serait-ce qu’une seule lettre ou un espace insécable dans le champ, la génération repasse immédiatement au vert !
2. Le titre d’une sous-activité oublié
J’avais déjà rencontré exactement la même alerte sur une activité imbriquée / liée dans une autre :
- Le champ « Titre » de l’activité était resté vide.
- Là encore, l’encadré du titre ne passait pas en rouge pour prévenir qu’il manquait quelque chose.
- Fait surprenant : la génération PDF passait sans aucun problème, alors que la génération Web déclenchait cette fameuse alerte
Invalid space srcUri: '_met'. - Dès que j’ai remis un titre, tout est rentré dans l’ordre.
Ce qui pourrait être amélioré
Ce serait vraiment plus pratique pour les auteurs :
- Soit que l’éditeur mette ces champs en rouge pour avertir qu’ils sont obligatoires avant de lancer la génération.
- Soit que la génération Web gère ces cases vides sans déclencher d’alerte, un peu comme le fait déjà très bien la génération PDF.
Je vous remets la trace d’erreur ci-dessous au cas où cela serve à l’équipe technique.
Merci d’avance pour votre aide et vos retours !
--- Admin details ---
<?xml version="1.0" encoding="UTF-8"?><trace>
<start t="10/09/26 16:54:34"/>
<l t="Warning" d="10/09/26 16:54:34">
<message type="Warning" ts="1789052074480" appCtx="chain" user="Le-Prof" thread="ForkJoinPool-1-worker-4" desc="Invalid space srcUri: '_met' called in wsp '001s83AdBcZ9kPYgwsgNLD'">
<message type="Exception" ts="1789052074480" appCtx="chain" user="Le-Prof" thread="ForkJoinPool-1-worker-4">
<details>eu.scenari.commons.util.lang.ScException
at eu.scenari.commons.log.LogMgr.newException(LogMgr.java:413)
at eu.scenari.commons.log.LogMgr.publishException(LogMgr.java:451)
at com.scenari.m.bdp.item.fs.WspSrcUtil.findWspNodeByUri(WspSrcUtil.java:175)
at com.scenari.m.bdp.item.fs.WspSrcNodeSpace.findNodeByUri(WspSrcNodeSpace.java:148)
at com.scenari.src.feature.ids.SrcFeatureIds.findNodeByRefUri(SrcFeatureIds.java:156)
at eu.scenari.wsp.agt.AgtProviderWsp.getAgtBagByRef(AgtProviderWsp.java:154)
at eu.scenari.wsp.agt.AgtProviderWsp.getAgtPrincByRef(AgtProviderWsp.java:129)
at eu.scenari.core.agt.impl.CtxAdapterAgtProvider.getAgtPrincByRef(CtxAdapterAgtProvider.java:98)
at eu.scenari.core.agt.impl.AgtPathFactory.findAgt(AgtPathFactory.java:211)
at eu.scenari.core.agt.impl.AgtPathFactory$AgtPathString.findAgt(AgtPathFactory.java:110)
at eu.scenari.core.agt.agent.AgentBase.getAgtByAgtPath(AgentBase.java:278)
at com.scenari.m.co.xpath.dom.ZXPath.wGetRefAgent(ZXPath.java:205)
at com.scenari.m.co.xpath.dom.ZXPath.wGetRefAgentAvecResultat(ZXPath.java:296)
at com.scenari.m.co.xpath.dom.ZXPathComputeStrAgent.xExecute(ZXPathComputeStrAgent.java:93)
at com.scenari.m.co.xpath.dom.ZXPath.execute(ZXPath.java:90)
at com.scenari.m.co.xpath.dom.ZXPathReturnFirst.xExecute(ZXPathReturnFirst.java:84)
at com.scenari.m.co.xpath.dom.ZXPath.execute(ZXPath.java:90)
at eu.scenari.xml.xpath.functions.FuncConcat.execute(FuncConcat.java:121)
at eu.scenari.xml.xpath.XPath.execute(XPath.java:392)
at com.scenari.m.co.donnee.WDonneeXPathOnSrcDynamique.getString(WDonneeXPathOnSrcDynamique.java:91)
at eu.scenari.core.agt.agent.value.AgtValue.xComputeCache(AgtValue.java:203)
at eu.scenari.core.agt.agent.value.AgtValue.computeAsString(AgtValue.java:171)
at com.scenari.m.co.xpath.dom.ZXPathComputeStrAgent.xExecute(ZXPathComputeStrAgent.java:100)
at com.scenari.m.co.xpath.dom.ZXPath.execute(ZXPath.java:90)
at eu.scenari.xml.xpath.XPath.execute(XPath.java:392)
at com.scenari.m.co.donnee.WDonneeXPathOnSrcDynamique.getString(WDonneeXPathOnSrcDynamique.java:91)
at eu.scenari.core.agt.agent.AgentBase.getAgtTitle(AgentBase.java:362)
at com.scenari.m.co.xpath.dom.ZXPathTitleAgent.xExecute(ZXPathTitleAgent.java:89)
at com.scenari.m.co.xpath.dom.ZXPath.execute(ZXPath.java:90)
at eu.scenari.xml.xpath.XPath.execute(XPath.java:392)
at eu.scenari.xml.xpath.XPath.execute(XPath.java:432)
at eu.scenari.xml.xalan.templates.ElemValueOf.execute(ElemValueOf.java:276)
at eu.scenari.xml.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:1440)
at eu.scenari.xml.xalan.transformer.TransformerImpl.transformToRTF(TransformerImpl.java:1133)
at eu.scenari.xml.xalan.templates.ElemVariable.getValue(ElemVariable.java:305)
at eu.scenari.xml.xalan.templates.ElemVariable.execute(ElemVariable.java:280)
at eu.scenari.xml.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:1440)
at eu.scenari.xml.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:536)
at eu.scenari.xml.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:1440)
at eu.scenari.xml.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:536)
at eu.scenari.xml.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:1440)
at eu.scenari.xml.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:1348)
at eu.scenari.xml.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:748)
at eu.scenari.xml.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:705)
at com.scenari.m.ge.pages.TplXslPage.producePage(TplXslPage.java:215)
at com.scenari.m.ge.generator.base.TemplatesMgr.producePage(TemplatesMgr.java:298)
at com.scenari.m.ge.generator.base.GeneratorStatic.wTreatStackPages(GeneratorStatic.java:186)
at com.scenari.m.ge.generator.web.WebGenerator.xGenerate(WebGenerator.java:317)
at eu.scenari.gen.GenStatic.generate(GenStatic.java:290)
at eu.scenari.wsp.module.gen.ThreadGen.call(ThreadGen.java:239)
at eu.scenari.wsp.module.gen.ThreadGen.run(ThreadGen.java:200)
at eu.scenari.core.universe.Universe$2.run(Universe.java:489)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1753)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1745)
at java.base/java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(ForkJoinTask.java:1662)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:511)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1450)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2019)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
</details>
</message>
</message>
</l>
<end t="10/09/26 16:54:34"/>
</trace>
--- Context ---
reg: {"envKeys":["itemType","securityCtx"],"parent":{"envKeys":["wsp","securityCtx","uiRoot","place","infoBroker","wedSearchCoord","histoEditMgr"],"parent":{"envKeys":["resolver","universe","securityCtx"],"parent":{"envKeys":["resolver","noAuthentication","remoteAuthentications","embeddedAuthentication","universe","securityCtx"]}}}}
uiContext: undefined
wsp: undefined
shortDesc: {"srcUri":"/z--FED-01-Structure de la matière/02-mondeMicroscopique/04-QuizRevision.activite","srcSt":1,"srcDt":1789052070239,"srcRi":511,"srcRoles":["gsCreateWsp","main:manager","depotRead","publicWsp"],"srcId":"id:3HAs83AdBcZ9kPYgwsgNLD","srcStamp":"ReNNkRFpmbGydPIkFeB72sxZHLOMaiARWb0j2RYsKFk=","srcUser":"Le-Prof","itTi":"🏡 [Maison] Activité n°4 : Quiz de révision - [Chapitre : Le monde microscopique 🔬]","itSt":1,"itSgn":"@cp_quizActivity#Xml#Map","itModel":"cp_quizActivity"}
pubNode: {"ch":[{},{},{},{}]}
genInfo: {"codeGenStack":"web","title":"Génération Web","status":"warning","lastGen":1789052074573,"uriPub":"/001s83AdBcZ9kPYgwsgNLD/5S1MN6/PQVT8K/46TFF1/4DK7M6/111/web/index.html","uriTraces":"/001s83AdBcZ9kPYgwsgNLD/5S1MN6/PQVT8K/46TFF1/4DK7M6/111/web/meta/~Traces.xml","mimeDownload":"application/zip","skin":"blue","user":"Le-Prof","storedProps":{"remote-embed@stored":"false","plan-stdt@stored":"true","include-index@stored":"false","view-prof@stored":"false","view-corr@stored":"false","dys@stored":"false","score-corr@stored":"false","access-code@stored":"","view-stdt@stored":"true","add-scar@stored":"false","pwa@stored":"false"},"skins":[{"code":"blue","title":"Bleu","hasIllus":true},{"code":"pink","title":"Rose","hasIllus":true},{"code":"educ","title":"Educ","hasIllus":true},{"code":"purple","title":"Violet","hasIllus":true},{"code":"default","title":"Canoprof","hasIllus":true}]}
genProps: undefined
customDestPath: undefined
cidInfo: null
--- App context ---
url: https://sciences-docs.fr/contenus/~~static/fr-FR/home.xhtml?~12m60#(wsp'001s83AdBcZ9kPYgwsgNLD'srcRef'id%3A3HAs83AdBcZ9kPYgwsgNLD'),
timestamp: 10/09/2026 16:54:44
userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36
Et le détail technique :
Invalid space srcUri: '_met' called in wsp '001s83AdBcZ9kPYgwsgNLD'

