Accueil > > > CRYPTAGE/DECRYPTAGE DE FICHIER AVEC AES
CRYPTAGE/DECRYPTAGE DE FICHIER AVEC AES
Information sur la source
Description
Je cherchais en ce moment, pour un projet, à faire du cryptage et décryptage de fichier. Je voulais utiliser AES pour cela, et après beaucoup de recherche j ai trouvé de tout sauf une source qui implémentait AES en vb.Net. J'ai utilisé pour cela AesCryptoServiceProvider() Le programme comprend un exemple simple avec une classe pour la cryptographie, contenant des méthodes de cryptage et décryptage de fichier et de texte a la volée. Il y a également une méthode permettant de generer les clés de AesCryptoServiceProvider via une clé texte "Simple".
Source
- Imports System.IO
- Imports System.Text
- Imports System.Security
- Imports System.Security.Cryptography
- Imports System.Runtime.Serialization.Formatters
-
- ' ------------------------------------------------------------------
- ' Classe de cryptage et decryptage avec AES
- ' Ecrit par LEVEUGLE Damien
- ' Elguevel software (c) 2008
- ' http://elguevel.free.fr
- ' ------------------------------------------------------------------
-
- Public Class ElgAESCrypt
-
- #Region "Attributs"
-
- Private _UserKey As String ' Cle entrée parl'utilisateur (en toute lettre)
- Private _SecretKey(15) As Byte ' Cle secrete sur 128 bits generer par la fonction "GenereCle"
- Private _SecretIV(15) As Byte ' Vecteur d'initialisation sur 128 bits generer par par la fonction "GenereCle"
-
- #End Region
-
- #Region "Proprietés"
-
- ''' <summary>
- ''' Cle secrete generée par la fonction <c>GenereCle</c>
- ''' </summary>
- ''' <returns>Renvoi un tableau de Byte du vecteur</returns>
- ''' <remarks>Non utilisé ici, mais permet à l'utilisateur de pouvoir la récupérer si besoin</remarks>
- Public Property Key() As Byte()
- Get
- Return _SecretKey
- End Get
- Set(ByVal value As Byte())
- _SecretKey = value
- End Set
- End Property
-
- ''' <summary>
- ''' Vecteur d'initialisation generé par la fonction <c>GenereCle</c>
- ''' </summary>
- ''' <returns>Renvoi un tableau de Byte de la cle</returns>
- ''' <remarks>Non utilisé ici, mais permet à l'utilisateur de pouvoir la récupérer si besoin</remarks>
- Public Property IV() As Byte()
- Get
- Return _SecretIV
- End Get
- Set(ByVal value As Byte())
- _SecretIV = value
- End Set
- End Property
-
- #End Region
-
- #Region "Methodes"
-
- ''' <summary>
- ''' La methode créée un hashage SHA de la cle entrée par l'utilisateur et recupère les 15 premier byte
- ''' et les entre ensuite comme cle (Key) et vecteur d'initialisation (IV), ce qui augmente encore la
- ''' sécurité du cryptage d'un cran, et facilite l'uilisation de la classe de cryptage (1 seule cle).
- ''' </summary>
- ''' <param name="strKey">Cle entrée par l'utilisateur</param>
- ''' <returns>Information permettant de savoir si la procedure a fonctionné</returns>
- ''' <remarks></remarks>
- Private Function GenereCle(ByVal strKey As String) As Boolean
-
- Dim Resultat As Boolean = False
-
- Try
-
- ' Conversion de la clé utilisateur en tableau de byte
- Dim ByteKey(strKey.Length - 1) As Byte
- Dim aEnc As New UTF8Encoding
- aEnc.GetBytes(strKey, 0, strKey.Length, ByteKey, 0)
-
- 'Hashage de la clé en utilisant SHA1
- Dim ServiceSHA As New SHA1CryptoServiceProvider
- Dim Hashage() As Byte = ServiceSHA.ComputeHash(ByteKey)
-
- ' Creation de la clé pour la valeur "Key" en prenant les 16 premier
- ' caractere du hashage
- For I As Integer = 0 To 15
- _SecretKey(I) = Hashage(I)
- Next I
-
- ' Creation de la clé pour la valeur "IV" en prenant les 16 premier
- ' caractere du hashage, mais en les plaçant dans le sens inverse
- For j As Integer = 15 To 0 Step -1
- _SecretIV(15 - j) = Hashage(j)
- Next
-
- Resultat = True
-
- Catch e As Exception
- Resultat = False
-
- End Try
-
- Return Resultat
-
- End Function
-
-
- ''' <summary>
- ''' Encrypte un fichier dans un autre
- ''' </summary>
- ''' <param name="sInputFilename">Fichier non crypter</param>
- ''' <param name="sOutputFilename">Fichier crypter</param>
- ''' <remarks></remarks>
- Public Sub EncrypterFichier(ByVal sInputFilename As String, ByVal sOutputFilename As String)
-
- If Not (File.Exists(sInputFilename)) Then
- Throw New Exception("Vous devez specifier un fichier d'entrée existant !")
- End If
-
- Dim AES As New AesCryptoServiceProvider()
- Dim AesDecrypt As ICryptoTransform = AES.CreateEncryptor(_SecretKey, _SecretIV)
-
- Using fsInput As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read, FileShare.Read)
-
- ' Flux d'entree
- Using fsOutput As New FileStream(sOutputFilename, FileMode.Create, FileAccess.Write, FileShare.None)
-
- ' Flux de transformation qu'on rattache au flux de sortie
- Using cryptostream As New CryptoStream(fsOutput, AesDecrypt, CryptoStreamMode.Write)
-
- ' Ecrit flux d'entre dans un tableau d'octet
- Dim bytearrayinput(fsInput.Length - 1) As Byte
- Dim bytesRead As Long = 0
-
- bytesRead = fsInput.Read(bytearrayinput, 0, fsInput.Length)
-
- If Not (bytesRead = 0) Then
- ' Crypte tableau d'octet en ecrivant sur le flux de transformation (sortie)
- cryptostream.Write(bytearrayinput, 0, bytesRead)
- cryptostream.Flush()
- End If
-
- End Using
-
- End Using
-
- End Using
-
- End Sub
-
-
- ''' <summary>
- ''' Decrypte un fichier crypté dans un autre
- ''' </summary>
- ''' <param name="sInputFilename">Fichier crypté</param>
- ''' <param name="sOutputFilename">Fichier non crypté</param>
- ''' <remarks></remarks>
- Public Sub DecrypterFichier(ByVal sInputFilename As String, ByVal sOutputFilename As String)
-
- If Not (File.Exists(sInputFilename)) Then
- Throw New Exception("Vous devez specifier un fichier d'entrée existant !")
- End If
-
- Dim AES As New AesCryptoServiceProvider()
- Dim AesDecrypt As ICryptoTransform = AES.CreateDecryptor(_SecretKey, _SecretIV)
-
- Using fsread As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read, FileShare.Read)
-
- Using cryptostreamDecr As New CryptoStream(fsread, AesDecrypt, CryptoStreamMode.Read)
-
- Using fsDecrypted As New FileStream(sOutputFilename, FileMode.Create, FileAccess.Write, FileShare.None)
-
- Dim bytearrayinput(fsread.Length) As Byte
- Dim bytesRead As Long = 0
-
- bytesRead = cryptostreamDecr.Read(bytearrayinput, 0, fsread.Length)
-
- If (bytesRead > 0) Then
- fsDecrypted.Write(bytearrayinput, 0, bytesRead)
- fsDecrypted.Flush()
- End If
-
- End Using
-
- End Using
-
- End Using
-
- End Sub
-
-
- ''' <summary>
- ''' Encrypte une chaine de texte
- ''' </summary>
- ''' <param name="Chaine">Chaine en clair</param>
- ''' <returns>Chaine cryptée</returns>
- ''' <remarks></remarks>
- Public Function EncrypterChaine(ByVal Chaine As String) As String
-
- ' Objets AES
- Dim AES As New AesCryptoServiceProvider()
- Dim AesDecrypt As ICryptoTransform = AES.CreateEncryptor(_SecretKey, _SecretIV)
-
- ' Buffer de stockages
- Dim BufferEntree() As Byte
-
- ' Chaine tampon pour stocker resultat final
- Dim ChaineSortie As String = String.Empty
-
- ' On place la chaine en claire dans le buffer d'entrée
- BufferEntree = Encoding.ASCII.GetBytes(Chaine.ToCharArray)
-
- ' Flux de travail
- Dim msSortie As New MemoryStream()
-
- ' Flux de transformation (lié au flux msInput)
- Dim cryptostream As New CryptoStream(msSortie, AesDecrypt, CryptoStreamMode.Write)
-
- ' On ecrit la chaine (en claire) du buffer d'entrée dans le flux de sortie (qui sera transformé au passage)
- cryptostream.Write(BufferEntree, 0, BufferEntree.Length)
- cryptostream.FlushFinalBlock()
-
- ' On stocke resultat avant de fermer les flux
- ChaineSortie = Convert.ToBase64String(msSortie.ToArray)
-
- ' On ferme les flux
- msSortie.Close()
- cryptostream.Close()
-
- Return ChaineSortie
-
- End Function
-
-
- ''' <summary>
- ''' Decrypte une chaine de texte
- ''' </summary>
- ''' <param name="ChaineCrypte">Chaine cryptée</param>
- ''' <returns>Chaine décryptée</returns>
- ''' <remarks></remarks>
- Public Function DecrypterChaine(ByVal ChaineCrypte As String) As String
-
- ' Objets AES
- Dim AES As New AesCryptoServiceProvider()
- Dim AesDecrypt As ICryptoTransform = AES.CreateDecryptor(_SecretKey, _SecretIV)
-
- ' Buffers de stockage
- Dim BufferEntree() As Byte ' Buffer contenant la chaine d'entrée
- Dim BufferSortie() As Byte ' Buffer contenant la chaine de sortie
-
- ' On convertie la chaine crypter pour la placer dans le buffer
- BufferEntree = Convert.FromBase64String(ChaineCrypte)
-
- ' On dimenssione le buffer de sortie
- ReDim BufferSortie(BufferEntree.Length)
-
- ' Flux d'entree qu'on rattache au buffer d'entrée
- Dim msInput As New MemoryStream(BufferEntree)
-
- ' Flux de transformation qu'on rattache au flux d'entrée
- Dim cryptostream As New CryptoStream(msInput, AesDecrypt, CryptoStreamMode.Read)
-
- ' On ecrit le resultat decrypté dans le buffer de sortie
- cryptostream.Read(BufferSortie, 0, BufferSortie.Length)
-
- ' On ferme les flux
- msInput.Close()
- cryptostream.Close()
-
- ' Retourne la chaine resultante
- Return Encoding.ASCII.GetString(BufferSortie)
-
- End Function
-
- #End Region
-
- #Region "Constructeur"
-
- ''' <summary>
- ''' Constructeur par defaut
- ''' </summary>
- ''' <param name="Cle">Cle entrée par l'utilisateur</param>
- ''' <remarks>Les cles sont calculés en fonction du parametre cle</remarks>
- Public Sub New(ByVal Cle As String)
-
- _UserKey = Cle
-
- If Not (GenereCle(Cle)) Then
- Throw New Exception("Erreur à la creation de la cle")
- End If
-
- End Sub
-
- #End Region
-
- End Class
Imports System.IO
Imports System.Text
Imports System.Security
Imports System.Security.Cryptography
Imports System.Runtime.Serialization.Formatters
' ------------------------------------------------------------------
' Classe de cryptage et decryptage avec AES
' Ecrit par LEVEUGLE Damien
' Elguevel software (c) 2008
' http://elguevel.free.fr
' ------------------------------------------------------------------
Public Class ElgAESCrypt
#Region "Attributs"
Private _UserKey As String ' Cle entrée parl'utilisateur (en toute lettre)
Private _SecretKey(15) As Byte ' Cle secrete sur 128 bits generer par la fonction "GenereCle"
Private _SecretIV(15) As Byte ' Vecteur d'initialisation sur 128 bits generer par par la fonction "GenereCle"
#End Region
#Region "Proprietés"
''' <summary>
''' Cle secrete generée par la fonction <c>GenereCle</c>
''' </summary>
''' <returns>Renvoi un tableau de Byte du vecteur</returns>
''' <remarks>Non utilisé ici, mais permet à l'utilisateur de pouvoir la récupérer si besoin</remarks>
Public Property Key() As Byte()
Get
Return _SecretKey
End Get
Set(ByVal value As Byte())
_SecretKey = value
End Set
End Property
''' <summary>
''' Vecteur d'initialisation generé par la fonction <c>GenereCle</c>
''' </summary>
''' <returns>Renvoi un tableau de Byte de la cle</returns>
''' <remarks>Non utilisé ici, mais permet à l'utilisateur de pouvoir la récupérer si besoin</remarks>
Public Property IV() As Byte()
Get
Return _SecretIV
End Get
Set(ByVal value As Byte())
_SecretIV = value
End Set
End Property
#End Region
#Region "Methodes"
''' <summary>
''' La methode créée un hashage SHA de la cle entrée par l'utilisateur et recupère les 15 premier byte
''' et les entre ensuite comme cle (Key) et vecteur d'initialisation (IV), ce qui augmente encore la
''' sécurité du cryptage d'un cran, et facilite l'uilisation de la classe de cryptage (1 seule cle).
''' </summary>
''' <param name="strKey">Cle entrée par l'utilisateur</param>
''' <returns>Information permettant de savoir si la procedure a fonctionné</returns>
''' <remarks></remarks>
Private Function GenereCle(ByVal strKey As String) As Boolean
Dim Resultat As Boolean = False
Try
' Conversion de la clé utilisateur en tableau de byte
Dim ByteKey(strKey.Length - 1) As Byte
Dim aEnc As New UTF8Encoding
aEnc.GetBytes(strKey, 0, strKey.Length, ByteKey, 0)
'Hashage de la clé en utilisant SHA1
Dim ServiceSHA As New SHA1CryptoServiceProvider
Dim Hashage() As Byte = ServiceSHA.ComputeHash(ByteKey)
' Creation de la clé pour la valeur "Key" en prenant les 16 premier
' caractere du hashage
For I As Integer = 0 To 15
_SecretKey(I) = Hashage(I)
Next I
' Creation de la clé pour la valeur "IV" en prenant les 16 premier
' caractere du hashage, mais en les plaçant dans le sens inverse
For j As Integer = 15 To 0 Step -1
_SecretIV(15 - j) = Hashage(j)
Next
Resultat = True
Catch e As Exception
Resultat = False
End Try
Return Resultat
End Function
''' <summary>
''' Encrypte un fichier dans un autre
''' </summary>
''' <param name="sInputFilename">Fichier non crypter</param>
''' <param name="sOutputFilename">Fichier crypter</param>
''' <remarks></remarks>
Public Sub EncrypterFichier(ByVal sInputFilename As String, ByVal sOutputFilename As String)
If Not (File.Exists(sInputFilename)) Then
Throw New Exception("Vous devez specifier un fichier d'entrée existant !")
End If
Dim AES As New AesCryptoServiceProvider()
Dim AesDecrypt As ICryptoTransform = AES.CreateEncryptor(_SecretKey, _SecretIV)
Using fsInput As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read, FileShare.Read)
' Flux d'entree
Using fsOutput As New FileStream(sOutputFilename, FileMode.Create, FileAccess.Write, FileShare.None)
' Flux de transformation qu'on rattache au flux de sortie
Using cryptostream As New CryptoStream(fsOutput, AesDecrypt, CryptoStreamMode.Write)
' Ecrit flux d'entre dans un tableau d'octet
Dim bytearrayinput(fsInput.Length - 1) As Byte
Dim bytesRead As Long = 0
bytesRead = fsInput.Read(bytearrayinput, 0, fsInput.Length)
If Not (bytesRead = 0) Then
' Crypte tableau d'octet en ecrivant sur le flux de transformation (sortie)
cryptostream.Write(bytearrayinput, 0, bytesRead)
cryptostream.Flush()
End If
End Using
End Using
End Using
End Sub
''' <summary>
''' Decrypte un fichier crypté dans un autre
''' </summary>
''' <param name="sInputFilename">Fichier crypté</param>
''' <param name="sOutputFilename">Fichier non crypté</param>
''' <remarks></remarks>
Public Sub DecrypterFichier(ByVal sInputFilename As String, ByVal sOutputFilename As String)
If Not (File.Exists(sInputFilename)) Then
Throw New Exception("Vous devez specifier un fichier d'entrée existant !")
End If
Dim AES As New AesCryptoServiceProvider()
Dim AesDecrypt As ICryptoTransform = AES.CreateDecryptor(_SecretKey, _SecretIV)
Using fsread As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read, FileShare.Read)
Using cryptostreamDecr As New CryptoStream(fsread, AesDecrypt, CryptoStreamMode.Read)
Using fsDecrypted As New FileStream(sOutputFilename, FileMode.Create, FileAccess.Write, FileShare.None)
Dim bytearrayinput(fsread.Length) As Byte
Dim bytesRead As Long = 0
bytesRead = cryptostreamDecr.Read(bytearrayinput, 0, fsread.Length)
If (bytesRead > 0) Then
fsDecrypted.Write(bytearrayinput, 0, bytesRead)
fsDecrypted.Flush()
End If
End Using
End Using
End Using
End Sub
''' <summary>
''' Encrypte une chaine de texte
''' </summary>
''' <param name="Chaine">Chaine en clair</param>
''' <returns>Chaine cryptée</returns>
''' <remarks></remarks>
Public Function EncrypterChaine(ByVal Chaine As String) As String
' Objets AES
Dim AES As New AesCryptoServiceProvider()
Dim AesDecrypt As ICryptoTransform = AES.CreateEncryptor(_SecretKey, _SecretIV)
' Buffer de stockages
Dim BufferEntree() As Byte
' Chaine tampon pour stocker resultat final
Dim ChaineSortie As String = String.Empty
' On place la chaine en claire dans le buffer d'entrée
BufferEntree = Encoding.ASCII.GetBytes(Chaine.ToCharArray)
' Flux de travail
Dim msSortie As New MemoryStream()
' Flux de transformation (lié au flux msInput)
Dim cryptostream As New CryptoStream(msSortie, AesDecrypt, CryptoStreamMode.Write)
' On ecrit la chaine (en claire) du buffer d'entrée dans le flux de sortie (qui sera transformé au passage)
cryptostream.Write(BufferEntree, 0, BufferEntree.Length)
cryptostream.FlushFinalBlock()
' On stocke resultat avant de fermer les flux
ChaineSortie = Convert.ToBase64String(msSortie.ToArray)
' On ferme les flux
msSortie.Close()
cryptostream.Close()
Return ChaineSortie
End Function
''' <summary>
''' Decrypte une chaine de texte
''' </summary>
''' <param name="ChaineCrypte">Chaine cryptée</param>
''' <returns>Chaine décryptée</returns>
''' <remarks></remarks>
Public Function DecrypterChaine(ByVal ChaineCrypte As String) As String
' Objets AES
Dim AES As New AesCryptoServiceProvider()
Dim AesDecrypt As ICryptoTransform = AES.CreateDecryptor(_SecretKey, _SecretIV)
' Buffers de stockage
Dim BufferEntree() As Byte ' Buffer contenant la chaine d'entrée
Dim BufferSortie() As Byte ' Buffer contenant la chaine de sortie
' On convertie la chaine crypter pour la placer dans le buffer
BufferEntree = Convert.FromBase64String(ChaineCrypte)
' On dimenssione le buffer de sortie
ReDim BufferSortie(BufferEntree.Length)
' Flux d'entree qu'on rattache au buffer d'entrée
Dim msInput As New MemoryStream(BufferEntree)
' Flux de transformation qu'on rattache au flux d'entrée
Dim cryptostream As New CryptoStream(msInput, AesDecrypt, CryptoStreamMode.Read)
' On ecrit le resultat decrypté dans le buffer de sortie
cryptostream.Read(BufferSortie, 0, BufferSortie.Length)
' On ferme les flux
msInput.Close()
cryptostream.Close()
' Retourne la chaine resultante
Return Encoding.ASCII.GetString(BufferSortie)
End Function
#End Region
#Region "Constructeur"
''' <summary>
''' Constructeur par defaut
''' </summary>
''' <param name="Cle">Cle entrée par l'utilisateur</param>
''' <remarks>Les cles sont calculés en fonction du parametre cle</remarks>
Public Sub New(ByVal Cle As String)
_UserKey = Cle
If Not (GenereCle(Cle)) Then
Throw New Exception("Erreur à la creation de la cle")
End If
End Sub
#End Region
End Class
Conclusion
Bon code ...
Historique
- 18 décembre 2008 16:48:35 :
- Creation des methodes pour crypter/decrypter du texte à la volée (sans passer par des fichiers).
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Cryptage AES avec VB 2005 Express? [ par Doud38 ]
Bonjour à tous,J'aimerai crypter et décrypter (cryptage AES) des chaines de caractères sous VB 2005 Express. Est-ce possible?Est-ce quelqu'un peut m'a
Proogrammation du protocole de cryptage [ par majdimab ]
Salut, Je suis un étudiant de l'ENIM "Ecole Nationale d'Ingénieur de Monastir" (TUNISIE).Mon projet de fin d'étude est intitulé "implentation de pro
cryptage décryptage d'un mot de passe [ par faucheuse ]
Bonjour tout le monde,Je me suis mis recemment aux macros sur excel, je connais donc quelques bases et me fournit en code sur internet(bien sur je ne
cryptage et utilisation [ par majdimab ]
Salut, je suis débutant en vb.net, j'ai réalisé un programme qui crypte le message avec le protocole d'EL GAMEL(sur les courbes elliptique).je voudrai
Cryptage 128, 256 ????? [ par hippo92210b ]
Bonjours, Il u a quelque jour, je me suis intéresser de prés au cryptage et j'ai donc pris une source de cryptage RC4et je voudrai que le texte soi c
communication cryptage protocol et autres [ par codewarx ]
Bonjour a tous je recherche des informations pour confectionner un multi scanner utilisant tous mes moyens de comunications en meme temps et qui poura
Problème Cryptage Vigénère [ par Redman31100 ]
Bonjour à tous !J'ai commencé à faire seulement le code de cryptage Vigénère.Voici le code : Public Shared Function Cryptage(ByVal TextClair As String
cryptage [ par achills ]
svp j'ai une autre question: je crypte mes données (text1.text) puis je les enregistre dans un fichier text et je les charge au démarrage du forum,le
cryptage application (vb6 utilisant liste et fichier texte [ par bayrem2 ]
salut,je suis debutant en informatique , je une application vb que je la termine, je suis demandé de la crypte , mais je sais pas que çc veut dire cry
cryptage [ par Kynouu ]
Bonjour, désolé mais je ne suis pas un doué de l'informatique et j'aurais voulu savoir quel est ce cryptage : 7CDACE27C070-45D55--4079-45A0B43DFE1 et
|
Derniers Blogs
DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|