logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:hypathie:tutos:brouillon-bac-a-sable-de-mes-mini-tutos [19/10/2014 13:48]
Hypathie [Test config]
utilisateurs:hypathie:tutos:brouillon-bac-a-sable-de-mes-mini-tutos [06/12/2014 11:28]
Hypathie [Test config]
Ligne 778: Ligne 778:
  
 /​sbin/​iptables -F /​sbin/​iptables -F
- 
 /​sbin/​iptables -X /​sbin/​iptables -X
- 
-/​sbin/​iptables -t nat -F 
- 
-/​sbin/​iptables -t nat -X 
- 
-/​sbin/​iptables -P INPUT ACCEPT 
- 
-/​sbin/​iptables -P FORWARD ACCEPT 
- 
-/​sbin/​iptables -P OUTPUT ACCEPT 
- 
 /​sbin/​iptables -P INPUT DROP /​sbin/​iptables -P INPUT DROP
- 
 /​sbin/​iptables -P OUTPUT DROP /​sbin/​iptables -P OUTPUT DROP
- 
 /​sbin/​iptables -P FORWARD DROP /​sbin/​iptables -P FORWARD DROP
- 
 /​sbin/​iptables -t nat -P PREROUTING ACCEPT /​sbin/​iptables -t nat -P PREROUTING ACCEPT
- 
 /​sbin/​iptables -t nat -P POSTROUTING ACCEPT /​sbin/​iptables -t nat -P POSTROUTING ACCEPT
- 
 /​sbin/​iptables -t nat -P INPUT ACCEPT /​sbin/​iptables -t nat -P INPUT ACCEPT
- 
 /​sbin/​iptables -t nat -P OUTPUT ACCEPT /​sbin/​iptables -t nat -P OUTPUT ACCEPT
- 
 /​sbin/​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE /​sbin/​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +##commenter / décommenter et adapter les quatre lignes suivantes pour ne pas mettre en place / mettre en place  
 +##un proxy transparent (squid) 
 +/​sbin/​iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.1:​3129 
 +/​sbin/​iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3129 
 +/​sbin/​iptables -t mangle -A PREROUTING -p tcp --dport 3128 -j DROP 
 +/​sbin/​iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP 
 +#accepter l'​interface lo
 /​sbin/​iptables -A INPUT -i lo -j ACCEPT /​sbin/​iptables -A INPUT -i lo -j ACCEPT
- 
 /​sbin/​iptables -A OUTPUT -o lo -j ACCEPT /​sbin/​iptables -A OUTPUT -o lo -j ACCEPT
 +#accepter le sous-réseau
 /​sbin/​iptables -A INPUT -i eth1 -j ACCEPT /​sbin/​iptables -A INPUT -i eth1 -j ACCEPT
- 
 /​sbin/​iptables -A OUTPUT -o eth1 -j ACCEPT /​sbin/​iptables -A OUTPUT -o eth1 -j ACCEPT
 +#permettre le passage entre les deux interfaces eternet de la passerelle
 /​sbin/​iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
- 
 /​sbin/​iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p tcp -m state --state ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p tcp -m state --state ESTABLISHED,​RELATED -j ACCEPT
- 
 /​sbin/​iptables -t filter -A FORWARD -p icmp -j ACCEPT /​sbin/​iptables -t filter -A FORWARD -p icmp -j ACCEPT
 +#accepter le ping entre les réseaux locaux
 /​sbin/​iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT
- 
 /​sbin/​iptables -t filter -A OUTPUT -p icmp -o eth0 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -p icmp -o eth0 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT
- 
 /​sbin/​iptables -t filter -A INPUT -p icmp -i eth1 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A INPUT -p icmp -i eth1 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT
- 
 /​sbin/​iptables -t filter -A OUTPUT -p icmp -o eth1 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -p icmp -o eth1 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT
