EASY-SAUVEGARDE

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 6 janv. 2006 à 15:14
theboogymaster Messages postés 4 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 novembre 2007 - 15 déc. 2009 à 10:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35427-easy-sauvegarde

theboogymaster Messages postés 4 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 novembre 2007
15 déc. 2009 à 10:34
Ton programme est vulnérable au Buffer Overflow.. Regarde (strcpy(adresse,sChemin); ) utilise plus tot strncpy pour contrôler la taille de l'input. Si tu utilise le programme en root, on peut executer du code si on exploite cette fonction.
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
10 janv. 2006 à 14:49
Haaaaaaaaaaaa oki. Merci pour l'adresse du tuto, en faite je savai pas qu'il falait faire un nouveau projet GTK+. Bon
heu c'est ma période d'exam (j'ai math demain arg) je verai ça après. Si besoin est tu seras tjrs quelque part sur le forum? lol
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
10 janv. 2006 à 14:41
En faite si, la compilation se termine, mais j'ai au bas moi une centaine d'erreur dans chaque .h de gtk :s
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
10 janv. 2006 à 14:34
l'ennuie c'est que j'ai donc bien installer gtk pour dev-cpp, mais lorsque je fait un include <gtk\gtk.>
Cela ne vas pas car c'est pas le bon dossier. Enfin bon je me susi arragé pour que le chemin soit bien gtk\gtk.h.

Seulement je ne sais pas ce qui ce passe, pour un minuscule projet (qui utilise mm pas encore gtk) ça mes un temps fou a compilé.
sans jamais arrivé a la fin.

Qu'est ce qui ne vas pas?
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
9 janv. 2006 à 18:14
Je te conseil ça => http://www.gtk-fr.org/wakka.php?wiki=PageAccueil.
Va dans 'Les fenêtres', il y a un exemple...
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
9 janv. 2006 à 14:13
Voila j'ai tous installer, tu n'a pas un exemple simple (création de la fenêtre principale avec un message hello world)
par exemple ç a serait bien sympa :p
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
8 janv. 2006 à 19:57
Ah !!! Oups, désolé...

Bin, si je me souviens bien, il faut que tu utilises le module de DevCpp qui permet de mettre à jours. Puis tu cherches Gtk !!! Enfin c'est dans DevC++...
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
8 janv. 2006 à 19:42
LOL mais les dll je les ai, je te parle du patch dev-cpp
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
8 janv. 2006 à 17:53
Non, tu choisis un seveur, par exemple Paris, et tu télécharge l'exe.

Normalement, il n'y a que lui à installer pour pouvoir faire fonctionner gtk !!!

Oublis les autres paquets...

L'exe est un setup qui installe les dlls comme un grand !!! Il suffit. Tu choisis UN serveur et tu le télécharge puis tu l'executes.
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
8 janv. 2006 à 16:12
Oki je l'ai pris et installer, mais pour
http://prdownloads.sourceforge.net/gtk-win/GTK-Runtime-Environment-2.2.1.2.exe?download
je doit les prendres tous?
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
8 janv. 2006 à 16:03
Non, non tu n'es pas casse pied du tout !!!

Je crois avoir retrouvé le lien. Mais étant sous Linux je ne peux pas vérifier.

http://prdownloads.sourceforge.net/gtk-win/GTK-Runtime-Environment-2.2.1.2.exe?download

Mais je pense que c'est ça...

Etant du libre, pour le télécharger tu choisis le serveur le plus proche de chez toi. Enfin je pense que tu connais.
Tiens moi au courrant...
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
8 janv. 2006 à 14:47
Cyber_securite > je sais je suis casse pied mais bon :)
je doit télécharger quel pack? http://devpaks.org/category.php?category=GTK

le zip des dlls pour windows je le trouve où?
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
8 janv. 2006 à 13:52
md5 permet de vérifier l'intégrité d'un fichier !!!! On l'utilise énormément dans la programmation web (vérification de mot de passe).
Je veux justement l'ajouter à ce programme afin de vérifier l'intégrité de la savegarde avant de modifier les fichiers systemes.

Tu n'es pas obligé de tant servir ! Il y a beaucoup de fichiers car y a les bibliotèques de developpement et les dlls. Pour le developpement installe le paquet de DevCpp puis télécharge le zip des dlls pour windows.

Ce n'est pas plus compliqué que cela !
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
8 janv. 2006 à 12:53
Cyber_securite > j'ai été voir sur gtk.org. J'ai trouvé les packages, mais heu ils y en à beaucoup
il faut tous les téléchargers?????? Vas pour les zip, mais les .zip.md5 heu c'est quoi??? jamais vu
cette extension, je les décompresses avec quoi?
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
8 janv. 2006 à 12:51
BruNews > le problème ne vient pas de mon utilisation de celle-ci, mais de mon pc. Car si je compile
un projet utilisant les ressources sur un autre pc, tout compile sans problème. Alors que avec le
même code et les même fichier sur mon pc cela ne vas pas.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 janv. 2006 à 12:42
DECK_BSD >
gagah1 vient justement de mettre une source devcpp avec ressources en rc:
http://www.cppfrance.com/code.aspx?ID=35466
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
8 janv. 2006 à 12:17
DECK_BSD > Je n'ai utilisé aucune ressource pour la création de l'interface ! Il existe un utilitaire sous Linux "Glane" que l'on pourrait appeler un éditeur de ressources ! Il génère un fichier xml ! Mais je ne l'ai pas utilisé dans mon cas là !

