IPCOP tâches CRON

comment accéder aux tâches CRON sous IPCOP ?
Contrairement à Debian ou il faut taper la commande « crontab -e » (pour les éditer changer par -l pour lister les différentes tâches), sous IPCOP, il faut taper « fcrontab … »
Le fichier de configuration se trouve au path suivant : /etc/fcron.conf
Le fichier CRON des utilisateurs se trouve au path : /var/spool/cron

Accéder à la console de configuration d’un modem NOOS

Si vous ne connaissez par le nom d’utilisateur et le mot de passe pour accéder à votre interface de configuration de votre modem NOOS, les voici :
login : « noos » password : « admin »

Introduction à l’Orienté Objet

Article originellement écrit par Rajendra David le dimanche 17 décembre 2006 à 22:05
Ma première intervention sur cette encyclopie du « Savoir Relatif et Absolu » concernera l’orienté objet en Java

La grande spécificité de java est d’être portable sur divers plateformes. En effet, un code compilé sur Windows peut être éxécuté sur une machin tournant avec le pinguin.
Mais Java c’est avant tout une language orienté objet.

Vous trouverez de la littérature sur le web à ce propos, je vais juste (humblement) essayer de vous faire sentir cette notion à travers des exemples très simples.

Le code en Java est structuré en classe. Alors kézakokecetruk?
Une classe est en fait une boite qui a des fonctionnalités.

Prenons pour exemple votre lecteur MP3. Ce dernier peut faire un certain nombre de chose: charger de la musique, écouter de la musique, baisser et augmenter le son, etc.
L’objet est le lecteur MP3 et les fonctions sont les fontionnalités que j’ai citées plus haut. De plus, ce lecteur MP3 contient des données que vous ne pouvez voir comme le nombre de fois que vous avez écouté les pistes ou le chemin de stockage des pistes MP3 dans la mémoire interne. Ces dernières sont appelées attributs.

C’est le programmeur qui va coder ces fonctions et attributs et qui va choisir ce qui est accessible de ce qui ne l’est pas, c’est le principe de l’orienté objet.
Vous êtes encore là? Bon pour les plus téméraires, je vais descendre un peu dans le code.

Voici un code typique en Java :

public class Lecteur_MP3
{

private int nbr_read; //nombre de fois que la musique est lue
private String path; //chemin où est stockée la musique

//Constructeur de la classe
public Lecteur_MP3()
{
//du code…
}

private void loadMusik()
{
//du code…
}

public void play(String nomMusik)
{
//du code…
}

public void increaseSound()
{
//du code…
}

public void decreaseSound()
{
//du code…
}

}

Non ce ne sont pas des formules sataniques, c’est bien du code qui permet de faire des programmes.
Voyons les principaux mots-clé:

  • « public » est un mot clé qui permet de dire que la fonction ou attribut est visible de l’extérieur.
  • « private » est le mot clé qui interdit l’acces à l’extérieur. Ainsi, seul l’objet lui même pourra y accéder.

Ces deux notions nous montrent déjà que cette boite (l’objet) contient des choses qui ne sont pas accessibles pour tout le monde. Il en est ainsi pour des raisons de sécurité et de propreté de programmation. Par exemple, quand on appuie sur le bouton pour augmenter le son, on ne veut pas que ce dernier déclenche le chargement des musiques.

Nous pouvons voir que nbr_read, path et loadMusik() ne sont pas accessibles de l’extérieur.

Ensuite qu’avons nous?

aaaa les types. Contrairement au C (ça n’est pas un reproche :-) ), le Java est très strict concernant le type des données. Un entier naturel est un entier naturel et pas un caractère!
Voici les types que j’ai évoqué dans mon code.

  • « int » ce type correspond aux entiers relatifs.
  • « String » ce type correspond à une chaine de caractère cad que ce type peut être une lettre, un mot ou une phrase. (donc rien à voir avec le bout de tissu du même nom…)
  • « void » vide en anglais.

Vous savez maintenant comment définir des attributs et des fonctions à savoir :
« accessibilité » « type » « nom de la fonction ou de l’attribut » et les données à entrer dans la fonctions si elle en a besoin. Ces dernières sont appelées argument.

Le type pour une fonction correspond au type de retour de la fonction. En effet, je n’ai pas trouvé d’exemple pour le lecteur MP3 mais une fonction peut retourner une donnée lorsqu’elle est appelée.
Prenons comme exemple une calculatrice. On pourrait avoir la fonction qui retourne la somme de deux chiffres fournis en argument. Nous aurons la déclaration suivante:

public int sum(int a, int b) //accessibilité type nom (argument)
{
return a+b;
}

Nous avons donc une fonction qui prend en argument deux entiers et qui retourne un entier. Le mot-clé return, finit la fonction est renvoie le résultat.

Mais alors quelle est l’utilité de définir un type qui correspond au vide? En fait, ce mot est utilisé dans la déclaration des fonctions. En effet, une fonction peut retourner des données mais peut ne rien retourner du tout (c’est son droit après tout) dans ce cas, on met « void » et on dénominera ces fontionnalités « méthode » plutot que fonction.

