Myriad Blog 1.3.0 Wednesday, Jun 1st, 2016 at 01:48am 

Technical Tuesday, May 31st, 2016 at 04:46pm
Compiler un projet C sous Linux

 
Notre nouveau PC (d'occase) installé avec Ubuntu 16.04 - 64 bits, il est temps de le préparer pour développer dessus.
 
Nous avons déjà les projets complets  sur notre machine virtuelle, il suffit donc de mettre en place le compilateur et l'environnement de développement (Code:Blocks), transférer nos projets et établir les lecteurs réseau vers les sources C partagés entre Windows et Linux. Piece of cake.
 
Répertoires partagés
 
Les répertoires partagés sur Windows sont accessibles directement par smb://MonRepertoireDePartage. Pour les monter, Un petit fichier sh d'abord, pour vérifier que ça fonctionne.
Un simple  
sudo mount -c cifs -o username=utilisateur,password=motdepasse,uid=1000,iocharset=utf8,file_mo de=0777, //192.168.1.3/MonRepertoireDePartage /media/shared  
suffit à monter le partage.
Ensuite, bien entendu, on ajoute  
//192.168.1.3/MonRepertoireDePartage /media/shared cifs username=utilisateur,password=motdepasse,uid=1000, iocharset=utf8,file_mode=0777  
au fichier /etc/fstab pour rendre ça permanent, cela va sans dire. Bon, ça a bien pris trois bonnes heures avant de trouver ces commandes, qui permettent d'avoir l'accès aux fichiers en lecture/écriture.
 
Code:Blocks
 
Prudents, et suivant à la lettre les recommandations, nous passons par la librairie logicielle intégrée au système, pour récupérer la version de Code:Blocks "connue pour bien fonctionner et s'installer convenablement".  
Donc, téléchargement par "Ubuntu Software" de la version 13.12 de Code:Blocks. Aucun problème.
Enfin, presque. Après 2 secondes d'utilisation, tout plante. L'éditeur se fige pendant plusieurs secondes, n'affiche plus les noms des fichiers dans les onglets, et met un temps infini à répondre. Inutilisable.
 

Direction le site de CodeBlocks pour récupérer la dernière version (16.01). On suit les directives d'install, qui consistent simplement à ajouter au système un nouveau site de téléchargement grâce à ces quelques petites lignes (le principe même en est fortement déconseillé dans à peu près tous les forums sur Linux) :
sudo add-apt-repository ppa:damien-moore/codeblocks-stable
puis
sudo apt-get update
et  
sudo apt-get install codeblocks
Et là, ça fonctionne. Plus de plantage !  
 
Compilation
 
Nous pouvons maintenant passer aux tentatives de compilation. Le système étant en 64 bits et nos applications en 32, et ces dernières utilisant quelques librairies (le moins possible, mais quand même), il faut préparer tout ça:
 
sudo apt-get install g++-multilib
sudo apt-get install libx11-dev
sudo apt-get install libxrender-dev
sudo apt-get install libfreetype6-dev
 
Sommes-nous étourdis ! Il faut installer la version i386 de certains de ces paquets, of course:
 
sudo apt-get install libx11-dev:i386
sudo apt-get install libfreetype6-dev:i386
sudo apt-get install libfontconfig-dev:i386
sudo apt-get install libasound-dev:i386
 
Et voila, le tour est joué. On peut maintenant compiler, en prenant soin de cocher la compilation 32 bits dans les options du projet. Bon, bien entendu, avec tous les paquets que nous venons d'installer, notre système n'a plus rien à voir avec ce que l'application peut s'attendre à trouver chez l'utilisateur lambda. Une autre installation, ou une autre machine sera donc nécessaire pour disposer d'une plateforme de test.
 
Fidèle à sa réputation de solidité et de convivialité, installer un compilateur et recompiler nos projets sur Linux nous a pris tout au plus deux jours, contre 2 heures sous Windows. Les commandes sont d'une simplicité biblique (je suis sûr qu'en lisant ce billet, vous les avez déjà mémorisées sans vous en rendre compte). On se demande vraiment pourquoi, sur MacOS et Windows, ils s'obstinent encore à proposer des boîtes et des boutons, alors qu'un clavier et un terminal texte suffisent pour tout faire sans effort !
 
