28.4.19

installer gnome shell + arc theme

dans firefox https://extensions.gnome.org
cliquer sur  "cliquez ici pour installer l'extension du navigateur"
sudo apt install chrome-gnome-shell
https://extensions.gnome.org/extension/19/user-themes/
dans gnome tweak tool le shell theme doit être activé
sudo apt-get install arc-theme

15.4.19

11.4.19

Monter un disque automatiquement sur Ubuntu

lancer la commande :
sudo blkid

repérer le disque souhaité p. ex :
/dev/sda1: LABEL="DATA" UUID="01D3343AF73E7750" TYPE="ntfs" PARTUUID="02bbf45b-01"

dans le fichier /etc/fstab ajouter la ligne :
# DATA /dev/sda1
UUID=01D3343AF73E7750 /media/delphives/DATA               ntfs    errors=remount-ro 0       1


27.3.19

créer un .deb + raccourci gnome à partir d'un .jar

Si l'on souhaite créer un package 'hellolinux.deb' sur le bureau (par exemple) créer l'architecture suivante :

hellolinux/DEBIAN
hellolinux/usr/bin/hellolinux.sh
hellolinux/usr/lib/hellolinux/hellolinux.jar
hellolinux/usr/lib/hellolinux/dependences.jar
hellolinux/usr/share/doc/hellolinux/hellolinux.gif

dans le fichier 'hellolinux.sh' :

java -jar ../lib/hellolinux/hellolinux.jar

ensuite il faut créer un fichier nommé 'control' dans le répertoire 'hellolinux/DEBIAN' :

Package: hellolinux
Version: 1.0
Section: java
Priority: optional
Architecture: all
Maintainer: Delphives 
Description: mon premier package deb
 à partir d'un fichier jar
 ...
 ...

ensuite sur le bureau lancer la commande :

dpkg --build hellolinux

cela va générer le 'hellolinux.deb' sur le bureau et on peut l'installer :

sudo dpkg -i hellolinux.deb

on peut ensuite lancer l'application :

sh /usr/bin/hellolinux.sh

11.3.19

ubuntu gnome vpn configuration


sudo apt-get install openvpn network-manager-openvpn-gnome


cd /etc/openvpn

sudo wget https://downloads.nordcdn.com/configs/archives/servers/ovpn.zip

sudo apt-get install ca-certificates

sudo apt-get install unzip

sudo unzip ovpn.zip

sudo rm ovpn.zip

dans configuration réseau, ajouter un nuveau vpn : 
choisir "importer depuis un fichier" et pas "openvpn". Passerelle 195.242.213.114:443 prendre le ch130.nordvpn.com.tcp

