Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

nombre réponses : 25

#0 Re : -1 »  créer Labyrinthe en c » Le 19/04/2013, à 15:39

nicolas66
Réponses : 17

Bon grillage en règle smile

#1 Re : -1 »  créer Labyrinthe en c » Le 21/04/2013, à 19:47

nicolas66
Réponses : 17

Pas tout compris et je pense qu'on dérive un peu du sujet initial smile

#2 Re : -1 »  fortran ou C, voire C++ ? » Le 24/06/2013, à 09:39

nicolas66
Réponses : 12

Les opérations que tu effectues entre tes fichiers s'apparentent à des jointures. Les BDD permettent de gérer cela facilement et rapidement. Difficile en revanche de donner un facteur de gain précis.

#3 -1 »  Latence sshfs » Le 10/10/2017, à 11:29

nicolas66
Réponses : 7

Bonjour,

J'ai un problème avec le NAS que je monte en sshfs régulièrement. Lorsque je me déplace dans un répertoire situé sur le NAS et que j'ouvre le contenu d'un fichier texte (gedit) ou affiche un pdf (evince), il y a une latence de plusieurs secondes avant que cela prenne effet et c'est très gênant au quotidien. En revanche, lorsque je demande à ouvrir un afficher un fichier depuis un répertoire qui n'est pas sur le NAS (comme la racine de mon compte dans /home), pas de latence. Du coup, je me demande si le problème ne vient pas des options qui sont passées à sshfs et qui sont dans le fichier /etc/fstab. Pour le moment, j'ai les options suivantes :

port=XXX,user,idmap=user,uid=1000,gid=1000,noatime,nonempty,auto_cache,reconnect,no_readahead,exec,_netdev 0 0

Qu'en pensez-vous ?

#4 Re : -1 »  Latence sshfs » Le 13/10/2017, à 15:46

nicolas66
Réponses : 7

Merci pour vos réponses. J'ai oublié de préciser que mon pb a lieu uniquement par Internet (en local, aucun souci). Les fichiers que j'ouvre sont en règle général assez modeste en taille. Pour être plus précis, je viens de faire un test avec un pdf de 271 Ko :

* evince fichier.pdf -> 15 secs
* evince /mon/repertoire/ou/se/trouve/le/pdf/fichier.pdf -> instantané

Une telle latence est assez pénalisante. J'ai essayé d'enlever l'option "no_readahead" mais la latence n'est ni supprimée, ni réduite :-/

#5 Re : -1 »  Latence sshfs » Le 16/10/2017, à 13:47

nicolas66
Réponses : 7

Oui, la connexion est excellente. Traceroute me retourne 30 lignes avec 3 étoiles pour chacune.

#6 Re : -1 »  Latence sshfs » Le 17/10/2017, à 08:39

nicolas66
Réponses : 7

Bon, je poserai la question sur irc ou sur le forum anglophone d'ubuntu. Merci quand même :-)

#7 Re : -1 »  Apprendre à coder à des primaires : quel langage ? » Le 03/11/2015, à 13:25

nicolas66
Réponses : 23

Apprendre la programmation à des enfants de cet âge-là, ça me paraît hard. Je crois qu'il vaut mieux se contenter de choses simples.

L'autre jour à la tv, j'ai vu un gars qui présentait un robot à trois roues qui se déplaçait en fonction des instructions qu'on lui donnait. Ces instructions sont sous forme de carte à jouer perforées que l'on ajoute sur le dos du robot. J'ai trouvé l'idée très ludique mais je ne sais pas où l'on peut le trouver ...

#8 Re : -1 »  Apprendre à coder à des primaires : quel langage ? » Le 03/11/2015, à 14:59

nicolas66
Réponses : 23

Dans ce cas, c'est un peu l'équivalent du robot que je décrivais. L'avantage du robot, c'est que l'on peut physiquement le manipuler.

#9 Re : -1 »  Magic Collection, pour gérer votre collection de cartes Magic » Le 06/08/2013, à 10:06

nicolas66
Réponses : 93

Bravo pour l'initiative !

Dommage qu'il n'y ait pas de traduction an anglais car ça me paraît complètement indiqué dans ce cadre hmm

EDIT : y a-t-il moyen de comparer sa collection avec celle d'un autre pour faire des échanges ?

#10 Re : -1 »  Magic Collection, pour gérer votre collection de cartes Magic » Le 06/08/2013, à 16:51

nicolas66
Réponses : 93
__phoenix__ a écrit :

