[Django] Mettre un élément de navbar en « Active »

J’ai été confronté à un petit problème lors de mon stage de fin d’études. Je dois réaliser un site web basique qui permet d’envoyer des commandes python à travers un réseau de machines. Le code derrière semble bien fonctionner, et je me suis donc collé à la réalisation du site web.

En utilisant bootstrap, il y a une petite classe bien sympathique : active. Celle-ci s’applique sur un élément de la navbar et permet de le faire ressortir par rapport aux autres.
Cela permet donc d’implémenter une fonctionnalité basique de navigation. L’internaute sait donc où il se trouve sur le site web.

Capture d’écran 2014-04-30 à 11.38.07

Comme j’ai pas mal galéré, voici ma solution, inspirée par ce site internet et mise à jour/simplifiée pour Django 1.6.2 et bootstrap 3.

Lire la suite

[Tuto] De la téléphonie IP très facilement avec Asterisk

Bonjour à tous et bonne année 2014 !

Je vous propose en ce début d’année un tuto assez simple sur Asterisk. Si vous ne le connaissez pas, c’est un logiciel libre qui permet de faire de la téléphonie par IP, c’est assez sympa à faire !

Le tutorial a été réalisé sur une Debian 7.3 64bits mais peut être appliqué sur d’autres versions (un raspberry pi par exemple).

Le but à atteindre :

  • Avoir un serveur de téléphonie fonctionnel, compilé à la main avec des plugins
  • Pouvoir rajouter facilement des « extensions » (numéros de téléphone)
  • Chaque utilisateur a une boite vocale personnelle
  • Les appels groupés en conférence sont possibles

Les appels pourront même être passés depuis un iPhone / Android ! :)
Je vous avoue qu’Asterisk et moi ça n’a jamais vraiment été une grande histoire d’amour, néanmoins je pense avoir réussi à le configurer proprement et à avoir une configuration de base qui peut servir à d’autres projets plus élaborés.

C’est parti !

Lire la suite

[WordPress] Lutter contre les injections et le hack

Bonsoir à tous,

Sujet un peu inhabituel sur le blog mais je suis sûr qu’il va être utile à pas mal de blogueurs à travers la toile.
Je viens de changer d’hébergeur (un article y sera consacré dans peu de temps) et lors de ce changement, mon blog a été victime de plusieurs attaques.

wordpress-hacked

Et oui, moi qui me disait qu’un petit blogueur comme scratiphone ne ferait sûrement pas l’objet d’attaques, je me suis bien trompé !

Déjà l’année dernière, un script malveillant a installé une fausse page web de banque sur mon site. OVH n’y a pas été par 4 chemins et a complètement désactivé mon site avec un gros message que l’on pouvait traduire par « démerde-toi, tu vas (nous) causer des ennuis » !!

Une simple suppression de ces quelques fichiers et tout est rentré dans l’ordre. Ce qui m’amène au premier point clé des premiers réflexes à avoir :

Gérez vos permissions de dossiers !

Les permissions sont bien là pour remplir leur rôle et peuvent être dangereuses. Des permissions moins restrictives vous donneront sans doute l’impression que votre site web fonctionne mais il laissera une porte ouverte (backdoor) aux intrusions externes.

Un exemple frappant est le WiFi. Quand on sort un routeur (autre que box opérateur) de sa boîte, on le branche, on l’allume, on se connecte et ça marche !
Mais ça marche également pour le voisin ! ;)

En ce qui concerne WordPress, il est important de sécuriser les dossiers ‘sensibles’, à savoir ceux qui donnent accès à la base de données ou aux informations de compte ftp.

En ligne de mire, les dossiers des thèmes et des plugins.

En général, on comptera sur des permissions globales de 755. Certainement pas plus ! Et moins il y en a, mieux c’est (tant que votre site fonctionne !).
EDIT : coïncidence ? Regardez l’url de cet article, son numéro généré aléatoirement est le 755 ! :D

Pour vous aider à mieux visualiser les permissions unix, je vous donne cette petite infographie d’hurricane labs que je trouve très bien faite :

unix-file-permissions1

 

Lors de ma fameuse première expérience avec le hacking, j’avais fait l’énorme erreur de donner des accès en 777 à un dossier que j’avais voulu utiliser pour partager des fichiers avec des amis…

 

Gardez vos extensions et installations à jour !

Les mises à jour WordPress et de plugins apportent énormément de fonctionnalités, mais également des corrections de sécurité.
Si vous êtes informés d’une mise à jour disponible, n’hésitez pas à la faire dès que possible.