pour avoir le meilleur réseau aller voir sur nordvpn (https://nordvpn.com/servers/tools/)

pour lancer automatiquement le vpn a l'ouverture du réseau lancer la commande (dans un terminal) nm-connection-editor

créer un raccourci bureau personnalisé sous gnome

gedit ~/Desktop/Skype.desktop

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/snap/bin/skype
Name=Skype
Comment=Skype
Icon=/snap/skype/23/usr/share/icons/hicolor/256x256/apps/skypeforlinux.png

pour trouver le chemin à mettre dans "Exec", lancer la commande : which skype

puis click droite sur "Skype.desktop" et Properties-->Permissions-->Allow executing file as program

12.2.19

installation popcorntime sur linux mint

*************************************************************************
mkdir /opt/popcorn-time
wget https://get.popcorntime.sh/build/Popcorn-Time-0.3.10-Linux-64.tar.xz
tar -xf Popcorn-Time-0.3.10-Linux-64.tar.xz -C /opt/popcorn-time/
*************************************************************************
sudo ln -sf /opt/popcorn-time/Popcorn-Time /usr/bin/popcorn-time
*************************************************************************
sudo vi /usr/share/applications/popcorntime.desktop
[Desktop Entry]
Version = 1.0
Type = Application
Terminal = false
Name = Popcorn Time
Exec = /usr/bin/popcorn-time
Icon = /opt/popcorn-time/src/app/images/popcorntime.png
Categories = Application;
*************************************************************************
sudo apt-get update
sudo apt-get install libgconf-2-4

11.2.19

meilleures applications sécurisées pour Android

NordVPN : https://play.google.com/store/apps/details?id=com.nordvpn.android&hl=fr
Signal Private Messenger : https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms
DuckDuckGo Browser : https://play.google.com/store/apps/details?id=com.duckduckgo.mobile.android
ProtonMail : https://play.google.com/store/apps/details?id=ch.protonmail.android
LastPass Password Manager : https://play.google.com/store/apps/details?id=com.lastpass.lpandroid
Find My Device : https://play.google.com/store/apps/details?id=com.google.android.apps.adm
Telegram : https://play.google.com/store/apps/details?id=org.telegram.messenger

1.2.19

supprimer virtualbox de linux lite (slow boot)

sudo apt purge virtualbox*
sudo systemctl stop vboxadd.service
sudo systemctl stop vboxadd-service.service
sudo systemctl disable vboxadd.service
sudo systemctl disable vboxadd-service.service

25.1.19

Audio + Vidéo sous Linux

sudo apt-get install vlc smplayer banshee mpv kodi mplayer
https://popcorntime.sh/fr

16.1.19

bluray sous linux

sudo apt-get install libdvd-pkg
sudo apt-get install vlc libaacs0 libbluray-bdj libbluray2
mkdir -p ~/.config/aacs/
cd ~/.config/aacs/ && wget http://vlc-bluray.whoknowsmy.name/files/KEYDB.cfg

15.1.19

Git + eclipse

dans eclipse installer egit
http://download.eclipse.org/egit/updates
tout cocher

dans Windows>Preferences>Team>Git changer le "Default repository folder"

ouvrir la perspective git

Clone a Git repository

URI : https://github.com/delphives/clockFX.git
renseigner User et Password et cocher "Store in Secure Store"

une fois que le projet apparaît dans la perspective git il faut faire un import depuis la perspective java et on peut travailler dessus

7.1.19

changer le modèle .tt pour l'entity framework

le modèle complet peut être télécharger ici :


pour supprimer la création du constructeur sans paramètre, éliminer les lignes :

public <#=code.Escape(entity)#>()...

pour insérer le FirePropertyChanged, rechercher la ligne :

public string Property(EdmProperty edmProperty)

et remplacer toute la méthode par :

public string Property(EdmProperty edmProperty)
    {
    var propertyName = _code.Escape(edmProperty);
    var finalValue = "value"; // not modified by default

return string.Format(
CultureInfo.InvariantCulture,
"private {1} {6};" + 
Environment.NewLine + "\t{0} {1} {2}" + 
Environment.NewLine + "\t{{" + 
Environment.NewLine + "\t\t{3}get" +
Environment.NewLine + "\t\t{{" +
Environment.NewLine + "\t\t\treturn {6};" +
Environment.NewLine + "\t\t}}" +
Environment.NewLine + "\t\t{4}set" +
Environment.NewLine + "\t\t{{" +
Environment.NewLine + "\t\t\t{6} = {7};" +
Environment.NewLine + "\t\t\tFirePropertyChanged();" +
Environment.NewLine + "\t\t}}" +
Environment.NewLine + "\t}}" + Environment.NewLine,
Accessibility.ForProperty(edmProperty),
_typeMapper.GetTypeName(edmProperty.TypeUsage),
propertyName,
_code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
_code.SpaceAfter(Accessibility.ForSetter(edmProperty)),
"\"" + _code.Escape(edmProperty) + "\"",
"_" + FirstLetterToLower(_code.Escape(edmProperty)),
finalValue);
    }

puis :

public string NavigationProperty(NavigationProperty navProp)

et remplacer toute la méthode par :

public string NavigationProperty(NavigationProperty navigationProperty)
    {
        var endType = _typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType());
var one = "";
var six = "";
if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many)
{
one = "ObservableCollection<" + endType + ">";
six = "";
else
{
one = endType;
if (one == _code.Escape(navigationProperty))
{
six = Environment.NewLine + "\t\t\t" + _code.Escape(navigationProperty) + "Id = ((" + _code.Escape(navigationProperty) + ")value).Id;";
}
else
{
six = "";
}
}

        return string.Format(
            CultureInfo.InvariantCulture,
            "{0} {1} {5};" + 
Environment.NewLine + "\tpublic virtual {1} {2} {{{3} " + 
Environment.NewLine + "\t\tget" + 
Environment.NewLine + "\t\t{{" + 

Environment.NewLine + "\t\t\treturn {5};" + 
Environment.NewLine + "\t\t}} {4}" + 
Environment.NewLine + "\t\tset" + 
Environment.NewLine + "\t\t{{" + 
Environment.NewLine + "\t\t\t{5} = value;" +
"{6}" +
Environment.NewLine + "\t\t\tFirePropertyChanged();" +
Environment.NewLine + "\t\t}}" + 
Environment.NewLine + "\t}}",
            "private",
            one,
            _code.Escape(navigationProperty),
            _code.SpaceAfter(Accessibility.ForGetter(navigationProperty)),
            _code.SpaceAfter(Accessibility.ForSetter(navigationProperty)),
"_" + FirstLetterToLower(_code.Escape(navigationProperty)),
""
);
    }

