Wunderlist (Windows & iPhone)

January 31st, 2011

Une application géniale en tant que gestionnaire de tâches :)

La synchronisation fonctionne très bien ! Et cela permet de mettre par écrit, dans le métro ou au bureau sa liste de “TO DO” !!

C’est par

Copier un répertoire à travers le réseau & de manière sécurisé

January 31st, 2011

Utilisation de scp afin de copier un répertoire d’une machine linux vers sa machine linux à travers le réseau le tout dans un tunnel SSH :

scp -r -P portNum user@ip_address:/home/rep/to/copy .

Lister dans un fichier temporaire les paramètres du context de l’installer

November 4th, 2010
string filename = @"c:\toto.txt";

                System.IO.FileStream fs = System.IO.File.OpenWrite(filename);

                System.IO.StreamWriter sw = new System.IO.StreamWriter(fs);
                sw.WriteLine("savedDAta");
                foreach (string item in Context.Parameters.Keys)
                {
                    sw.WriteLine(item.ToString() + " _ " + Context.Parameters[item]);
                }
                sw.Close();

Changer les permissions NTFS d’un dossier

November 4th, 2010
private void CheckResourceFolderPermissionAndUpdateIfNeeded()
{
DirectoryInfo directoryInfo = new DirectoryInfo(RESOURCES_FOLDER_PATH);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
AuthorizationRuleCollection rules = directorySecurity.GetAccessRules(true, true, typeof(NTAccount));

foreach (FileSystemAccessRule rule in rules)
{
if (rule.IdentityReference.ToString().Contains(LOCAL_SERVICE_ACCOUNT_NAME))
if (rule.FileSystemRights != FileSystemRights.FullControl)
UpdatePermissionOnResourcesFolder(directorySecurity, directoryInfo);
}
}
private void UpdatePermissionOnResourcesFolder(DirectorySecurity directorySecurity, DirectoryInfo directoryInfo)
{
FileSystemAccessRule directoryAccessRule = new FileSystemAccessRule("LOCAL SERVICE",
FileSystemRights.FullControl,
AccessControlType.Allow);
directorySecurity.AddAccessRule(directoryAccessRule);
directoryInfo.SetAccessControl(directorySecurity);
}

Windows Service et Installer

August 12th, 2010

Créer et déployer un service windows avec Visual Studio 2010

File / New Project
Visual C# –> Windows –> Windows Service

Method OnStart -> dans cette méthode on va pouvoir lancer un timer par exemple qui appellera une fonction pour un intervalle donné.
Method OnStop -> Ne pas oublier de stoper le timer par exemple.

Dans le designer du Service1.cs cliquer droit Add Installer

Cela crée un fichier ProjectInstaller.cs par défaut
On modifie les properties de serviceInstaller et de serviceProcessInstaller (description, type de démarrage)

Ensuite on ajoute un nouveau projet à la solution :
Clique droit sur la solution :
Add –> New Project :
Other Project Types –> Setup And Deployment –> Visual Studio Installer.

La fenêtre File system s’ouvre.
On peut créer un dossier dans Application Folder et sur ce nouveau dossier on fera un clique droit –> Add –> Project Output

Dans la première listbox, on choisi le projet du service que l’on a créé en premier lieu

Puis dans la liste qui suit on choisira Primary output et on termine par OK.

Ensuite, on sélectionne le projet Installer. On sélectionne Editor dans le menu View puis Custom Actions.

Cliquer droit sur le noeud Commit -> Add custom action.
Aller dans Application Folder via un double clique puis dans le dossier que nous avons précédemment créé.
Pour finir double cliquer sur le Primary Output from …
Il faut vérifier dans les propriétés des nouveaux noeuds que InstallerClass vaille True.

Il ne reste plus qu’à compiler l’ensemble et le tour est joué.

Ajouter une entrée dans le clique droit sur tous les fichiers

July 22nd, 2010

Pour ceux qui utilisent comme moi des applications portables tel que notepad++ portable, vous remarquerez qu’après un formattage le si pratique “Edit with Notepad++” a disparu.

Afin de le rétablir on suivra les étapes suivantes :

