PROJET AUTOBLOG


Tiger-222

Site original : Tiger-222

⇐ retour index

Pombo 0.0.10 & Pombo GUI

vendredi 31 mai 2013 à 21:01
TL;DR
Liens : GNU/LinuxWindowsGitHubProjetPombo GUI
Beaucoup de modifications ont été apportées, pensez à faire une copie du fichier de configuration et à désinstaller l'ancienne version de Pombo avant d'installer la nouvelle.


Il est pas beau mon logo ?


Plus d'un an après la version 0.0.9, qui date du 20 janvier 2012, voici que je vous propose la version 0.0.10 !
Beaucoup de modifications apportées, avec des corrections, des remaniements de code (mais pas trop) et de belles suprises :)


Késako ?


Qu'est-ce que Pongo ? Euh non, Pombo ?!
Il s'agit d'un logiciel dans la même lignée que Prey, il permet, en cas de vol ou de perte de l'ordinateur, de récupérer des informations qui peuvent être utiles pour le retrouver. Le système est simplissime, Pombo enverra à intervalles réguliers des rapports contenant :

Le tout chiffré à l'aide de GnuPG, fonctionnel sous GNU/Linux et Microsoft Windows (Mac peut-être ?) et en libre service s'il vous plaît (licence Zlib).
Le point fort de Pombo se situe au niveau de l'hébergement, vous pouvez envoyer les rapports où bon vous semble et le nombre de serveurs est illimité.


Attaquons


Le vif du sujet, avec la liste des changement qu'apporte cette nouvelle version :

*** J'aurai besoin de plus de testeurs, si vous vous en sentez l'âme :)

Sous Windows, l'installeur pèse 6 146 421 octets car j'intègre WLAN Dump et GnuPG (seulement le binaire ainsi que la DLL associée [iconv.dll]). Bien entendu, hormis Pombo, rien n'est obligatoire à l'installation. Cependant, si vous n'installez pas python, n'oubliez pas d'installer les modules nécessaires.

Vous aurez remarqué deux inconnus dans ce lot : Pombo GUI et WLAN Dump.
Pombo GUI est une interface graphique pour le fichier de configuration. Elle est développée en C++/Qt (donc multiplateforme) disponible en anglais et en français. L'utilisation de Qt Linguist rend le système de traduction plus que facile, donc si vous ne trouvez pas votre bonheur, n'hésitez pas à m'envoyer de nouvelles. Voici une capture d'écran :


Ça en jette, non ?

WLAN Dump est un fichier batch qui utilise wlan.exe et qui permet d'avoir un semblant de résultat correct pour le listage des réseaux WiFi sous Windows XP. En effet, la commande netsh wlan show all n'existe pas sur ce système... Pour plus d'informations sur ce wlan.exe, cet article devrait vous combler.


Du côté des paramètres


Voici les petits nouveaux :

Le paramètre serverurl a changé, s'il y a plusieurs serveurs, alors séparez-les par "|" et non plus par une virgule. Ce choix est du au fait que j'utilise QSettings pour Pombo GUI (ça permet de lire/écrire un fichier de configuration tel que celui de Pombo) et qu'il ne comprend pas la virgule. Tout simplement.

Donc pensez à faire une copie du fichier de configuration avant de faire la mise à jour.


Du côté des bugs


Il y en avait un méchant qui faisait que les rapports ne changeaient pas de nom, du coup il n'y en avait qu'un seul. Pas terrible :s
Mais aussi :
Enfin, la suppression de l'option recompression que j'ai jugé (à tort peut-être) inutile : les fichiers sont suffisamment petits et l'utilisation du JPG (95% d'entre vous) fait que le gain de poids est plus que dérisoire.


Note de fin

Cette version a pu être testée avec succès sur les systèmes suivant :

Si vous pouvez faire d'autres tests, notamment sur Mac, je suis preneur :)

C++/Qt : compilation statique sous Windows

