Orange web tv

 

Pour ceux qui n'ont pas plus de 1Mo de bande passante, Orange a mis en place un portail dedié aux chaines de TV en streaming temps réel, pour l'instant un bouquet de 20 chaines est disponible

image

Pour le voir http://webtv.guidetv.orange.fr/home.do?null

C'est pas de la video HD mais la qualité est acceptable meme en plein ecran, Une initiative sympa de la part d'orange qu'il faut souligner, visiblement ils sont un peu timides sur ce coup car aucune pub n'a été faite, pas de lien sur la page d'accueil d'orange.fr non plus.

XP SP3 RTM Standalone french

 

Windows xp sp3 rtm en version autonome française , c'est par ici que ça se passe :

http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-fra_414B61BBC86E09579D8447BAA23EB1B867F9CA93.exe

Bon téléchargement

Erreur 15138 sql 2005 Suppression d'un compte

 

Il arrive qu'il ne soit pas possible de supprimer un compte sql sur une base de données. lors de la suppression il se produit une erreur 15138 indiquant que le user possede un schema qui empeche donc sa suppression.

drop user 'le compte a supprimer'

on a l'erreur suivante :

.
Msg 15138, Level 16, State 1, Line 1
The database principal owns a schema in the database, and cannot be dropped.

pour connaitre les information de schema, il faut lancer la commande suivante :


.


   1:  SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE schema_owner = 'le compte a supprimer'

 


Il faut regarder la colonne schema_owner et verifier ou apparait le nom du compte a supprimer puis changer le propriétaire a l'aide de la commande suivante :


.


   1:  ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo

 

 

Après cette opération vous pouvez alors supprimer le compte.

Journée de la terre (22 avril)

image La question que l'on doit se poser en tant qu'informaticien est de savoir comment avec notre metier nous pouvons contribuer a ne pas creer d'empreinte irreversible sur notre belle terre et laisser à nos enfant un monde au moins identique a celui que nous ont transmis nos parent.

Qu'est qui polue ?

1 - Laisser son PC, Portable, box et j'en passe allumé toute la nuit alors que l'on ne s'en sert pas, il faut les etteindre. J'invite aussi ceux qui ont une machine de developpement à leur lieu de travail d'etteindre celle-ci lorsque la jounée est terminée. De la part de microsoft, il faut au meme titre que l'autoupdate pratiquement obligatoire maintenant , proposer à l'utilisateur une extinction automatique de la machine à une heure programmée.

2 - Se deplacer pour aller travailler, essayer de convaincre son boss que le télétravail est bénéfique à tous les niveaux, un a deux déplacements dans l'entreprise par semaine est suffisant dans une grande majorité des cas. Maintenant les reseaux sont la, ADSL, 3G+, il manque peu etre de la part des editeurs de mettre en place des outils de surveillance de l'assiduité et presence.

3 - Ne plus imprimer, il faut evangeliser les utilisateurs pour abandonner les imprimantes, les fax et tout ce qui peut produire du papier. Ne pas imprimer ses mails comme cela arrive si souvent. De la part des editeurs cela implique la mise en place de systeme interroperables et dematerialiser les documents, beaucoup s'y mettent, c'est indispensable.

Dotnet openid 2.0 released !

 

Nouvelle release du projet dotnetopenId a cette adresse :  http://code.google.com/p/dotnetopenid/

OpenIDPour rappel, ce projet a pour but d'utiliser le protocole OpenId (http://www.openidfrance.fr/) qui permet pour les internautes d'avoir un SSO global, le site host n'ayant pas à gerer le stockage du log/pass dans sa propre base de donnée , mais de deleguer ceci au provider de compte openId,  dans la version actuelle du projet, il permet d'utilser Yahoo.com comme fournisseur.

Mode economie d'energie SNCF

 

Voyages-sncf.comSi comme moi vous utilisez le train pour vos deplacements et que vous ne voulez pas payer le double en première classe pour vos billet pour avoir le droit "eventuellement" (très aléatoire sur la ligne Paris/Bordeaux) à une prise éléctrique pour travailler. Il est possible de faire durer plus longtemps sa batterie en coupant quelques services et en appliquant quelques règles.

Comme le reseau wifi ou autre n'est pas present il faut deja commencer par couper la carte reseau, couper toute communication bluetooth, couper le son, si possible utilier NHC (telechargement) , il propose un tunning très precis des ressources , basé sur WMI (vitesse CPU, vitesse du ou des ventilos).

J'utilise VISTA, autant dire qu'il faut couper AERO tout de suite , un beau consomateur d'energie, voici la liste des services que je coupe :

REM Liste des services a stopper en mode SNCF
 
REM Audio Windows
NET STOP Audiosrv
 
REM Client DHCP
NET STOP Dhcp
 
REM Générateur de points de terminaison du service Audio Windows
NET STOP AudioEndpointBuilder
 
REM Experience d'application
NET STOP AeLookupSvc
 
REM Spouleur d'impression
net stop spooler
 
REM Acces du peripherique d'interface utilisateur
net stop hidserv
 
REM Client DNS
net stop dnscache
 
REM Services de chiffrement
net stop cryptsvc
 
REM Station de travail
net stop lanmanworkstation
 
REM Ouverture de session secondaire
net stop seclogon
 
REM Service Liste des r‚seaux
net stop netprofm
 
REM Connaissance des emplacements réseau
net stop nlasvc
 
REM Service de prise en charge Bluetooth
net stop bthserv
 
REM Service de notification d'evenements systeme
net stop sens
 
REM Services de base de module de plateforme securisee
net stop tbs
 