Mais garder une extension à jour ne suffit pas !
En effet, il existe des paquets d’extensions qui avaient un développement soutenu il y a quelques mois/années mais qui désormais sont à l’abandon. Et ça, c’est très dangereux !
J’ai fait les frais lors d’une infection wordpress, 4 de mes plugins ont été touchés. Des plugins que j’utilisais sur mon blog mais qui faute de mise à jour se sont vus exposés à de nouvelles failles.

Faites donc preuve de patience lorsque vous choisissez un plugin wordpress. Lisez les changelogs, regardez le numéro de version (une version 4.0.7 montre un développement mieux soutenu qu’une version 1.0.1), Googlez d’éventuels retours sur la sécurité de cette extension.
A vérifier particulièrement sont les sondages wordpress, les plugins qui agrandissent vos photos et d’autres fantaisies.

Installez un pare-feu/anti malware sur votre blog

eval-base64-decode-hack

Un exemple d’injection de code malveillant sous wordpress (en jaune)

Si vous vous êtes fait hacker mais que vous avez récupéré votre accès au blog (grâce à un hébergeur sympa qui tient des backups réguliers ;) ), ne pensez pas vous tirer d’affaire aussi facilement.

Vous voyez ci-dessus un exemple d’attaque que mon blog a subie récemment et plusieurs fois d’affilée. Il s’agit de l’attaque base64_decode, qui utilise des failles d’extensions et de permissions pour venir installer du code malicieux dans la plupart de vos fichiers PHP et HTML.

Ceci permet aux pirates de générer des fichiers contenant les adresses ip des visiteurs ainsi que les éventuels paramètres de navigateur utilisés lors de la navigation du site, ceci sûrement afin de détecter des petites failles et obtenir accès à l’intérieur du blog.
D’autres sont plus coriaces et moins transparents puisqu’ils empêchent tout simplement la consultation du blog.

Une solution automatisée de protection et d’analyse de ces codes malveillants est donc la bienvenue !

En farfouillant sur le net, j’ai découvert wordfence. Un outil propulsé par le cloud et qui est disponible en versions gratuite et payante.

La gratuite est tout à fait satisfaisante pour un usage comme le mien, une des seules restrictions concerne la fréquence de scan sur le blog.

wordfence-main-interface

Interface principale de wordfence

wordfence-problem

 

L’avantage, c’est que tous vos fichiers wordpress sont scannés et je vous garantis que j’ai trouvé du code malveillant là où je m’y attendais le moins. Et cela a confirmé mes dires ici plus haut, les vieilles extensions wordpress sont dangereuses pour la sécurité du blog !

Je conseille également Anti-Malware by ELI qui lui permet en plus de corriger automatiquement les fichiers infectés.

anti-malware-wordpress

Qu’en penser ?

Le fin mot de l’histoire, c’est que votre blog se doit d’être surveillé. Regardez régulièrement la composition de vos dossiers, lancez des scans réguliers de vos fichiers php, ne négligez aucune piste qui pourrait compromettre l’intégrité de vos fichiers.

La moindre erreur peut être une backdoor pour votre site, le moindre petit fichier infecté peut aller se répliquer partout sur votre blog.

Il est certain que de nombreuses solutions existent. Je ne suis pas un expert en sécurité réseau et cet article n’est en aucun cas une méthode fiable à 100% pour sécuriser vos sites.
Mais je pense qu’il aidera certaines personnes à faire de bons choix et attrapper certains petits réflexes.

Et via la magie du partage internet, c’est avec plaisir que je lirai vos suggestions d’amélioration et de sécurisation de blog dans vos commentaires ! :D (whooo trop d’la balle comment il nous incite à lâcher des comz !)

Votre serviteur

[Tuto express] Effacer complètement un iOS jailbreaké sans restauration

Bonsoir à tous,

C’est une période assez estivale (enfin un peu de soleil !) et bien évidemment, le beau temps décide toujours de s’installer en période d’examens ;)

Ma compagne ayant un ennui fâcheux avec le bouton Power de son iPhone, j’ai décidé de lui prêter le mien.
Oui, mais ? Mon iPhone est jailbreaké et j’aimerais qu’elle puisse l’utiliser avec son compte iCloud, ses applications, photos, etc…

Donc du coup, la restauration (et donc mise à jour au dernier iOS) semblait la seule solution et j’aurais perdu mon jailbreak.

