#!/bin/bash
# script pour créer le tableau des liens
#ne pas oublier de créer un fichier txt avec le nom et l'adresse des url et du futur tableau : 
#taper en ligne commande sh nom_fichier < input.txt
#si pas MAC Changer le I majuscule de la ligne 35 file en i minuscule

read fic; #les diverses langues liste
read tablo;#nom du tableau tablo
echo $fic;
echo $tablo;
echo "<html> <head> <title>Ecriture</title>" > $tablo;
echo "<meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\"> </head>" >> $tablo;
echo "<body>" >> $tablo;
i=0;
#__________________________lit les langues de liste 1/1
while read langue 	
	do
	echo $langue;
	echo "<table cellspacing=\"10\" cellpadding=\"5\" width=\"600px\" background =\"../IMAGES/$langue.jpg\">" >> $tablo;
	echo "<tr><th colspan=8>Liste des URLs en $langue</th></tr>" >> $tablo;
	echo "<tr><th>Num</th><th>URL</th><th>Aspirées</th><th>Retour curl</th><th>Codage</th><th>Dump</th><th>Contexte</th><th>NBoccur</th></tr>" >> $tablo;
	touch ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
	touch ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
	nbdump=0;	
#________________________lit une url
	while read ligne 
		do
		let "i=i + 1";
		echo $ligne;
		retourcurl=`curl -w %{http_code} -o ../PAGES-ASPIREES/$i.html "$ligne"`;
		if [[ $retourcurl -ne 200 ]]; #si curl pas bon#
		then #on sort
			echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td>-</td><td>$retourcurl</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>" >> $tablo;
		else #on vérifie si l'encodage dans file est UTF-8
			encodage=$(file -I ../PAGES-ASPIREES/$i.html | cut -d= -f2 | tr 'a-z' 'A-Z'); # cherche encodage et passe en majuscule
			echo $encodage; 	
			VERIFEGREP=$(egrep -i "<meta.*charset" ../PAGES-ASPIREES/$i.html);		
#________________________si UTF-8
			if [[ $encodage == 'UTF-8' ]] # chouette on est en UTF-8
				then 
				lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html  > ../DUMP-TEXT/$i-utf8.txt ;
					
				if [[ $langue == "francais" ]] #si c'est du français
				then
					motif="écriture|Ecriture|ECRITURE";
					egrep -i "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
					nbOccur=0;
		    		nbOccur=`egrep -o "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt | wc -l`;
		    		echo $nbOccur;
	    			echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
		  			echo "<td>$encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
	  				cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
		   			cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
	    			let "nbdump+=1";
   				 fi
   				
   				if [[ $langue == "anglais" ]] #si c'est de l'anglais
				then
					motif="writing|Writing|WRITING";
					egrep -i "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
					nbOccur=0;
		    		nbOccur=`egrep -o "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt | wc -l`;
		    		echo $nbOccur;
		    		echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
		  			echo "<td>$encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
	  				cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
		   			cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
	    			let "nbdump+=1";
				fi 	
						  
   				if [[ $langue == "hindi" ]] #si c'est du hindi
				then
					motif="लिपि|लिपि|लिखावट|रचना";
					egrep "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
					nbOccur=0;
					nbOccur=`egrep -o "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt | sort | uniq -c`;
					echo $nbOccur;
					echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
					echo "<td>encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
					cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
					cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
					let "nbdump+=1";
				fi
				
				if [[ $langue == "japonais" ]] #si c'est du japonais
					then
					motif="文字|作文|執筆|字|書体|構成|筆跡|習字|聖典|著述業|記載事項";
					egrep -i "$motif" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
					nbOccur=0;
		    		nbOccur=$(egrep -o "$motif" ../DUMP-TEXT/$i-utf8.txt | sort | uniq -c );
		    		echo $nbOccur;
		    		echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
		    		echo "<td>$encodage</td><td><a href=\"../DUMP-TXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
		   			cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
		    		cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
		    		let "nbdump+=1";
   				 fi

   				if [[ $langue == "chinois" ]] #si c'est du chinois
				then
					motif="文字|字體|書法|字跡|筆跡|文體|風格|寫作|書法|文書|字據|入賬|賬簿|賬目|聖經|写入|文体|风格|证书";
					egrep "$motif" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
		    		nbOccur=0;
		    		nbOccur=$(egrep -o -i "$motif" ../DUMP-TEXT/$i-utf8.txt | sort | uniq -c );
		    		echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
		    		echo "<td>$encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
					cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
		    		cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
		    		let "nbdump+=1";
				fi
#__________________________ #si encodage Big-5
			elif [[ $encodage == "BIG-5" || $encodage == "big5" ]]
			then
				echo "charset extrait : Big5 ";
				lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html  > ../DUMP-TEXT/$i.txt ;                  
				iconv -f $encodage -t utf-8 ../DUMP-TEXT/$i.txt > ../DUMP-TEXT/$i-utf8.txt
				motif="文字|字體|書法|字跡|筆跡|文體|風格|寫作|書法|文書|字據|入賬|賬簿|賬目|聖經|写入|文体|风格|证书";
				egrep "$motif" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
				nbOccur=0;
				nbOccur=$(egrep -o "$motif" ../DUMP-TEXT/$i-utf8.txt | sort | uniq -c );
				echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
				echo "<td>$encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
				cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
				cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
				let "nbdump+=1"	;							
				
