Pierre Morsa

ce bon vieux blog

Réflexions de comptoir

Supprimer des fichiers en masse dans Slack

Supprimer des fichiers en masse dans Slack

J’ai un ami qui utilise la version gratuite de Slack pour sa startup. En discutant, il m’a évoqué un problème auquel il faisait face. Il était obligé de supprimer les fichiers un à un lorsqu’il atteignait la limite de place.

Heureusement, comme toujours quelqu’un a inventé une solution. Elle est disponible à l’adresse ci-dessous :

https://bulk-delete-slack-files.herokuapp.com

Mise à jour du 2018-12-07 : le lien vers la page pour générer le « token » (jeton) Slack n’est plus bon. Vous pouvez utiliser ce lien tant qu’il fonctionne encore : https://api.slack.com/custom-integrations/legacy-tokens

Si vous ne faites pas confiance au site, vous pouvez utiliser un script Ruby disponible à l’adresse ci-dessous :

https://gist.github.com/jamescmartinez/909401b19c0f779fc9c1

Si vous regardez dans les commentaires de la page, vous verrez que quelqu’un a également créé une version du script en Python.

Historique : 2018-12-07 : ajout du lien vers la page pour générer le token.

Articles liés

Comment lancer une macro Visual Basic depuis AppleScript

Il est possible de lancer une macro Visual Basic depuis un script AppleScript. Comme souvent, il n’y a pas vraiment d’exemple, il faut donc tâtonner pour trouver comment cela marche. Aussi pour vous éviter la galère je vous donne la méthode.

Dans l’exemple ci-dessous, j’utilise AppleScript pour lancer une macro Visual Basic qui prend deux nombres comme paramètres.

	tell application "Microsoft PowerPoint"
		run VB macro macro name "SetShapePosition" list of parameters {200, 100}
	end tell

Un exemple concret : lancer une macro Visual Basic depuis Keyboard Maestro

Visual Basic est beaucoup, beaucoup, beaucoup plus performant qu’AppleScript pour exécuter des actions dans PowerPoint, comme par exemple ajouter une forme sur chaque slide. C’est donc le langage que j’utilise en priorité pour créer des automatisations. De l’autre côté, Keyboard Maestro permet de créer des palettes de commandes parfaitement intégrées à l’interface du Mac. Grâce à la commande AppleScript « run VB macro » je peux faire communiquer les deux facilement.

1. Créer la macro à déclencher dans PowerPoint

Voici par exemple deux macros Visual Basic. La première, CopyShapePosSize, copie la position et la taille de l’objet sélectionné. La deuxième « colle » la position et la taille copiée à l’objet sélectionné. C’est génial si par exemple vous devez avoir plusieurs zones de texte avec exactement la même taille et position sur toute une série de slides.

N’oubliez pas de déclarer les variables « Public » au début, car ce sont elles qui vont se « souvenir » de la taille et de la position des objets sélectionnés.

En théorie, il est même possible de sélectionner plusieurs objets : on sélectionne A, B et C (dans cet ordre), on copie leurs positions et leurs tailles, puis ont sélectionne D, E et F et D hérite de la position et taille de A, E de B et F de C, mais je ne suis pas sûr que ça marche bien, car je ne l’utilise jamais et du coup je ne l’ai jamais vraiment testé à fond.

Public pLeft() As Single
Public pTop() As Single
Public pWidth() As Single
Public pHeight() As Single
Public pCount As Integer

' CopyShapePosSize
Sub CopyShapePosSize(theParam As String)
    Dim theShape As Shape
    
    ReDim Preserve pPPSSTextAlignHorizontalYes(pPPSSStylesCount)
    
    theCount = ActiveWindow.Selection.ShapeRange.Count
    ReDim pLeft(theCount)
    ReDim pTop(theCount)
    ReDim pWidth(theCount)
    ReDim pHeight(theCount)
    pCount = theCount
    
    For i = 1 To theCount
        Set theShape = ActiveWindow.Selection.ShapeRange(i)
        pLeft(i) = theShape.Left
        pTop(i) = theShape.Top
        pWidth(i) = theShape.width
        pHeight(i) = theShape.height
    Next
    