- 
-/​sbin/​iptables -t filter -A OUTPUT -o eth0 -p udp -m udp --dport 53 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
- 
-/​sbin/​iptables -t filter -A INPUT -i eth0 -p udp -m udp --sport 53 -m state --state RELATED,​ESTABLISHED -j ACCEPT 
- 
-/​sbin/​iptables -t filter -A OUTPUT -o eth1 -p udp -m udp --dport 53 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
- 
-/​sbin/​iptables -t filter -A INPUT -i eth1 -p udp -m udp --sport 53 -m state --state RELATED,​ESTABLISHED -j ACCEPT 
- 
-/​sbin/​iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports 80,443,8000 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
- 
-/​sbin/​iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports 80,443,8000 -m state --state RELATED,​ESTABLISHED -j ACCEPT 
- 
-/​sbin/​iptables -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443,8000 -j ACCEPT 
- 
-/​sbin/​iptables -A INPUT -i eth1  -p tcp -m multiport --sports 80,443,8000 -j ACCEPT 
- 
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -p icmp --icmp-type 0 -j ACCEPT /​sbin/​iptables -A FORWARD -p icmp --icmp-type 0 -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 3/4 -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 3/4 -j ACCEPT
- 
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 3/4 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 3/4 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -p icmp --icmp-type 3/4 -j ACCEPT /​sbin/​iptables -A FORWARD -p icmp --icmp-type 3/4 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -p icmp --icmp-type 3/3 -j ACCEPT /​sbin/​iptables -A FORWARD -p icmp --icmp-type 3/3 -j ACCEPT
- 
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 3/3 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 3/3 -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 3/3 -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 3/3 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -p icmp --icmp-type 3/1 -j ACCEPT /​sbin/​iptables -A FORWARD -p icmp --icmp-type 3/1 -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 3/1 -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 3/1 -j ACCEPT
- 
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 3/1 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 3/1 -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 4 -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 4 -j ACCEPT
- 
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 4 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 4 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -p icmp --icmp-type 4 -j ACCEPT /​sbin/​iptables -A FORWARD -p icmp --icmp-type 4 -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 2/s -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 2/s -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 8 -j LOG --log-prefix "​ICMP/​in/​8 Excessive: " /​sbin/​iptables -A INPUT -p icmp --icmp-type 8 -j LOG --log-prefix "​ICMP/​in/​8 Excessive: "
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 8 -j DROP /​sbin/​iptables -A INPUT -p icmp --icmp-type 8 -j DROP
- 
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -p icmp --icmp-type 8 -j ACCEPT /​sbin/​iptables -A FORWARD -p icmp --icmp-type 8 -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT
- 
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -p icmp --icmp-type 11 -j ACCEPT /​sbin/​iptables -A FORWARD -p icmp --icmp-type 11 -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT
- 
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -p icmp --icmp-type 12 -j ACCEPT /​sbin/​iptables -A FORWARD -p icmp --icmp-type 12 -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -s 192.168.1.0/​24 -d 192.168.0.0/​24 -p icmp --icmp-type echo-request -j ACCEPT /​sbin/​iptables -A FORWARD -s 192.168.1.0/​24 -d 192.168.0.0/​24 -p icmp --icmp-type echo-request -j ACCEPT
- 
 /​sbin/​iptables -A FORWARD -s 192.168.0.0/​24 -d 192.168.1.0/​24 -p icmp --icmp-type echo-reply -j DROP /​sbin/​iptables -A FORWARD -s 192.168.0.0/​24 -d 192.168.1.0/​24 -p icmp --icmp-type echo-reply -j DROP
- 
 /​sbin/​iptables -A INPUT -p icmp -m limit -j LOG --log-prefix "​ICMP/​IN:​ " /​sbin/​iptables -A INPUT -p icmp -m limit -j LOG --log-prefix "​ICMP/​IN:​ "
- 
 /​sbin/​iptables -A OUTPUT -p icmp -m limit -j LOG --log-prefix "​ICMP/​OUT:​ " /​sbin/​iptables -A OUTPUT -p icmp -m limit -j LOG --log-prefix "​ICMP/​OUT:​ "
- 
 /​sbin/​iptables -N syn_flood /​sbin/​iptables -N syn_flood
- 
 /​sbin/​iptables -I INPUT -p tcp --syn -j syn_flood /​sbin/​iptables -I INPUT -p tcp --syn -j syn_flood