Il n'y a pas de possibilité de comparaison entre collections à l'heure actuelle. Tu peux m'expliquer à quoi tu penses exactement ? Je pourrai peut-être l'ajouter.

Au minimum, je pensais à faire un export (en xml par exemple) pour le transmettre à un ami. Du coup, mettre le prix de chaque carte peut faciliter l'échange (j'ignore s'il y a un "argus" de ces cartes actualisé et disponible gratuitement). Après, on peut voir un peu plus grand en créant carrément un réseau d'échanges. Ce genre de fonctionnalité serait (je pense) appriéciée par la communauté des joueurs.

#11 Re : -1 »  automatisation Image tiff » Le 22/08/2015, à 14:51

nicolas66
Réponses : 11

+1 pour OpenCV. En revanche, je doute qu'une transformée de Hough donne de bons résultats vu la qualité de l'image et la circularité approximative des grains ... As-tu déjà contacté des gens expert en traitement d'images ? Quel est le contexte lié à ces images ?

#12 Re : -1 »  quel langage pour utiliser des stats? » Le 17/11/2014, à 20:50

nicolas66
Réponses : 16

Je plussoie k3c : R est certainement le plus adapté.

#13 Re : -1 »  Créer une fonction copie en C » Le 18/01/2014, à 00:46

nicolas66
Réponses : 3

Et donc la question ... ?

#14 Re : -1 »  Site Web évolutif expérimental (prototype) » Le 18/11/2013, à 19:41

nicolas66
Réponses : 16

Il y a des gens qui accrochent au concept dans la salle ?
...
C'est bien ce que je pensais smile

#15 Re : -1 »  Dictionary en Bash » Le 26/11/2013, à 11:04

nicolas66
Réponses : 1

Pour moi, ton post aurait plus sa place dans "Vos développements libres". Je laisse les autres réagir.

#16 Re : -1 »  Programmation scientifique: Fortran ou C/C++ ? » Le 13/04/2013, à 21:36

nicolas66
Réponses : 32

La question de JBF sur la structure de tes matrices est importante. Par exemple, si tes matrices sont creuses, tu peux utiliser des structures de données plus économes en mémoire.

#17 Re : -1 »  [C++] Télécharger et parser une page HTML » Le 24/06/2013, à 09:32

nicolas66
Réponses : 3

Je plussoie grim7reaper, c++ n'est clairement pas un langage adapté pour ce genre de tâche. Perl l'est sûrement davantage.

#18 Re : -1 »  [résolu] attendre le retour d'une fonction en langage C » Le 26/05/2013, à 10:03

nicolas66
Réponses : 19

J'ajouterai que c'est limite pédant comme propos ...

#19 Re : -1 »  [résolu] attendre le retour d'une fonction en langage C » Le 26/05/2013, à 13:57

nicolas66
Réponses : 19
telliam a écrit :

Rhooooo. Tu dis ça parce que tu as pas compris ;-)

Hum, on va dire ça smile

#20 -1 »  [script/bash] post-installation pour Ubuntu 13.04 » Le 12/05/2013, à 18:58

nicolas66
Réponses : 4

Bonjour à tous,

Pour gagner du temps, j'ai récemment écrit un script de post-installation pour Ubuntu 13.04. J'ai hésité longuement à soumettre ce script car il est souvent propre à chacun et celui-ci n'échappe pas à la règle. Il peut néanmoins servir facilement de base pour d'autres personnes.

#!/bin/bash
#########################################################################
# Filename    : post-installation_ubuntu_13.04.sh                       #
# Description : post-installation script on Ubuntu 13.04                #
# Authors     : nicolas66                                               #
# Last release: 19-06-2013                                              #
# Requirements: zenity                                                  #
#########################################################################


function upgrade_system()
{
	sudo apt-get dist-upgrade
}

function install_nvidia_drivers()
{
	sudo apt-get update
	sudo apt-get install -y linux-headers-generic
	sudo apt-get dist-upgrade

	if [ -f ~/.reboot1 ]; then
		\rm -f ~/.reboot{0..1}
	fi

	if [ ! -f ~/.reboot0 ]; then
		touch ~/.reboot0
		zenity --info --text="L'ordinateur va rebooter une première fois (relancer cette étape)"
		sudo reboot
	fi

	sudo apt-get install -y nvidia-current-updates
	nvidia-xconfig

	if [ ! -f ~/.reboot1 ]; then
		touch ~/.reboot1
		zenity --info --text="L'ordinateur va rebooter une seconde et dernière fois (le logo nvidia doit apparaître)"
		sudo reboot
	fi
}