C’est là qu’entre en scène RAT (Remove All Tweaks), qui va en fait désinstaller complètement tous les tweaks, musiques, applications, paramètres de l’iPhone, presque comme neuf (presque, car certaines petites choses subsistent, à commencer par le jailbreak !).

ilex-rat

 

 

Pour faire cette opération, tout d’abord :

  • FAIRE UN BACKUP des photos, vidéos et autres données essentielles. On va effacer tout le contenu, vous êtes prévenus ! :)
  • Vous devez avoir un appareil jailbreaké sous iOS 6.1 au minimum. Exit donc les premiers iPad ou iPhone avant 3GS.
  • Ajouter la source suivante dans cydia :
    http://cydia.myrepospace.com/iLEXiNFO/
    restore-jailbroken-iphone
  • Ensuite, installer MobileTerminal (520-2) et R.A.T. qui se trouve dans la nouvelle source
  • Lancer MobileTerminal et tappez la commande : su puis appuyez sur Enter
  • Comme mot de passe, choisissez : alpine
  • Tappez la commande : rat

cydia-tweak-rat

 

Vous verrez plein d’options s’offrir à vous.
Celle que nous allons prendre est la 12. Ecrivez 12 puis Enter et confirmez avec y et Enter.

Plein de lignes vont défiler après une minute d’attente puis on vous demandera de redémarrer l’iPhone, confirmez et vous aurez un appareil tout neuf ! :)

Que faire ensuite ?

Vous pouvez réintroduire votre compte iCloud et faire une restauration (je déconseille sur un appareil jailbreaké) ou configurer comme un iPhone neuf.
Vous noterez que Cydia est toujours là ainsi que les sources que vous aviez rentrées. Plutôt pratique pour commencer à réinstaller des tweaks.
J’ai également constaté que les profils de configuration ne sont pas effacés, attention donc si vous prévoyez une revente de bien les effacer !

Help !!! Je n’ai plus de réseau !!

Ca m’est arrivé ! :( Mais je vous dévoile la solution ! ;)

Après avoir fait cette remise à neuf, impossible d’accrocher mon réseau Proximus. Des messages du genre « Carte sim non valable », « Aucune carte SIM » ont commencé à apparaître et ce malgré les redémarrages.

Si ça vous arrive, essayez cette méthode de dépannage jusqu’à retrouver du réseau.

  • Redémarrer l’iPhone. Parfois cela suffit
  • Si pas de réseau, enlevez et remettez votre SIM. Redémarrez.
  • Avec un autre GSM, désactivez votre code PIN s’il y en a un.
  • Réinitialisez les réglages réseaux dans les paramètres.
  • Enfin, la solution qui a fonctionné pour moi, insérez une autre carte SIM (pas forcément d’un opérateur différent) et laissez-là s’authentifier sur le réseau. Ensuite, réinsérer votre ancienne SIM

Et voilà !

Votre serviteur

[Tuto] Programmer un PIC18F46K22 avec un clône PicKit 2

2013-02-11 13.29.33

Bonsoir à tous,

Aujourd’hui un tutoriel un peu hors sujet par rapport au titre même du blog.
Dans le cadre de mon cours d’électronique, il nous est demandé de programmer un « pic » (micro-contrôleur) sur une carte électronique… Voici à quoi ça ressemble !

412176_2709548370232_214839662_o

Pas mal hein ?

Présentation des outils

Pour ce faire, on utilise un environnement de développement, MPLab, disponible sur le site web de MicroChip. Je préfère LARGEMENT utiliser la version X, qui utilise en fait Netbeans. De plus, il est multi-plateformes (Windows, Mac OS et Linux). De préférence, oubliez l’ancienne version qui est un vrai cauchemar à mettre en place (je n’exagère pas !)