End Sub


' PasteShapePosSize
Sub PasteShapePosSize(theParam As String)
    Dim theShape As Shape
    
    theCount = ActiveWindow.Selection.ShapeRange.Count
    If theCount > pCount Then
        theCount = pCount
    End If
    
    If theCount > 0 Then
        For i = 1 To theCount
            Set theShape = ActiveWindow.Selection.ShapeRange(i)
            theShape.Top = pTop(i)
            theShape.Left = pLeft(i)
            theShape.width = pWidth(i)
            theShape.height = pHeight(i)
        Next
    End If
    
End Sub

2. Créer la macro de déclenchement dans Keyboard Maestro

Voici un exemple de ce à quoi peut ressembler la palette dans Keyboard Maestro. On sélectionne un objet A dans PowerPoint, puis on clique sur Copy position and size. Puis on sélectionne un objet B et on clique sur paste position and size. Magie, la position et la taille de l’objet B sont exactement les mêmes que celles de l’objet A !

Keyboard Maestro Powerpoint Palette

Pour arriver à ce résultat, commencez par créer une « palette » qui sera active uniquement dans PowerPoint.

Keyboard Maestro Powerpoint Palette Step 1

Ensuite, créez les deux macros qui vont lancer CopyShapePosSize et PasteShapePosSize. Voici l’exemple pour la macro qui lance CopyShapePosSize, mais c’est exactement la même chose pour l’autre macro.

Keyboard Maestro Powerpoint Palette Step 2

Et voilà, fini de galérer à essayer d’aligner chaque élément manuellement pour qu’ils soient identiques sur tous les slides. De toute façon, pour diverses raisons, avec PowerPoint c’est impossible de garantir que la position et la taille sont parfaitement identiques en essayant de le faire manuellement. Cette macro règle le problème.

Le nombre de possibilités est pratiquement infini. J’ai des dizaines de macros similaires qui permettent de gagner un temps fou.

Articles liés

Trop important pour être formé sur PowerPoint

Combien de consultants et de cadres passent littéralement des années de leur vie professionnelle sur PowerPoint ? Pourtant, combien d’entre eux ont suivi une formation pour utiliser PowerPoint efficacement ? Pratiquement aucun. Un consultant a besoin de formation en stratégie, en management, en communication. Mais PowerPoint ? Vous voulez rire ? Pourquoi pas des cours d’informatique ou de dactylo tant qu’on y est ?

Et pourtant… Lorsqu’on sait taper à dix doigts, que l’on n’est pas bloqué par les petits tracas informatiques, et que l’on sait correctement utiliser PowerPoint (utilisez les masques de diapositives au lieu d’aligner chaque élément à la main !!!), créer une présentation PowerPoint prend littéralement deux fois moins de temps.

Laissez-moi le dire autrement. Au lieu de mettre 2 jours pour créer une présentation, le consultant mettrait 1 jour et gagnerait 1 jour de vacances gratuit. Pas mal non ?

Articles liés

Les sept lois de Murphy des événements TEDx

Vous avez déjà peut-être assisté à un événement TEDx. Vous pouvez avoir l’impression que tout se passe toujours comme prévu. Mais ce n’est pas vraiment le cas. Ce n’est même jamais le cas. Voici les sept lois de Murphy d’une soirée TEDx, liste forcément incomplète et biaisée par mon point de vue de coach.

Première loi : la scène ne sera pas prête avant le début des répétitions du jour J. Vous pouvez croire que la scène sera prête pour les répétitions. Tout le monde peut vous avoir garanti que la scène sera prête. Mais non, la scène ne sera pas prête avant de démarrer les répétitions. Entre les techniciens aux horaires très stricts, la mise en place du décor, les tests son et lumière et le reste, il reste toujours un truc à régler pendant les répétitions. Il vaut mieux en tenir compte le jour J.

Deuxième loi : vous aurez des slides au dernier moment. Les 10 emails de rappel, les consignes strictes, rien n’y fera. Certains intervenants vous donneront leurs slides définitifs au dernier moment. Prévoyez une personne 100 % dédiée aux slides le jour J.

