DEVELOPPEUR VB.NET, C#, JAVA, JAVA EE, PHP, HTML5


OUATTARA Ahamadou                           photo

BP Abidjan / Cote d’Ivoire

Tel: 06 87 99 01 / 09 89 70 69

 Mail : hamed103@hotmail.fr

24 ans / Celibataire sans enfants

Blog : http://www.technovdev.wordpress.com      

                                       DEVELOPPEUR  VB.NET, C#, JAVA, JAVA EE, PHP, HTML5

       Expériences Professionnelles

Octobre 2012: Stagiaire et Responsable technique à la DERYM IT; une entreprise Partenaire Education à Microsoft exerçant dans les TICEs.

►Chef Projet : Veiller à la conduite des projets de développement web.

►Analyse des besoins des clients pour la conception des cahiers de charges.

►Déploiement  et administration des produits Microsoft pour l’éducation.

2011:  Développeur Web et administrateurs du site suivant à l’OEECI:

www.oeeci.com : outil de communication, et de formation pour l’OEECI en PHP.

2012 : Développeur du site www.softexpertise.com : en PHP, HTML5/CSS, JS.

2012:  ProTracker: Une application Android pour les traçages et géo localisations.

Novembre 2012 : BiblioNum; Développement d’une Application en Java, pour la gestion numérique des bibliothèque.

2012: Jobs’Point: Une application Android proposant les offres d’emplois nationales et internationales de dernieres minutes.

DB_TEFP: Application de gestion scolaire, Adopté par le Ministère de l’enseignement Technique et de la formation professionnelle de la Côte d’Ivoire.

Développement d’un logiciel en Access 2010 pour la gestion intégrales des établissement de l’enseignement technique et de la Formation professionnelle.

Avril 2012: 3émé à la Finale Ivoirienne du plus grand Concours numérique organisé par Microsoft: IMAGINE CUP 2012.

►Développement d’une Plateforme web en Silverlight pour la gestion des coopératives agricoles afin d’accroitre leur rendement, et réduire la pauvreté et famine. www.imaginecup.com

8-10 Février 2013: Participation a la Formation Microsoft BootCamp.   

►Formation sur le développement Windows 8 et Windows Phone.

SGDS : Système de Gestion des Données Statistiques.   

►Une application développée en Access 2010 pour la collète des données statistique auprès des autres structure de le Cote d’Ivoire.

Compétences Informatiques

[LANGAGES   DE   PROGRAMMATION   ET   TECHNOLOGIES] C#, JAVA, C++, VB.NET PHP, HTML 5, JAVA EE, CSS 3 WEB SERVICES, VBA ANDROID, WINDOWS PHONE, WINDOWS 8 JAVASCRIPT, SQL, T-SQL sous SQL SERVER, ADO.NET, ETL

[BASES   DE   DONNEES] :Microsoft SQL Server 2008 et 2012, Microsoft Access MySQL, Postgree

[MODELISATIONS ET AGL]  :UML, Mérise, WinDesign7, Argo UML, Power AMC.

[LOGICIELS   DE   CONCEPTION] Microsoft Visual Studio, Eclipse, WampServer, Tomcat, Microsoft IIS 7, Glassfish, Win’ Design, Drupal, WordPress,  Adobe Photoshop

[CMS ] : Drupal, WordPress, Joomla, Spip

[SYSTEMES   D’EXPLOITATIONS] : Windows XP, Windows 7, Windows 8, LINUX.

Formations

2009 – 2012   : LICENCE  INFORMATIQUE  Á  L’UNIVERSITE  TERTIAIRE & TECHNOLOGIQUE LOKO.

2008 – 2009   : BACALAUREAT  C  AU LYCEE  MODERNE  DE TIASSALE.

Langues

►Français (Langue nationale)

►Anglais (moyen).

Loisirs

►L’Internet, Documentaires scientifiques, Sports.

COMMENT ESPACER L’EXECUTION DE DEUX BLOCS DE CODES EN VB.NET ?


Il arrive souvent qu’on soit amené à mettre un écart de temps entre l’exécution de deux instructions différentes. C’est là qu’intervient le contrôle Timer dont l’une de ses fonctionnalités nous permet de gérer les écarts de temps qu’on veut mettre entre deux blocs de codes. Son rôle ne s’arrête pas là, car ce contrôle peut nous permettre de créer une minuterie.

