Category Archives: Programmation

[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.

[.Net] Créer et utiliser des plugins dans une application DotNet

dotnet plugins

Aujourd’hui j’ai développé un système de gestion de plugins en DotNet.

En effet, plus je développe et plus je m’aperçois que j’ai souvent le même besoin: pouvoir importer des assembly à un moment précis et permettre à mes collaborateurs de développer leur propres extensions et de les utiliser quand ils le souhaitent.

J’ai donc effectué pas mal de recherche sur le chargement dynamique des assembly et des bibliothèques de fonctionnalités et très vite je suis tombé sur des demandes de tierses personnes qui souhaitaient mettre en place un système de plugins en C# ou VB.Net.

Imaginez une application dans laquelle vous offrez la possibilité à ses utilisateurs d’étendre facilement les fonctionnalités. Que du bonheur!

Nous allons voir comment mettre en place la création et le chargement des plugins au sein de votre application DotNet.

[.Net] Creation d’un disque virtuel

virtual drive

Aujourd’hui je vais vous partager un exemple de code trouvé en fouinant sur le net qui permet de créer un disque virtuel.

Les disques virtuels permettent tout simplement d’émuler un lecteur disque en spécifiant un chemin vers lequel il pointera, ce qui peut simplifier les recherches et les développement.

Les virtual drive permettent donc de faire rediriger une lettre d’accès vers un répertoire physique.

Il nous sera ainsi possible de faire pointer le répertoire “C:\Windows” vers “Z:\”.

Installer un GIT sur un hébergement mutualisé 1And1

Serveur Git

Tout le monde connait l’importance d’effectuer régulièrement des sauvegardes.

Lorsque l’on travaille seul sur un projet, on peut se passer d’outils spécifiques dédiés au versioning et à la sauvegarde, en effectuant régulièrement des backups manuels (vive 7zip :p).

C’est une autre histoire lorsqu’on travaille à plusieurs sur le même projet: plusieurs personnes doivent pouvoir accéder et travailler sur les même ressources simultanément.

Heureusement des outils tels que GIT permettent de versionner et d’assurer le suivi d’un projet collaboratif.

Il existe de nombreuses plateformes vous proposant d’utiliser leur propre plateforme d’intégration continue (GIT illustre parfaitement une plateforme de type Continuous Integration). Mais ces plateformes sont souvent payantes et imposent un certain nombre de contraintes.

C’est pourquoi il peut être intéressant de monter son propre serveur GIT afin de ne pas avoir de restrictions et de réduire les coûts.

Nous allons voir comment installé un serveur GIT sur un hébergement mutualisé.

[JAVA] Centrer une pub Admob en bas d’une application Android

android

En ce moment je bosse pas mal sur ma reconversion dans le milieu du développement mobile.

Aucun problème pour développer des applications sous Windows Phone, par contre sous Android j’ai eu un peu plus de mal à me remettre dans la mise en forme utilisée par les applications Android.

Voici donc un petit truc tout simple mais qui m’a demandé pas mal de temps: comment afficher une publicité Admob en bas d’une fenêtre.