Pour ce tuto, vous aurez besoin de :

  • MPLab X (cfr plus haut), accompagné d’un compilateur C18 3.45. La version XC8  pour Linux ou Mac OS fonctionne également, à part la librairie des delays.h que j’ai dû éditer manuellement (enlever un #IF et #IFEND EDIT : J’ai retrouvé la version 3.40 pour OSX, la voici !
    Si vous arrivez à faire fonctionner le PICkit 2 avec l’ancienne version de MPLab sans utiliser le logiciel de programmation externe, n’hésitez pas à me faire part de votre solution via les commentaires !
  • Service .Net de Microsoft. Faites donc bien vos mises à jour Windows avant de vous lancer.
  • PicKit 2 Programmer (disponible ici). Il faut d’abord extraire l’archive puis lancer le fichier Setup.exe et uniquement celui-là !
  • Ce fichier de configuration personnalisé (PK2DeviceFile.dat)

L’ennui, c’est que le PIC18F46K22 ne peut être programmé que via USB ou par port RJ11.

  • La première solution, via USB, est la plus facile. Elle ne requière qu’un simple câble et un petit logiciel (AN1310). Le grand désavantage, c’est que ce logiciel écrit dans la mémoire volatile. Autrement dit, à chaque fois que l’on enlève la source d’alimentation de la carte, le programme s’efface. :(
    Pas très efficace donc pour programmer à long terme, car vous devez toujours avoir un pc à disposition pour montrer un programme fonctionnel sur la carte.
  • La deuxième solution, via le RJ11 est plus complète. Elle va écrire dans une mémoire non volatile et réutilisable. Ainsi, le programme sera disponible même si la carte a été éteinte entre temps.
    Mais cette solution demande un composant externe, un programmateur/débogueur de Pic, que l’on trouve chez MPLab. Soit le kit ICD3, soit le PicKit 2.

Lire la suite

Mise hors ligne du site – Merci OVH !!

Bonjour à tous,

Certains d’entre vous l’auront sans doute remarqué, le site était hors ligne depuis début novembre.

error403

Que s’est-il passé ?

Et bien j’utilise le blog scratiphone comme moyen de communication mais j’utilise également l’espace disque comme stockage de fichiers personnels (quel plaisir d’envoyer des énormes fichiers de GoPro ou des photos à des amis, en un seul clic).

L’an dernier, j’avais réalisé un petit programme Java personnel pour m’aider à gérer un serveur Siri Proxy.
Je l’avais mis publiquement sur mon espace disque pour que tout le monde puisse le télécharger et connaître en un clin d’oeil le statut du serveur.

Seulement, une société de protection de l’internet (C-Sirt) a scanné ce fichier et l’a vu comme une potentielle menace de sécurité (étant donné qu’il se connectait directement à internet pour vérifier le serveur), il a été considéré comme cheval de Troie.

Une plainte a donc été déposée chez OVH (mon hébergeur) en mai 2012.

Le weekend dernier, j’étais en vacances à Barcelone, qui dit vacances dit peu de wifi et déconnexion web pour décompresser.

Pendant ce délai, OVH a traité la plainte et m’a envoyé un email stipulant que si je ne supprimait pas ce fichier dans les 24h mon site serait fermé.

N’ayant eu accès à internet que peu de fois sur le séjour, je l’ai vu bien trop tard et le site fut fermé !

Bonjour,

Nous avons bloqué l'accès Web pour votre hébergement
suite à la détection de fishing par C-sirt:

http://www.c-sirt.org/incident/?incident=273abcf7c36013961a619338f7874cf1

Fichier à supprimer: 
***********
Nous avons mis votre hébergement en chmod 000,vous devez
vous engager à corriger le problème et de faire le
nécessaire pour que ce genre de souci ne se reproduise
plus.

Si vous nous confirmez que vous allez faire les corrections
nécessaires,on peut le réouvrir en chmod 700.

Pas terrible !

Je confirme donc que je vais supprimer (non sans surprise) mon fichier personnel.
(Au passage, chaque question-réponse a un délai d’environ 12 heures !!)

Hier midi, on me confirme que mon hébergement a été rouvert. Ce n’était pas le cas, le site restait inaccessible ! Et c’est sans compter sur la consultante aussi agréable qu’une porte de prison(et les fautes de grammaire)

Bonjour,

L'hébergement vient d'être réouvert.

Merci de prendre les mesures nécessaires pour éviter ce
genre de problèmes à l'avenir.
Si cela se reproduit, votre hébergement risque d'être
bloqué définitivement.

Nous vous remerciant pour votre collaboration.

Re-belote, on renvoie un mail chez OVH, 12 heures plus tard le site est enfin sur pieds !

Résultat ? 6 jours d’absence du blog (qui carbure désormais à près de 300 visites par jour !), mes fichiers inaccessibles tout ça par un organisme tiers qui n’est pas fichu de détecter les faux positifs sur un fichier ni même d’entrer en contact directement avec moi ou de demander à OVH de le faire !!!

Conclusion, je pense de plus en plus à changer d’hébergeur. Bien que ce blog ne me coûte pas trop cher (30€ par an nom de domaine et 25 GB de disque inclus), je cherche une autre solution équivalente qui puisse me donner une liberté dans les droits des fichiers, liberté dans la base de données SQL et la taille de la BDD.

Je suis ouvert à tout autre hébergeur, si vous avez de l’expérience dans ce domaine, laissez votre avis dans les commentaires ou via le formulaire de contact.

C’était le coup de gueule du jour !! :D

Quand SiRi possède 2 voix..

Salut à tous !

Je suis de retour ;) Désolé pour le manque de news sur le blog mais les études étant ce qu’elles sont il m’est souvent impossible de mettre à jour de nouveaux billets. Ceci dit, vous êtes de plus en plus nombreux à venir me rendre visite et ça me fait chaud au coeur !

J’ai récemment fait l’acquisition d’un iPhone 4S en remplacement de mon 4. Très satisfait !

Cependant, il m’a semblé que SiRi, l’assistant vocal, ait deux voix différentes. Ce n’est pas très frappant au début, mais il y a clairement une différence.
J’ai d’abord cru à un bug suivant l’utilisation de Siri avec un ordinateur windows ou mac, comme c’était le cas avec la fonction VoiceOver avec certains iPod nano sans écran.

Mais finalement, j’ai réussi à constater la différence des voix en changeant simplement plusieurs fois la langue de Siri dans les réglages. Voici le résultat en vidéo (au passage, c’est mon premier montage sur iMovie :D )

Vous entendez ? La première est vaiment très à chi… hachée ! :p La deuxième est nettement plus fluide.

Pour les petits malins qui l’ont remarqué, oui c’est testé avec la fonction de lecture de texte présente sur iOS 5, donc ce n’est pas exactement Siri à proprement parler. Mais je confirme que ce sont les mêmes 2 voix qui donnent vie à notre cher assistant..

Alors pourquoi y-a-t-il existence de ces 2 voix ?

Ben tiens, on va demander à l’intéressé!

iOS 5 : Un petit tour des nouveautés

Et oui, nous sommes déjà fin septembre, et à moins de vivre dans un bunker vous devez être au courant de la sortie imminente de iOS 5, la grosse mise à jour pour iPhone/iPod/iPad. Je vous propose de faire un tour des nouveautés qui me sont les plus marquantes, façon scratiphone ;)   Suivez le guide en lisant la suite !