function remove_dash_shell()
{
	zenity --info --text="Répondre 'yes' puis 'ok' sur l'écran qui suit"
	sudo dpkg-reconfigure dash
}

function get_bash_scripts()
{
	sudo apt-get install -y lftp

	local_dir=$(zenity --entry --text="Veuillez saisir le dossier local des scripts :" --entry-text="")
	remote_dir=$(zenity --entry --text="Veuillez saisir le dossier distant des scripts :" --entry-text="")
	ftp_servername=$(zenity --entry --text="Veuillez saisir le nom du serveur ftp :" --entry-text="")
	username=$(zenity --entry --text="Veuillez saisir le login du compte ftp :" --entry-text="")
	c1="[ -d ${local_dir} ] && (lftp -e \"open ${ftp_servername}; user ${username}; mirror -v ${remote_dir} ${local_dir}; bye\"; chmod -R 755 ${local_dir}) || echo \"error: directory ${local_dir} does not exist\""
	c2="[ -d ${local_dir} ] && lftp -e \"open ${ftp_servername}; user ${username}; mirror -v -R ${local_dir} ${remote_dir}; bye\" || echo \"error: directory ${local_dir} does not exist\""

	if [ ! -d "${local_dir}" ]; then
		mkdir "${local_dir}"
		eval "${c1}"
	else
		zenity --question --text="Le répertoire ${local_dir} existe déjà. L'écraser ?"
		[ $? -eq 0 ] && eval "${c1}"
	fi

	if [ ! -f ${local_dir}/bash_aliases_common.sh ]; then
		touch ${local_dir}/bash_aliases_common.sh
	fi

	if [ ! -f ~/.bash_aliases ] || zenity --question --text="Le fichier ~/.bash_aliases existe déjà. L'écraser ?"; then
		(
			echo -e '#!/bin/bash\n'
			echo -e "alias get_scripts='${c1}'"
			echo -e "alias put_scripts='${c2}'"
			echo -e "source ${local_dir}/bash_aliases_common.sh"
			echo -e "source ${local_dir}/bash_aliases_${HOSTNAME}.sh"
		) > ~/.bash_aliases
	fi

	zenity --info --text "Pensez à fermer et ouvrir à nouveau votre terminal pour que les changements soient pris en compte."
}

function mount_nas()
{
	user=$(zenity --entry --text="Veuillez saisir le login du NAS :" --entry-text="")
	ip=$(zenity --entry --text="Veuillez saisir l'adresse ip du NAS :" --entry-text="")
	port=$(zenity --entry --text="Veuillez saisir le port SSH du NAS :" --entry-text="")
	local_dir=$(zenity --entry --text="Veuillez saisir le dossier de stockage local :" --entry-text="")
	remote_dir=$(zenity --entry --text="Veuillez saisir le dossier de stockage distant  :" --entry-text="")

	[ ! -d "${local_dir}" ] && sudo mkdir "${local_dir}"

	line="${ip}:${remote_dir} ${local_dir} nfs defaults,_netdev 0 2"
	zenity --entry --text="Veuillez copier la ligne suivante et l'ajouter à la fin du fichier qui suit :" --entry-text="${line}" &>/dev/null
	sudo gedit /etc/fstab

	sudo mount -a
}

function remove_plugins_and_lenses()
{
	sudo apt-get remove -y --purge account-plugin-aim \
				       account-plugin-facebook \
				       account-plugin-flickr \
				       account-plugin-google \
				       account-plugin-icons \
				       account-plugin-identica \
				       account-plugin-jabber \
				       account-plugin-salut \
				       account-plugin-twitter \
				       account-plugin-windows-live \
				       account-plugin-yahoo \
				       gnome-online-accounts \
				       unity-lens-*
}

function restore_old_scrollbars()
{
	sudo apt-get remove -y --purge overlay-scrollbar
}

function install_ssmtp()
{
	sudo apt-get install -y ssmtp

	sending_mail=$(zenity --entry --text="Veuillez saisir l'adresse gmail d'envoi :" --entry-text="")
	mail_server=$(zenity --entry --text="Veuillez saisir le serveur smtp :" --entry-text="smtp.gmail.com:587")
	user_login=$(zenity --entry --text="Veuillez saisir l'identifiant du compte gmail :" --entry-text="")
	user_passwd=$(zenity --entry --text="Veuillez saisir le mot de passe du compte gmail :" --entry-text="")
	host_name=$(hostname)

	str=$(cat << EOF
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=${sending_mail}

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=${mail_server}

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=${host_name}

# User
AuthUser=${user_login}
AuthPass=${user_passwd}

# TLS
UseSTARTTLS=YES

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=NO
EOF
)

echo "${str}" | sudo tee /etc/ssmtp/ssmtp.conf >/dev/null

}