Plus on s'intéresse à Linux, et plus on y passe du temps. 2 jours entiers sans décrocher, si ce n'est pas la preuve de son attractivité, ça !
by Olivier Guillion
 Leave a comment.

To be seen Friday, May 27th, 2016 at 05:08pm
Vous prendrez bien une tranche de Ténor?

 
Au détour du net, et pour finir la semaine avec quelque chose d'original, nous sommes tombés sur cette vidéo surprenante, que nous ne pouvons que vous faire partager:
 
Ténor vu en coupe

 
Un ténor en train de chanter est filmé, en coupe, par un IRM. On voit en temps réel, sa bouche, sa langue et son palais. Hypnotique et dérangeant à la fois.
 
Si nous avions eu cela lorsque nous avons commencé Virtual Singer, nous aurions pu, en mesurant les surfaces et positions des divers éléments, déduire le volume et la forme des diverses cavités, et envisager ainsi une modélisation physique de l'appareil vocal.
 
Sur ces considérations, nous vous souhaitons un bon week-end !
by Olivier Guillion
 Leave a comment.

Dev News Wednesday, May 25th, 2016 at 05:11pm
Harmony 9.6, étape 898

 
Dans la palette de Virtual Singer, sur Windows, l'icône de certains chanteurs apparaissait avec des zones blanches à la place du noir. Ceci a été corrigé.
 
Dans la même palette, lorsque plusieurs chanteurs sont situés à la même position stéréo, ou à une position proche, un algorithme empêche les noms des chanteurs de se chevaucher.
Nous essayons d'améliorer cet algorithme, et de gérer également le chevauchement des drapeaux représentant la langue du chanteur. En effet, les langues des chanteurs situés derrière ne sont pas toujours bien visible, ce qui peut conduire à des erreurs.
by Olivier Guillion
 Leave a comment.

Dev News Monday, May 23rd, 2016 at 04:57pm
Harmony 9.6 et autre, étape 897

 
Nous avions lancé un appel, sur le forum, pour nous aider à localiser un problème récurrent d'arrêt de la mise à jour graphique du fond du bureau, sur Windows. Ce problème était présent depuis assez longtemps, mais nous ne parvenions pas à le reproduire.
 
C'est par hasard qu'un utilisateur nous a contacté à ce sujet. Son analyse n'était pas exacte (il pensait à un problème de fermeture de fenêtre, car la fenêtre fermée restait graphiquement à l'écran) et il nous a fallu plusieurs échanges pour comprendre qu'il s'agissait bien du Saint Graal.
 
Le problème survenait donc après minimisation puis restauration de la fenêtre principale du logiciel. Programmatiquement, c'était assez complexe, mais c'est maintenant (enfin!) corrigé.
 
