Problème de génération

Bonjour,

Je travaille jusqu’à présent sur un environnement desktop avec Scenarichain + Dokiel + Styler.
J’ai créé des archives de mes ateliers Dokiel et Styler pour les importer dans un environnement client serveur (environnement cible de ce que nous déploieront à terme) mais je rencontre un souci avec mon Styler.

Tout est OK quand je génère et que j’installe en mode Desktop.
Par contre en mode client, j’obtiens un problème de génération. Voici l’erreur :

Une erreur est survenue lors de la génération.

— Admin details —

<?xml version="1.0" encoding="UTF-8"?>
java.nio.file.NoSuchFileException: /var/lib/scenari/working/prl-chain/gens/C9B40434OAFO1HJ6P9MP73ERHI/C9B404/34OAFO/1HJ6P9/MP73FI/HI/skinMake/tmp/pack/skins/dks_guidePOpenDk5.doss/img/icones/activite.png at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219) at java.base/java.nio.file.Files.newByteChannel(Files.java:371) at java.base/java.nio.file.Files.newByteChannel(Files.java:422) at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:420) at java.base/java.nio.file.Files.newInputStream(Files.java:156) at org.apache.tools.ant.taskdefs.Zip.zipFile(Zip.java:1898) at org.apache.tools.ant.taskdefs.Zip.addResources(Zip.java:996) at org.apache.tools.ant.taskdefs.Zip.addResources(Zip.java:1108) at org.apache.tools.ant.taskdefs.Zip.executeMain(Zip.java:723) at org.apache.tools.ant.taskdefs.Zip.execute(Zip.java:627) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299) at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) at org.apache.tools.ant.Task.perform(Task.java:350) at org.apache.tools.ant.Target.execute(Target.java:449) at org.apache.tools.ant.Target.performTasks(Target.java:470) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401) at org.apache.tools.ant.Project.executeTarget(Project.java:1374) at com.scenari.m.ge.generator.ant.AntGenerator.xGenerate(AntGenerator.java:461) at eu.scenari.gen.GenStatic.generate(GenStatic.java:262) at eu.scenari.wsp.module.gen.ThreadGen.call(ThreadGen.java:170) at eu.scenari.wsp.module.gen.ThreadGen.run(ThreadGen.java:157) at eu.scenari.core.universe.Universe$2.run(Universe.java:459) at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

— 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 »:« /Cyclades/_Cyclades.skinset »,« srcSt »:1,« srcDt »:1699515024884,« srcRi »:511,« srcRoles »:[« main:admin »],« srcId »:« id:49S3NkpF7EW3IdJ97eMcuR »,« srcStamp »:« PclmVbiqhmDPgcAtHzDT6oAw8HaUkJEnxzovrzN6Tck= »,« srcUser »:« admindokiel »,« itSt »:1,« itSgn »:« @st_skinSet#Xml »,« itModel »:« st_skinSet »}
pubNode: {}
genInfo: {« codeGenStack »:« skinMake »,« title »:« Compilation du ‹ skinpack › »,« status »:« failed »,« lastGen »:1699516076810,« uriTraces »:« /4953NkpF7EW3IdJ97eMcuR/C9B404/34OAFO/1HJ6P9/MP73FI/HI/skinMake/meta/~Traces.xml »,« user »:« admindokiel »}
genProps: undefined
customDestPath: undefined
cidInfo: null

— App context —
url: https://dokiel.ppd.forge.education.gouv.fr/~~static/fr-FR/home.xhtml#(wsp’4953NkpF7EW3IdJ97eMcuR’srcRef’id%3A49S3NkpF7EW3IdJ97eMcuR’),
timestamp: 09/11/2023 08:51:21
userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) SCENARIclient6/6.2.0-final.202309281930 Chrome/114.0.5735.289 Electron/25.8.4 Safari/537.36

Dans mon styler, j’ai ajouté quelques images que j’ajoute dans mon dossier de skin, le plantage a l’air de survenir au moment de générer le zip qui contient ces images.

Une idée d’où pourrait venir le souci ?

Merci d’avance pour votre aide.

Cordialement,
Corentin

Bonjour Corentin,
Piste : pb de casse dans un path.
Si vous controlez le path /var/lib/scenari/working/prl-chain/gens/C9B40434OAFO1HJ6P9MP73ERHI/C9B404/34OAFO/1HJ6P9/MP73FI/HI/skinMake/tmp/pack/skins/dks_guidePOpenDk5.doss/img/icones/activite.png sur le serveur, à partir d’ou le path pointe sur un fichier/répertoire inexistant ?
Cdt
Antoine
Kelis

Bonjour @anp ,

Merci pour cette piste, je vais me renseigner auprès de mon admin serveur pour voir s’il détecte quelque chose.

Je te tiens au courant.

Cordialement,
Corentin

Bonjour,

Je viens d’avoir un retour de l’administrateur :

Voilà ce que j’ai sous /var/lib/scenari/working/prl-chain/gens/C9B40434OAFO1HJ6P9MP73ERHI/C9B404/34OAFO/1HJ6P9/MP73FI/HI/skinMake/tmp/pack/skins/dks_guidePOpenDk5.doss

root@dokiel-01-76cc8dbf56-l7hg9:/var/lib/scenari/working/prl-chain/gens/C9B40434OAFO1HJ6P9MP73ERHI/C9B404/34OAFO/1HJ6P9/MP73FI/HI/skinMake/tmp/pack/skins/dks_guidePOpenDk5.doss# ls
font ‹ \img\icones\ampoule.png › ‹ \img\icones\documentation.png › ‹ \img\icones\info.png › main.css skin.css
‹ \img\icones\activite.png › ‹ \img\icones\attention.png › ‹ \img\icones\exemple.png › ‹ \img\icones\logo_DSII.png › ‹ ~options ›

C’est bizarre, le répertoire img n’existe pas avec un formatage composé d’antislash.

Il me semble que j’avais testé avec le styler 6.1.9 et que ça fonctionnait. Aujourd’hui en 6.2.0 ça ne passe plus.
Est-ce lié à cela ?

Pour préciser également, ces images qui semblent bloquer, ce sont des images que j’ajoute via le styler dans un répertoire de ressources.

Je ne sais pas si ça a un impact ?

On peut avoir un scar de votre skin ?

Je vous suspecte fortement d’avoir utiliser des \ et pas des / dans les chemins au niveau de vos .skin :
image

Par exemple ici avoir mis css\skin.css au lieux de css/skin.css

\ n’est valide comme séparateur de chemin QUE sous Windows, sous Linux c’est un caractère comme un autre, du coup vous pensiez ajouter activite.png dans un dossier icones dans un dossier img alors que sous Linux vous avez simplement ajouté le fichier nommé \img\icones\activite.png

6.1 ou 6.2 n’y change rien, ici c’est un problème de grammaire de chemin de fichier.

1 « J'aime »

Bonjour Sam,

Je plaide entièrement coupable :sweat_smile:
J’ai effectivement mis des \ partout vu que je travaillais sur une version desktop dans un premier temps pour me faire la main. Et comme ça fonctionnait, je ne me suis pas posé la question :face_with_hand_over_mouth:

J’ai tout remplacé par des / et ça fonctionne maintenant !

Merci pour l’aide !

Bonne journée.

Corentin

note : Sam a ajouté un contrôle dans l’environnemebt d’édition pour que ce type d’erreur soit signalée à l’avenir

2 « J'aime »