suivez ce article sur le blog suivant : www.basopro.wordpresscom

Le tuto est téléchrageable ici

COMMENT DEVELOPPER SON PROPRE DLL EN .NET ?


                                               1-Qu’est-ce qu’un fichier DLL ?

                                               2-Pour quelles utilités ?

                                               3-Développer une DLL

                                               4-Tester le fichier DLL

                                               5-Conseil de sécurité.

Vous trouvez fatiguant de répéter les mêmes actions dans différentes applications, voulez-vous avoir vos propres bibliothèques de classes pour les réutiliser ?
Alors suivez ce tuto avec plaisir car c’est le remède à ces routines.

1-Qu’est-ce qu’un fichier DLL ?

Une DLL (Dynamic Link Library en français, Bibliothèque de liens dynamiques) est un ensemble de routine (action répétitive) extraite d’un programme  pour être partagé à ou réutilisé dans d’autres programmes. Ce sont des fichiers très utiles en Programmation Orienté Objet.

2- Pour quelles utilités ?

Comme je viens de le mentionner, les fichiers DLL sont des fichiers contenants des extraits de codes réutilisables par d’autres applications
 (Notre cas concerne des applications .NET)
Imaginez- vous qu’un développeur constate qu’une fonctionnalité  X  est répétée dans presque toutes les applications qu’il développe ; faut-il toujours répéter ces mêmes actions pour perdre du temps ? NON !
Pour jouir de la POO, Il faut appliquer la notion de Réutilisabilité des bouts de codes. C’est donc là qu’intervient les fichiers DLL pour éviter de répéter les mêmes bouts de codes dans nos différentes applications. Une fois cette même action existe dans une DLL, on serra plus obligé de faire de la routine, mais plutôt réutiliser notre DLL, et c’est gagné !

3-Développer Une DLL.