démarrer / exécuter / regedit puis OK

Dans la base de registre développer HKEY_CLASSES_ROOT\*\

Clique droit sur shell, new key / nouvelle clé dont le nom sera l’entrée apparaîssant dans votre menu clique droit. Pour mon exemple ça sera “Edit with Notepad++”.

Ensuite on clique droit sur cette nouvelle clé que l’on vient de créer, puis on fait à nouveau : New key / Nouvelle clé.

On l’appellera “command”. On clique gauche sur command pour charger son contenu dans le panneau de droite. On verra apparaître “(Default)”. On double-cliquera dessus afin de pouvoir entrer le chemin vers l’exécutable Notepad++ suivi de %1 étant l’argument qu’on passera à l’exécutable qui l’ouvrira dans Notepad++:

D:\FramaKey\Apps\Notepad++Portable\App\Notepad++\notepad++.exe %1

Une fois ici, vous pouvez tester en cliquant droit sur un fichier dans votre explorer windows, vous verrez apparaître notre ajout. Cependant, vous noterez qu’il y a un peu de place pour mettre une icône à gauche du texte.

Pour cela :
Clique droit sur la clé “Edit with Notepad++” et New string value ou Nouvelle valeur chaîne. Nous la nommerons icon. Mettez-y le chemin vers l’exécutable pour utiliser l’icône par défaut ou le chemin vers l’icône de votre choix.

Le système de fichier windows et les extensions

July 22nd, 2010

Vous en entendrez parler à un moment ou un autre quelque soit votre degré d’intérêt en informatique / bureautique : sous un environnement windows, le nom des fichiers qui se trouvent sur votre disque dur sont de manière générale composés d’un nom de fichier tel que “facture_Tiscali_Mars_2003″ mais se cache par défaut l’extension du fichier. Cette extension permet de savoir d’un coup de oeil le type du fichier (fichier texte, fichier exécutable, fichier PDF, etc.) et par conséquent quel logiciel sera nécessaire à sa bonne ouverture. Un fichier texte pourra être ouvert par tout un paquet d’éditeurs de texte allant de notepad à notepadd++ en passant par PSPad…

Afin d’activer l’affichage des extensions, il faut se rendre dans le panneau de configuration puis ouvrir “Options des dossiers”.

Dans l’onglet “Affichage”, il y a une liste sous “Paramètres avancés”. Dans cette liste, nous cherchons “Masquer les extensions des fichiers dont le type est connu” que nous décochons.

OK pour valider et le tour est joué :)

DoublePhoto – Présenter ses photos en accordéon

July 22nd, 2010

Je suis tombé sur un article de Clubic traitant de quelques logiciels de traitement de photos. Et DoublePhoto m’a frappé ! Il est très petit en taille moins d’un mégaoctet et il permet de faire très simplement un petit montage de deux photos, de l’imprimer afin de plier l’accordéon, tout simplement…

Pour le télécharger, c’est par ici !!

Contrôler un paquet avec le BCC (Block Check Character)

July 22nd, 2010

Cette méthode permet de calculer le BCC d’un packet passé en paramètre en tant que tableau de bytes. Il faut modifier le STX en fonction du premier byte considéré comme “début de paquet”.

private static bool CheckBcc(byte[] packet)
        {
            int i = 0, result = 0;
            if (packet[0] == 0×02)
                return false;
            while(packet[i] != 0×03)
            {
                result ^= packet[i++];
            }
            result ^= packet[i++];  // XORing ETX char
            result ^= packet[i];    // XORing the BCC char –> if 0000000 good packet
            return ((result & 0x7F) == 0) ? true : false;
        }

Convertir un tableau de byte en string

July 22nd, 2010

public static string HexStr(byte[] p)
{
char[] c = new char[p.Length * 2];
byte b;

for (int y = 0, x = 0; y < p.Length; ++y, ++x)
{
b = ((byte)(p[y] >> 4));
c[x] = (char)(b > 9 ? b + 0x37 : b + 0x30);
b = ((byte)(p[y] & 0xF));
c[++x] = (char)(b > 9 ? b + 0x37 : b + 0x30);
}
return new string(c);
}