Dans un tout autre domaine, nous avons maille à partir avec un petit malin qui essaie de commander plusieurs de nos licences (généralement, n'importe quoi, mais en quantité, pour un gros montant) avec des cartes bleues volées.  
 
Venant prétendument des USA ou de Suisse, changeant de nom et d'adresse à chaque fois, mais pas toujours d'adresse IP ou d'adresse électronique, il semble situé en Russie, ou bien utilise un VPN ou un proxy localisé là-bas.
Pour l'instant, il n'est parvenu à obtenir aucun code d'enregistrement, mais nous oblige à réagir vite pour éviter que nous ayons à payer à la banque des frais de remboursement
 
En effet, lorsque la banque laisse passer tranquillement une opération frauduleuse faute de vérification, et que nous nous en apercevons, c'est à nous de supporter l'intégralité des frais de remboursement de l'opération. C'est ce qu'on appelle, en jargon bancaire, le partage des risques. Ah, banquier, c'est tout de même un beau métier...
by Olivier Guillion
 3 comments.

Dev News Thursday, May 19th, 2016 at 04:56pm
Il était une fois

 
1998
 
C'était un temps où le premier iMac venait de sortir, équipé d'un processeur PowerPC. Les aficionados d'Apple esquissaient une moue de dégoût à la simple évocation des processeurs Intel.
 
Windows 98 venait tout juste de sortir, et Melody Assistant, version shareware simplifiée d'Harmony, faisait ses premiers pas sur ce système.
 
2016
 
Un utilisateur nous contacte pour un petit problème de protection de fichiers. Il est sur Windows 7, 64 bits et fait tourner Melody en version 1.1, jamais mise à jour en 18 ans.
En pièce jointe, cette copie d'écran, qui fait ressurgir de vieux souvenirs :
 

 
Pas mal d'outils n'étaient pas encore présents, et l'aspect général du bureau n'était pas configurable. Mais ce programme d'il y a 18 ans tourne sans aucun problème sur un système récent, ce qui montre tout de même le souci du respect de compatibilité dont fait preuve Microsoft. Pendant ce temps-là, chez Apple, on a changé à la fois de processeur (Power PC -> Intel) et de système (Mac OS9 -> Mac OS X) rendant toutes les applications d'alors doublement incompatibles.
by Olivier Guillion
 Leave a comment.

Dev News Tuesday, May 17th, 2016 at 05:37pm
Géolocalisation

 
Afin de faciliter la navigation sur notre site, nous allons essayer de proposer, sur la page de chaque produit, deux gros boutons, qui permettront respectivement
- De télécharger directement le logiciel  
- D'acquérir la licence pour ce produit
 
Chaque option pose un problème technique.
 
La première demande de connaître le système sur lequel navigue l'internaute. Ceci peut être réalisé avec une marge d'erreur assez faible en analysant la signature du navigateur qu'il utilise (user-agent). Nous faisons déjà cela lors de la commande, pour prévenir l'utilisateur s'il commande par exemple une licence pour Windows alors qu'il navigue depuis un Mac.
 
La deuxième nécessite de connaître la monnaie (euros ou dollars US) dans laquelle afficher les prix. Ceci dépend du pays de résidence de l'internaute.  
Pour connaître ce pays sans avoir à le demander explicitement, il faut donc géolocaliser son adresse IP. Nous avons mis cela en place, et vous pouvez le tester sur votre IP :
Démo de Géolocalisation

 
Bien entendu, la détermination du système, du pays et de la monnaie permettrait de proposer automatiquement des options ciblées, mais l'utilisateur pourrait tout de même passer outre.  
On peut en effet imaginer qu'un Américain en voyage en Allemagne commande depuis son iPhone une licence pour son PC sous Linux...
by Olivier Guillion
 8 comments.

Dev News Friday, May 13th, 2016 at 05:29pm
Linux natif

 
Afin d'être en mesure de tester les versions Linux dans de bonnes conditions, nous avons besoin d'une machine qui tourne nativement sur ce système.
 
Jusqu'ici, nous développions et testions sur une machine virtuelle depuis Windows. Mais, si la compilation est rapide et le système réactif, le comportement des pilotes vidéo et audio sont sensiblement différents de celui d'une machine dédiée.
 
En un mot, concevoir les programmes est possible sur une machine virtuelle, mais les tester en profondeur reste difficile.
 
Alors, bien décidés à recycler, nous avons sorti du placard un vieux mini-PC, un petit ASUS des années 2001-2002 équipé d'un AMD Athlon 2400.
Le graveur CD était HS, et l'une des deux barrettes de RAM fonctionnait mal, nous réduisant la capacité mémoire à 256Mo !
 
Retroussage de manches, démontage, nettoyage, remplacement des deux RAM par 2x512Mo récupérées sur un vieux Mac G4 au rebut, déconnexion du lecteur défectueux.

 
Malheureusement, l'installation par clé USB d'Ubuntu 16.04 (32 bits) puis 14.04 se solde par un écran désespérément noir. Il faut redescendre jusqu'à la version 12.04 pour que ça fonctionne.
 
Et là, on obtient quelque chose de très, très lent, apparemment, les accès graphiques ralentissent tout. Une tentative infructueuse d'installer un autre pilote graphique se solde par la désinstallation de dizaines de paquets du système, et leur remplacement apparemment par une version plus ancienne (je n'ai pas tout compris), et là, au redémarrage, miracle, tout tourne beaucoup plus vite.
 