#fin traitement big5
#_______________________si autre encodage egrep

			elif [[ $VERIFEGREP != "" ]]
			then  # on a peut-etre trouve un charset.....
				encodage=$(egrep -i "<meta.*charset" ../PAGES-ASPIREES/$i.html | egrep -o 'charset *=.*[^\"]+' | cut -f2 -d= | cut -f1 -d\") ;
				echo "charset extrait : $encodage ";
		 		VERIFENCODAGEDANSICONV=$(iconv -l | egrep -i $encodage | sort -u);		  		
#_________________ Traitement egrep
		  		if [[ $VERIFENCODAGEDANSICONV == "" ]]
				then # le charset n'est pas connu de iconv : on fait rien....
					echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td><td bgcolor=\"yellow\"><small>Encodage non d&eacute;tect&eacute;</small></td><td bgcolor=\"yellow\"><small>Encodage non d&eacute;tect&eacute;</small></td><td>-</td><td>-</td><td>-</td><td>-</td></tr>" >> $tablo;
	  			else # le charset extrait est connu de iconv : on lynxe et on dump !!!
					lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html  > ../DUMP-TEXT/$i.txt ;
					iconv -f $encodage -t utf-8 ../DUMP-TEXT/$i.txt > ../DUMP-TEXT/$i-utf8.txt		
						if [[ $langue == "francais" ]] #si c'est du français
						then
							motif="écriture|Ecriture|ECRITURE";
							egrep -i "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
							nbOccur=0;
							nbOccur=`egrep -o "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt | wc -l`;
							echo $nbOccur;
							echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
							echo "<td>$encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
							cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
							cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
							let "nbdump+=1";
			 			fi
					 	
					 	if [[ $langue == "anglais" ]] #si c'est de l'anglais
						then
							motif="writing|Writing|WRITING";
							egrep -i "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
							nbOccur=0;
		    				nbOccur=`egrep -o "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt | wc -l`;
		    				echo $nbOccur;
		    				echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
		  					echo "<td>$encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
	  						cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
		   					cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
	    					let "nbdump+=1";
   						fi 			 
   							 			 
   						if [[ $langue == "hindi" ]] #si c'est du hindi
						then
							motif="लिपि|लिपि|लिखावट|रचना";
							egrep "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
							nbOccur=0;
							nbOccur=`egrep -o "\b$motif\b" ../DUMP-TEXT/$i-utf8.txt | sort | uniq -c`;
							echo $nbOccur;
							echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
							echo "<td>encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
							cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
							cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
							let "nbdump+=1";
						fi
						
						if [[ $langue == "japonais" ]] #si c'est du japonais
						then
							motif="文字|作文|執筆|字|書体|構成|筆跡|習字|聖典|著述業|記載事項";
							egrep -i "$motif" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
							nbOccur=0;
		    				nbOccur=$(egrep -o "$motif" ../DUMP-TEXT/$i-utf8.txt | sort | uniq -c );
		    				echo $nbOccur;
			    			echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
			    			echo "<td>$encodage</td><td><a href=\"../DUMP-TXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
			   				cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
			    			cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
			    			let "nbdump+=1";
   						 fi		
   					 		
						if [[ $langue == "chinois" ]] #si c'est du chinois
						then
							motif="文字|字體|書法|字跡|筆跡|文體|風格|寫作|書法|文書|字據|入賬|賬簿|賬目|聖經|写入|文体|风格|证书";
							egrep "$motif" ../DUMP-TEXT/$i-utf8.txt > ../CONTEXTES/$i-cont.txt ;
							nbOccur=0;
							nbOccur=$(egrep -o "$motif" ../DUMP-TEXT/$i-utf8.txt | sort | uniq -c );
							echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td>" >> $tablo;
							echo "<td>$encodage</td><td><a href=\"../DUMP-TEXT/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$i-cont.txt\">$i-Cutf8.txt</a></td><td><td align=\"center\">$nbOccur</td></tr>" >> $tablo;
		   					cat ../CONTEXTES/$i-cont.txt >> ../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt ;
		    				cat ../DUMP-TEXT/$i-utf8.txt >> ../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt ;
		    				let "nbdump+=1"								
						fi			
				fi   #fin caractère connu par iconv   
			else # pas de charset extrait     
			    echo "<tr><td>$i</td><td><a href=\"$ligne\">Page$i</a></td><td><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td>$retourcurl</td><td bgcolor=\"yellow\"><small>Encodage non d&eacute;tect&eacute;</small></td><td bgcolor=\"yellow\"><small>Encodage non d&eacute;tect&eacute;</small></td><td>-</td><td>-</td><td>-</td><td>-</td></tr>" >> $tablo;                                                                                                                               
			fi	# fin egrep
		fi # fin langue
	done < "../URLS/"$langue;
#___________________Fin Langue
		echo "<tr><td align=\"center\" colspan=\"4\">&nbsp</td><td><a href=\"../FICHIERSGLOBAUX/DUMP-GLOBAUX_$langue.txt\">Fichier DUMP<br/>global</a><br/><small>$nbdump fichier(s)</small></td><td align=\"center\" width=\"100\"><a href=\"../FICHIERSGLOBAUX/CONTEXTES-GLOBAUX_$langue.txt\">Fichier CONTEXTES<br/>global</a><br/><small>$nbdump fichier(s)</small></td><td align=\"center\">&nbsp</td><td colspan="3"></td></tr>" >> $tablo;
		echo "</table><hr>">>$tablo;
done < $fic;	
#________________Fin de la page HTML
echo "</body> </html>" >> $tablo; # fin page