rechercher la ligne :

<#=codeStringGenerator.EntityClassOpening(entity)#>

puis la modifier en :

<#=codeStringGenerator.EntityClassOpening(entity)#> : INotifyPropertyChanged

rechercher la ligne :

this.<#=code.Escape(navigationProperty)#> = new HashSet

puis changer HashSet en ObservableCollection

rechercher la ligne :

<#=codeStringGenerator.EntityClassOpening(entity)#> : INotifyPropertyChanged
{

et dans l'implémentation de la méthode (au début) ajouter :

    public event PropertyChangedEventHandler PropertyChanged;

    private void FirePropertyChanged([CallerMemberName] string propertyName = null)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }

rechercher la ligne :

public string UsingDirectives(bool inHeader, bool includeCollections = true)

et à la ligne "{2}", changer en :

"{2}" +
"using System.Collections.ObjectModel;" + Environment.NewLine +
"using System.ComponentModel;" + Environment.NewLine +
 "using System.Runtime.CompilerServices;",

puis ajouter la méthode suivante :

public static string FirstLetterToLower(string text)
{
return Char.ToLowerInvariant(text[0]) + text.Substring(1);
}

6.1.19

mot de passe "guest" pour NAS synology

dans les paramètres avancés de l'utilisateur guest, décocher "apply password strength rules"

5.1.19

backup rsync

#! /bin/sh
rsync -Paruv --delete --ignore-errors --exclude='.local/share/Steam' --exclude='.docker' --exclude='OneDrive' /home/delphives/ /media/delphives/BACKUP/delphives

echo "rsync -Pruv --delete --ignore-errors --exclude={.local,.cache} /home/delphives /media/delphives/WDElements/"
echo "rsync -Pruv --delete --ignore-errors /home/delphives/pCloudDrive/ /media/delphives/DATA/BACKUP_PCLOUD"
echo "rsync -Pruv --delete --ignore-errors /home/delphives --exclude={pCloudDrive} /media/delphives/WDElements/"
echo "rsync -Pruv --delete --ignore-errors /media/delphives/DATA /media/delphives/WDElements/"
echo "rsync -Pruv --delete --ignore-errors /home/delphives --exclude={/home/delphives/.local/share/Steam} /media/delphives/WDElements/"
echo "rsync -Pruv --delete --ignore-errors /home/delphives/.local/share/Steam/steamapps/common/Left 4 Dead 2/left4dead2/addons /media/delphives/WDElements/left4dead2"
echo "**************************************************************"
echo "Sauvegarde terminée!!!"
echo "**************************************************************"
read touche


3.1.19

jar to exe

télécharger l'application Launch4j
la lancer avec "java -jar launch4j.jar"
dans l'onglet "Basic", renseigner le champ "Output file", "Jar"
dans l'onglet "JRE", renseigner le champ "Bundled JRE path:" --> C:\chemin_vers_le_dossier_java_racine, "Min JRE version:" --> 1.8

en sauvegardant les préférences dans un fichier xml on peut lancer la commande suivante :
java -jar launch4j.jar preferences.xml

27.12.18

vpn autoconnect ubuntu

pour se connecter automatiquement à un vpn, créer une connexion vpn. dire à la connexion internet de se connecter automatiquement au vpn.
créer un script (p.ex un fichier dans home qui se nomme AutoConnectVPN) :
!!!ATTENTION ne pas mettre d'espace avant #!/bin/bash!!!

    #!/bin/bash 
    if [[ $(nmcli con show --active | grep "MyConnection") == "" ]]; then
        nmcli con up MyConnection
    fi

faire un : chmod +x /home/delphives/AutoConnectVPN
mettre ce script dans les applications de démarrage (commande --> /home/delphives/AutoConnectVPN)
MyConnection --> le nom de la connexion filaire ou autre

7.12.18

jnlp

pour faire tourner une page .jnlp il faut installer l'extension icedtea. pour cela aller à l'adresse suivante : http://icedtea.wildebeest.org/download/icedtea-web-binaries/
il faut dézipper le .zip et lorsque l'on ouvre une page .jnlp associer à "javaws.bat"

6.12.18

jar signed

1 projet FX, 1 projet JPA
export --> runnable jar file
extract required libraries int generated jar --> attention avec "package..." ça marche pas!!!
générer le jar sur le bureau
puis dans un terminal sur le bureau :
keytool -genkey -keystore myKeystore -alias delphives
[mot de passe] ubuntu
...
signer le jar avec :
jarsigner -keystore myKeystore factureFX.jar delphives