function move_window_buttons()
{
	# move window buttons on right
	sudo gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
}

function active_history_completion()
{
	cat > ~/.inputrc <<  EOF
"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on
EOF
}

function customize_grub2()
{
	# install grub-customizer
	sudo apt-add-repository ppa:danielrichter2007/grub-customizer
	sudo apt-get update
	sudo apt-get install -y grub-customizer

	# backup original config
	sudo cp -Rv /etc/grub.d /etc/grub.d.ori

	# remove memtest entries
	sudo chmod -x /etc/grub.d/20_memtest86+

	# edit configuration file
	zenity --info --text="Dans ce qui suit, mettre la variable 'GRUB_DISABLE_RECOVERY' à 'false'."
	sudo gedit /etc/default/grub
	sudo update-grub

	# run grub-customizer
	zenity --info --text="Dans ce qui suit:\n- Renommer les entrées 'Ubuntu' et 'Windows'\n- Supprimer le sous-menu 'Options avancées'"
	sudo grub-customizer
}

function customize_firefox()
{
	sudo mkdir /usr/share/ubuntu
	sudo ln -s /usr/share/unity-webapps /usr/share/gnome/unity-webapps
	sudo ln -s /usr/share/unity-webapps /usr/share/ubuntu/unity-webapps
	sudo ln -s /usr/share/unity-webapps /usr/local/share/unity-webapps
	zenity --entry --text="Veuillez saisir la clé pour configurer Firefox Sync :" --entry-text=""
	firefox
}

function install_java()
{
	sudo apt-add-repository ppa:webupd8team/java
	sudo apt-get update
	sudo apt-get install -y oracle-java7-installer
	cd /usr/lib/jvm
	sudo ln -s java-7-oracle default-java
	cd - &> /dev/null
}

function install_lamp_server()
{
	# packages
	sudo apt-get install -y apache2 \
			        php5 \
			        mysql-server \
			        libapache2-mod-php5 \
			        php5-mysql \
			        phpmyadmin \
			        libapache2-mod-auth-mysql \
			        php5-curl \
			        php5-xsl

	# modules activation
	sudo a2enmod auth_mysql userdir ssl
	sudo a2ensite default-ssl

	# creation of public_html directory
	mkdir ~/public_html
	chmod o+x ~ ~/public_html/

	# edit files
	zenity --info --text="Dans ce qui suit, mettre en commentaire la ligne contenant 'php_admin_value'."
	sudo gedit /etc/apache2/mods-available/php5.conf

	zenity --info --text="Dans ce qui suit, ajouter la ligne 'ServerName 127.0.0.1'."
	sudo gedit /etc/apache2/apache2.conf

	zenity --info --text="Dans ce qui suit, remplacer resp. les directives 'AllowOverride' et 'Options' par :\n- AllowOverride All\n- Options Indexes FollowSymLinks"
	sudo gedit /etc/apache2/mods-enabled/userdir.conf

	# reloading
	sudo service apache2 restart
	sudo /etc/init.d/apache2 reload
}

function install_ssh_server()
{
	# install package
	sudo apt-get install -y ssh

	# edit server config file
	zenity --info --text="Dans ce qui suit, indiquer la valeur du port SSH et basculer 'PermitRootLogin' à 'no'."
	sudo gedit /etc/ssh/sshd_config
}

function install_web_dev_kit()
{
	sudo apt-get update
	sudo apt-get install -y python-software-properties
	sudo add-apt-repository ppa:chris-lea/node.js
	sudo apt-get update
	sudo apt-get install -y nodejs
	sudo npm install jshint recess connect hogan.js uglify-js@1 -g
	sudo ln -s /usr/bin/nodejs /usr/bin/node
}

function install_latex()
{
	sudo apt-get install -y texlive \
			        texlive-bibtex-extra \
			        texlive-fonts-extra \
			        texlive-lang-french \
			        texlive-math-extra \
			        texlive-pictures \
			        texlive-science \
			        texlive-latex-extra
}