Pour le EOF, dans un des cours téléchargés puis imprimés que j'ai trouvé sur Internet (très bien fait d'ailleur), ils indiquent que la fonction fputs retourne EOF si elle ne peut pas écrire dans le fichier. J'ai aussi été étonné du fait que EOF indique la fin du fichier en cas de lecture ! Mais dans mon cas il ne sert qu'à vérifier qu'il a bien pu écrire sans souci !

Pour pouvoir utiliser GTK, il faut avoir le toolkit d'installer (les dll)! Tu peux aller là => http://www.gtk.org/
Sauf pour DevCpp, il faut installer son pactage gtk ! Dans mise à jour d'après mes souvenirs.

Si tu veux essayer un logiciel utilisant GTK, tu peux télécharger le logiciel de dessin Gimp !!! C'est un logiciel libre utilisant Gtk ! Enfin, Gtk à été développé pour Gimp ! Et le fait d'installer Gimp, il installera, par la même occasion, les dlls !

C'est le petit hic de Gtk !

BruNews > J'ai modifié ! C'est vrai que je ne pense pas utiliser switch en c alors que je l'utilise toujours en php, merci !
"Quand on provoque on ne doit pas s'étonner des réactions...", j'avais nullement l'intension de provoquer, juste donner mon avi et ma motivation !
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 janv. 2006 à 11:23
DECK_BSD > Jette un oeil sur les sources devcpp qui emploient des dialog en rc, je ne sais plus lesquelles mais j'en ai déjà vues.
vecchio56 a d'ailleurs fait un excellent éditeur de dialog justement pour les IDEs tels devcpp qui n'en fournissent pas.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 janv. 2006 à 11:18
Quand on provoque on ne doit pas s'étonner des réactions...

Passons à plus constructif:

Ne teste pas tous les cas du 'if' si tu as déjà celui qui t'intéresse, le 'switch case' évitera cela:

void erreur(int erreur)
{
....
switch(erreur) {
case 1: strcpy(message, ERREUR_1); break;
case 2: strcpy(message, ERREUR_2); break;
...
default: strcpy(message, ERREUR_4); break;
}
...
}
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
8 janv. 2006 à 11:13
Et aussi,

"Oui ! J'aurais voulu avoir des critiques sur ma façon de gérer les erreurs par exemple. Mais pas de réactions"

Si il n'y à pas de réaction c'est que il y en a pas besoin. Perso je trouve la gestion d'erreur bonne.
Sauve ceci que je ne comprend pas trop :

if( fputs("Ce fichier a été généré par ""TEXTE_7"".\n",fichier_destination) == EOF ){ erreur(1) ; }

Pourquoi tu teste chaque fois EOF??? Si tu ajoute dans le fichier tu ne tomberas jamais sur EOF.
C'est à la lecture que le EOF est souvent (tout le temps) utilisé, mais pas à l'écriture. Même si tu veut écrire à la
fin du fichier pas besoin de tester EOF, tu fais avec fseek();. C'est pour ça que je comprend pas ces lignes.
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
8 janv. 2006 à 10:59
Ok les gars lol on reste cool hein. chacun ses préfèrences et puis voila :D Zen, Relax ;)

Cyber, j'ai une question. surement débile mais bon. Avec la librairie gtk il y a l'utilisation des ressources obligatoires?
Car en win32 pas moyen de créer une boite de dialogue sans les ressources (du moin je ne la connait pas) et comme
chez moi dev-cpp bug avec l'utilisation de celles-ci (jamais moyen de compiler monprojet.rc).

Alors voila je me demandai, cela peut être intéressent. Tu à déjà esseyé de l'exporter sous win?
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
8 janv. 2006 à 02:06
J'ai pas tellement envie de répondre à ça ! Juste qu'apprendre par soit même n'est pas toujours simple surtout lorsque l'on se sent encouragé comme cela !
Ensuite, depuis fin septembre, cela fait presque 4 mois, à programmer peut être pas de façon intensif mais tout de même de façon assé importante, on fini par s'améliorer peut être un peu. Ce que je voulais dire par mon message précédent, c'est que voici, encore, une belle démonstration du libre !

Maintenant, peut être que l'aimable Monsieur BruNews (cf: beaucoup de postes de sa part) pourrait nous donner son avis la dessu ???
Cela pourrait sans doute être interressent !

Ou même, pourrait-il jeter un petit cout d'oeil sur ma source afin de dire ce qui ne va pas (beaucoup de choses surement) ! Ca me permettrait de progresser et de mettre un petit exemple de l'utilisation de cette librairie à disposition!