Voilà, vous savez le minimum vital sur Java.

Bon je suis de bonne humeur et c’est mon premier post, je vais donc faire ma BA de la journée (voir du mois) en révélant comment appeler une fonction en Java.

Lecteur_MP3 lecteurMP3 = new Lecteur_MP3; // pour créer l’objet, on dit « instancier » quand on veut se la jouer grand programmeur.
lecteurMP3.play(« I’m singing in the rain »); //lance cette fabuleuse musique

Manipulation de fichiers en JAVA

Article originellement écrit par Joel Bourrigaud et publié sur http://emax.ath.cx

Je commencerais ce billet par :

JAVA c bien, s’en passé c’est mieux ^^.

En effet le traitement de fichier est pas si simple et il faut savoir un truc important !!!!
JAVA gere les fichiers comme des flux d’entrees/sorties. donc si comme moi vous faites une lecture integrale d’un fichier via un InputStream alors NE PAS OUBLIER de la fermer via la methode .close()
Sinon des que vous voudrez deplacer ou faire quelque chose sur ce fichier vous n’aurez comme reponse que result=false. Enervant non ? pas d’exception pas d’explication claire alors j’ai decide de le dire ici :
voici un exemple qui montre comment bien gerer les flux JAVA.
// Definition des flux de lecture
FileReader aFileReader = new FileReader(NomFichierCompletAsString);
BufferedReader aBufferedReader = new BufferedReader(aFileReader);
//parse tout le fichier jusque EOF
while((ligneFichier = aBufferedReader.readLine()) != null){ … }
// fermer le flux !!!!
aBufferedReader .close();
aFileReader.close();
File sourceFile = new File(VotreFichierSourceAsString);
File destFile = new File(VotreFichierDesAsString);
boolean success = sourceFile.renameTo(destFile);
//renvoie toujours false si vous ne fermez PAS !! sinon peut renvoyer true si les dossiers/fichiers existent

Utilisation d’ethereal (maintenant wireshark)

Article orginellement écrit par Joel Bourrigaud le samedi 9 décembre 2006 à 13:42 et publié sur http://blog.emax.ath.cx

Qui ne connait pas ethereal ?

ben moi avant de faire un stage dessus ^^. Ce super site (http://lab.erasme.org/ethereal/) explique comment l’utiliser. si vous avez besoin de l’utiliser dans un programme et de décomposer les trames il faut utiliser les libPCAP qu’on trouve sur le net.
#include « pcap.h »

 void ReadPcap ( unsigned char *temp1, const struct pcap_pkthdr *header, const unsigned char *pkt_data)

le mieux pour recuperer chaque champs est de definir des structures :
typedef struct {

unsigned long    destination_debut;    //!< \param Adresse IP destination
unsigned short    destination_fin;    //!< \param Adresse IP destination
unsigned short    source_debut;        //!< \param Adresse IP source
unsigned long    source_fin;            //!< \param Adresse IP source
unsigned short    type;                //!< \param Type de protocole

} ethernet_header;

//! \struct Structure de l’en-tete IP
typedef struct {

unsigned char    ver_ip;            //!< \param Version du protocole IP + Taille du Header (IHL)
unsigned char    tos_ip;            //!< \param Type de Service, souvent à 0.
unsigned short    tlen_ip;        //!< \param Indique la taille totale du packet
unsigned short    indent_ip;        //!< \param Numéro de chaque fragment
unsigned short    flag_fragoff_ip;//!< \param Flag + Fragment Offset
unsigned char    ttl_ip;            //!< \param Time to Live du Packet
unsigned char    proto_ip;        //!< \param Protocole dont est issu le packet
unsigned short    checksum_ip;    //!< \param Header Checksum, vérification de l’intégrité de l’en-tête
ip_address        saddr_ip;        //!< \param Addresse IP de l’envoyeur
ip_address        daddr_ip;        //!< \param Addresse IP du destinataire

} ip_header;

pour les fans de TI89-92 et d’électronique

Article originellement crée par Joel Bourrigaud pour le site http://emax.ath.cx le samedi 9 décembre 2006 à 12:59

On se souvient tous des cours d’électronique avec les super schémas à comprendre et à analyser pendant les TDs.

Fans de programmation sur TI, j’ai trouvé tant de site sur ce sujet. voila pour moi le prefere : http://www.ticalc.org/archives/files/fileinfo/89/8927.html

un details important : prend beaucoup de place mais voussauvera la vie pendant les examens ^^

PS: pour les debutants sur TI j’ai un bon bouquin avec plusieurs programme de 2nde à Terminale

Firewall + Age of Empire 2

Configurer son firewall pour jouer à Age of Empire 2
Je reporte ici une information trouvée sur le site  http://www.portforward.com/cports.htm 

Afin de pouvoir heberger une partie d’AOE2, il est necessaire de configurer son firewall

Solution 1 : Passer son ordinateur en DMZ

Solution 2 : Faire le forward des ports 2300 à 2400 en TCP et en UDP + forward du port TCP 47624

Thèmes WordPress - WordPress tuto