- 
 /​sbin/​iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN /​sbin/​iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN
- 
 /​sbin/​iptables -A syn_flood -j LOG --log-prefix '​[SYN_FLOOD] : ' /​sbin/​iptables -A syn_flood -j LOG --log-prefix '​[SYN_FLOOD] : '
- 
 /​sbin/​iptables -A syn_flood -j DROP /​sbin/​iptables -A syn_flood -j DROP
 +#autoriser la connexion avec les serveurs DNS 
 +/​sbin/​iptables -t filter -A OUTPUT -o eth0 -p udp -m udp --dport 53 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
 +/​sbin/​iptables -t filter -A INPUT -i eth0 -p udp -m udp --sport 53 -m state --state RELATED,​ESTABLISHED -j ACCEPT 
 +/​sbin/​iptables -t filter -A OUTPUT -o eth1 -p udp -m udp --dport 53 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
 +/​sbin/​iptables -t filter -A INPUT -i eth1 -p udp -m udp --sport 53 -m state --state RELATED,​ESTABLISHED -j ACCEPT 
 +#autoriser la navigation web 
 +/​sbin/​iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports 80,443,8000 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
 +/​sbin/​iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports 80,443,8000 -m state --state RELATED,​ESTABLISHED -j ACCEPT 
 +/​sbin/​iptables -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443,8000 -j ACCEPT 
 +/​sbin/​iptables -A INPUT -i eth1  -p tcp -m multiport --sports 80,443,8000 -j ACCEPT 
 +#Si le serveur cups est branché sur un ordinateur du réseau 192.168.0.0/​24,​ par exemple sur 192.168.0.22 
 +# laisser décommenter les deux lignes suivantes : 
 +/​sbin/​iptables -A INPUT -i eth0 -s 192.168.0.22 -d 192.168.0.1 -p tcp --sport 631 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
 +/​sbin/​iptables -A OUTPUT -o eth0 -s 192.168.0.1 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
 +#créer une chaîne utilisateur pour les connexion ssh, les loguer et les accepter
 /​sbin/​iptables -t filter -N InComingSSH /​sbin/​iptables -t filter -N InComingSSH
- 
 /​sbin/​iptables -I INPUT -i eth0 -s 192.168.0.0/​24 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j InComingSSH /​sbin/​iptables -I INPUT -i eth0 -s 192.168.0.0/​24 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j InComingSSH
- 
 /​sbin/​iptables -A InComingSSH -j LOG --log-prefix '​[INCOMING_SSH] : ' /​sbin/​iptables -A InComingSSH -j LOG --log-prefix '​[INCOMING_SSH] : '
- 
 /​sbin/​iptables -A InComingSSH -j ACCEPT /​sbin/​iptables -A InComingSSH -j ACCEPT
- 
 /​sbin/​iptables -t filter -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
- 
 /​sbin/​iptables -t filter -A OUTPUT -o eth1 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -o eth1 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j ACCEPT
- 
 /​sbin/​iptables -t filter -A INPUT -i eth1 -s 192.168.0.0/​24 -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A INPUT -i eth1 -s 192.168.0.0/​24 -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
 +#créer une chaîne utilisateur pour les connexions ftp, et les accepter
 /​sbin/​iptables -N ftp_in_accept /​sbin/​iptables -N ftp_in_accept
- 
 /​sbin/​iptables -I INPUT -i eth0 -p tcp --sport 21 -m state --state ESTABLISHED,​RELATED -j ftp_in_accept /​sbin/​iptables -I INPUT -i eth0 -p tcp --sport 21 -m state --state ESTABLISHED,​RELATED -j ftp_in_accept
- 
 /​sbin/​iptables -I INPUT -i eth0 -p tcp --sport 20 -m state --state ESTABLISHED,​RELATED -j ftp_in_accept /​sbin/​iptables -I INPUT -i eth0 -p tcp --sport 20 -m state --state ESTABLISHED,​RELATED -j ftp_in_accept
