Overblog
Suivre ce blog Administration + Créer mon blog
10 juin 2009 3 10 /06 /juin /2009 09:28

Google Maps et ASP.NET ne font pas vraiment bon ménage surtout lorsque le site utilise une MasterPage.

Voici une astuce qui va vous permettre d’intégrer Google Maps sans effort en utilisant un iframe.

Pour commencer nous allons créer une page html qui contiendra la carte :

 

Code :

<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">

    function initialize() {
           var myLatlng = new google.maps.LatLng(43.317645, -0.438981);
           var myOptions = { zoom: 16, center: myLatlng, mapTypeId: google.maps.MapTypeId.HYBRID }
           map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
           var infowindow = new google.maps.InfoWindow({ content: '<b>EL SALSERO</b> <br> rue Saint-Exupéry <br> 64230 LESCAR <br> <i>Anciennement "La Pression Paloise"</i>', size: new google.maps.Size(250, 100) });

           var marker = new google.maps.Marker({ position: myLatlng, map: map, title: "EL SALSERO" });
           google.maps.event.addListener(marker, 'click', function() { infowindow.open(map, marker); });
           }
    </script>
    <title>Carte</title>
</head>
<body style="margin: 0; background-color: #ffcc00"   onload="initialize()" >
<div id="map_canvas" style="background-color: #ffcc00; width: 800px; height: 600px"></div>

</body>
</html>

 

Ensuite nous allons créer une page aspx qui contiendra l’iframe dans lequel s’affichera notre page html :

 

Code :

<%@ Page EnableEventValidation="false"  Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="carte.aspx.vb" Inherits="public_carte" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="server" >
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div style="text-align: center">
<iframe id="mapFrame" src="carte.htm" scrolling="no" frameborder="0"
        marginheight="0" marginwidth="0"
        style="background-color: #ffcc00; width: 800px; height: 600px; text-align: center;"
        align="middle" />
</div>

</asp:Content>

 

Vous remarquerez que l’iframe et et le div de la carte ont la même dimension (800 par 600) et que l’iframe n’a pas de bordure ce qui crée l’illusion.

Vous devez également mettre EnableEventValidation="false" dans l’entête de votre page aspx sous peine d’avoir un message d’erreur lorsque vous visiterez une autre page du site.

Partager cet article
Repost0
9 juin 2009 2 09 /06 /juin /2009 08:17

Si les images d’arrière plan de votre tableau ou d’autres images ne s’affichent pas c’est que vous avez surement un problème de chemin d’accès à l’image.

Voici une astuce qui va vous permettre d’afficher correctement une image où qu’elle soit sur votre site :

 

Code :

style="background-image: url(<%=Page.ResolveUrl("~/images/background.jpg")%>)

Partager cet article
Repost0
27 avril 2009 1 27 /04 /avril /2009 15:52

smallbasic 

SmallBasic est un petit logiciel permettant de s’initier à la programmation en Visual Basic. Il est destiné principalement aux collégiens.

Il est désormais disponible en version Française. Cependant l’interface d’installation reste en anglais.

Site officiel : www.smallbasic.com

Partager cet article
Repost0
16 avril 2009 4 16 /04 /avril /2009 15:54

Vous devez tout d’abord ajouter une référence à l’espace de noms System.Management à votre application puis faire un Import System.Management au début de votre code.

Les objets de cet espace de nom vont nous permettre d’utiliser le Windows Management Instrumentation (WMI).

 

Dans l’exemple suivant, nous allons remplir une DataTable avec le nom des comptes utilisateurs.

 

Code :

        Dim _dtUsers as New DataTable("Users")
        Dim col As New DataColumn("Name", GetType(String))
        col.MaxLength = 500

        _dtUsers.Columns.Add(col)

        Dim query As New SelectQuery("Win32_UserAccount")
        Dim searcher As New ManagementObjectSearcher(query)

        Dim newRow As DataRow

        For Each envVar As ManagementObject In searcher.Get()
            newRow = _dtUsers.NewRow

            newRow("Name") = envVar("Name")
            _dtUsers.Rows.Add(newRow)
        Next

 

Vous trouverez la liste des propriétés de Win32_UserAccount içi.

Partager cet article
Repost0
14 avril 2009 2 14 /04 /avril /2009 14:25

Vous avez supprimer l’icône “Afficher le bureau” de votre barre de lancement rapide et vous aimeriez bien le remettre.