Lire la suite

C’est la rentrée !

Salut tout le monde ! :D

Voilà, les vacances sont finies et le moins que l’on puisse dire, c’est qu’elles ont été bien remplies ! ;)
Pour la petite histoire, je commence ma formation instructeur sur planeur et j’ai plutôt bien avancé !

Mais aujourd’hui reprennent les douces joies des études… Mais également la vie du blog qui lui aussi était en vacances ! ;)

Vous pouvez constater que j’ai mis une collecte de dons sur votre droite.
Pourquoi ?
Et bien mes études en informatiques me donnent beaucoup de fil à retordre, surtout sur mon petit netbook. Et j’aimerais beaucoup m’offrir un nouvel ordinateur portable, qui me permettrait de travailler plus efficacement et aussi de mettre plus souvent à jour le blog. Seulement, le minerval (frais d’entrée pour nos amis français) est assez élevé et je n’ai pas tous les moyens pour me le permettre :(

Bien sûr, cela doit être complètement volontaire de votre part. Pour vous donner une idée, si chaque visiteur avait donné 0,05€, ce nouvel ordinateur serait mien depuis longtemps :) Chaque don est important ! Que ce soit 1€, 5, 10, ou un simple clic sur le widget Merci !

Vous êtes plus de 26 000 visiteurs à avoir posé votre souris ici et j’en suis très fier et reconnaissant. En moyenne, les visites oscillent entre 50 et 100 par jour. C’est génial !!

L’article le plus populaire reste la correction du problème de vitesse sur Youtube, suivi de très près par Megavideo sur appareil jailbreaké. Le démontage de l’iPhone 4 a également beaucoup de vues !

Si vous aimez le blog, si vous avez envie de m’aider dans ma passion qu’est l’aviation et mes études en informatique, ou que vous aimez jouer avec Paypal, toute forme de soutien sera la bienvenue :) Je remercierai chacun personnellement !

Sur ce, je vous souhaite une bonne soirée et à bientôt pour de prochains articles innovants.. Car les tutoriels que vous trouverez ici sont uniques et écrits de ma plume selon mes expériences. Cela a toujours été la philosophie du blog.

François
Mon adresse paypal : gosmonaute@gmail.com