Mais bon, tester nos programmes sur une version de  Linux d'il y a 5 ans, c'est pas top. Alors, rendez-vous chez notre vendeur de PC d'occasion, et nous voila maintenant les heureux propriétaires d'un Lenovo Thinkstation, au moins 4 fois plus rapide que le petit ASUS, en 64 bits, avec 4 Go de RAM, sur lequel il nous faut installer Linux.  
 
Mauvaise surprise, impossible de trouver comment démarrer sur une clé USB  
 
On en est donc là, juste avant le week-end....
by Olivier Guillion
 3 comments.

Dev News Wednesday, May 11th, 2016 at 05:01pm
Harmony 9.6 étape 893

 
- Nous avons corrigé l'erreur survenant dans l'export HTML ou Myrweb. Elle était plus générale que ce que nous pensions à l'origine. En fait, avec la version beta courante, il n'est pas possible d'exporter dans ces formats des partitions comportant plus d'une portée avec paroles
 
- Dans ACAM (Windows / Linux), la gestion des menus a été améliorée afin d'éviter que la dernière option, au bas du menu, puisse ne pas être sélectionnable lorsque la fenêtre principale a un ascenseur horizontal.
 
- Sur Windows, le travail à la souris sur les perforations de l'aperçu d'impression de cartons d'orgue de barbarie ne fonctionnait plus après changement d'application par Alt-Tab, et retour sur Harmony
 
- Pour corriger un petit problème graphique signalé par un utilisateur sur l'app Myrweb, nous avons généré une nouvelle version de l'app. L'avantage est que l'app est alors instantanément remise à jour, sans que l'utilisateur ait besoin de faire autre chose que rafraîchir la page. Appréciable !
 
by Olivier Guillion

Dev News Monday, May 9th, 2016 at 05:04pm
Harmony 9.6 étape 891

 
Nous traitons, dans l'ordre de leur arrivée, les rapports que nous avons reçus sur la version 9.6.4 beta 4.  
Si nous ne vous avons pas encore répondu, nous vous demandons encore un peu de patience, le temps que nous traitions les rapports précédents.
 
Jusqu'ici donc :
 
- Nous avons reçu notre certificat de sécurité Authenticode SHA-1, qui nous permet, par le biais d'une double signature de nos applications, de proposer des applications signées aussi bien sur Windows XP et moins que sur Vista jusqu'à Windows 10.
La double signature est maintenant en place (pour la prochaine beta) mais pas encore testée sur XP.
 
- Correction d'un crash lors de l'export HTML, lorsque celui-ci échouait à cause d'un problème de connexion Internet
 
- La version la plus récente de l'app Myrweb (code Javascript de visualisation et de jeu des partitions) sera livré dans l'installateur. Nous avons modifié nos utilitaires de création d'archive pour récupérer cette dernière version sur notre site, au moment de la création de la version. Ceci ne sera utile que lorsque l'utilisateur qui crée une page HTML n'a pas, à ce moment-là, de connexion Internet opérationnelle
 
- L'export Myrweb échouait lorsqu'une portée était définie comme ayant une ligne de paroles, mais que ces paroles étaient vides.
by Olivier Guillion

Dev News Tuesday, May 3rd, 2016 at 05:04pm
Harmony 9.6 et autre étape 889

 
Nous sommes encore en train de mettre au point la prochaine beta d'Harmony Assistant pour Windows et Mac.
Les derniers détails nous prennent un peu plus de temps que prévu, à cause de problèmes principalement liés à Windows:
 
- La suppression et création de répertoires par un fichier .bat MS/DOS ne fonctionne pas correctement lorsque ces répertoires sont sur une lettre réseau.
Si on est en train de voir, dans l'explorateur Windows, le contenu d'un répertoire qui se fait effacer, on est expulsés au niveau supérieur, ce qui est normal, mais plus aucun "md" (commande de création de répertoire) ne fonctionne ensuite, ce qui est beaucoup moins normal.
 
