J'aurai du détailler ma réponse. Ce que je voulais dire, c'est qu'on a beau mettre nos données sur des infras hébergés en France et gérés par des sociétés françaises, nous n'avons pas non plus la garantie qu'elles sont protégées. J'ai cité l'exemple des serveurs SuperMicro parce qu'on en a parlé récemment. Mais il y a aussi les équipements Cisco modifiés par la NSA pour insérer des backdoors. Pareil pour les équipements Huawei et le gouvernement chinois.
Disclaimer : je suis un ingénieur dans le milieu de la micro-électronique, un domaine hautement propriétaire et confidentiel. J'ai accès à certaines informations, mais je ne peux pas trop en parler pour raisons de NDA. Je vais essayé de sourcer au maximum mes affirmations, mais pour le reste il va malheureusement falloir me croire sur parole :-/
La société ARM (Advanced RISC Machines) produit avant tout un ISA (Instruction Set Architecture) propriétaire soumis à licence. Elle ne produit pas elle même les processeurs compatibles avec ce jeu d'instructions. Par contre, elle fournit notamment des IP de processeurs compatible avec cette ISA.
Il existe deux types d'IP : les soft-IP et les hard-IP. Les hard-IP sont grosso-modo les plans silicium de processeurs pouvant être fabriqués par les fonderies. C'est une offre à destination des fabricants de SoC tel que MediaTek où le coût d'entrée est relativement faible (je dis relativement parce qu'on parle quand même de plusieurs centaines de milliers de dollars) mais l'entreprise qui intègre les IP devra payer des royalties sur chaque puce produite. Cette offre à l'avantage de fournir à l'entreprise cliente un processeur prêt à être intégré dans son SoC mais manque cruellement de flexibilité : ils ne peuvent pas modifier le processeur pour l'adapter à leurs besoins.
À côté de ça, ARM propose aussi des soft-IP. Dans ce cas, à la place des plans silicium prêt à graver, ARM donne carrément le «code source» du processeur à son client pour qu'il puisse l'adapter à ses propres besoins et créer son propre processeur compatible avec l'ISA ARM. Et là, le coup d'entré est plutôt dans l'ordre de grandeur du millions de dollars.
Bien que je ne puisse pas prouver qu'il s'agit de la solution choisie par Apple, il y a de bonnes raisons de croire que c'est ce qu'ils font, notamment parce qu'ils produisent leurs propres processeurs ARM (série A*) et qu'il y a des rumeurs concernant un contrat entre Apple et l'un des principaux éditeur de logiciels pour implémenter des puces.
Ceci est mon retour d'utilisateur de qmake en tant que développeur de logiciel propriétaire pour le milieu de la micro-électronique (ne me jetez pas la pierre, il faut bien payer son loyer…).
qmake marche bien pour gérer des projets C++/Qt «classique». Mais dès que tu veux faire des trucs «un peu exotique», c'est une vraie plaie dans le c**. Il faut se montrer très «créatif» dans les .pro et utiliser des fonctionnalités non documentées dont tu découvres l’existence dans le wiki de Qt ou sur des forums.
Un exemple concret. Notre logiciel utilise un framework tierce (FlexNet) pour gérer les licences et s'assurer que le client utilise notre outil dans les conditions prévus par le contrat qu'il a signé (notamment nombre d'instances du logiciel pouvant s'exécuter en parallèles et fonctionnalités du logiciel. Ce framework nous est fourni sous la forme d'une archive à décompresser, et exécuter un simple make dedans pour générer la bibliothèque à intégrer dans notre outil. Vu que nos clients utilisent diverses architectures et plateformes (essentiellement RHEL 5/6/7 en amd64, mais pas que), nous avons décidés (à tort ?) d'intégrer ce framework dans notre projet .pro sous forme de sous-projet source pourqu'il soit compilé automatiquement par notre système d'intégration continue pour les plateformes cibles. Et là, c'est le drame parce qu'il n'y a pas de moyen simple d'expliquer à qmake que ce sous-projet se compile avec un simple make et qu'il peut utiliser le résultat pour le linker à notre soft. Et on ne peut pas non plus créer un .pro spécifique à ce projet (du moins facilement, j'ai essayé plus d'une fois), parce que le make sus-nommé fait de la «magie» : il génère un exécutable qui va générer les .h/.so que l'on va utiliser (l'éditeur du framework a choisi la sécurité par l'obscurité. L’exécutable va générer une version obfusqué de toute leur tambouille interne, qui va être appelé par l'API à laquelle on a accès). Du coup, on a dû définir une cible virtuelle qui appel un script bash qui compile le framework. Yeah…
Autre exemple, notre appli utilise le thème QtCurve qui est géré par CMake. Et là aussi, qmake ne gère pas cmake et on a du faire preuve de «créativité» pour que cela s'intègre à notre solution.
Donc voila, mon point est que qmake manque cruellement de flexibilité. Alors certes, certains pourraient nous reprocher de l’utiliser dans des cadres non prévus pour. Et j'ai presque envie d'être d'accord avec eux. Mais je considère qu'un moteur de production doit s'adapter à l'utilisateur et non l'inverse.
Concernant QBS, je ne l'ai utilisé que dans des projets persos. Pour l'instant, le seul truc que j'ai à lui reprocher est qu'il ne gère pas pas les «promogate» utilisé dans Qt Designer. Il n'arrive pas à trouver les .h de mes widgets custom. Ça se résous en ajoutant manuellement le dossier du projet courant et tant que dossier d'include. Pour moi, c'est une regression vue que qmake gérait ça nativement. Problème trouvé en convertissant un vieux projet .pro vers .qbs. Et manifestement, c'est un vieux problème.
# Enable the build env
scl enable devtoolset-7 python27 rh-python36 bash
# Download tarballs
curl \
-LOC - https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.tar.xz \
-LOC - https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.bz2 \
-LOC - http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.30.tar.xz \
-LOC - http://ftp.gnome.org/pub/gnome/sources/glib/2.54/glib-2.54.3.tar.xz \
-LOC - http://ftp.gnome.org/pub/gnome/sources/pango/1.40/pango-1.40.14.tar.xz \
-LOC - http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.12.tar.xz \
-LOC - http://ftp.gnome.org/pub/gnome/sources/atk/2.26/atk-2.26.1.tar.xz \
-LOC - http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.54/gobject-introspection-1.54.1.tar.xz \
-LOC - http://cairographics.org/snapshots/cairo-1.15.12.tar.xz \
-LOC - https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.8.1.tar.bz2 \
-LOC - http://download.icu-project.org/files/icu4c/61.1/icu4c-61_1-src.tgz \
-LOC - https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.12.93.tar.gz \
-LOC - https://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 \
-LOC - http://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz \
-LOC - http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/2.26/at-spi2-atk-2.26.2.tar.xz \
-LOC - https://dbus.freedesktop.org/releases/dbus/dbus-1.13.4.tar.gz \
-LOC - https://github.com/libexpat/libexpat/releases/download/R_2_2_5/expat-2.2.5.tar.bz2 \
-LOC - http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.28/at-spi2-core-2.28.0.tar.xz
# Configure build envexportGTK3_INSTALL_PATH="$HOME/opt/gtk3"exportPKG_CONFIG_PATH="$GTK3_INSTALL_PATH/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig"exportCPPFLAGS="-I$GTK3_INSTALL_PATH/include"exportCFLAGS="-I$GTK3_INSTALL_PATH/include"exportCXXFLAGS="-I$GTK3_INSTALL_PATH/include"exportLDFLAGS="-L$GTK3_INSTALL_PATH/lib"exportLD_LIBRARY_PATH="$GTK3_INSTALL_PATH/lib:$LD_LIBRARY_PATH"exportPATH="$GTK3_INSTALL_PATH/bin:$PATH"# install meson
pip3 install --user meson
# util-linux (libmount)
tar xf util-linux-2.32.tar.xz
cd util-linux-2.32
./configure \
--prefix "$GTK3_INSTALL_PATH"\
--disable-all-programs \
--enable-libblkid \
--enable-libmount
make -j16
make install
cd ..
# PCRE
tar xf pcre-8.42.tar.bz2
cd pcre-8.42
./configure \
--prefix "$GTK3_INSTALL_PATH"\
--enable-pcre16 \
--enable-pcre32 \
--enable-utf \
--enable-unicode-properties
make -j16
make install
cd ..
# glib
tar xf glib-2.54.3.tar.xz
cd glib-2.54.3
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# ICU
tar xf icu4c-61_1-src.tgz
cd icu/source
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ../..
# Freetype
tar xf freetype-2.9.tar.bz2
cd freetype-2.9
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# Fontconfig
tar xf fontconfig-2.12.93.tar.gz
cd fontconfig-2.12.93
make -j16
make install
cd ..
# Cairo
tar xf cairo-1.15.12.tar.xz
cd cairo-1.15.12
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# Harfbuzz
tar xf harfbuzz-1.8.1.tar.bz2
cd harfbuzz-1.8.1
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# Freetype (bis)cd freetype-2.9
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# Pango
tar xf pango-1.40.14.tar.xz
cd pango-1.40.14
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# libtiff
tar xf tiff-4.0.9.tar.gz
cd tiff-4.0.9
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# Gdk-pixbuff
tar xf gdk-pixbuf-2.36.12.tar.xz
cd gdk-pixbuf-2.36.12
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# atk
tar xf atk-2.26.1.tar.xz
cd atk-2.26.1
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# Expat
tar xf expat-2.2.5.tar.bz2
cd expat-2.2.5
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# Dbus
tar xf dbus-1.13.4.tar.gz
cd dbus-1.13.4
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# At-Spi2
tar xf at-spi2-core-2.28.0.tar.xz
cd at-spi2-core-2.28.0
mkdir build
cd build
~/.local/bin/meson .. \
--prefix "$GTK3_INSTALL_PATH"\
--libdir lib
ninja
ninja install
cd ../..
# At-Spi2 Atk
tar xf at-spi2-atk-2.26.2.tar.xz
cd at-spi2-atk-2.26.2
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd ..
# GTK3
tar xf gtk+-3.22.30.tar.xz
cd gtk+-3.22.30
./configure \
--prefix "$GTK3_INSTALL_PATH"
make -j16
make install
cd..
Mais y'a encore un peu de taf à faire
$ LD_LIBRARY_PATH="$HOME/opt/gtk3/lib"$HOME/vscode/bin/code-oss
/home/kilruana/opt/vscode/bin/../code-oss: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/kilruana/opt/vscode/bin/../code-oss)/home/kilruana/opt/vscode/bin/../code-oss: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /home/kilruana/opt/vscode/bin/../code-oss)
/home/kilruana/opt/vscode/bin/../code-oss: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /home/kilruana/opt/vscode/bin/../code-oss)/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/kilruana/opt/vscode/bin/../code-oss)
/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/kilruana/opt/vscode/bin/../code-oss)/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/kilruana/opt/vscode/bin/../code-oss)
/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /home/kilruana/opt/vscode/bin/../code-oss)/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/kilruana/opt/vscode/bin/../code-oss)
/home/kilruana/opt/vscode/bin/../code-oss: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/kilruana/opt/vscode/libnode.so)/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/kilruana/opt/vscode/libnode.so)
/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/kilruana/opt/vscode/libnode.so)/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/kilruana/opt/vscode/libnode.so)
/home/kilruana/opt/vscode/bin/../code-oss: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/kilruana/opt/vscode/libnode.so)/home/kilruana/opt/vscode/bin/../code-oss: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/kilruana/opt/vscode/libffmpeg.so)
Pour installer une lib non.
Pour me motiver à compiler et installer à la main la dite lib ainsi que ses dépendances, oui.
$ cd gtk+-3.22.30
$ ./configure
(...)
configure: error: Package requirements (glib-2.0 >=2.49.4 atk >=2.15.1 pango >=1.37.3 cairo >=1.14.0 cairo-gobject >=1.14.0 gdk-pixbuf-2.0 >=2.30.0) were not met:
Requested 'glib-2.0 >= 2.49.4' but version of GLib is 2.28.8
Requested 'atk >= 2.15.1' but version of Atk is 1.30.0
Requested 'pango >= 1.37.3' but version of Pango is 1.28.1
Requested 'cairo >= 1.14.0' but version of cairo is 1.8.8
No package 'cairo-gobject' found
Requested 'gdk-pixbuf-2.0 >= 2.30.0' but version of GdkPixbuf is 2.24.1
Je l'ai lu. Et j'ai compris l'inverse : passage de la "CC BY-NC-SA" à la "CC BY-NC-ND". Mea culpa. Je vais utilisé l'excuse de la d'insomnie qui m'a tenu éveillée à partir de 3h du matin.
Non. Le code est sous close «ND» interdisant toute modification.
Extrait du site de la licence :
«PAS D’OEUVRE DÉRIVÉE: Vous autorisez la reproduction et la diffusion uniquement de l’original de votre oeuvre. Si quelqu’un veut la modifier, il doit obtenir votre autorisation préalable.»
C'est dommage qu'on ne soit pas autorisés à modifier le code. Parce que sinon, juste en commentant cette ligne on pourrait la faire passer en "mode examen" sans réellement effacer le contenu de la mémoire.
De ce que je comprends du code, tu ne peux pas créer de nouveaux onglets au delà de la limite spécifiée.
Les sodomiseurs de drosophiles te diront que pour être précis, tout nouvel onglet crée sera immédiatement détruit.
La raison avancée est que même si la branche testing casse moins souvent que la branche unstable, elle peut aussi être beaucoup plus longue à être réparée (« Testing has more up-to-date software than Stable, and it breaks less often than Unstable. But when it breaks, it might take a long time for things to get rectified. Sometimes this could be days and it could be months at times. »).
Après, chacun fait comme il le sent. Pour ma part, c'est ArchLinux sur mon serveur pour le côté KISS de la distribution qui me simplifie pas mal l'administration (et le wiki <3) et kubuntu sur le laptop parce que c'est jolie et que ça juste marche dès la fin de l'installation.
$ ./code
./../code: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./../code)
./../code: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./../code)
./../code: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by ./../code)
./../code: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/killou/tmp/VSCode-linux-x64/libnode.so)
./../code: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/killou/tmp/VSCode-linux-x64/libnode.so)
Je vais rester sous SublimeText. Même si il n'est pas OpenSource/Libre, il a le mérite de se lancer sur ma Centos 6*, contrairement à VSCode et Atom.
*Machine pro, je n'ai pas le choix du système que j'utilise.
Solution qui marche « Out of The Box » sur la plus part des systèmes Linux (à part Linux void, quelle distribution n'a pas python en standard ?) : python3 -m http.server 8000
Ou pour les vieux systèmes (coucou RHEL6) : python2 -m SimpleHTTPServer 8000
Et pouf ! Un webserver qui sert le dossier courant sur le port 8000 !
Après il n'existe pas en droit français quelque chose contre des assignation abusive ?
D'après Wikipédia, il existe une jurisprudence concernant les mises en demeure abusive. Mais est-ce que l'association va vraiment vouloir porter l'affaire au Civil pour si peu ?
j'ai bien pris connaissance de votre soi-disant mise en demeure
D'après Wikipedia, il y a tous les éléments pour que ça soit une véritable mise en demeure. Je te conseil de changer ton texte avant de recevoir une mise en demeure pour diffamation de la mise en demeure :-)
[^] # Re: Rah zut...
Posté par jtremesay (site web personnel) . En réponse au journal Kilo de plume et kilo de plomb. Évalué à 3.
Ben non, parce que par définition (du moins l'ancienne) big K pèse exactement 1kg, quelque soit la quantité de matière qui le constitue.
[^] # Re: Maintenant, c'est clair
Posté par jtremesay (site web personnel) . En réponse au journal Vers une fin de la guerre des brevets logiciels ?. Évalué à 3.
J'aurai du détailler ma réponse. Ce que je voulais dire, c'est qu'on a beau mettre nos données sur des infras hébergés en France et gérés par des sociétés françaises, nous n'avons pas non plus la garantie qu'elles sont protégées. J'ai cité l'exemple des serveurs SuperMicro parce qu'on en a parlé récemment. Mais il y a aussi les équipements Cisco modifiés par la NSA pour insérer des backdoors. Pareil pour les équipements Huawei et le gouvernement chinois.
[^] # Re: et qmake et qbs ?
Posté par jtremesay (site web personnel) . En réponse à la dépêche E.T. téléphone Meson. Évalué à 4.
[^] # Re: Microsoft promoteur de l'année du desktop sous Linux
Posté par jtremesay (site web personnel) . En réponse au journal Vers une fin de la guerre des brevets logiciels ?. Évalué à 6.
Annexe à mon commentaire précédent, il est à noter qu'ARM propose gratuitement une version de leur processeurs M0 et M3 sous forme de soft-IP obfusquée pour montrer à quel point leur solution est facile à intégrer dans un projet. ÀMHA, il s'agit de leur tentative de faire un EEE (« Adopte, étend et étouffe ») pour contrer les alternatives tel que RISC-V, cf un journal récent.
[^] # Re: Microsoft promoteur de l'année du desktop sous Linux
Posté par jtremesay (site web personnel) . En réponse au journal Vers une fin de la guerre des brevets logiciels ?. Évalué à 6.
Disclaimer : je suis un ingénieur dans le milieu de la micro-électronique, un domaine hautement propriétaire et confidentiel. J'ai accès à certaines informations, mais je ne peux pas trop en parler pour raisons de NDA. Je vais essayé de sourcer au maximum mes affirmations, mais pour le reste il va malheureusement falloir me croire sur parole :-/
La société ARM (Advanced RISC Machines) produit avant tout un ISA (Instruction Set Architecture) propriétaire soumis à licence. Elle ne produit pas elle même les processeurs compatibles avec ce jeu d'instructions. Par contre, elle fournit notamment des IP de processeurs compatible avec cette ISA.
Il existe deux types d'IP : les soft-IP et les hard-IP. Les hard-IP sont grosso-modo les plans silicium de processeurs pouvant être fabriqués par les fonderies. C'est une offre à destination des fabricants de SoC tel que MediaTek où le coût d'entrée est relativement faible (je dis relativement parce qu'on parle quand même de plusieurs centaines de milliers de dollars) mais l'entreprise qui intègre les IP devra payer des royalties sur chaque puce produite. Cette offre à l'avantage de fournir à l'entreprise cliente un processeur prêt à être intégré dans son SoC mais manque cruellement de flexibilité : ils ne peuvent pas modifier le processeur pour l'adapter à leurs besoins.
À côté de ça, ARM propose aussi des soft-IP. Dans ce cas, à la place des plans silicium prêt à graver, ARM donne carrément le «code source» du processeur à son client pour qu'il puisse l'adapter à ses propres besoins et créer son propre processeur compatible avec l'ISA ARM. Et là, le coup d'entré est plutôt dans l'ordre de grandeur du millions de dollars.
Bien que je ne puisse pas prouver qu'il s'agit de la solution choisie par Apple, il y a de bonnes raisons de croire que c'est ce qu'ils font, notamment parce qu'ils produisent leurs propres processeurs ARM (série A*) et qu'il y a des rumeurs concernant un contrat entre Apple et l'un des principaux éditeur de logiciels pour implémenter des puces.
My 2 cents.
[^] # Re: Maintenant, c'est clair
Posté par jtremesay (site web personnel) . En réponse au journal Vers une fin de la guerre des brevets logiciels ?. Évalué à -4.
Tu veux qu'on reparle des serveurs SuperMicro (entreprise americano-taiwaise) dont les cartes mères de certains modèles fabriquées en Chine contenait une backdoor matérielle ?
[^] # Re: et qmake et qbs ?
Posté par jtremesay (site web personnel) . En réponse à la dépêche E.T. téléphone Meson. Évalué à 8.
Ceci est mon retour d'utilisateur de qmake en tant que développeur de logiciel propriétaire pour le milieu de la micro-électronique (ne me jetez pas la pierre, il faut bien payer son loyer…).
qmake marche bien pour gérer des projets C++/Qt «classique». Mais dès que tu veux faire des trucs «un peu exotique», c'est une vraie plaie dans le c**. Il faut se montrer très «créatif» dans les .pro et utiliser des fonctionnalités non documentées dont tu découvres l’existence dans le wiki de Qt ou sur des forums.
Un exemple concret. Notre logiciel utilise un framework tierce (FlexNet) pour gérer les licences et s'assurer que le client utilise notre outil dans les conditions prévus par le contrat qu'il a signé (notamment nombre d'instances du logiciel pouvant s'exécuter en parallèles et fonctionnalités du logiciel. Ce framework nous est fourni sous la forme d'une archive à décompresser, et exécuter un simple make dedans pour générer la bibliothèque à intégrer dans notre outil. Vu que nos clients utilisent diverses architectures et plateformes (essentiellement RHEL 5/6/7 en amd64, mais pas que), nous avons décidés (à tort ?) d'intégrer ce framework dans notre projet .pro sous forme de sous-projet source pourqu'il soit compilé automatiquement par notre système d'intégration continue pour les plateformes cibles. Et là, c'est le drame parce qu'il n'y a pas de moyen simple d'expliquer à qmake que ce sous-projet se compile avec un simple make et qu'il peut utiliser le résultat pour le linker à notre soft. Et on ne peut pas non plus créer un .pro spécifique à ce projet (du moins facilement, j'ai essayé plus d'une fois), parce que le make sus-nommé fait de la «magie» : il génère un exécutable qui va générer les .h/.so que l'on va utiliser (l'éditeur du framework a choisi la sécurité par l'obscurité. L’exécutable va générer une version obfusqué de toute leur tambouille interne, qui va être appelé par l'API à laquelle on a accès). Du coup, on a dû définir une cible virtuelle qui appel un script bash qui compile le framework. Yeah…
Autre exemple, notre appli utilise le thème QtCurve qui est géré par CMake. Et là aussi, qmake ne gère pas cmake et on a du faire preuve de «créativité» pour que cela s'intègre à notre solution.
Donc voila, mon point est que qmake manque cruellement de flexibilité. Alors certes, certains pourraient nous reprocher de l’utiliser dans des cadres non prévus pour. Et j'ai presque envie d'être d'accord avec eux. Mais je considère qu'un moteur de production doit s'adapter à l'utilisateur et non l'inverse.
Concernant QBS, je ne l'ai utilisé que dans des projets persos. Pour l'instant, le seul truc que j'ai à lui reprocher est qu'il ne gère pas pas les «promogate» utilisé dans Qt Designer. Il n'arrive pas à trouver les .h de mes widgets custom. Ça se résous en ajoutant manuellement le dossier du projet courant et tant que dossier d'include. Pour moi, c'est une regression vue que qmake gérait ça nativement. Problème trouvé en convertissant un vieux projet .pro vers .qbs. Et manifestement, c'est un vieux problème.
[^] # Re: 80
Posté par jtremesay (site web personnel) . En réponse au journal [Énigme] Coffré dans un coffre ?. Évalué à 2.
Laisse le tricot de Domi< en dehors de ça !
# Gtk3 sous Centos6
Posté par jtremesay (site web personnel) . En réponse au journal Compilation de VSCode sous Centos 6. Évalué à 7.
Mais y'a encore un peu de taf à faire
[^] # Re: quelques mois ?
Posté par jtremesay (site web personnel) . En réponse au journal Compilation de VSCode sous Centos 6. Évalué à 3.
Pour installer une lib non.
Pour me motiver à compiler et installer à la main la dite lib ainsi que ses dépendances, oui.
[^] # Re: Désinformation
Posté par jtremesay (site web personnel) . En réponse au journal Et numworks tu connais ?. Évalué à 3.
Je l'ai lu. Et j'ai compris l'inverse : passage de la "CC BY-NC-SA" à la "CC BY-NC-ND". Mea culpa. Je vais utilisé l'excuse de la d'insomnie qui m'a tenu éveillée à partir de 3h du matin.
[^] # Re: Désinformation
Posté par jtremesay (site web personnel) . En réponse au journal Et numworks tu connais ?. Évalué à -2.
Non. Le code est sous close «ND» interdisant toute modification.
Extrait du site de la licence :
«PAS D’OEUVRE DÉRIVÉE: Vous autorisez la reproduction et la diffusion uniquement de l’original de votre oeuvre. Si quelqu’un veut la modifier, il doit obtenir votre autorisation préalable.»
[^] # Mode exam
Posté par jtremesay (site web personnel) . En réponse au journal Et numworks tu connais ?. Évalué à 9.
C'est dommage qu'on ne soit pas autorisés à modifier le code. Parce que sinon, juste en commentant cette ligne on pourrait la faire passer en "mode examen" sans réellement effacer le contenu de la mémoire.
[^] # Re: Et du coup
Posté par jtremesay (site web personnel) . En réponse au journal tlimit: un addon de navigateur pour limiter le nombre de tabs ouverts. Évalué à 7.
De ce que je comprends du code, tu ne peux pas créer de nouveaux onglets au delà de la limite spécifiée.
Les sodomiseurs de drosophiles te diront que pour être précis, tout nouvel onglet crée sera immédiatement détruit.
[^] # Re: ESR
Posté par jtremesay (site web personnel) . En réponse à la dépêche Firefox 60 et 60 ESR. Évalué à 10.
Debian conseille la branche unstable à la branche testing pour ceux qui veulent quelque chose de plus récent que la branche stable.
La raison avancée est que même si la branche testing casse moins souvent que la branche unstable, elle peut aussi être beaucoup plus longue à être réparée (« Testing has more up-to-date software than Stable, and it breaks less often than Unstable. But when it breaks, it might take a long time for things to get rectified. Sometimes this could be days and it could be months at times. »).
Après, chacun fait comme il le sent. Pour ma part, c'est ArchLinux sur mon serveur pour le côté KISS de la distribution qui me simplifie pas mal l'administration (et le wiki <3) et kubuntu sur le laptop parce que c'est jolie et que ça juste marche dès la fin de l'installation.
[^] # Re: Lincence MPL et build.
Posté par jtremesay (site web personnel) . En réponse au journal Petit guide à l'usage des développeurs de LL qui souhaitent se tirer dans le pied. Évalué à 4.
Pour information, New Moon est le nom par défaut des builds non officiels, cf https://github.com/MoonchildProductions/Pale-Moon/blob/master/browser/branding/unofficial/configure.sh#L5.
[^] # Re: Déception
Posté par jtremesay (site web personnel) . En réponse au journal un éditeur de code portable par Microsoft?. Évalué à 1.
Je ne suis pas root sur ma machine, ça complique un peu l'utilisation de chroot ou de l'installation des dépendances pour le compiler :)
# Déception
Posté par jtremesay (site web personnel) . En réponse au journal un éditeur de code portable par Microsoft?. Évalué à 2. Dernière modification le 09 février 2018 à 11:26.
Je vais rester sous SublimeText. Même si il n'est pas OpenSource/Libre, il a le mérite de se lancer sur ma Centos 6*, contrairement à VSCode et Atom.
*Machine pro, je n'ai pas le choix du système que j'utilise.
[^] # Re: 7switch
Posté par jtremesay (site web personnel) . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 2. Dernière modification le 24 janvier 2018 à 11:59.
Sur un eBook que j'ai acheté, ça apparait au moins sur la couverture :
(image cliquable pour la voir en plus grand)
Et dans le HTML du ePUB, y'a des trucs comme ça :
[^] # Re: 00:01 ?
Posté par jtremesay (site web personnel) . En réponse au journal Que fait `man` passé minuit ?. Évalué à 2.
Ok. Je ne connais pas la chanson, donc du coup, pareil pour la référence…
[^] # Re: 00:01 ?
Posté par jtremesay (site web personnel) . En réponse au journal Que fait `man` passé minuit ?. Évalué à 2.
Ça a été modifié 3h après la création de l'easter egg (commit). Pas de justification sur le pourquoi du changement d'heure.
[^] # Re: Python
Posté par jtremesay (site web personnel) . En réponse à la dépêche Transfert de fichier simple entre deux périphériques sans Bluetooth. Évalué à 0.
Surtout pour des pythonistes linuxiens ;)
Qu'est-ce que tu deviens, camarade ?
# Python
Posté par jtremesay (site web personnel) . En réponse à la dépêche Transfert de fichier simple entre deux périphériques sans Bluetooth. Évalué à 10.
Solution qui marche « Out of The Box » sur la plus part des systèmes Linux (à part Linux void, quelle distribution n'a pas python en standard ?) :
python3 -m http.server 8000
Ou pour les vieux systèmes (coucou RHEL6) :
python2 -m SimpleHTTPServer 8000
Et pouf ! Un webserver qui sert le dossier courant sur le port 8000 !
[^] # Re: l'assignation ne va jamais venir
Posté par jtremesay (site web personnel) . En réponse à la dépêche Seconde mise en demeure pour l'association LinuxFr. Évalué à 2.
D'après Wikipédia, il existe une jurisprudence concernant les mises en demeure abusive. Mais est-ce que l'association va vraiment vouloir porter l'affaire au Civil pour si peu ?
[^] # Re: Ma réponse
Posté par jtremesay (site web personnel) . En réponse à la dépêche Seconde mise en demeure pour l'association LinuxFr. Évalué à 4.
D'après Wikipedia, il y a tous les éléments pour que ça soit une véritable mise en demeure. Je te conseil de changer ton texte avant de recevoir une mise en demeure pour diffamation de la mise en demeure :-)