Category Archives: Programmation

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.

[DotNet] Remplacer les caractères accentués et les caractères non imprimables

dotnet special character

La langue française est merveilleuse mais les caractères accentués peuvent vite devenir pénalisant dans le développement d’une application.

En effet, certains logiciels ne supportent pas ou mal l’encodage UTF8, et par conséquent les caractères spéciaux peuvent être mal interprétés.

Je vous propose donc une fonction DotNet qui remplacera les caractères accentués par le caractère équivalent non accentué.

[DotNet] Détecter la fermeture d’une application Console

dotnet microsoft

Aujourd’hui un collègue m’a posé une colle: comment détecter et catcher la fermeture d’une application DotNet de type Console Application.

Pour une application WinForm ou WPF, pas de souci on a les application events mais malheureusement cela n’existe pas pour une application Console.

Mais heureusement il est possible de détecter la fermeture d’une application Console, qu’elle intervienne après un CTRL-C ou après un clic sur la croix de fermeture Windows.

Après quelques recherches sur Google, on a réussi à trouver une solution simple: utiliser les InteropServices et la dll système Kernel32.

Utiliser les REST API JSON avec cURL

cURL with REST JSON

De plus en plus de sites vous permettent d’utiliser des API pour mettre à jour des valeurs ou bien pour ajouter de nouvelles fonctionnalités.

L’utilisation de ces API est intéressante car elle permet de développer toutes sortes d’applications (mobile, tablette, desktop) pour interagir avec un site qui ne vous appartient pas et sur lequel vous n’avez pas full Control.

Le protocole le plus fréquemment utilisé est REST, qui est basé sur un échange de données et de requêtage au format JSON.

Le REST est simple à comprendre car il ne dispose que de 4 commandes: GET, POST, PUT et DELETE.

Utiliser les fonctions Mouse et Keyboard AZERTY d’un Arduino Pro Micro

arduino leonardo

Comme nous l’avons vu dans un précédent article, l’Arduino Pro Micro est équipé d’un ATMega32U4 qui lui permet ainsi d’être reconnu comme un périphérique USB.

Cela signifie donc que vous pouvez utiliser un Arduino Pro Micro pour simuler des touches clavier ou un déplacement de souris.

Dans cet article nous allons voir comment utiliser la fonction Keyboard d’un microcontrôleur Arduino Pro Micro.

Enfin nous verrons une carte microcontrôleur prometteuse qui permet d’utiliser les fonctionnalités liées au clavier et à la souris: la Teensy.

[.Net] Ajouter un Serveur Web dans une application DotNet

dotnet web server

De nombreuses applications intègrent directement un serveur Web afin de fournir à leur utilisateur une interface accessible sur pc, sur mobile et sur tablette.

Du coup, à force de voir mes clients me demander des applications accessibles sur Internet sans avoir à installer un apache, IIS, ou autre lamp, je me suis décidé à intégrer un serveur Web directement dans mes logiciels DotNet.

Par chance, il existe de nombreux exemples sur le Net permettant d’embarquer rapidement un web serveur dans une application.

Après consultation de la MSDN, il s’avère que la création d’un serveur web est un jeu d’enfant en utilisant le composant HTTPListener.

Voici donc une petite classe toute simple qui vous permettra d’insérer un serveur web dans vos applications C# ou VB.net.