mardi 21 mai 2013 à 17:15
Il y a plusieurs avantages à la compilation statique : léger gain en rapidité et une facilité de déploiement déconcertante (un seul exécutable qui comprend l'application ainsi que les bibliothèques de Qt et MinGW).
Par contre le poids du binaire généré sera bien plus lourd, vous pourrez toujours le réduire à l'aide d'UPX.

Du côté de Qt


Avant toute chose, mettez un pack de bières au frais.

Ensuite, il faut compiler un Qt statique, ce qui n'est pas bien compliqué. Assurez-vous d'avoir les binaires de MinGW dans le PATH.
Les opérations à venir se passeront dans le dossier contienant Qt, disons C:\Qt\4.8.4.
Éditez le fichier mkspecs\win32-g++\qmake.conf et modifiez la ligne qui contient QMAKE_LFLAGS :
QMAKE_LFLAGS = -static -static-libgcc
Puis dans une console, tapez :
> cd C:\Qt\4.8.4
> configure.exe -static -release -no-exceptions -opensource -nomake demos -nomake examples
> mingw32-make
Ceci prendra un bon moment, vous pouvez entamer la bière si ce n'est déjà fait.
Les arguments "-nomake demos -nomake examples" sont optionnels, ils permettent de zapper la compilation des exemples et démos qui prennent un temps fou.
Il est possible d'activer/désactiver des fonctionnalités/plugins, essayez la commande :
> configure.exe help
Plus d'informations : Building static Qt on Windows.


Du côté du projet


Vous êtes encore assez frais ? Bon, éditez le fichier .pro de votre projet et ajoutez cette ligne :
CONFIG += static
Compilez en mode release... C'est terminé !

Plus d'informations : Quand et comment réaliser une compilation "statique"? et Building static applications.

C++/Qt : i18n à l'international

jeudi 16 mai 2013 à 00:42

Du côté du développeur


Le principe est relativement simple : Qt Creator va générer un fichier .ts que vous modifierez, puis il se chargera de le mettre dans le bon format pour votre application.

Pour commencer, toutes les chaînes de caractères qui devront être traduites doivent être appelées à l'aide de la fonction tr() :
QString texte = "Error while trying to save the configuration file:";
// doit être modifié tel que :
QString texte = tr("Error while trying to save the configuration file:");
tr() (plus d'infos) reçoit un argument obligatoire qui est la phrase ou le mot à traduire. Il est possible d'ajouter un second argument qui servira aux traducteurs pour spécifier le contexte ; par exemple pour expliquer les arguments ou s'il s'agit d'un bouton "Ok" ou du mot "Ok" pour dire "Ouais" ou "Oui" (mauvais exemple mais va falloir faire avec).

Voici quelques exemples concrêts :
tr("Error while trying to save the configuration file:");
tr("Done %1/100 ...").arg(percent);
tr("[%1] Done %2/100 ...", "Percent advancement: [file number] Done xx/100 ...").arg(file_number, percent);
On peut mettre autant de %1, %2, %3 que l'on souhaite, il s'agit de l'ordre des arguments donnés par arg().

Vous aurez remarqué que j'ai mis les phrases en anglais, c'est pour ne pas avoir de surprises avec les accents sur les systèmes casse-couilles. Et puis de toute manière elles seront traduites par la suite :)

Une fois toutes les phrases mises en évidence, il suffit de modifier le fichier .pro de votre projet et d'ajouter cette ligne tout en bas :
TRANSLATIONS = i18n/fr_FR.ts
Ceci veut dire que les fichiers de traduction (ici je n'ai mis que le français pure souche) seront placés dans le dossier i18n. Il est possible de générer plusieurs fichiers de traduction :
TRANSLATIONS = i18n/fr_FR.ts i18n/fr_CA
Passons à la génération des fichiers, dans Qt Creator faîtes Outils > Externe > Linguist puis sélectionnez Mettre à jour les traductions (lupdate). Si les fichiers n'existent pas, ils seront créés automatiquement.


Du côté des traducteurs


Le principe est on ne peut plus simple ! Les fichiers .ts sont de simple fichiers XML :
<message>
	<location filename="../mainwindow.ui" line="26"/>
<source>Error while trying to save the configuration file:</source>
<translation type="unfinished"></translation>
</message>
Il suffit d'envoyer le fichier .ts au traducteur qui, à l'aide d'un logiciel simplissime tel que Qt Linguist ou d'un simple traitement de texte tel que Sublime Text, Geany ou encore SciTE, n'aura qu'a entrer ses phrases traduites.

Dans la ligne translation (dans le code plus haut), par défaut le type est unfinished, normal la phrase n'a pas été traduite. Il est possible de mettre ignored, comme ça l'application gardera la phrase originale. Lorsque la phrase est traduite, supprimez type="unfinished".

C'est tout, une fois terminé, le traducteur renvoie le fichier .ts au développeur. On y est presque ;)


Phase finale


Dans Qt Creator faîtes Outils > Externe > Linguist puis sélectionnez Publier les traductions (lrelease). De nouveaux fichiers sont créés : fr_FR.qm et fr_CA.qm.
Ce sont les fichiers finaux.

La dernière étape consiste à mettre en place le système de traduction :
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); // ligne 4

QTranslator translator;
translator.load(QString("%1/i18n/%2.qm")
.arg(app.applicationDirPath())
.arg(QLocale::system().name()));
app.installTranslator(&translator);

MainWindow w;
w.show();
return app.exec();
}
load() (plus d'infos) prend en 1er argument la locale du système (du genre fr_FR, fr_CA, en_US) et le 2ème (optionnel) le dossier dans lequel trouver les fichiers de traduction.
Notez la ligne 4 : pour la prise en compte correcte des accent, elle est indispensable.

Voilà ! Exécutez votre application et admirez les jolies fautes d'ortographe :)

Pour plus de détails : Traduire son programme avec Qt Linguist .

Clochette, Clochette !

jeudi 2 mai 2013 à 04:38

Un peu malgrè moi...


Tout a commencé lors d'un voyage, lorsque ma soeur me ramena une clochette de Rome :


C'est un cadeau pas cher et une collection comme une autre vous m'direz, que vous pourrez admirer sur cette superbe mappemonde (zoom de la France). D'ailleurs, si vous être perdu quelque part sur la belle planète Terre, que vous voulez me faire une p'tite surprise, n'hésitez surtout pas :D
S'en sont suivies d'autres au fur et à mesure des différents voyages, accompagnées de quelques anecdotes (mise à jour en continu).


Irelande : Dublin


Quel est le comble du comble ? Visiter l'usine Guinness, pouvoir en goûter le précieux nectar gratuitement et... Décliner sagement. Il y a des claques qui se perdent !



Îles Baléares : Majorque




Corée du sud : Séoul


Quelle ville originale : lorsque le métro arrive, la musique de Rocky rententit, c'est énorme !


Luxembourg : Luxembourg




France : Lyon


Bon, j'habite en France, et je n'avais pas de clochette du pays... C'est chose faite maintenant.
J'adore cette ville, dynamique, des beaux bâtiments, des scultures sympas et des moyens de transport à toute heure : métro, tramway, bus ou encore Vélo'v. Mais surtout des endroits pour boire et se divertir. Si je devais vous conseiller, pour les fous tentez l'Abreuvoir, et pour un super café théatre, il y a les Tontons Flingueurs : le personnel est accueillant [et charmant], les pièces jouées sont excellentes et l'ambiance générale est tout bonnement géniale. Il faut en abuser ;)