Voici comment :

1. Ouvrez le bloc notes qui se trouve généralement dans le menu accessoire du menu démarrer.

2. Tapez le texte suivant dans le Bloc notes :

[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

3. Enregistrez le fichier en tant que Afficher le bureau.scf

4. Glissez ce fichier dans votre barre de lancement rapide

Partager cet article
Repost0
7 avril 2009 2 07 /04 /avril /2009 15:14

Cet exemple nécessite l’installation du composant WinListView de chez Infragistics.

 

Code :

        Imports Infragistics.Win.UltraWinListView

 

        Dim SelectedItems As Object() = Me.UltraListViewPhotos.SelectedItems.All

        Me.UltraListViewPhotos.BeginUpdate()

        For i As Integer = 0 To SelectedItems.Length - 1
            Dim item As UltraListViewItem = CType(SelectedItems(i), UltraListViewItem)
            Me.UltraListViewPhotos.Items.Remove(item)
        Next

        Me.UltraListViewPhotos.EndUpdate()

Partager cet article
Repost0
1 avril 2009 3 01 /04 /avril /2009 10:14

De nos jours l’internet est de moins en moins libre mais heureusement les internautes ont encore beaucoup d’outils à leur disposition pour garder une grande liberté d’expression et d’échange sur internet.

Les solutions les plus courantes pour rester anonyme et contourner des restrictions sur internet sont d’utiliser des serveurs proxy ou des tunnels VPN qui masqueront votre identité (ou adresse IP) . L’avantage du tunnel VPN par rapport à un simple serveur proxy c’est qu’en plus il crypte vos communications avec une clef de 128 bits minimum voir plus. Le cryptage permet de vous protéger contre tout espionnage de vos transmissions.

 

Les réseaux les plus couramment utilisés pour télécharger des fichiers sont les suivant :

 

Remarque : Les logiciels de P2P, Torrent ou NewsGroup ne sont pas illégaux. Les installer sur votre ordinateur n’est pas une infraction à la loi. Ce qui peut être illégal c’est l’utilisation que vous en faites.

 

Le serveur de newsgroup GigaNews propose un petit logiciel (GigaNews Accelerator) qui permet de compresser et crypter (256 bits SSL) vos transmissions lors du téléchargement. Cela ne vous rend pas anonyme mais permet d’éviter tout espionnage des données que vous téléchargez.

 

Uncensored NewsFeed propose un pack tout en un comprenant un tunnel VPN (PrivacyTunnel).

 

Chacun de ces réseaux de téléchargement utilise des ports et des protocoles de communication différent. Il existe beaucoup de méthodes pour être anonyme sur le réseau Web mais très peu pour les autres réseaux.

 

Voici quelques solutions intéressantes que j’ai retenu et qui fonctionnent pour tous les types de réseaux :

 

Antifirewall est à déconseillé pour un novice mais vous pouvez télécharger la version de démo pour en juger par vous même.

VyprVpn est un tunnel VPN. C'est la solution la plus puissante et la plus simple. VyprVpn peut être combiné avec GigaNews Accelerator ce qui crée pratiquement un double tunnel de cryptage mais uniquement pour les newsgroups.
  

Remarque : L’anonymat sur internet n’existe pas vraiment. En effet, celui qui vous procure l’anonymat connait votre identité et connait également votre activité sur internet même si il prétend ne garder aucune information sur votre activité en ligne. Ceci est d’autant plus vrai si vous utilisez un service payant, car il n’y a rien de mieux pour vous identifier que votre carte bancaire.

 

A noter également :

  • Le projet FreeNet pour ceux qui sont vraiment parano et qui ne sont pas pressés car très lent.
  • Le projet Tor qui est un bon moyen de surfer sur internet de façon anonyme.
  • Le projet IPredator dont le site est en préparation et qui utilise un tunnel VPN comme SufSolo.
  • Le projet Ipodah en beta test comme Ipredator

Remarque : J’ai testé IPredator. Malheureusement il n’est pas au point. J’obtiens beaucoup de déconnexions. A suivre.

 

 

 

CONCLUSION : Je conseille d’utiliser un tunnel VPN.

Tunnel VPN conseillé : VyprVpn
Remarque : Pour pouvoir utiliser VyprVpn vous devez souscrire un abonnement "Diamant" auprès de GigaNews. VyprVpn est très facile à installer (J'ai testé sous Vista et 7) et laisse passer P2P, Torrent et newgroups sans problème.

ATTENTION : Beaucoup de tunnels VPN ne laissent pas passer les connexions vers les newsgroups ou le P2P. Si ce n’est pas explicitement indiqué, vous devrez prendre un abonnement pour tester vous même.

 

Si vous désirez tester votre anonymat, différents sites proposent de le tester.

En voici un : http://www.stilllistener.addr.com/checkpoint1/index.shtml

 

Souvenez-vous que sans anonymat il n’y a pas de réelle liberté d’expression.

Partager cet article
Repost0
31 mars 2009 2 31 /03 /mars /2009 10:34

Pour stocker des images dans une base de données SQL Server, il est nécessaire de convertir les images en Byte() et inversement quand on veut récupérer les images.

 

Voici donc 2 fonctions qui permettent de réaliser ceci :

 

Code :

Imports System.IO
Imports System.Drawing

 

Public Function ImageToByteArray(ByVal img As Image) As Byte()
            Dim stream As New MemoryStream
            img.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg)
            Return stream.ToArray
End Function

 

Public Function ByteArrayToImage(ByVal ByteArray As Byte()) As Image
            Dim stream As New MemoryStream(ByteArray, 0, ByteArray.Length)
            Return Image.FromStream(stream, True)
End Function

Partager cet article
Repost0
5 mars 2009 4 05 /03 /mars /2009 18:12

Le comportement que je recherchais étais de pouvoir cocher la CheckBox d’une ligne pour indiquer un tarif par défaut dans un DatagridView.

Ceci implique que si la valeur du CheckBox d’une ligne est égal à True, tous les autres CheckBox doivent être égal à False, ce qui ressemble au comportement du RadioButton.

Mon DataGridView est lié au BindingSource _bsTarifs et la colonne est liée au champ  tarifParDefaut.

 

Code :

Private Sub DataGridViewTarifs_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridViewTarifs.CellBeginEdit
       If Me.DataGridViewTarifs.CurrentRow.Cells("tarifParDefaut").ColumnIndex = e.ColumnIndex Then
           For Each row As DataGridViewRow In Me.DataGridViewTarifs.Rows
               If row IsNot CType(_bsTarifs.Current, DataRowView).Row Then
                   row.Cells("tarifParDefaut").Value = False
               Else
                   row.Cells("tarifParDefaut").Value = True
               End If
           Next
       End If
   End Sub

Même pas besoin de Custom Control ! :)

