Ubuntu : Itunes via Wine : rien de bon …

47 x served & 6 x viewed

J’ai essayé l’installation de iTunes avec Wine sous Ubuntu.

Les versions :

J’ai eu une seule erreur, c’est lors de l’installation des fonts. Pour la fixer j’ai du faire la modification du checkum. L’erreur c’était : sha256sum mismatch! Rename .cache/winetricks/PowerPointViewer/PowerPointViewer.exe and try again.

sudo sed -i -e s/249473568eba7a1e4f95498acba594e0f42e6581add4dead70c1dfb908a09423/e17cb384eeac4caf08a4f5d4bceb9697fff83fa942d2a3d9ad0294a9b1774390/g /usr/bin/winetricks

L’installation des fonts :

sudo apt install winetricks
winetricks allfonts

Sachant que l’installation suivante permet d’eviter des problèmes de checksum :

sudo apt-get remove winetricks
wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks 
sudo mv -v winetricks /usr/bin

L’espace que cela prend sur le disque :

$ du -sh .cache/winetricks/
350M .cache/winetricks/
$ du -sh .wine/
1,9G .wine/

Quand je lance iTunes j’ai un joli carré noir :

Bref c’est pas le top. J’ai donc lancé winecfg pour modifier et passer de Windows 7 à Windows XP.

Avec Windows XP pas de lancement de iTunes, j’ai donc mis Windows 8.1 et Windows 10 (toujours noir).

Ensuite j’ai essayé de mettre Steam :

Crash …

iTunes : Comment avoir un fichier Excel/Numbers des factures iTunes à partir des emails ? ( sous Mac )

222 x served & 56 x viewed

Rien de plus facile ! Pour informations les emails sont stockés sous : ./Library/Mail/ et les factures d’Apple ( iTunes, et non pas Apple Store )  ne sont pas des PDF. Pour rappel, si vous voulez voir la source d’un email il suffit de faire Cmd+Alt+U, ou bien aller dans le menu Présentation > Message > Contenu orginal.

Donc c’est facile l’étape n°1, vous prenez le script suivant que vous copiez à la racine de votre utilisateur c.a.d. /Users/MonLogin/ . Dans un fichier cherche_facture_Apple.bash par exemple …

Voici donc le script :