Sachez donc qu’il s’agit de coder avec des classes bien sûr,  un extrait de code dans une bibliothèque de classe.  Et comme exemple, il faut dire qu’on peut développer des DLL pour  gérer plus rapidement des connexions aux bases de données, des traitements métiers qui reviennent fréquemment, des calculs mathématiques, …
Et mieux ! Ces DLL peuvent être utilisées dans tous les langages .NET  (C#, VB.NET,…) car celle-ci sont convertie en langages CLI lors de sa Génération par Visual Studio.
Trop de discours, passons maintenant à l’acte !
Nous allons développer une DLL qui nous permet de trouver le Maximum de deux nombres.
Insignifiant, oui. Mais l’objectif est de montrer comment réaliser ces propres DLL, nous n’allons donc pas nous attarder à développer une classa de 1000 lignes.
Avec Microsoft Visual Studio (j’utilise la version 2010, mais la version 2008 peut également réaliser cette recette), créez un projet de Bibliothèque de Classe dénommé TechNovMaxi:
      
Renommer la classe par défaut de Visual Studio par ce nom : Maxi.
Dans cette classe, saisissons les propriétés, le constructeur et la méthode suivante:
using System;
using System.Collections.Generic;
 using System.Linq;
 using System.Text;
namespace TechNovMaxi
 {
     public class Maxi
     {
        // Les propriétés
          public int NombreA { get; set; }
          public int NombreB { get; set; }

       // le constructeur
      public Maxi( int nombreA, int nombreB)
      {
        NombreA = nombreA;
        NombreB = nombreB;
      }

      /Methode de recherche du maxi
      public int Comparaison()
      {
      int Maxi = (NombreA > NombreB) ? NombreA : NombreB;
      return Maxi;
      }
    }
 }
Une astuce : Pour gagner du temps  au niveau des propriétés, il suffit de taper ce mot clé « pror » et appuyez deux fois sur la touche Tabulation et Visual Studio génère un prototype de propriétés que vous devez modifier à souhait.
public int MyProperty { get; set; }
Modifier donc MyPropriety, et même la portée si vous voulez.
Et voilà notre classe d’exemple aussi petite que ça !
Il faut maintenant générer le projet pour ainsi obtenir notre fameux fichier DLL : Un clic droit sur le projet, sélectionner  Générer. Pour retrouver ce fichier rendez-vous dans le répertoire  suivant de votre projet TechNovMaxi\bin\Debug et si le projet a bien été généré, vous verrez un fichier DLL portant le nom du projet :

4-Tester le fichier DLL.

Pour montrer l’une des puissances des fichiers DLL, nous allons tester celui qu’on vient de créer dans un projet VB.NET sachant qu’il a été développé en C#.
Créons  donc un projet VB (WinForm ou WPF) denommé  TestTechNovMaxiDLL.
Comme notre DLL nous permet que de donner le Maximum (le plus grand) de deux nombres, pour cela, nous allons créer une interface qui permet à l’utilisateur de rentrer deux nombres puis valider pour avoir un résultat.
Voici donc une interface exemplaire en WPF :
Saisissons ce bout de code pour instancier notre classe logé dans la DLL. Mais avant cela, veillez référencer le fichier. Pour cela, faites un clic droit sur le projet et sélectionnez « ajouter une référence… ».Dans la boite de dialogue que s’ouvre, cliquez sur l’onglet « Parcourir»,  localisez le fichier et cliquez sur OK pour l’importer  dans la lites des assembley du projet.
N’oublié pas d’importer l’assembley au début de programme :
Imports TechNovMaxi ' importation de la DLL

voici le programme complet :

Imports TechNovMaxi ' importation de la DLL
Class MainWindow
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
 Dim NombreA As Integer = CInt(TextBox1.Text) ' recuper la valeur saisie dans TextBox1
 Dim NombreB As Integer = CInt(TextBox2.Text) 'recuper la valeur saisie dans TextBox2
 Dim Compare As Integer ' recuperer le resultat de la compâraison.
Dim resultat As New Maxi(NombreA, NombreB) ' instanciation ce la classe Maxi
 Compare = resultat.Comparaison() 'appel de la methode "Comparaison" de cette meme classe pour effectuer la comparaison
 TextBlock1.Text = "le Maxi des deux nombres est : " & CStr(Compare) ' affichage du resultat
End Sub
End Class
Les commentaires expliquent clairement la démarche, passons donc à l’exécution :
Et voilà ! Notre DLL marche comme prévu, Génial non ?
Vous pouvez vous amuser à développer d’autre DLL bien utile pour vous ou pour bon nombre de développeurs.
  Comme ajout à cette partie, je vous propose un excellent outil développé par Gilles Tourreau pour visualiser intégralement le contenu d’une  DLL (d’autres le font pour bien assimiler la démarche empruntée par l’auteur afin de mieux l’utiliser et d’autres pour chercher des éventuelles failles dans vos fichiers DLL).
Cet outil est disponible est disponible ici

5-Conseil de sécurité.

Une chose est de pouvoir réduire ces routines via le développement des DLL, mais imaginez-vous que vous devez développer une DLL pour crypter les mots de passes dans une entreprise, sans camoufler les code, pensez-vous que cela sera une solution sécurisée ?  NON !
Il y a aujourd’hui la rétro ingénierie (Reverse Engineering) dont les mal intentionnés peuvent s’en servir pour découvrir ce que vous cachez comme secret. Cela est possible avec le CCI Explorer de Gilles Tourreau,  et NetReflector. Ces outils désassemblent les dll compilés.
       Une solution est de penser à cacher ou rendre illisible votre code avec Microsoft Visual Studio Professionnal Edition qui a en son sein un outil d’obfuscation (DotFuscator) en version communautaire (« Community Edition« ). Grace à cet outil, vos code source secret son difficile à déchiffré par les opportunistes, mais pas d’ambigüité au niveau de la compilation.
Comme illustration, je vous propose un code d’une DLL non obfusqué, désassemblé par NetReflector, ensuite ce même code obfusqué par DotFuscator et désassemblé par le même NetReflector.
Analysé par NetReflector sans obfuscation.
 
Voici ce même code analysé par NetReflector mais Obfusqué par DotFuscator.
Même si ce n’est pas une protection fiable à 100% (Community Edition étant une édition gratuite, certaines méthodes pour renforcer l’obfuscation ne sont pas présentes), cela peut servir à protéger votre code contre certains programmeurs un peu trop curieux.
N’hésitez pas à vous renseigner sur ces différents outils pour avoir plus d’amples d’informations.
                                                                                                            le code source est téléchargeable ici 
Ainsi prend fin ce petit tuto!
Vos commentaires et remarques sont importantes pour l’amélioration de ce tuto!