Category Archives: Programmation

[NodeJS] Créer un proxy privé en 2 minutes

private proxy

Depuis quelques temps je traîne sur les forums SEO et Webmarketing anglais et français. Une question revient sans cesse: où se procurer de bons proxies privés pour pas cher.

J’ai donc décidé de répondre à cette question en essayant plusieurs fournisseurs de private proxies. Très rapidement je me suis rendu compte que les proxies soit disant privés, c’est à dire exclusivement réservé à leur acheteur, ne le sont pas du tout. Plutôt dommage pour un service facturé entre 1 et 4€ par proxy !

Alors comment faire lorsque les proxies publiques ne conviennent pas pour faire du SEO Google.

Utilisateur de Scrapebox, SEnuke, ZennoPoster et GSA, il me faut absolument de bons proxies qui répondent et qui sont rapides. Pour une utilisation normale de Scrapebox, il me faut au minimum 30 proxies, alors que pour référencer mes sites j’utilise au moins 30 proxies dans GSA.

Et j’ai trouvé la solution parfaite: lancer mes propres serveurs proxies privés sur des VPS !

Les sites de jeux en ligne sont-ils sécurisés ?

casino securisé

Les sites de jeux en ligne sont parmi les sites les plus fréquentés car ils répondent à plusieurs besoins des internautes: se détendre, gagner de l’argent facilement, …

Mais ces sites de jeux en ligne sont-ils fiables et sécurisés ? Vous permettent-ils de parier et de jouer en toute sécurité, sans avoir peur de vous faire voler vos coordonnées bancaires ou bien vos comptes ?

Faut-il céder à la tentation du gambling et autres jeux de casino sans pour autant devenir une victime de la cybercriminalité ?

Déboguer PhantomJS: Page Load Fails

phantomjs

PhantomJS est un super outil pour automatiser des tâches et pour faire du test de sites.

Je l’utilise quotidiennement pour analyser le contenu de mes pages et pour réaliser des captures d’écran de sites web.

Simple d’utilisation, vous pouvez coder vos propres scripts JavaScript afin d’automatiser des opérations avec PhantomJS.

PhantomJS propose la commande page.open() qui permet d’émuler un navigateur (browser) qui visiterait une page web.

Malheureusement l’api de PhantomJS ne permet pas de déterminer la raison d’un échec de chargement d’une page.

Les callbacks de PhantomJS vous nous permettre de déboguer et diagnostiquer une erreur de type “Page Load Fails” qui se produit après l’utilisation de la fonction page.open().

Requête HTTP POST avec encodage Gzip en NodeJS

nodejs gzip

Les modules http et https de NodeJS permettent d’effectuer facilement de nombreuses opérations liées au protocol HTTP et HTTPS: GET, POST, PUT, DELETE, …

Il est donc possible de poster des données en HTTP POST afin de remplir un formulaire HTML ou bien pour envoyer des informations à un serveur Web.

Mais lorsque l’on souhaite envoyer des données en grande quantité, il est utile de les gzipper.

Créer un serveur HTTPS avec NodeJS et Express

nodejs

NodeJS est la grande tendance actuelle et de nombreux projets émergents se basent dessus.

Express, module HTTP de NodeJS, permet de réaliser rapidement un serveur HTTP dans votre application NodeJS.

Il existe de nombreux tutoriaux sur le net permettant d’instancier un serveur Web en quelques lignes de code en utilisant Express.

Mais la réalisation de plusieurs applications pour mes clients a fait émerger un besoin récurrent: créer un serveur HTTPS en NodeJS (HTTP over SSL/TLS).

En effet, le HTTPS permet de crypter les données qui transitent entre les clients et le serveur, ce qui permet de sécuriser un minimum les transactions, qui ne transistent plus en clair sur le réseau.

Nous allons donc voir comment créer un serveur HTTPS en NodeJS avec le module Express.

ZeM STL Viewer: plugin WordPress pour visionner les STL dans votre blog

Il existe de nombreux plugins permettant d’afficher des fichiers STL dans son blog WordPress mais aucun ne se base sur la bibliothèque Thingiview.js qui est probablement la meilleure librairie de rendu de fichier 3D STL.