- 
 /​sbin/​iptables -I INPUT -i eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ftp_in_accept /​sbin/​iptables -I INPUT -i eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ftp_in_accept
- 
 /​sbin/​iptables -A ftp_in_accept -p tcp -j ACCEPT /​sbin/​iptables -A ftp_in_accept -p tcp -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -i eth1 -p tcp --sport 21 -m state --state ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -A INPUT -i eth1 -p tcp --sport 21 -m state --state ESTABLISHED,​RELATED -j ACCEPT
- 
 /​sbin/​iptables -A INPUT -i eth1 -p tcp --sport 20 -m state --state ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -A INPUT -i eth1 -p tcp --sport 20 -m state --state ESTABLISHED,​RELATED -j ACCEPT
- 
 /​sbin/​iptables -I INPUT -i eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT /​sbin/​iptables -I INPUT -i eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
  
Ligne 981: Ligne 911:
   * Et maintenant :   * Et maintenant :
 <code root>​systemctl start iptables.service</​code>​ <code root>​systemctl start iptables.service</​code>​
 +
 +
  
 =====Example squid conf ===== =====Example squid conf =====
Ligne 1048: Ligne 980:
 TCP_REFRESH_UNMODIFIED/​304\\ ​ TCP_REFRESH_UNMODIFIED/​304\\ ​
  
 +  * cache directories ​
 new cache directory : new cache directory :
 <​code>/​home/​hypathie/​cache/​spool/​squid3/</​code>​ <​code>/​home/​hypathie/​cache/​spool/​squid3/</​code>​
 +->
 +<​code>/​mnt/​proxy/​cache/​spool/​squid3</​code>​
  
-logs directory :+  *logs directory :
 <​code>/​var/​log/​squid3/​access.log</​code>​ <​code>/​var/​log/​squid3/​access.log</​code>​
 +->
 +<​code>/​mnt/​proxy/​log/​squid3/​access.log</​code>​
 +<code root>​tail -f /​mnt/​proxy/​log/​squid3/​access.log</​code>​
 +ou 
 +<code root>​tail -f /​var/​log/​squid3/​access.log</​code>​
 owner : proxy not root owner : proxy not root
 +
 +
 +  *cache_store_log ​
 + 
 +<​code>/​mnt/​proxy/​cache_store_log/​store.log</​code>​
 +->
 <​code>/​home/​hypathie/​cache/​spool/​cache_store_log/​store.log</​code>​ <​code>/​home/​hypathie/​cache/​spool/​cache_store_log/​store.log</​code>​
 +
 +  * cache.log
 +
 <​code>/​var/​log/​squid3/​cache.log</​code>​ <​code>/​var/​log/​squid3/​cache.log</​code>​
 +-> 
 +<​code>/​mnt/​proxy/​log/​squid3/​cache.log</​code>​
  
 only "​TCP_MISS/​200"​ never "​TCP_HIT"​\\ ​ only "​TCP_MISS/​200"​ never "​TCP_HIT"​\\ ​
Ligne 1193: Ligne 1144:
 refresh_pattern -i \.gif$ 10080 150% 43200 ignore-no-store override-expire override-lastmod ignore-reload ignore-no-cache ignore-must-revalidate refresh_pattern -i \.gif$ 10080 150% 43200 ignore-no-store override-expire override-lastmod ignore-reload ignore-no-cache ignore-must-revalidate
 refresh_pattern -i \.flv$ 10080 150% 43200 ignore-no-store override-expire override-lastmod ignore-reload ignore-no-cache ignore-must-revalidate refresh_pattern -i \.flv$ 10080 150% 43200 ignore-no-store override-expire override-lastmod ignore-reload ignore-no-cache ignore-must-revalidate
