PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Application Linux Windev dans une image Docker
Application Linux Windev dans une image Docker
Débuté par Patrick BULLE, 16 jan. 2025 12:51 - Aucune réponse
Posté le 16 janvier 2025 - 12:51
Bonjour à tous,

J’ai la charge du développement d’une application Windev devant s’exécuter dans un container Docker sous Linux.

Cette application doit se connecter à une base de données PostgreSQL distante (j’ai mis en place le connecteur natif PostgreSQL linux) et éditer des états sous la forme de PDFs.
Cette application ne contient bien entendu aucune fenêtre. Pas même de traces (tous les logs sont envoyés dans un fichier).

Quand je fais tourner l’application dans mon environnement Ubuntu WSL, cela fonctionne parfaitement (il faut installer les packages linux suivants : qtcreator, qtbase5-dev, qt5-qmake, cmake, libpq5, et postgresql-client et les polices TTF).

Je n’ai pas de souci à la création de l’image ‘Docker’.
Contenu du Dockerfile :
FROM ubuntu:22.04
WORKDIR /app

# Permet de désactiver les interactions lors de l'installation de 'qtcreator'
# https://askubuntu.com/questions/909277/avoiding-user-interaction-with-tzdata-when-installing-certbot-in-a-docker-contai
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y qtcreator qtbase5-dev qt5-qmake cmake libpq5 postgresql-client

RUN cp /usr/lib/x86_64-linux-gnu/libpq.so.5 /usr/lib/x86_64-linux-gnu/libpq.so

# Copie des bibliothèques
COPY *.so .

# Copie de l'exécutable
COPY TestDockerEtatsPostgreSQL .

# Copie des polices
COPY *.ttf /usr/share/fonts/
RUN fc-cache -fv

# Lancement de l'application
CMD [ "./TestDockerEtatsPostgreSQL" ]


La configuration du projet Windev est ‘Application Windows ou Linux’. Pour information, j’ai aussi essayé ‘Service Windows ou Linux’.

Lors de l’exécution de container, j’obtiens le message suivant :
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.


J'ai bien essayé de chercher comment contourner ou faire disparaitre le souci lié à Qt mais en vain.
Avez-vous un retour d’expérience à me proposer ou une solution à mettre en œuvre ?

Cordialement,

Patrick B.