function install_extra_packages()
{
	# general
	sudo apt-get install -y gedit-plugins \
				subversion \
				bum \
				libtool \
				autoconf \
				g++ \
				moc \
				filezilla \
				imagemagick \
				manpages-fr-extra \
				ispell \
				ifrench \
				obextool \
				pdftk \
				pidgin \
				libjpeg-turbo-progs \
				exiftran \
				rar \
				unrar \
				ntfsprogs \
				gparted \
				doxygen \
				mesa-utils \
				nfs-common \
				easytag \
				fuse-utils \
				curlftpfs \
				meld \
				gnuplot-x11 \
				libglew-dev \
				libsdl1.2-dev \
				qtikz \
				gle-graphics \
				apt-file \
				gimp \
				flashplugin-installer
	sudo apt-file update
}

function repair_splash_screen()
{
	sudo apt-get install -y v86d

	resolution=$(zenity --entry --text="Veuillez saisir la résolution maximum supportée par grub. Si vous ne la connaissez pas, tapez la commande 'vbeinfo' dans grub au démarrage :" --entry-text="1440x900")
	depth=$(zenity --entry --text="Veuillez saisir la profondeur associée :" --entry-text="32")

	zenity --info --text="Dans ce qui suit, remplacer :\n- Le contenu de la variable 'GRUB_CMDLINE_LINUX_DEFAULT' par : quiet splash nomodeset video=uvesafb:mode_option=${resolution}-${depth},mtrr=3,scroll=ywrap\n- Le contenu de la variable 'GRUB_GFXMODE' par : ${resolution}"
	sudo gedit /etc/default/grub

	zenity --info --text="Dans ce qui suit, rajouter à la fin du fichier la ligne suivante :\nuvesafb mode_option=${resolution}-${depth} mtrr=3 scroll=ywrap"
	sudo gedit /etc/initramfs-tools/modules

	echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
	sudo update-grub2
	sudo update-initramfs -u
}

########################

function run_step()
{
	# $1 : function to call
	# $2 : step name
	if [ $# -eq 2 ]; then
		r=$(zenity --question --text="Lancer l'étape '$2' ?")
		[ $? -eq 0 ] && $1
	fi
}

# check internet connection
ping -q -w 5 -c 1 google.fr &> /dev/null
if [ $? -ne 0 ]; then
	echo "erreur: impossible de se connecter à internet"
	exit 1
fi

# run all previous functions
run_step upgrade_system "Mise à jour du système"
run_step install_nvidia_drivers "Installation des drivers nvidia"
run_step remove_dash_shell "Enlever le shell dash par défaut"
run_step get_bash_scripts "Récupération des scripts bash"
run_step mount_nas "Montage d'un NAS"
run_step remove_plugins_and_lenses "Désinstallation des lentilles et plugins"
run_step restore_old_scrollbars "Restaurer les anciennes barres de défilement"
run_step install_ssmtp "Installation de sSMTP"
run_step move_window_buttons "Déplacement des boutons de fenêtre"
run_step active_history_completion "Complétion dans l'historique des commandes"
run_step customize_grub2 "Personnalisation de grub2"
run_step customize_firefox "Personnalisation de firefox"
run_step install_java "Installation de Java"
run_step install_lamp_server "Installation du serveur LAMP"
run_step install_ssh_server "Installation du serveur SSH"
run_step install_web_dev_kit "Installation du devkit web pour bootstrap"
run_step install_latex "Installation de LaTeX"
run_step install_extra_packages "Installation de paquets supplémentaires"
run_step repair_splash_screen "Réparation de l'écran de démarrage (nécessite les drivers nvidia)"

Voilà, en espérant que ça puisse aider smile


--
Nicolas.

#21 Re : -1 »  [script/bash] post-installation pour Ubuntu 13.04 » Le 12/05/2013, à 19:03

nicolas66
Réponses : 4

Rien n'est pompé, c'est du home-made à 100% wink

#22 Re : -1 »  [script/bash] post-installation pour Ubuntu 13.04 » Le 12/05/2013, à 21:37

nicolas66
Réponses : 4

C'est juste que ça n'est jamais très flatteur d'être accusé à tort de plagiat ...

#23 Re : -1 »  activité linux au sein des banques » Le 29/03/2013, à 10:24

nicolas66
Réponses : 24

S'il nous le dit ... smile

#24 Re : -1 »  [C]char **argv » Le 21/03/2013, à 16:59

nicolas66
Réponses : 9

Dans ce cas, c'est à toi de coder ta propre fonction de conversion. A toi de jouer wink