France : Annecy


Une très belle clochette, une vraie de vraie, qui vient du Musée de la Cloche Paccard !



Allemagne : Munich


Celle-ci est particulièrement jolie, avec le bock de bière pivotant au milieu.



France : Gérarmer




Thaïlande : Bangkok


Et voici la clochette la plus kitsch de Bangkok.



France : Strasbourg


L'Alsace est dans la boîte !

iPhone 3GS : jailbreak & desimlock

mercredi 24 avril 2013 à 04:58
/!\ Attention /!\
Je ne garantis rien dans cet article, ce que vous ferez sera de votre entière responsabilité.


Le but de la manoeuvre


Le but est de garder une trace pour le jailbreak et le desimlock de l'iPhone 3GS sous certaines conditions.
Du coup, pour pouvoir suivre les manipulations à venir, il vous faudra impérativement :
Pour vérifier la date de fabrication de l'iPhone, il vous faut le numéro de série (dans Réglages > Général > Informations). Pour les fénéants, copier/coller l'adresse URL suivante (remplacer XXXXXXXXXXX par le numéro de série) :
http://www.powerbookmedic.com/identify-mac-serial.php?serial=XXXXXXXXXXX


Ou sinon, sachez que le 3ème chiffre représente l'année (2010 = 0, 2011 = 1, 2012 = 2, ...) et les 4ème et 5ème la semaine. Donc si vous avez bien suivi, il ne faut pas que vos 3ème, 4ème et 5ème chiffres valent plus que... 134. Bien !

Pour connaître le baseband, dans Réglages > Général > Informations, il s'agit en fait du Prog. du modem. Pas moyen de négocier avec d'autres baseband, il y a des tonnes de tutoriels à gauche à droite.


Avant tout


Si vous en êtes là, ça veut dire que vous remplissez toutes les conditions pour passer aux choses sérieuses.
Il vous faut récupérer iOS 5.0.1 ainsi que le couteau suisse de l'iPhone, j'ai nommé redsn0w, la version 0.9.15b3 fera l'affaire.

Voici la procédure, pour que ça soit clair pour tout le monde :

C'est parti mon kiki !

Pour un tutoriel tout en images, c'est par ici.

Étape 1

Une fois terminé, démarrer l'iPhone normalement et vérifier que l'application Cydia est bien installée et que le BB est en version 06.15.00, puis l'éteindre correctement. Nous avons fini l'étape 1 !

Étape 2

Une fois terminé, démarrer normalement l'iPhone et vérifier que le BB est bien en version 05.13.04 (si ce n'est pas le cas, recommencer l'étape 2). Nous avons fini l'étape 2 !

Étape 3

Nous avons fini l'étape 3 !
Vous devriez avoir un iPhone jailbreaké et désimlocké :)