-refresh_pattern -i \.js$ 10080 150% 43200 gnore-no-store override-expire override-lastmod ​ ignore-reload ignore-no-cache ignore-must-revalidate+refresh_pattern -i \.js$ 10080 150% 43200 ignore-no-store override-expire override-lastmod ​ ignore-reload ignore-no-cache ignore-must-revalidate
 refresh_pattern -i \.pdf$ 10080 90% 43200 ignore-no-store override-expire override-lastmod ignore-reload ignore-no-cache ignore-must-revalidate refresh_pattern -i \.pdf$ 10080 90% 43200 ignore-no-store override-expire override-lastmod ignore-reload ignore-no-cache ignore-must-revalidate
 refresh_pattern -i \.art$ 10080 150% 43200 ignore-no-store override-expire override-lastmod ignore-reload ignore-no-cache ​ ignore-must-revalidate refresh_pattern -i \.art$ 10080 150% 43200 ignore-no-store override-expire override-lastmod ignore-reload ignore-no-cache ​ ignore-must-revalidate
Ligne 1273: Ligne 1224:
 # #
 </​code>​ </​code>​
 +
 +=====Trie remontée des bulles =====
 +
 +<​code>​
 + ​ Interface Procédure saisie des données
 +
 +Procédure saisie ( sortie tablechiffresaisie : listechiffre,​ sortie tailletablesaisie : entier )
 +// La procédure saisie permet de récupérer les données saisies par l'​utilisateur.
 +// tablechiffresaisie est la table de chiffre rentré par l'​utilisateur.
 +// tailletablesaisie définie ​ la taille de la table.
 +
 +Variables
 + nombrechiffresaisie : entier //​ compte le nombre de chiffres rentré par l'​utilisateur.
 +
 +Début
 +// l'​utilisateur rentre la taille de la table d'​entier et ses valeurs.
 +
 + Répéter
 + Ecrire ( 'Quel sera le nombre de chiffre à trier?'​ ) // on demande la taille de la table en répétant jusqu'​à avoir une valeur correcte (non négative et non supérieur à longueur du tableau).
 + Lire ( tailletablesaisie )
 + Jusquà ( tailletablesaisie >= 0 ) et ( tailletablesaisie < = maxchiffre )
 +
 + nombrechiffresaisie := 1 //​ initialisation.
 +
 + Tantque ​ ( nombrechiffresaisie <= tailletablesaisie ) Faire
 + Ecrire ( '​Veuillez donner un entier à mettre dans le numéro ',​nombrechiffresaisie,'​ du tableau"​ ) // on demande ensuite les entiers à l'​utilisateur pour chaque case du tableau.
 + Lire ( tablechiffresaisie [ nombrechiffresaisie ] )
 + nombrechiffresaisie := nombrechiffresaisie + 1 // Incrémentation pour mettre les autres entiers dans le tableau.
 + Fintantque
 +
 +Fin
 +
 +################################################################################################################​
 + Interface Procédure du tri des bulles
 +
 +Procédure tribulle ( entrée ​ sortie tablechiffrebulle : listechiffre,​ entrée tailletablebulle : entier )
 +// la procédure du tri des bulles permet de trier une chaine de chiffre du plus petit au plus grand en remontant les chiffres.
 +// tablechiffrebulle est la liste de chiffre rentrée par l'​utilisateur ainsi que la liste triée en sortie.
 +// tailletablebulle est le nombre de chiffre rentré par l'​utilisateur.
 +
 +Variables
 + indice : entier //​indice de parcours du tableau.
 + invert : booléen //​ booléen Vrai quand il y a une inversion dans le tableau.
 + intermed : entier // variable intermediaire permettant l'​inversion de 2 entiers dans le tableau.
 +
 +Début
 +// parcours jusqu'​à qu'il n'y est plus aucune inversion.
 +
 + Répéter
 +
 + indice := 1
 +
 + Tantque ( indice < tailletablebulle ) faire
 + Si tablechiffrebulle [indice] > tablechiffrebulle [ indice + 1 ] alors // si l'​entier "1 "du tableau est supérieur à l'​entier "​2"​ suivant dans le tableau alors.
 + intermed := tablechiffrebulle [indice] //​ la variable intermédiaire prend la valeur de l'​entier "​1"​.
 + tablechiffrebulle [ indice ] := tablechiffrebulle [ indice +1 ] // la valeur de l'​entier "​1"​ prend la valeur de l'​entier "​2"​.
 + tablechiffrebulle [ indice + 1 ] := intermed //​ la valeur de l'​entier "​2"​ prend la valeur de la variable intermédiaire (donc de l'​entier "​1"​).
 + invert := vrai //​ l'​inversion est donc Vrai.
 + Finsi
 +
 + indice := indice +1 //​ incrémentation pour passer aux entiers suivants.
 + Fintantque
 +
 + Jusquà ​ invert := faux
 +
 +Fin
 +
 +################################################################################################################​
 + Interface procédure affichage du tableau
 +
 +Procédure affichage ( entrée tablechiffreaffichage : listechiffre,​ entrée tailletableaffichage : entier )
 +// La procédure permet l'​affichage du tableau de chiffre de l'​utilisateur ainsi que le tableau trié
 +// tablechiffreaffichage est la table de chiffre rentré par l'​utilisateur.
 +// tailletableaffichage définie ​ la taille de la table.
 +
 +
 +
 +Variables
 + nombrechiffreaffichage : entier //​ compte le nombre de chiffres rentré par l'​utilisateur.
 +
 +
 +Début
 + nombrechiffreaffichage := 1
 +
 + Tantque ( nombrechiffreaffichage <= tailletableaffichage ) Faire
 + Ecrire ( ',​listechiffre,​ [',​nombrechiffreaffichage,'​ ] = ',​tablechiffreaffichage,​ [',​nombrechiffreaffichage,'​] )
 + nombrechiffreaffichage := nombrechiffreaffichage +1
 + Fintantque
 +
 +Fin
 +
 +################################################################################################################​
 +
 +
 + Programme test de la méthode de tri
 +
 +Programme tridesbulles //​ permet de trier un tableau de chiffre dans l'orde croissant.
 +
 +Constantes
 + maxchiffre = 100 // ​ longueur max du tableau.
 +
 +Types
 + listechiffre = tableau [maxchiffre] d'​entiers
 +
 +Variables
 + tablechiffre = listechiffre //​ la table de chiffre rentré par l'​utilisateur.
 + nombrechiffre = entier //​ compte le nombre de chiffres rentré par l'​utilisateur.
 + tailletable = entier //​ taille de la table.
 +
 +Procédure saisie ( sortie tablechiffresaisie : listechiffre,​ sortie tailletablesaisie : entier )
 +// La procédure saisie permet de récupérer les données saisies par l'​utilisateur.
 +// tablechiffresaisie est la table de chiffre rentré par l'​utilisateur.
 +// tailletablesaisie définie ​ la taille de la table.
 +
 +Procédure tribulle ( entrée ​ sortie tablechiffrebulle : listechiffre,​ entrée tailletablebulle : entier )
 +// la procédure du tri des bulles permet de trier une chaine de chiffre du plus petit au plus grand en remontant les chiffres.
 +// tablechiffrebulle est la liste de chiffre rentrée par l'​utilisateur ainsi que la liste triée en sortie.
 +// tailletablebulle est le nombre de chiffre rentré par l'​utilisateur.
 +
 +Procédure affichage ( entrée tablechiffreaffichage : listechiffre,​ entrée tailletableaffichage : entier )
 +// La procédure permet l'​affichage du tableau de chiffre de l'​utilisateur ainsi que le tableau trié
 +// tablechiffreaffichage est la table de chiffre rentré par l'​utilisateur.
 +// tailletableaffichage définie la taille de la table.
 +
 +
 +Début
 +
 + saisie ( tablechiffre,​ nombrechiffre,​ tailletable ) // appel procédure de saisie.
 + tribulle ( tablechiffre,​ tailletable ) // appel procédure tribulle pour le tri.
 +
 + Ecrire (' Le tableau est trié :' )
 +
 + affichage (tablechiffre,​ tailletable) //​ appel procédure d'​affichage.
 +
 +Fin
 +
 +</​code>​
 +
utilisateurs/hypathie/tutos/brouillon-bac-a-sable-de-mes-mini-tutos.txt · Dernière modification: 10/03/2016 18:45 par Hypathie

Pied de page des forums

Propulsé par FluxBB