Troisième loi : (au moins) un intervenant ne sera pas prêt. Par panique, par stress, parce qu’il n’aura pas pu voulu se préparer correctement. Pas de panique. Même si personne ne vous le dit, cela arrive dans tous les événements TEDx, et même à TED. Mettez-le en confiance, assurez-vous qu’il ne dépasse pas son temps, et faites en sorte qu’il assure au moins le service minimum.

Quatrième loi : la télécommande des slides marchera pendant les répétitions, pas pendant l’événement. Eh oui. J’ai vu cela se produire sur plusieurs événements. La raison ? La distance entre la régie et la scène est parfois de plusieurs dizaines de mètres, et la portée de la télécommande est à la limite. Cela fonctionne pendant les répétitions, car la salle est vide. Mais une fois remplie, avec toutes les personnes et leurs téléphones mobiles, les perturbations suffisent pour couper le signal de la télécommande entre la scène et la régie. La meilleure solution est de s’assurer que le récepteur du signal (le petit dongle que l’on branche sur l’ordinateur) est suffisamment proche de la scène. Personnellement, je suis un grand partisan des régies situées près de la scène plutôt qu’en fond de salle ou dans un local déporté.

Cinquième loi : le minuteur va perturber au moins un intervenant. On pense souvent bien faire en utilisant un minuteur. Mais en réalité si les intervenants se sont bien préparés il y a peu de risques de débordement. N’oubliez pas de bien briefer les intervenants pour leur expliquer que s’ils dépassent un petit peu, ce n’est pas grave. C’est en tout cas mieux que de commencer à stresser et à accélérer son débit pour terminer dans les temps.

Sixième loi : un micro va tomber en panne. Ne me demandez pas pourquoi. Même si tous les micros semblent tous pareils, même si vous avez mis des piles neuves dans tous les micros, même s’ils fonctionnaient tous avant, il y en a un qui va foirer. Il faut toujours prévoir au moins un micro de rechange.

Septième loi : shit happens. Un intervenant se casse la figure sur scène. Ou oublie totalement son texte. Ou se met à poil. Ou part dans un délire sur un complot mondial entre les extraterrestres et les chiens. Encore une fois, vous ne serez pas le seul événement où cela se sera produit. Une fois que vous avez pris la responsabilité de laisser la scène à un intervenant, il faut le laisser finir, sans le laisser dépasser le temps imparti. Si ses propos ou son contenu étaient inacceptables, le dire clairement après l’intervention. Utiliser son bon sens pour limiter les dommages. Voir à ce sujet cet article.

Si vous avez des anecdotes amusantes en tant qu’organisateur d’événement TEDx, vous pouvez m’en faire part par email.

Articles liés

Le client est roi…

Le problème, c’est qu’un client roi a le pouvoir. Il a le pouvoir de faire réussir… ou de détruire une entreprise.

Prenons l’exemple de l’iPhone. Si Apple avait écouté le client, ils auraient laissé la prise casque. Ils auraient mis une batterie qui tient 1 mois. Ils auraient laissé les utilisateurs installer ce qu’ils voulaient en dehors de l’App Store. Ils auraient laissé de larges bordures autour de l’écran. Ils auraient ajouté un lecteur de carte mémoire. Et ils auraient obtenu un produit invendable, trop lourd et trop peu sécurisé. Si Apple avait écouté ses clients, elle se serait suicidée en créant un produit invendable.

De nombreux éditeurs de logiciel ont également pu en faire l’expérience. « On s’en fiche des nouvelles fonctionnalités, tout ce qu’on veut, c’est que le logiciel soit plus stable ! » Une fois la nouvelle version disponible, aucun utilisateur ne l’achète car il n’y a aucune nouvelle fonctionnalité. À l’inverse, les développeurs qui se retrouvent à accepter toutes les demandes des clients se retrouvent rapidement avec une bouse impossible à maintenir.

Le problème est le même pour les agences web, les designers, les architectes, etc. Dans tous les cas, le résultat obtenu sera meilleur si le pouvoir n’est pas donné à un client roi, mais à la personne qui a la meilleure vision de l’objectif à atteindre et les compétences pour l’exécuter.

Articles liés