- Microsoft a demandé d'augmenter la sécurité des signatures numériques des applications, en passant de l'algorithme SHA-1 à SHA-256, beaucoup moins facile à hacker. Résultat, nous avons dû demander une nouvelle signature numérique et l'installer.  
Mais l'algorithme SHA-256 n'est pas supporté par Windows XP et moins. Il faut donc apposer sur nos exécutables une double signature, SHA-256 (pour Windows Vista et plus) et SHA-1 (pour Windows XP et antérieur).
Mais pour cela, il nous faut mettre à jour nos outils de signature.
Et pour avoir ces outils, il faut télécharger et installer le kit de développement complet (SDK) pour Windows 8.1, qui fait 1.6Go !! ...
De proche en proche, cela prend de plus en plus de temps, on s'en va de plus en plus loin, jusqu'à en oublier pourquoi on faisait tout ça au départ...
by Olivier Guillion
 2 comments.


Full view
Reduced view
Most recent first
Oldest first
All
Didier Guillion
Olivier Guillion
Sylvie Ricard
All
Dev News
Technical
Mood
Memories
Myriad Life
To be seen
30 previous days
Apr 2006
May 2006
Jun 2006
Jul 2006
Aug 2006
Sep 2006
Oct 2006
Nov 2006
Dec 2006
Jan 2007
Feb 2007
Mar 2007
Apr 2007
May 2007
Jun 2007
Jul 2007
Aug 2007
Sep 2007
Oct 2007
Nov 2007
Dec 2007
Jan 2008
Feb 2008
Mar 2008
Apr 2008
May 2008
Jun 2008
Jul 2008
Aug 2008
Sep 2008
Oct 2008
Nov 2008
Dec 2008
Jan 2009
Feb 2009
Mar 2009
Apr 2009
May 2009
Jun 2009
Jul 2009
Aug 2009
Sep 2009
Oct 2009
Nov 2009
Dec 2009
Jan 2010
Feb 2010
Mar 2010
Apr 2010
May 2010
Jun 2010
Jul 2010
Aug 2010
Sep 2010
Oct 2010
Nov 2010
Dec 2010
Jan 2011
Feb 2011
Mar 2011
Apr 2011
May 2011
Jun 2011
Jul 2011
Aug 2011
Sep 2011
Oct 2011
Nov 2011
Dec 2011
Jan 2012
Feb 2012
Mar 2012
Apr 2012
May 2012
Jun 2012
Jul 2012
Aug 2012
Sep 2012
Oct 2012
Nov 2012
Dec 2012
Jan 2013
Feb 2013
Mar 2013
Apr 2013
May 2013
Jun 2013
Jul 2013
Aug 2013
Sep 2013
Oct 2013
Nov 2013
Dec 2013
Jan 2014
Feb 2014
Mar 2014
Apr 2014
May 2014
Jun 2014
Jul 2014
Aug 2014
Sep 2014
Oct 2014
Nov 2014
Dec 2014
Jan 2015
Feb 2015
Mar 2015
Apr 2015
May 2015
Jun 2015
Jul 2015
Aug 2015
Sep 2015
Oct 2015
Nov 2015
Dec 2015
Jan 2016
Feb 2016
Mar 2016
Apr 2016
May 2016
Jun 2016
May 31st, 2016 at 04:46pm 
Article from Olivier Guillion
Compiler un projet C sous Linux
May 30th, 2016 at 04:57pm 
Article from Didier Guillion
Harmony 9.6 étape 900
May 29th, 2016 at 06:43pm 
Comment from Pascal P.
Erreur de ville
May 27th, 2016 at 05:08pm 
Article from Olivier Guillion
Vous prendrez bien une tranche de Ténor?
May 26th, 2016 at 05:00pm 
Article from Didier Guillion
Harmony 9.6 étape 899
May 25th, 2016 at 05:11pm 
Article from Olivier Guillion
Harmony 9.6, étape 898
May 24th, 2016 at 08:52pm 
Comment from JP
Re: Arnaque
May 24th, 2016 at 04:41pm 
Article from Didier Guillion
Alerte SMS
May 23rd, 2016 at 05:45pm 
Comment from Olivier Guillion
Re: Arnaque
May 23rd, 2016 at 05:45pm 
Comment from Olivier Guillion
Re: Arnaque

Top of page
Legal information Last update:  (c) Myriad