REM Application Host Helper Service
net stop AppHostSvc
 
REM Courtier de session de connexion
net stop ASBroker
 
REM Pare-feu Windows
net stop mpssvc
 
REM Canal de communication local
net stop ASChannel
 
REM Moteur de filtrage de base
net stop BFE
 
REM Planificateur de classes multimedias
net stop MMCSS
 
REM Connexions reseau
net stop netman
 
REM Service Interface du magasin reseau
net stop nsi
 
REM Gestionnaire de connexions d'acces distant
net stop rasman
 
REM Acquisition d'image Windows (WIA)
net stop stisvc
 
REM Gestionnaire de sessions du Gestionnaire de fenetrage
net stop uxsms
 
REM Virtual Server
net stop "virtual server"
 
REM Assistance Virtual Machine
net stop vmh
 
REM Service de configuration automatique WLAN
net stop wlansvc
 
REM Centre de securite
net stop wscsvc
 
REM Themes
net stop themes
 
REM Telephonie
net stop tapisrv

Il suffit de mettre tout ça dans une fichier cmd ou charger a partir du lien ci-dessous et de lancer, pour ma part j'arrive pratiquement a tenir tout le trajet Bordeaux Paris, 2h45 avec utilisation intensive de visual studio.


 


Attention il faut ensuite redemarrer la machine pour revenir a un etat normal.

Comment changer le nom d'un service NT lors de son installation ?

 

J'ai été confronté recemment à un cas de figure , je devais installer un serivce NT sur un serveur et faire tourner celui-ci pour differents clients de manière cloisonnée (Une installation par client). Il existe plusieures solutions pour resoudre ce problème

  • Faire de telle sorte que le service prenne via un fichier de config ou autre tous les clients

Avantage, un seul service (bien pour l'administrateur du serveur), façile a mettre en oeuvre

Inconvenient (tous les clients utilisent les memes versions d'assemblies)

A cause de l'inconvenient je ne pouvais pas utiliser cette solution

  • Compiller un service avec nom par client.

Avantage façile a mettre en oeuvre

Inconvenient (Si beaucoup de client très fastidieux a maintenir)

  • Trouver un moyen de changer le nom d'un service lors de son installation.

C'est la solution que j'ai retenu.

Le projet de depart :

image

donc le service et son installer, c'est lui qui nous interesse, on peut voir la propriété ServiceName, a laquelle j'ai associé el nom MyService

Le code de l'installer est le suivant :

   1: namespace MyService
   2: {
   3:     [RunInstaller(true)]
   4:     public partial class Installer1 : Installer
   5:     {
   6:         public Installer1()
   7:         {
   8:             InitializeComponent();
   9:         }
  10:     }
  11: }

Nous ajoutons un fichier de configuration pour la solution (app.config)



   1: <?xml version="1.0" encoding="utf-8" ?>
   2: <configuration>
   3:     <appSettings>
   4:         <add key="serviceName" value="MyService1"/>
   5:     </appSettings>
   6: </configuration>

Maintenant au moment de l'installation il va falloir aller lire dans le fichier de configuration :


voici le fichier Installer1.cs complet et commenté



   1: using System;
   2: using System.Collections;
   3: using System.Collections.Generic;
   4: using System.ComponentModel;
   5: using System.Configuration.Install;
   6: using System.Linq;
   7:  
   8:  
   9: namespace MyService
  10: {
  11:     [RunInstaller(true)]
  12:     public partial class Installer1 : Installer
  13:     {
  14:         string m_ServiceName = null;
  15:  
  16:         public Installer1()
  17:         {
  18:             InitializeComponent();
  19:             // lecture du fichier de config de myservice.exe
  20:             // soit myservice.exe.config
  21:             string exePath = System.IO.Path.Combine(Environment.CurrentDirectory, "MyService.exe");
  22:             System.Configuration.Configuration config
  23:                 = System.Configuration.ConfigurationManager.OpenExeConfiguration(exePath);
  24:             // recuperation du nom du service dans la section appSettings
  25:             m_ServiceName = config.AppSettings.Settings["serviceName"].Value;
  26:         }
  27:  
  28:         protected override void OnBeforeInstall(IDictionary savedState)
  29:         {
  30:             // on affecte au savedState le nom du service récupéré 
  31:             // dans le fichier de config
  32:             savedState["ServiceName"] = m_ServiceName;
  33:             // et on affecte la valeur "nom du service" au composant d'installation du service
  34:             this.MyServiceInstaller.DisplayName = m_ServiceName;
  35:             this.MyServiceInstaller.ServiceName = m_ServiceName;
  36:  
  37:             base.OnBeforeInstall(savedState);
  38:         }
  39:  
  40:         protected override void OnBeforeUninstall(IDictionary savedState)
  41:         {
  42:             // On recupere le nom de serivce indiqué dans le state
  43:             string serviceName = (string)savedState["ServiceName"];
  44:             // on réaffecte au composant d'installation le nom du service
  45:             // pour qu'il retrouve quel service il doit desinstaller
  46:             this.MyServiceInstaller.DisplayName = serviceName;
  47:             this.MyServiceInstaller.ServiceName = serviceName;
  48:  
  49:             base.OnBeforeUninstall(savedState);
  50:         }
  51:     }
  52: }

Pour installer le service une fois compilé il suffit de lancer la commande suivante dans le repertoire du service :


"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe" "MyService.exe"


J'ai installé le meme service dans 2 repertoires differents voici le resultat :


image image


pour desinstaller toujours dans le repertoire du service :


"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe" /u "MyService.exe"


Voici le code complet :


MyService.zip