J’ai donc décidé de développer mon propre plugin WordPress afin de pouvoir insérer dans ZeM.fr des modélisations 3D de divers objets que j’ai conçu.

Après avoir testé plus d’une dizaine de plugins tous plus compliqués les un que les autres, je me suis donc mis à la recherche de documentation sur le rendu STL et je peux d’ores et déjà vous dire que je considère le plugin WordPress ZeM STL Viewer comme le meilleur plugin pour afficher une modélisation 3D dans un article ou une page de votre blog.

Simple à installer (directement via le repository de WordPress), ZeM STL Viewer pour WordPress se base sur une librairie rapide et mise à jour régulièrement.

PhpMyAdmin BruteForce

phpmyadmin

Aujourd’hui je vous propose un petit software que j’ai développé en 15 minutes et qui permet de bruteforcer un PhpMyAdmin.

L’objectif est donc de trouver le mot de passe d’un compte PhpMyAdmin est essayant de s’identifier avec plusieurs milliers de passwords.

IMPORTANT, sachez que je ne pourrais être tenu pour responsable de l’utilisation que vous ferez du logiciel PhpMyAdmin BruteForcer et que je l’ai développé dans un but pédagogique uniquement.

[ANDROID] Créer le raccourci de votre application Android sur le bureau

Android

Aujourd’hui je vous propose un petit snippet pour créer un raccourci de votre application Android sur le bureau de votre tablette ou votre smartphone.

Le code n’est pas très compliqué mais il est pratique.

Il n’est possible de créer qu’un seul shortcut Android par application.

//Fontion qui crée un shortcut sur la home
    private final void createShortcut(){
        // Get preference value to know that is it first time application is
        // being called.
        appPref = getSharedPreferences("isFirstTime", 0);
        isFirstTime = appPref.getBoolean("isFirstTime", true);
 
        if (isFirstTime) {
            // Create explicit intent which will be used to call Our application
            // when some one clicked on short cut
            Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
            shortcutIntent.setAction(Intent.ACTION_MAIN);
            Intent intent = new Intent();
 
            // Create Implicit intent and assign Shortcut Application Name, Icon
            intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
            intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, AppConsts.SHORTCUT_TITLE);
            intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
            intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
            getApplicationContext().sendBroadcast(intent);
 
            // Set preference to inform that we have created shortcut on Homescreen
            SharedPreferences.Editor editor = appPref.edit();
            editor.putBoolean("isFirstTime", false);
            editor.commit();
 
        }
    }

Générer un certificat SSL autosigné avec OpenSSL

openssl

Aujourd’hui j’ai été amené à générer plusieurs certificats SSL autosignés.

Un certificat SSL permet d’utiliser un serveur HTTPS ou bien FTPS en mode sécurisé, ce qui assure le cryptage des données qui transite, limitant ainsi le risque de piratage ou de leak de data.

Il existe un certain nombre de sociétés qui vendent des certificats SSL vérifiés par des organismes de sécurité, mais ces certificats ne sont pas forcément bon marché.

Ils sont indispensables en production afin d’assurer la sécurité d’un serveur, mais en développement on peut se permettre de générer nous même des certificats SSL.

Ces certificats sont appelés “Certificat SSL autosigné” et il ne doivent servir qu’en développement et en test MAIS JAMAIS EN PRODUCTION.

Nous allons voir qu’il est facile de générer un certificat SSL autosigné avec OpenSSL.

[DotNet] Vérifier la disponibilité d’un port en écoute

dotnet microsoft

Nous vivons dans un monde surconnecté, c’est pourquoi la plupart des applications utilisent une architecture Client / Serveur afin de communiquer et transmettre des données.

Lorsqu’on développe une application Serveur qui va se mettre en écoute sur un ou plusieurs ports il est primordial de vérifier leur disponibilité.

En effet, sur une même machine il est impossible de mettre 2 applications en écoute sur le même port.

Voici la solution que j’utilise pour effectuer cette vérification de port listener.