C'est vrai que depuis fin septembre, je n'étais pas venu sur ce site ayant préféré un autre site (http://c.developpez.com/) largement plus aimable et plus agréable !

Maintenant merci pour le "Continue à apprendre et épargne nous les éternels trolls à 2 balles.", je pense en effet continuer à essayer de progresser mais surement pas ici !

Ce genre de commentaire fait vraiment fuire !

Ciao...

("merci de rester calme et courtois tout au long de vos échanges" Obligé d'appouver mais à contre coeur)

ps: à ce demander qui troll réellement.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 janv. 2006 à 22:10
Pour laisser tomber il aurait d'abord fallu que tu connaisses, fin septembre tu tentes de compiler un code MFC sur devcpp et maintenant tu nous donnes un avis sur le code Windows...
Continue à apprendre et épargne nous les éternels trolls à 2 balles.
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
7 janv. 2006 à 20:59
Oui ! J'aurais voulu avoir des critiques sur ma façon de gérer les erreurs par exemple. Mais pas de réactions !!!
Sinon, j'ai essayé de mettre le plus possible de commentaires ! La librairie GTK est formidable ! Plus propre que la win32 !!!
Et, elle est exportable sous Linux, Windows et MacOS !!! Que demander de plus ???? Autant dire que j'ai laissé tombé <windows.h> ;) !!!
cs_shaiton Messages postés 15 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 28 janvier 2007
7 janv. 2006 à 18:11
salut,
sympa,
ca me donne envie de coder sous linux !
mais bon moi aussi j'aprend par moi meme (enfin, j'ai des cours d'info,
mais on est n'ai pas sencé connaitre plus loin que printf() !! on doit utiliser une librerie specialement concu pour nous :p
trop nul.. mais bon)

sinon j'ai lu pareil: renvoyer 0 = pas de probleme et 1 signifi qu'il y a une erreur, mais bon,
c'est juste une histoire de francais ;)
en tout cas je savais pas la difference entre une fonction et une procedure... merci :p


je sent que je vais memettre ta source de coter pour aprendre une peu a gere les fenetre :p
et tout ces comentaires, c'est nikel pour lire ta source!
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
7 janv. 2006 à 14:40
C'est possible, si ces le cas, je m'excuse . pour ma part , lorsque je veut quitter le programme sans signaler d'erreur j'utilise exit(0)
et exit(1) pour en signaler une.
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
7 janv. 2006 à 14:02
Non, je ne crois pas ! Cela indique au systeme (Linux dans mon cas) que le programme se termine sans difficulté ! Changé la valeur de retour indique à Linux qu'il y a eu un problème.
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
7 janv. 2006 à 13:30
joky : oui return 0 renvoie 0 mais c'est inutile.
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
6 janv. 2006 à 20:30
Merci beaucoup !!!

Je modifie le commentaire.

Pour le return je ne suis pas d'accord ! Le systeme attend une réponse de la part du programme il me semble. Sur Linux, 0 indique que le programme c'est terminé correctement !!! Enfin je cois. Comme je l'ai dis, je programme pour mon propre plaisir.

Mais les critiques sont vraiment le bienvenu. Etant donné que j'apprends par moi même, comment corriger mes erreurs sinon ???

Bye...
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 janv. 2006 à 19:54
return 0; renvoi quelque chose désolé
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
6 janv. 2006 à 19:38
re :D

Et bien la différence entre procdédure et fonction est très simple. Une fonction renvoie TOUJOURS un valeur
et doit en C toujours avoir un return et le 1er paramètre de ca signature est le type de valeur qu'elle renvoie.
ex:

int nbr(){
return 54;
}

une procédure ne renvoie JAMAIS rien . Le premier paramètre de ça signature est en c "void"
ex :
void nbr(){
;
}.
Donc oui il te suffit juste de changer ton commentaire.

Pour ta fonction main le int est inutile , faisant une procédure plutot, car de toute façons elle ne renvoie rien
(return 0;).

Sinon pour le reste c'est ok ;).
cyber_securite Messages postés 21 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 janvier 2006
6 janv. 2006 à 18:17
Que faut il que je modifie alors dans mon code ? Quel est la différence entre procédure et fonction ???

Oui, au début j'utilisais win32 et comme je suis passé sous Linux, maintenant j'utilise GTK ! J'ai moi même été étonné par le passage sans difficulté que j'ai eu.

Vraiment GTK est génial comme bibliotèque: simple, exportable et surtout le rendu est joli !!!

Dommage que les programmeurs ne s'y interressent pas plus... Sinon, je dois seulement changer mon commentaire pour ce problème ????

Merci de ton aide...
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
6 janv. 2006 à 15:14
salut :)

# //Déclaration des fonctions
# void sauvegarde();
# void restauration();
# void a_propos();
# void erreur(int erreur);

Ce ne sont pas des fonctions mais des procédures ;) .Car elles ne renvoient aucune valeur . Sinon je étonné par la propreté du code.
On dirait que la biblio gtk est plus simple que le win32 c'est bon à savoir lol.

Bonne continuation.

++ALL