Partager cet article
Repost0
25 février 2009 3 25 /02 /février /2009 10:37

Dans certain cas, il peut être intéressant de cacher un compte utilisateur pour qu’il n’apparaisse pas sur l’écran de bienvenue de Windows Vista.

Voici 3 exemples pour lesquels cela peut être utile :

  • Un compte utilisé uniquement pour le “bureau à distance” (Terminal serveur RDP)
  • Un compte utilisé pour accéder à un serveur FTP sous IIS
  • Un compte que vous utilisez occasionnellement mais que vous ne voulez pas effacer

 

Voici les étapes à suivre (Attention ! Vous devez utiliser un compte administrateur pour pouvoir éditer le registre de Windows) :

  1. Cliquez sur le menu “Démarrer” et dans “Rechercher” tapez “Regedit
  2. Une fois trouvé, cliquez sur “Regedit” pour le lancer
  3. Allez jusqu’à la clef suivante “HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon”
  4. Faites un cliques droit sur la clef “Winlogon” puis, dans le menu, cliquez sur “Nouveau” puis “Clé
  5. Nommez votre clé “SpecialAccounts
  6. Faites un cliques droit sur la clef “SpecialAccounts” puis, dans le menu, cliquez sur “Nouveau” puis “Clé
  7. Nommez votre clé “UserList
  8. Faites un cliques droit sur la clef “UserList puis, dans le menu, cliquez sur “Nouveau” puis “Valeur DWORD (32bits)”
  9. Nommez votre valeur avec le nom du compte utilisateur que vous voulez cacher. (Attention ! Ne cachez pas le compte administrateur principal !)
  10. Faites un double clique sur la valeur pour l’éditer. Mettez la valeur 0 pour cacher le compte ou 1 pour qu’il soit visible.

 

Vous pouvez cacher plusieurs comptes en ajoutant une valeur dans “UserList” pour chaque compte utilisateur que vous voulez cacher.

Partager cet article
Repost0