#!/bin/bash
# ARIAS Frederic
# Version V1
compteur=1
erreur=0
Somme=0
NbLu=0
chercheFichier() {
   Rep="$1"
   for item in $Rep/*
   do [ -f "$item" ] 
ext="${item##*.}"
if [ "$ext" = "emlx" ] ; then
De=`head -50 $item | grep "^X-Envelope-From:" | awk '{print $2 }' | head -1`
Sujet=`head -50 $item | grep "^Subject: " | awk '{print $2 }' | head -1`
NbLu=`expr $NbLu + 1`
#if [ "$De" == "do_not_reply@itunes.com" ]
#then
#echo "Sujet : '$Sujet'"
#echo "Fichier : $item"
#fi 
        if [ "$Sujet" == "Votre" ] || [[ "$Sujet" =~ =\?ISO\-8859\-1\?Q\?Votre_re* ]]  || [[ "$Sujet" =~ =\?ISO\-8859\-1\?Q\?Votre_facture* ]] || [[ "$Sujet" =~ =\?UTF\-8\?Q\?Votre_re* ]]
                                then
#echo "Une nouvelle facture Apple ? " 
if [ ! -n "$De" ] ;
then
De=`head -50 $item | grep "^From: " | awk -v FS="(<|>)" '{print $2}' | head -1`
fi
if [ ! -n "$De" ] ;
then
De=`head -50 $item | grep "^From: " | awk -v FS='("|")' '{print $2}' | head -1`
fi
Business=`head -50 $item | grep "^X-Business-Group:" | awk '{print $2}' | head -1`
if [ ! -n "$Business" ] ;
then
Business=`head -50 $item | grep "^X_BUSINESS_GROUP:" | awk '{print $2}' | head -1`
fi
Date=`head -50 $item | grep "^Date:" | awk '{print $2 " " $3 " " $4 " " $5 " " $6}' | head -1`
Visa=`head -100 $item | grep "^Visa ...." | awk '{print $3}' | head -1`
if [ ! -n "$Visa" ] ;
then
Visa=`head -100 $item | grep "Factur=C3=A9 =C3=A0 :" | awk '{print $6}' | head -1`
fi
Commande=`head -100 $item | grep "^N=C2=B0 DE COMMANDE:" | awk '{print $4}' | head -1`
if [ ! -n "$Commande" ] ;
then
Commande=`head -100 $item | grep "N=C2=B0 de commande :" | awk '{print $5}' | head -1`
fi
if [ ! -n "$Commande" ] ;
                                        then
                                        Commande=`head -100 $item | grep "Num=C3=A9ro de la commande :" | awk '{print $6}' | head -1`
                                fi
Document=`head -100 $item | grep "N=C2=B0 DE DOCUMENT:" | awk '{print $4}' | head -1`
if [ ! -n "$Document" ] ;
then
                         Document=`head -100 $item | grep "N=C2=B0 DU DOCUMENT:" | awk '{print $4}' | head -1`
fi
Sequence=`head -100 $item | grep "^N=C2=B0 DE S=C3=89QUENCE:" | awk '{print $4}' | head -1`
if [ ! -n "$Sequence" ] ;
then
Sequence=`head -100 $item | grep "^S=C3=89QUENCE N=C2=B0:" | awk '{print $3}' | head -1`
fi
                                if [ ! -n "$Sequence" ] ;
                                        then
                                        Sequence=`head -100 $item | grep "Num=C3=A9ro de s=C3=A9quence=C2=A0:" | awk '{print $4}' | head -1`
                                fi
DateDeLaFacture=`head -100 $item | grep "^DATE DE LA FACTURE:" | awk '{print $5 " " $6 " " $7}' | head -1`
if [ ! -n "$DateDeLaFacture" ] ;
then
DateDeLaFacture=`head -100 $item | grep "Date de la facture:" | awk '{print $5 }' | head -1`
fi
if [ ! -n "$DateDeLaFacture" ] ;
                                        then
                                        DateDeLaFacture=`head -100 $item | grep "Date du re=C3=A7u :" | awk '{print $5 }' | head -1`
fi
Total=`head -100 $item | grep "^TOTAL:" | awk '{print $2}' | sed 's/=/ /g' | awk '{print $1}' | sed 's/,/\./g' | head -1`
if [ ! -n "$Total" ] ;
then
Total=`head -100 $item | grep "Total de la commande :" | awk '{print $6}' | sed 's/=/ /g' | awk '{print $1}' | sed 's/,/\./g' | head -1`
fi
if [ -n "$Commande" ] ;
then
Somme=`echo "scale=3; $Somme + $Total " | bc` 
echo "$compteur | $De | $Date | $Business | $Commande | $Document | $Sequence | $Visa | $DateDeLaFacture | $Total | $Somme "
echo "$compteur ; $De ; $Date ; $Business ; $Commande ; $Document ; $Sequence ; $Visa ; $DateDeLaFacture ; $Total ; $Somme " >> facture_apple.csv
compteur=`expr $compteur + 1`
fi
if [ ! -n "$Commande" ] ;
then
#echo "Source : $item "
erreur=`expr $erreur + 1`
fi
fi
fi
      [ -d "$item" ] && chercheFichier "$item"
   done
}

echo "compteur ; De ; Date ; Business ; Commande ; Document ; Sequence ; Carte Visa ; DateDeLaFacture ; Prix ; Cumul " > facture_apple.csv
START=$(date +%s);
[ -d "./Library/Mail/" ] && chercheFichier "./Library/Mail/"
END=$(date +%s);
DIFF=`echo $((END-START)) | awk '{print int($1/60)":"int($1%60)}'`
echo "Fin du script : Lu : $NbLu / Bon : $compteur / Mauvais : $erreur / Temps : $DIFF ."

Désolé mais l’indexation du code a sauté … l’autre point c’est qu’il n’est pas très propre car je l’ai fait très rapidement. Désolé pour les puristes …

Ensuite vous ouvrez un terminal, et vous lancer le bash : ./cherche_facture_Apple.bash. Le résultat est dans la racine : facture_apple.csv. C’est un fichier CSV, le séparateur est un point virgule.

J’ai fait un test et le programme découpe bien les emails de 2012, 2013, 2014, 2015, 2016, 2017, 2018.

Ensuite il faut penser à prendre des kleneex quand on regarde la somme totale … au passable vous avez la possibilité de voir les performances du disque dur avec le nombre d’email lu et le temps total du script.

Frédéric.

P.S.: Si vous utilisez ce programme, j’accepte d’avoir une bière en retour 😉 .

A quel âge peut on avoir une adresse email ?

10098 x served & 9420 x viewed

Voici une bonne question …

Au niveau des fournisseurs d’email:

  • Pour Gmail : http://www.gmail.com ( Google ) c’est 13 ans, et entre 13 ans & 18 ans il faut demander l’accord des parents. Beaucoup de personnes trichent sur la date de naissance afin d’en obtenir une. ( Lien vers Google : https://support.google.com/accounts/answer/1350409?hl=fr )
  • Pour Hotmail : http://www.hotmail.com ( Microsoft ) c’est 13 ans.
  • Pour LaPoste.net : http://www.laposte.fr/ ( La Poste ) dès que l’on entre au collège. On va donc dire 11 ans.
  • Pour Apple avec iCloud : 13 ans. ( Lien vers Apple : http://www.apple.com/legal/internet-services/icloud/cafr/terms.html  )
  • Pour orange.fr : ?
  • Pour free.fr : ?
  • Pour sfr : ?
  • Pour Bouygues : ?
  • Pour Numéricable : ?
  • Pour Yahoo Mail : 13 ans ( Lien vers Yahoo : https://fr.aide.yahoo.com/kb/mobile/SLN7798.html?impressions=true )
  • Pour Netcourrier : https://www.netcourrier.com : 6 à 9 ans (une première interface) et de 10 à 14 (une seconde interface). Les seuls qui prennent en compte la vie des personnes qui n’ont pas de carte bleu. Leur solution :
    • Votre enfant peut exclusivement échanger des e-mails avec vous et avec les contacts validés de son carnet d’adresses.
    • Lorsque votre enfant ajoute un contact à son carnet d’adresses, vous recevez automatiquement une demande de validation à votre adresse e-mail.
    • Les messages envoyés à votre enfant à partir d’autres adresses sont automatiquement redirigés vers votre adresse e-mail.

Au niveau de l’éducation nationale:

Pour ce qui est de l’utilité de l’email dans l’éducation nationale, on va dire que cela commence au CM2 avec le B2I. Donc on c’est plutôt vers 10 ans

Pour rappel du B2I :

  • Compétence 1 – Maîtriser les premières bases de la technologie informatique
  • Compétence 2 – Adopter une attitude citoyenne face aux informations véhiculées par les outils informatiques
  • Compétence 3 – Produire, créer, modifier et exploiter un document à l’aide d’un logiciel de traitement de texte
  • Compétence 4 – Chercher, se documenter au moyen d’un produit multimédia (cédérom, dévédérom, site internet, base de données de la BCD)
  • Compétence 5 – Communiquer au moyen d’une messagerie électronique.

Au niveau légal:

Légalement il n’y a pas d’âge minimum pour avoir un email sauf erreur de ma part.

Android:

Reste une question: est-il possible d’avoir une tablette Android sans compte Gmail ? Au temps dire que c’est impossible ou alors que cela va pas marcher correctement … ou alors il faut reflasher la ROM … ou encore faire des pirouettes à chaque démarrage.

Il suffit de lire :

Donc on se retrouve avec la question: Faut-il prendre une tablette Android pour une personne de moins de 13 ans ? Si on prêt à mentir sur l’âge de l’enfant, c’est possible. 

Ou alors on peut utiliser le compte des parents mais alors d’autres problèmes émergent. On a le risque d’achat par l’enfant sur l’Apple Store ou Google Play :

Petit sondage :

Sondage sur tablette Android : Avez-vous un enfant avec une tablette Android qui a moins de 13 ans ? Si, oui comment avez-vous fait ?

View Results

Loading ... Loading ...